[SCM] synfig-synfig/upstream: Imported Upstream version 0.64.1

onlyjob at users.alioth.debian.org onlyjob at users.alioth.debian.org
Thu Nov 21 06:00:47 UTC 2013


The following commit has been merged in the upstream branch:
commit 096fea4802bbd7abb7860322534bc746e5e04c0a
Author: Dmitry Smirnov <onlyjob at member.fsf.org>
Date:   Thu Nov 21 16:59:51 2013 +1100

    Imported Upstream version 0.64.1

diff --git a/AUTHORS b/AUTHORS
index bcb6ebc..6bd9dcd 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -23,6 +23,7 @@ Carlos A. Sosa Navarro
 Brendon Higgins
 Diego Barrios Romero(eldruin)
 Bertrand Greorie (berteh)
+Ivan Mahonin
 
 Translators:
 
diff --git a/ChangeLog b/ChangeLog
index 4092bac..75867a2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6582 +1,8455 @@
-2013-05-09  Carlos Lopez <genetita at gmail.com>
+2013-11-04  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/NEWS: Missed to mention keyframe enable/disable
-	feature in the NEWS files
+	* synfig-core/NEWS, synfig-core/configure.ac: Release 0.64.1
 
-2013-05-07  Carlos Lopez <genetita at gmail.com>
+2013-11-02  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/src/tool/Makefile.am: Add named_type.h to sources for
-	tool. If it is not included then normal compilation works but make
-	distcheck for synfig-core fails complaining that the file doesn't
-	exists.
+	* synfig-core/po/lt.po, synfig-core/po/pl_PL.po,
+	synfig-core/po/ru.po: Update translations
 
-2013-05-06  Carlos Lopez <genetita at gmail.com>
+2013-10-27  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/NEWS: Release Synfig Studio 0.64.0 ETL 0.04.16 synfig-core 0.64.0 synfig-studio 0.64.0
+	* : Update walk.sifz example
 
-2013-05-06  Carlos Lopez <genetita at gmail.com>
+2013-08-30  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp,
-	synfig-core/src/modules/lyr_freetype/lyr_freetype.h,
-	synfig-core/src/modules/lyr_std/bevel.cpp,
-	synfig-core/src/modules/lyr_std/bevel.h,
-	synfig-core/src/modules/lyr_std/clamp.cpp,
-	synfig-core/src/modules/lyr_std/clamp.h,
-	synfig-core/src/modules/lyr_std/curvewarp.cpp,
-	synfig-core/src/modules/lyr_std/curvewarp.h,
-	synfig-core/src/modules/lyr_std/import.cpp,
-	synfig-core/src/modules/lyr_std/import.h,
-	synfig-core/src/modules/lyr_std/rotate.cpp,
-	synfig-core/src/modules/lyr_std/rotate.h,
-	synfig-core/src/modules/lyr_std/shade.cpp,
-	synfig-core/src/modules/lyr_std/shade.h,
-	synfig-core/src/modules/lyr_std/stretch.cpp,
-	synfig-core/src/modules/lyr_std/stretch.h,
-	synfig-core/src/modules/lyr_std/stroboscope.cpp,
-	synfig-core/src/modules/lyr_std/stroboscope.h,
-	synfig-core/src/modules/lyr_std/supersample.cpp,
-	synfig-core/src/modules/lyr_std/supersample.h,
-	synfig-core/src/modules/lyr_std/timeloop.cpp,
-	synfig-core/src/modules/lyr_std/timeloop.h,
-	synfig-core/src/modules/lyr_std/translate.cpp,
-	synfig-core/src/modules/lyr_std/translate.h,
-	synfig-core/src/modules/lyr_std/twirl.cpp,
-	synfig-core/src/modules/lyr_std/twirl.h,
-	synfig-core/src/modules/lyr_std/warp.cpp,
-	synfig-core/src/modules/lyr_std/warp.h,
-	synfig-core/src/modules/lyr_std/xorpattern.cpp,
-	synfig-core/src/modules/lyr_std/xorpattern.h,
-	synfig-core/src/modules/lyr_std/zoom.cpp,
-	synfig-core/src/modules/lyr_std/zoom.h,
-	synfig-core/src/modules/mod_example/metaballs.cpp,
-	synfig-core/src/modules/mod_example/metaballs.h,
-	synfig-core/src/modules/mod_filter/blur.cpp,
-	synfig-core/src/modules/mod_filter/blur.h,
-	synfig-core/src/modules/mod_filter/colorcorrect.cpp,
-	synfig-core/src/modules/mod_filter/colorcorrect.h,
-	synfig-core/src/modules/mod_filter/halftone2.cpp,
-	synfig-core/src/modules/mod_filter/halftone2.h,
-	synfig-core/src/modules/mod_filter/halftone3.cpp,
-	synfig-core/src/modules/mod_filter/halftone3.h,
-	synfig-core/src/modules/mod_filter/lumakey.cpp,
-	synfig-core/src/modules/mod_filter/lumakey.h,
-	synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/advanced_outline.h,
-	synfig-core/src/modules/mod_geometry/checkerboard.cpp,
-	synfig-core/src/modules/mod_geometry/checkerboard.h,
-	synfig-core/src/modules/mod_geometry/circle.cpp,
-	synfig-core/src/modules/mod_geometry/circle.h,
-	synfig-core/src/modules/mod_geometry/outline.cpp,
-	synfig-core/src/modules/mod_geometry/outline.h,
-	synfig-core/src/modules/mod_geometry/rectangle.cpp,
-	synfig-core/src/modules/mod_geometry/rectangle.h,
-	synfig-core/src/modules/mod_geometry/region.cpp,
-	synfig-core/src/modules/mod_geometry/region.h,
-	synfig-core/src/modules/mod_geometry/star.cpp,
-	synfig-core/src/modules/mod_geometry/star.h,
-	synfig-core/src/modules/mod_gradient/conicalgradient.cpp,
-	synfig-core/src/modules/mod_gradient/conicalgradient.h,
-	synfig-core/src/modules/mod_gradient/lineargradient.cpp,
-	synfig-core/src/modules/mod_gradient/lineargradient.h,
-	synfig-core/src/modules/mod_gradient/radialgradient.cpp,
-	synfig-core/src/modules/mod_gradient/radialgradient.h,
-	synfig-core/src/modules/mod_noise/distort.cpp,
-	synfig-core/src/modules/mod_noise/distort.h,
-	synfig-core/src/modules/mod_noise/noise.cpp,
-	synfig-core/src/modules/mod_noise/noise.h,
-	synfig-core/src/modules/mod_png/mptr_cairo_png.cpp,
-	synfig-core/src/modules/mod_png/mptr_cairo_png.h,
-	synfig-core/src/modules/mod_png/trgt_cairo_png.cpp,
-	synfig-core/src/modules/mod_png/trgt_cairo_png.h,
-	synfig-core/src/synfig/blur.cpp, synfig-core/src/synfig/blur.h,
-	synfig-core/src/synfig/cairo_operators.cpp,
-	synfig-core/src/synfig/cairo_operators.h,
-	synfig-core/src/synfig/cairoimporter.cpp,
-	synfig-core/src/synfig/cairoimporter.h,
-	synfig-core/src/synfig/color.cpp, synfig-core/src/synfig/color.h,
-	synfig-core/src/synfig/context.cpp,
-	synfig-core/src/synfig/context.h, synfig-core/src/synfig/layer.cpp,
-	synfig-core/src/synfig/layer.h,
-	synfig-core/src/synfig/layer_bitmap.cpp,
-	synfig-core/src/synfig/layer_bitmap.h,
-	synfig-core/src/synfig/layer_composite.cpp,
-	synfig-core/src/synfig/layer_pastecanvas.cpp,
-	synfig-core/src/synfig/layer_pastecanvas.h,
-	synfig-core/src/synfig/layer_polygon.cpp,
-	synfig-core/src/synfig/layer_polygon.h,
-	synfig-core/src/synfig/layer_shape.cpp,
-	synfig-core/src/synfig/layer_shape.h,
-	synfig-core/src/synfig/layer_solidcolor.cpp,
-	synfig-core/src/synfig/layer_solidcolor.h,
-	synfig-core/src/synfig/releases.h,
-	synfig-core/src/synfig/render.cpp, synfig-core/src/synfig/render.h,
-	synfig-core/src/synfig/surface.cpp,
-	synfig-core/src/synfig/surface.h,
-	synfig-core/src/synfig/target_cairo.cpp,
-	synfig-core/src/synfig/target_cairo.h,
-	synfig-core/src/synfig/target_cairo_tile.cpp,
-	synfig-core/src/synfig/target_cairo_tile.h,
-	synfig-core/src/synfig/target_scanline.cpp,
-	synfig-core/src/synfig/target_scanline.h,
-	synfig-core/src/synfig/target_tile.cpp,
-	synfig-core/src/synfig/target_tile.h: Update my copyright to the
-	files I have modified
+	* synfig-core/src/modules/mod_dv/trgt_dv.cpp,
+	synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp,
+	synfig-core/src/modules/mod_gif/trgt_gif.cpp,
+	synfig-core/src/modules/mod_imagemagick/trgt_imagemagick.cpp,
+	synfig-core/src/modules/mod_ppm/trgt_mpg.cpp,
+	synfig-core/src/modules/mod_ppm/trgt_mpg.h,
+	synfig-core/src/modules/mod_svg/svg_parser.h,
+	synfig-core/src/synfig/activepoint.h: Change includes stdlib.h and
+	stdio.h to cstdlib and cstdio to avoid C macro definitions
 
-2013-05-06  Carlos Lopez <genetita at gmail.com>
+2013-10-19  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/README: Update README and about.cpp
+	* synfig-core/po/fr.po, synfig-core/po/pl_PL.po: Update translations
 
-2013-05-06  Carlos Lopez <genetita at gmail.com>
+2013-10-19  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/AUTHORS: Update AUTHORS
+	* synfig-core/NEWS, synfig-core/configure.ac: Switch to 0.64.1-RC2
 
-2013-05-06  Carlos Lopez <genetita at gmail.com>
+2013-10-19  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/configure.ac, synfig-core/po/Makevars,
-	synfig-core/po/cs.po, synfig-core/po/de.po,
-	synfig-core/po/el_GR.po, synfig-core/po/en_GB.po,
-	synfig-core/po/es.po, synfig-core/po/fa_IR.po,
-	synfig-core/po/fr.po, synfig-core/po/hu.po, synfig-core/po/it.po,
-	synfig-core/po/ja_JP.po, synfig-core/po/lt.po,
-	synfig-core/po/nl.po, synfig-core/po/no_NO.po,
-	synfig-core/po/pl_PL.po, synfig-core/po/pt_BR.po,
-	synfig-core/po/ro.po, synfig-core/po/ru.po,
-	synfig-core/po/sk_SK.po, synfig-core/po/zh_CN.po: We are not longer
-	using Sourceforge as bug tracker. Replaced by
-	http://www.synfig.org/issues/thebuggenie/synfig
+	* synfig-core/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp: Fix headers.
+	Cleanup.
 
-2013-05-06  Carlos Lopez <genetita at gmail.com>
+2013-10-19  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/configure.ac, synfig-core/po/cs.po,
-	synfig-core/po/hu.po, synfig-core/po/ja_JP.po: Add new translations:
-	Czech, Hungarian and Japanese (Japan) to synfig-core and Hungarian
-	and Japanese (Japan) so synfig-studio
+	* synfig-core/src/synfig/layer.h, synfig-core/src/synfig/value.cpp,
+	synfig-core/src/synfig/value.h: Fix stability problems introduced by
+	migration of layer parameters to ValueBase type.  When layer recieves or outputs the parameter values we need to
+	create an independent copy of ValueBase object.  That way we avoid
+	memory problems and unauthorized changes for parameter.
 
-2013-05-06  Carlos Lopez <genetita at gmail.com>
+2013-10-12  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/po/de.po, synfig-core/po/el_GR.po,
-	synfig-core/po/en_GB.po, synfig-core/po/es.po,
-	synfig-core/po/fa_IR.po, synfig-core/po/fr.po,
-	synfig-core/po/it.po, synfig-core/po/lt.po, synfig-core/po/nl.po,
-	synfig-core/po/no_NO.po, synfig-core/po/pl_PL.po,
-	synfig-core/po/pt_BR.po, synfig-core/po/ro.po,
-	synfig-core/po/ru.po, synfig-core/po/sk_SK.po,
-	synfig-core/po/zh_CN.po: Update synfig-core and synfig-studio
-	translations
+	* synfig-core/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp,
+	synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: Fix
+	ffmpeg_mptr::seek_to() for Win32. Make error messages more
+	informative.
 
-2013-05-05  Carlos Lopez <genetita at gmail.com>
+2013-10-12  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp,
-	synfig-core/src/modules/mod_svg/svg_parser.cpp,
-	synfig-core/src/synfig/color.cpp,
-	synfig-core/src/synfig/loadcanvas.cpp,
-	synfig-core/src/synfig/main.cpp,
-	synfig-core/src/synfig/palette.cpp,
-	synfig-core/src/tool/joblistprocessor.cpp,
-	synfig-core/src/tool/main.cpp,
-	synfig-core/src/tool/optionsprocessor.cpp,
-	synfig-core/src/tool/printing_functions.cpp,
-	synfig-core/src/tool/progress.h,
-	synfig-core/src/tool/renderprogress.h: Fix bug #433: OSX: Can't
-	build packages in Lion with extended compatibility with Leopard.  The c_str() call has been added to all compile errors.
+	* synfig-core/configure.ac: Switch from 0.64.1-RC1 to 0.64.1
 
-2013-05-02  Diego Barrios Romero <eldruin at eldruin.com>
+2013-10-11  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/src/tool/main.cpp: ffmpeg-video-codecs option changed
-	to target-video-codecs like in previous versions
+	* synfig-core/AUTHORS, synfig-core/README: Add copyright/credits for
+	Ivan Mahonin
 
-2013-05-02  Diego Barrios Romero <eldruin at eldruin.com>
+2013-10-11  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/src/tool/joblistprocessor.cpp: Fixed determine target
-	only if no target is already set
+	* synfig-core/NEWS: Update NEWS files
 
-2013-05-02  Carlos Lopez <genetita at gmail.com>
+2013-10-11  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/po/POTFILES.in: Add missing files to POTFILES.in
+	* synfig-core/src/modules/lyr_std/sphere_distort.cpp: Fix typo that
+	causes crash in debug mode and possible wrong work in release mode
 
-2013-05-02  Carlos Lopez <genetita at gmail.com>
+2013-10-11  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/src/synfig/valuenode.cpp: Replace 0_63_06 by 0_64_0 in
-	one missing place.
+	* synfig-core/po/ca.po, synfig-core/po/cs.po, synfig-core/po/da.po,
+	synfig-core/po/de.po, synfig-core/po/el_GR.po,
+	synfig-core/po/en_GB.po, synfig-core/po/es.po,
+	synfig-core/po/eu.po, synfig-core/po/eu_ES.po,
+	synfig-core/po/fa_IR.po, synfig-core/po/fr.po,
+	synfig-core/po/hu.po, synfig-core/po/it.po,
+	synfig-core/po/ja_JP.po, synfig-core/po/lt.po,
+	synfig-core/po/nl.po, synfig-core/po/no_NO.po,
+	synfig-core/po/pl_PL.po, synfig-core/po/pt_BR.po,
+	synfig-core/po/ro.po, synfig-core/po/ru.po, synfig-core/po/si.po,
+	synfig-core/po/sk_SK.po, synfig-core/po/sv_SE.po,
+	synfig-core/po/tr.po, synfig-core/po/zh_CN.po: Update translations
 
-2013-05-01  Carlos Lopez <genetita at gmail.com>
+2013-10-10  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/NEWS: Update NEWS
+	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: Wrap ffmpeg
+	commandline with two doublequotes to cover the dumb cmd.exe
+	behavior. See
 
-2013-05-01  Carlos Lopez <genetita at gmail.com>
+	http://eli.thegreenplace.net/2011/01/28/on-spaces-in-the-paths-of-programs-and-files-on-windows/
 
-	* synfig-core/src/synfig/releases.h: Update version in releases and
-	app
+2013-10-10  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2013-05-01  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: Path to ffmpeg
+	binary fails if contains spaces. Fixed.
 
-	* synfig-core/configure.ac: Bump ETL to 0.4.16, synfig and
-	synfigstudio to 0.64.0 and add splash screen for 0.64.0
+2013-10-09  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2013-04-30  Carlos López <genetita at gmail.com>
+	* synfig-core/test/Makefile.am: Fix distcheck errors for synfig-core
 
-	* synfig-core/src/modules/mod_png/mptr_cairo_png.cpp: Fix bug #422:
-	Crash: map_cairo_image(): Assertion failed There weren't any checking of the status of the cairo_surface_t when
-	reading the image from file. This commit adds it and fixes the bug.
+2013-10-08  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2013-04-29  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/configure.ac: Bump version for release candidate
 
-	* synfig-core/src/synfig/layer_pastecanvas.cpp,
-	synfig-core/src/synfig/layer_pastecanvas.h: Fig bug #418 - Image
-	isn't displayed if it's grouped (Cairo) Layer Paste Canvas now
-	passes the render method to its canvas.
+2013-10-08  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2013-04-29  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/releases.h: Update file format version
 
-	* synfig-core/src/modules/lyr_std/import.cpp: When set a Cairo
-	surface it is needed to map it i order to be used by the importer
+2013-10-08  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2013-04-20  [d.j.a.y] Jerome Blanchi <d.j.a.y at free.fr>
+	* synfig-core/configure.ac, synfig-core/po/ca.po,
+	synfig-core/po/cs.po, synfig-core/po/da.po, synfig-core/po/de.po,
+	synfig-core/po/el_GR.po, synfig-core/po/en_GB.po,
+	synfig-core/po/es.po, synfig-core/po/eu.po,
+	synfig-core/po/eu_ES.po, synfig-core/po/fa_IR.po,
+	synfig-core/po/fr.po, synfig-core/po/hu.po, synfig-core/po/it.po,
+	synfig-core/po/ja_JP.po, synfig-core/po/lt.po,
+	synfig-core/po/nl.po, synfig-core/po/no_NO.po,
+	synfig-core/po/pl_PL.po, synfig-core/po/pt_BR.po,
+	synfig-core/po/ro.po, synfig-core/po/ru.po, synfig-core/po/si.po,
+	synfig-core/po/sk_SK.po, synfig-core/po/sv_SE.po,
+	synfig-core/po/tr.po, synfig-core/po/zh_CN.po: Update translations
 
-	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp: Doc Comment
-	Generator Function : Layer_Freetype::new_font_
+2013-10-07  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2013-04-27  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: Win32: Fix
+	ffmpeg binary detection (one more time)
 
-	* synfig-core/src/modules/mod_filter/colorcorrect.cpp: Fix bug #408
-	-  Color correct fails in Cairo
+2013-09-26  Carlos López <genetita at gmail.com>
 
-2013-04-27  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/valuenode_step.cpp: Update
+	valuenode_step.cpp Fix spelling of word
 
-	* synfig-core/src/modules/lyr_std/warp.cpp: Fix bug #395  -  Cubic
-	and Linar sampling fails in CairoSurface.  The cubic subsampling
-	still having minor render artifacts on Curve warp layer. On the
-	other hand Warp layer cubic sampling is fine.
+2013-09-16  Ivan Mahonin <bh at icystar.com>
 
-2013-04-27  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_noise/valuenode_random.cpp: typo
 
-	* synfig-core/src/synfig/context.cpp: Fix bug #406  -  Straight
-	blend method with alpha <1.0 fails in Cairo mode in tile render
+2013-09-16  Ivan Mahonin <bh at icystar.com>
 
-2013-04-27  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_noise/valuenode_random.cpp,
+	synfig-core/src/modules/mod_noise/valuenode_random.h: Little fix
 
-	* synfig-core/src/synfig/layer_pastecanvas.cpp: Don't leave cairo
-	surfaces not destroyed.
+2013-09-16  Ivan Mahonin <bh at icystar.com>
 
-2013-04-27  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_noise/valuenode_random.cpp,
+	synfig-core/src/synfig/valuenode.cpp,
+	synfig-core/src/synfig/valuenode.h: temporary fix. in future we
+	should to change type of return value of method clone() to
+	ValueNode::Handle
 
-	* synfig-core/src/synfig/canvas.cpp,
-	synfig-core/src/synfig/canvas.h: Add debug function to show
-	optimized canvas structure
+2013-09-29  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2013-04-26  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: Ffmpeg target:
+	Replace deprecated option - "loop_input". Fixes #345.
 
-	* synfig-core/src/modules/lyr_std/shade.cpp: Fix bug  #407  -
-	Navigator blinks when scrubbing the timeline.
+2013-09-29  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2013-04-25  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: Win32 build:
+	Fix ffmpeg invocation
 
-	* synfig-core/src/synfig/layer_pastecanvas.cpp,
-	synfig-core/src/synfig/loadcanvas.cpp: Fix more missing renamed
-	strings
+2013-09-12  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2013-04-25  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/configure.ac: Bump ImageMagick version number
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_particle/plant.cpp,
-	synfig-core/src/synfig/valuenode_composite.cpp: Fix bug #364: Bad
-	string (duck) in setup dialog / misc. tab Also fixed some more
-	missing modified strings
+2013-09-12  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2013-04-25  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/configure.ac: Don't output MAGICKPP_LIBS variable at
+	configure time, because it is optional dependency
 
-	* synfig-core/src/synfig/keyframe.cpp,
-	synfig-core/src/synfig/keyframe.h,
-	synfig-core/src/synfig/loadcanvas.cpp: Add my copyright
+2013-09-12  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2012-06-26  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/src/modules/mod_magickpp/trgt_magickpp.cpp: MagickLib
+	is deprecated. Replaced with MagickCore since ImageMagick 6.4.2.
 
-	* synfig-core/src/synfig/keyframe.cpp,
-	synfig-core/src/synfig/keyframe.h: Fix keyframe selection in
-	keyframe widget
+2013-09-12  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2012-06-26  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/configure.ac,
+	synfig-core/src/modules/mod_magickpp/trgt_magickpp.cpp: Fix
+	detection for Magick++. Deprecate versions <= 6.3.8. Remove
+	HAVE_MAGICK_OPTIMIZE as outdated.
 
-	* synfig-core/src/synfig/keyframe.cpp: Ignore deactivated keyframes.
-	Selection on keyframes widget is broken.
+2013-09-10  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2012-06-24  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/src/tool/printing_functions.cpp: Fix synfig-core
+	compilation error on OSX 10.7
 
-	* synfig-core/src/synfig/loadcanvas.cpp: Fix loading of keyframe
-	state
+2013-09-08  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2012-06-24  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/src/modules/lyr_std/zoom.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/paramdesc.h: A better way to specify
+	exponential property of zoom handles
 
-	* synfig-core/src/synfig/keyframe.cpp: Make sure to initialize
-	keyframe state.
+2013-09-07  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2012-06-21  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/src/modules/lyr_std/zoom.cpp: Add zoom handle for
+	Scale layer
 
-	* synfig-core/src/synfig/keyframe.cpp,
-	synfig-core/src/synfig/keyframe.h,
-	synfig-core/src/synfig/loadcanvas.cpp,
-	synfig-core/src/synfig/savecanvas.cpp: Core implementation of
-	disabled keyframes.
+2013-09-07  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2013-04-23  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/layer_pastecanvas.cpp: Add zoom handle for
+	Group (PasteCanvas) layer
 
-	* synfig-core/src/synfig/cairo_operators.cpp: Fix bug #399: Cairo
-	render crashes with several blend modes in non debug.
+2013-09-02  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2013-04-21  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/Makefile.am, synfig-core/configure.ac,
+	synfig-core/win32build.sh, synfig-core/win32inst.nsi.in: Win32
+	build: Cleanup
 
-	* : Apply Enhancement #18: CLI revamp. Author Diego Barrios
-	(eldruin)
+2013-09-01  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2013-04-21  Diego Barrios Romero <eldruin at eldruin.com>
+	* synfig-core/m4/subs.m4: Properly fix -no-undefined flag for core
 
-	* synfig-core/src/tool/optionsprocessor.cpp: Fixed span option value
-	retrieval
+2013-08-30  Ivan Mahonin <bh at icystar.com>
 
-2013-04-21  Diego Barrios Romero <eldruin at eldruin.com>
+	* synfig-core/src/synfig/curveset.cpp: Return strange code in
+	curveset.cpp and comment it
 
-	* synfig-core/src/tool/main.cpp,
-	synfig-core/src/tool/optionsprocessor.cpp: Changed type of values
-	for time-related options to string In order to support unities together with the numbers, e.g. 1f and
-	decimal values.
+2013-08-30  Ivan Mahonin <bh at icystar.com>
 
-2013-04-21  Diego Barrios Romero <eldruin at eldruin.com>
+	* synfig-core/src/modules/mod_particle/random.cpp: Fix float
+	literals in mod_particle/random.cpp
 
-	* synfig-core/src/tool/main.cpp: Fixed assign RendDesc to job
+2013-08-30  Ivan Mahonin <bh at icystar.com>
 
-2013-04-21  Diego Barrios Romero <eldruin at eldruin.com>
+	* synfig-core/src/modules/mod_gradient/curvegradient.cpp: Comment
+	unused variable in curvegradient.cpp
 
-	* synfig-core/src/tool/optionsprocessor.cpp: Corrected value
-	retrieval on FPS option
+2013-08-30  Ivan Mahonin <bh at icystar.com>
 
-2013-04-21  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_gradient/conicalgradient.cpp,
+	synfig-core/src/modules/mod_gradient/lineargradient.cpp,
+	synfig-core/src/modules/mod_gradient/radialgradient.cpp,
+	synfig-core/src/synfig/layer_solidcolor.cpp: Add parentheses around
+	'&&' operator in conditions
 
-	* synfig-core/src/modules/lyr_std/warp.cpp,
-	synfig-core/src/modules/lyr_std/warp.h: Fix bug #372: Warp Layer not
-	implemented in Cairo
+2013-08-30  Ivan Mahonin <bh at icystar.com>
 
-2013-04-20  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_gradient/curvegradient.cpp: Removed
+	unused variable from curvegradient.cpp
 
-	* synfig-core/src/modules/lyr_std/bevel.cpp,
-	synfig-core/src/modules/lyr_std/shade.cpp,
-	synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/region.cpp,
-	synfig-core/src/synfig/color.cpp,
-	synfig-core/src/synfig/layer_polygon.cpp: Apply same fix than
-	previous commit in several places.
+2013-08-30  Ivan Mahonin <bh at icystar.com>
 
-2013-04-20  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_noise/distort.cpp,
+	synfig-core/src/modules/mod_noise/noise.cpp: Fix: returns 'false'
+	instead NULL-pointer in distort.cpp and noise.cpp
 
-	* synfig-core/src/modules/mod_geometry/outline.cpp: Fix bug #388:
-	Feathered outlines doesn't show in Navigator and Cairo render
+2013-08-30  Ivan Mahonin <bh at icystar.com>
 
-2013-04-19  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_noise/random_noise.cpp: Fix float
+	literals in random_noise.cpp
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/outline.cpp,
-	synfig-core/src/modules/mod_geometry/region.cpp,
-	synfig-core/src/synfig/layer_polygon.cpp: Fix bug 385: Feathered
-	shapes render is affected by render tile mode in Cairo
+2013-08-30  Ivan Mahonin <bh at icystar.com>
 
-2013-04-18  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/curveset.cpp: Removed strange unused code
+	from curveset.cpp
 
-	* synfig-core/src/synfig/color.cpp: CairoColor: add specialization
-	for Blend mode ALPHA_OVER and HARD_LIGHT
+2013-08-30  Ivan Mahonin <bh at icystar.com>
 
-2013-04-18  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_svg/svg_parser.cpp: Commented 'angle'
+	var, which reads from SVG and not used in svg_parser
 
-	* synfig-core/src/synfig/color.cpp: CairoColor: add specialization
-	for Blend mode COLOR, HUE, SATURATION, LUMINANCE and BEHIND
+2013-08-30  Ivan Mahonin <bh at icystar.com>
 
-2013-04-17  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/checkerboard.cpp,
+	synfig-core/src/modules/mod_gradient/conicalgradient.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_shape.cpp: remove unused variables
 
-	* synfig-core/src/synfig/color.cpp: Fix blend method DIVIDE for
-	CairoColor.
+2013-08-30  Ivan Mahonin <bh at icystar.com>
 
-2013-04-16  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Why
+	'hbiter_pos' never used in advanced_outline.cpp? Comment unused
+	variables in advanced_outline.cpp
 
-	* synfig-core/src/synfig/color.cpp: Fix blend method DIFFERENCE for
-	CairoColor.
+2013-08-30  Ivan Mahonin <bh at icystar.com>
 
-2013-04-16  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/color.h, synfig-core/src/synfig/vector.h: 
+	Fix custom isnan macro in color.h and vector.h
 
-	* synfig-core/src/synfig/color.cpp: Fix blend method SUBTRACT for
-	CairoColor.
+2013-08-30  Ivan Mahonin <bh at icystar.com>
 
-2013-04-16  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/color.cpp: Remove unused variables from
+	color.cpp
 
-	* synfig-core/src/synfig/color.cpp: Fix blend method ADD for
-	CairoColor.
+2013-08-30  Ivan Mahonin <bh at icystar.com>
 
-2013-04-16  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/color.h: Remove unnecessary qualifiers from
+	color.h
 
-	* synfig-core/src/synfig/cairo_operators.cpp,
-	synfig-core/src/synfig/color.cpp: Fix blend method DARKEN for
-	CairoColor.
+2013-08-29  Carlos Lopez <genetita at gmail.com>
 
-2013-04-16  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp,
+	synfig-core/src/modules/lyr_std/curvewarp.cpp,
+	synfig-core/src/modules/lyr_std/shade.cpp,
+	synfig-core/src/modules/lyr_std/sphere_distort.cpp,
+	synfig-core/src/modules/lyr_std/xorpattern.cpp,
+	synfig-core/src/modules/mod_filter/halftone2.cpp,
+	synfig-core/src/modules/mod_geometry/checkerboard.cpp,
+	synfig-core/src/modules/mod_geometry/circle.cpp,
+	synfig-core/src/modules/mod_gradient/curvegradient.cpp,
+	synfig-core/src/modules/mod_particle/plant.cpp: Fix set_param in
+	several layers that were rejecting parameters from files with old
+	format.
 
-	* synfig-core/src/synfig/color.cpp: Fix blend method BRIGHTEN for
-	CairoColor.
+2013-08-23  Carlos Lopez <genetita at gmail.com>
 
-2013-04-16  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/booleancurve.cpp,
+	synfig-core/src/modules/mod_svg/layer_svg.cpp,
+	synfig-core/src/synfig/layer.h: Remove traces of IMPORT and EXPORT
+	macros not used anymore.
 
-	* synfig-core/src/synfig/color.cpp: CairoColor: add specialization
-	for Blend mode STRAIGHT ONTO
+2013-08-23  Carlos Lopez <genetita at gmail.com>
 
-2013-04-14  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/layer_polygon.cpp,
+	synfig-core/src/synfig/layer_polygon.h: Polygon: migration of
+	parameters to ValueBase type.
 
-	* synfig-core/src/synfig/cairo_operators.cpp,
-	synfig-core/src/synfig/color.cpp: Fix blend method OVERLAY for
-	CairoColor. Add methods for ONTO and SCREEN fro CairoColor
+2013-08-23  Carlos Lopez <genetita at gmail.com>
 
-2013-04-14  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_particle/plant.cpp: Fix bug in Plant
+	and Cairo render: origin parameter was not used.
 
-	* synfig-core/src/synfig/color.cpp: CairoColor: add specialization
-	for Blend mode STRAIGHT
+2013-08-23  Carlos Lopez <genetita at gmail.com>
 
-2013-04-14  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_particle/plant.cpp,
+	synfig-core/src/modules/mod_particle/plant.h: Remove member function
+	that use cairo_surface_t. Forgotten to be deleted on previous
+	commits.
 
-	* synfig-core/src/synfig/color.cpp: Fix blend method COMPOSITE for
-	CairoColor.
+2013-08-23  Carlos Lopez <genetita at gmail.com>
 
-2013-04-14  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_particle/plant.cpp,
+	synfig-core/src/modules/mod_particle/plant.h: Plant: migration of
+	parameters to ValueBase type.
 
-	* synfig-core/src/synfig/color.cpp: Fix blend method MULTIPLY for
-	CairoColor.
+2013-08-22  Carlos Lopez <genetita at gmail.com>
 
-2013-04-14  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_noise/noise.cpp,
+	synfig-core/src/modules/mod_noise/noise.h: Noise: migration of
+	parameters to ValueBase type.
 
-	* synfig-core/src/synfig/color.cpp: Remove unused variables
+2013-08-22  Carlos Lopez <genetita at gmail.com>
 
-2013-04-13  Diego Barrios Romero <eldruin at eldruin.com>
+	* synfig-core/src/modules/mod_noise/distort.cpp,
+	synfig-core/src/modules/mod_noise/distort.h: NoiseDistort: migration
+	of parameters to ValueBase type.
 
-	* synfig-core/configure.ac: Remove Boost::Program Options dependency
-	for synfig library Boost Program Options is just a dependency of the synfig cli and so,
-	it is not required when linking against the synfig library.
+2013-08-22  Carlos Lopez <genetita at gmail.com>
 
-2013-04-13  Diego Barrios Romero <eldruin at eldruin.com>
+	* synfig-core/src/modules/mod_gradient/spiralgradient.cpp,
+	synfig-core/src/modules/mod_gradient/spiralgradient.h: 
+	SpiralGradient: migration of parameters to ValueBase type.
 
-	* : commit b2a79a3cfbb47a6424b1a3afff0206e20e3ca5c0 Author: Carlos
-	Lopez <genetita at gmail.com> Date:   Thu Apr 11 18:31:18 2013 +0200
+2013-08-22  Carlos Lopez <genetita at gmail.com>
 
-2013-04-08  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_gradient/radialgradient.cpp: Fix bug
+	#357:  Loop and Zigzag renders wrongly in Radial Gradient
 
-	* synfig-core/src/modules/mod_noise/distort.cpp,
-	synfig-core/src/modules/mod_noise/distort.h: New member
-	get_cairo_color for NoiseDistort
+2013-08-22  Carlos Lopez <genetita at gmail.com>
 
-2013-04-08  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_gradient/radialgradient.cpp,
+	synfig-core/src/modules/mod_gradient/radialgradient.h: 
+	RadialGradient: migration of parameters to ValueBase type.
 
-	* synfig-core/src/modules/mod_example/metaballs.cpp,
-	synfig-core/src/modules/mod_example/metaballs.h: New member
-	get_cairocolor for Metaballs
+2013-08-22  Carlos Lopez <genetita at gmail.com>
 
-2013-04-08  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_gradient/lineargradient.cpp,
+	synfig-core/src/modules/mod_gradient/lineargradient.h: 
+	LinearGradient: migration of parameters to ValueBase type.
 
-	* synfig-core/src/modules/mod_noise/noise.cpp,
-	synfig-core/src/modules/mod_noise/noise.h: Noise: add new member
-	get_cairocolor to make possible render it in Cairo.
+2013-08-22  Carlos Lopez <genetita at gmail.com>
 
-2013-04-08  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_gradient/curvegradient.cpp,
+	synfig-core/src/modules/mod_gradient/curvegradient.h: CurveGradient:
+	migration of parameters to ValueBase type.
 
-	* synfig-core/src/synfig/color.cpp: CairoColor: add specialization
-	for Blend mode COMPOSITE
+2013-08-19  Carlos Lopez <genetita at gmail.com>
 
-2013-04-08  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_gradient/conicalgradient.cpp,
+	synfig-core/src/modules/mod_gradient/conicalgradient.h: 
+	ConicalGradient: migration of parameters to ValueBase type.
 
-	* synfig-core/src/modules/mod_geometry/checkerboard.cpp: Fix bug
-	#371  -  Checkerboard layer renders darker with alpha < 0 in Cairo
+2013-08-19  Carlos Lopez <genetita at gmail.com>
 
-2013-04-07  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/star.h: Some comments
 
-	* synfig-core/src/synfig/layer_pastecanvas.cpp: Fix bug #366: Cairo
-	render: Group layer doesn't render its context when its content
-	doesn't overlap.
+2013-08-19  Carlos Lopez <genetita at gmail.com>
 
-2013-04-06  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/region.cpp,
+	synfig-core/src/modules/mod_geometry/region.h: Region: migration of
+	parameters to ValueBase type.
 
-	* synfig-core/configure.ac,
-	synfig-core/src/modules/mod_png/mptr_cairo_png.h,
-	synfig-core/src/synfig/cairo_operators.h,
-	synfig-core/src/synfig/cairoimporter.h,
-	synfig-core/src/synfig/layer.h,
-	synfig-core/src/synfig/layer_composite.h,
-	synfig-core/src/synfig/render.h, synfig-core/src/synfig/surface.h,
-	synfig-core/src/synfig/target_cairo.h,
-	synfig-core/src/synfig/target_cairo_tile.h: Synfig core doesn't
-	depend on Cairomm
+2013-08-19  Carlos Lopez <genetita at gmail.com>
 
-2013-04-01  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/rectangle.cpp,
+	synfig-core/src/modules/mod_geometry/rectangle.h: Rectangle:
+	migration of parameters to ValueBase type.
 
-	* synfig-core/src/modules/mod_geometry/main.cpp: Fix bug #359: walk
-	example compatibility issues.  The last terminology change made a
-	rename from BLine to Spline. It cannot be done for the alias of old
-	layers. I've restored the Layer alias.
+2013-08-19  Carlos Lopez <genetita at gmail.com>
 
-2013-04-01  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/outline.cpp,
+	synfig-core/src/modules/mod_geometry/outline.h: Outline: migration
+	of parameters to ValueBase type.
 
-	* : commit 537a28de407a6e561e9a32e7a9cf48398304b250 Author: Carlos
-	Lopez <genetita at gmail.com> Date:   Mon Apr 1 17:06:21 2013 +0200
+2013-08-19  Carlos Lopez <genetita at gmail.com>
 
-2013-03-30  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/circle.h: Some comments
 
-	* synfig-core/src/synfig/target_cairo.cpp,
-	synfig-core/src/synfig/target_cairo_tile.cpp,
-	synfig-core/src/synfig/target_scanline.cpp,
-	synfig-core/src/synfig/target_tile.cpp: Fix bug #358: Png import
-	falls on Cairo.  This commit: When rendering set the render method
-	before set the time to allow the Import layer to correctly set the
-	time based on the render method.
+2013-08-19  Carlos Lopez <genetita at gmail.com>
 
-2013-03-30  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/checkerboard.cpp,
+	synfig-core/src/modules/mod_geometry/checkerboard.h: CheckerBoard:
+	migration of parameters to ValueBase type.
 
-	* synfig-core/src/modules/mod_png/mptr_cairo_png.cpp: When creating
-	a png Cairo importer don't check f the Cairo surface is existent. It
-	is not.
+2013-08-19  Carlos Lopez <genetita at gmail.com>
 
-2013-03-30  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h: 
+	Advanced_Outline: migration of parameters to ValueBase type.
 
-	* synfig-core/src/modules/lyr_std/import.cpp: Do not map twice the
-	CairoSurface. It is already done at Layer_Bitmap
+2013-08-19  Carlos Lopez <genetita at gmail.com>
 
-2013-03-28  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_filter/radialblur.cpp,
+	synfig-core/src/modules/mod_filter/radialblur.h: RadialBlur:
+	migration of parameters to ValueBase type.
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/advanced_outline.h: Add basic
-	support to render Advanced Outlines in Cairo
+2013-08-18  Carlos Lopez <genetita at gmail.com>
 
-2013-03-26  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_filter/halftone.cpp,
+	synfig-core/src/modules/mod_filter/halftone.h,
+	synfig-core/src/modules/mod_filter/halftone2.cpp,
+	synfig-core/src/modules/mod_filter/halftone2.h,
+	synfig-core/src/modules/mod_filter/halftone3.cpp,
+	synfig-core/src/modules/mod_filter/halftone3.h: Halftone2 &
+	Halftone3: migration of parameters to ValueBase type.
 
-	* synfig-core/src/modules/mod_geometry/checkerboard.cpp: Fix bug
-	#354: Layer Checkerboard renders wrong in Cairo mode for Tile render
-	and Preview
+2013-08-18  Carlos Lopez <genetita at gmail.com>
 
-2013-03-26  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_filter/colorcorrect.cpp,
+	synfig-core/src/modules/mod_filter/colorcorrect.h: 
+	Layer_ColorCorrect: migration of parameters to ValueBase type.
 
-	* synfig-core/src/synfig/renddesc.cpp,
-	synfig-core/src/synfig/renddesc.h: New function to set top left and
-	bottom right corners of the render description at the same time. In
-	some cases set the top left only or the bottom right only can lead
-	to a width and/or height of zero although the final tl and br are
-	legal.
+2013-08-18  Carlos Lopez <genetita at gmail.com>
 
-2013-03-25  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_filter/blur.cpp,
+	synfig-core/src/modules/mod_filter/blur.h: Blur_Layer: migration of
+	parameters to ValueBase type.
 
-	* synfig-core/src/modules/mod_geometry/circle.cpp: Fixes bug #355:
-	Inverted feathered circle crash on Cairo render
+2013-08-18  Carlos Lopez <genetita at gmail.com>
 
-2013-03-25  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_example/simplecircle.cpp,
+	synfig-core/src/modules/mod_example/simplecircle.h: SimplCircle:
+	migration of parameters to ValueBase type.  Add to the radius the
+	distance property, so it can be entered using the application units.
 
-	* synfig-core/src/modules/mod_gradient/conicalgradient.cpp: Fixes
-	bug #356 : Cairo render: Conical gradient fails render if gradient
-	is just to Color Stops
+2013-08-18  Carlos Lopez <genetita at gmail.com>
 
-2013-03-25  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_example/metaballs.cpp,
+	synfig-core/src/modules/mod_example/metaballs.h: Metaballs:
+	migration of parameters to ValueBase type.
 
-	* synfig-core/src/synfig/target_cairo_tile.h: Add tile member
-	function doesn't need to pass a reference to a pointer.
+2013-08-18  Carlos Lopez <genetita at gmail.com>
 
-2013-03-24  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_example/filledrect.cpp,
+	synfig-core/src/modules/mod_example/filledrect.h: FilledRect:
+	migration of parameters to ValueBase type.  Turn feather and bevel
+	sizes to distance, so they can be entered using the application unit
+	used.
 
-	* synfig-core/src/synfig/surface.cpp: Fix old bug that doesn't map
-	or unmap the Cairo surface correctly. This was causing major
-	problems with the layers that do raster operations. Now it is fixed
-	finally! Yeah!
+2013-08-18  Carlos Lopez <genetita at gmail.com>
 
-2013-03-15  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/zoom.cpp,
+	synfig-core/src/modules/lyr_std/zoom.h: Zoom: migration of
+	parameters to ValueBase type.
 
-	* synfig-core/src/synfig/surface.cpp: Fix wrong comparison that were
-	giving problems in Cairo render
+2013-08-17  Carlos Lopez <genetita at gmail.com>
 
-2012-06-21  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/src/modules/lyr_std/xorpattern.cpp,
+	synfig-core/src/modules/lyr_std/xorpattern.h: XORPattern: migration
+	of parameters to ValueBase type.
 
-	* synfig-core/.anjuta/session/anjuta.session,
-	synfig-core/synfig-core.anjuta: Anjuta IDE configuration
+2013-08-17  Carlos Lopez <genetita at gmail.com>
 
-2013-03-14  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/warp.cpp,
+	synfig-core/src/modules/lyr_std/warp.h: Warp: migration of
+	parameters to ValueBase type.
 
-	* : commit bf2f88ef50c40abc58d2ac3b39504486cb8c9057 Author:
-	Konstantin Dmitriev <ksee.zelgadis at gmail.com> Date:   Wed Mar 13
-	16:37:42 2013 +0700
+2013-08-17  Carlos Lopez <genetita at gmail.com>
 
-2013-03-12  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/twirl.cpp,
+	synfig-core/src/modules/lyr_std/twirl.h: Twirl: migration of
+	parameters to ValueBase type.
 
-	* synfig-core/src/synfig/target_cairo_tile.h: add_tile now receives
-	a reference to a cairo_surface_t pointer
+2013-08-17  Carlos Lopez <genetita at gmail.com>
 
-2013-03-10  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/translate.cpp,
+	synfig-core/src/modules/lyr_std/translate.h: Translate: migration of
+	parameters to ValueBase type.
 
-	* synfig-core/src/synfig/Makefile.am,
-	synfig-core/src/synfig/target_cairo_tile.cpp: New class
-	WorkAreaTarget_Cairo_Tile to render on work area using Cairo tile
-	render.  Fix compile error from previous commit.
+2013-08-17  Carlos Lopez <genetita at gmail.com>
 
-2013-03-10  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/timeloop.cpp,
+	synfig-core/src/modules/lyr_std/timeloop.h: Layer_TimeLoop:
+	migration of parameters to ValueBase type.
 
-	* synfig-core/src/synfig/target_cairo.cpp,
-	synfig-core/src/synfig/target_cairo_tile.cpp,
-	synfig-core/src/synfig/target_cairo_tile.h: Use start_frame and
-	end_frame for the Target_Cairo_Tile class instead of the obtain
-	surface and put surface. The pure virtual member add_tile would take
-	care of each rendered tile instead of put surface.
+2013-08-17  Carlos Lopez <genetita at gmail.com>
 
-2013-03-10  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/stretch.cpp,
+	synfig-core/src/modules/lyr_std/stroboscope.cpp,
+	synfig-core/src/modules/lyr_std/supersample.cpp: Add missing
+	commands in the previous commits
 
-	* synfig-core/src/synfig/Makefile.am,
-	synfig-core/src/synfig/target_cairo_tile.cpp,
-	synfig-core/src/synfig/target_cairo_tile.h: New class
-	Target_Cairo_Tile to render using Cairo and tile mode.
+2013-08-16  Carlos Lopez <genetita at gmail.com>
 
-2013-03-10  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/supersample.cpp,
+	synfig-core/src/modules/lyr_std/supersample.h: Layer_Spersample:
+	migration of parameters to ValueBase type.
 
-	* synfig-core/src/synfig/target_tile.cpp: Minor comments
+2013-08-16  Carlos Lopez <genetita at gmail.com>
 
-2013-03-01  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/stroboscope.cpp,
+	synfig-core/src/modules/lyr_std/stroboscope.h: Layer_Stroboscope:
+	migration of parameters to ValueBase type.
 
-	* synfig-core/src/synfig/target_cairo.cpp: Fix bug: when requested
-	to render only one frame it wrongly renders the frame at time t=0.
-	With the fix it renders the correct requested frame.
+2013-08-16  Carlos Lopez <genetita at gmail.com>
 
-2013-02-28  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/stretch.cpp,
+	synfig-core/src/modules/lyr_std/stretch.h: Layer_Stretch: migration
+	of parameters to ValueBase type.
 
-	* synfig-core/src/synfig/target_cairo.h: Make
-	Target_Cairo::gamma_filter static to be used without instance.
+2013-08-16  Carlos Lopez <genetita at gmail.com>
 
-2013-02-28  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/layer_composite.cpp,
+	synfig-core/src/synfig/paramdesc.cpp: Move the static option for
+	parameter blend method from ParamDesc to Layer_Composite
 
-	* synfig-core/src/modules/mod_png/trgt_cairo_png.cpp,
-	synfig-core/src/modules/mod_png/trgt_cairo_png.h,
-	synfig-core/src/synfig/target_cairo.cpp,
-	synfig-core/src/synfig/target_cairo.h: Moves gamma filter to
-	Target_Cairo for reusability
+2013-08-16  Carlos Lopez <genetita at gmail.com>
 
-2013-02-27  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/sphere_distort.cpp,
+	synfig-core/src/modules/lyr_std/sphere_distort.h: Layer_Sphere:
+	migration of parameters to ValueBase type.
 
-	* synfig-core/src/synfig/surface.cpp,
-	synfig-core/src/synfig/surface.h: New target2cairo_image class to
-	render to render to image buffer (ARGB32)
+2013-08-17  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2013-02-17  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/main.cpp: Copyright
 
-	* synfig-core/src/modules/lyr_std/curvewarp.cpp,
-	synfig-core/src/synfig/valuenode_blinecalctangent.cpp,
-	synfig-core/src/synfig/valuenode_blinecalcvertex.cpp,
-	synfig-core/src/synfig/valuenode_composite.cpp: Replace BLine by
-	Spline in more places. Make "NewSpline" translatable.
+2013-08-17  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2013-02-05  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp: Cleanup
 
-	* synfig-core/m4/ax_boost_base.m4,
-	synfig-core/m4/ax_boost_program_options.m4: Replace macros for Boost
-	libraries by newer versions from
-	http://www.gnu.org/software/autoconf-archive/index.html.  Fixes
-	configuration on OSX
+2013-08-17  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2012-09-23  Diego Barrios Romero <eldruin at eldruin.com>
+	* synfig-core/src/synfig/main.cpp: Comments
 
-	* synfig-core/configure.ac, synfig-core/m4/ax_boost_base.m4,
-	synfig-core/m4/ax_boost_program_options.m4,
-	synfig-core/src/tool/Makefile.am: Boost: add boost configuration
-	files
+2013-08-17  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2013-02-03  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/main.cpp: Write different OS' cases in the
+	same style for synfig::get_binary_path()
 
-	* : Merge remote-tracking branch 'jcome-synfig/terms_rework_2'
+2013-08-16  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2013-01-12  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/src/synfig/main.cpp: Remove redundant libproc.h header
 
-	* synfig-core/src/synfig/Makefile.am,
-	synfig-core/src/synfig/releases.h,
-	synfig-core/src/synfig/valuenode.cpp,
-	synfig-core/src/synfig/valuenode_real.cpp,
-	synfig-core/src/synfig/valuenode_real.h: Add Real convert type,
-	fixes #324 Convert is available for types: Integer, Bool, Angle.  Reverse
-	manipulation supported for Angle handles.
+2013-08-16  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2013-01-10  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/src/synfig/main.cpp, synfig-core/src/tool/main.cpp: 
+	Fix the locale not properly detected when started as ./synfig or
+	./synfigstudio. Also should fix segfault for studio.
 
-	* synfig-core/src/synfig/valuenode_scale.cpp,
-	synfig-core/src/synfig/valuenode_scale.h: Enable reverse
-	manipulations of Scale ValueNode for Real type control points
+2013-08-15  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2013-01-10  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/src/tool/definitions.h,
+	synfig-core/src/tool/main.cpp,
+	synfig-core/src/tool/printing_functions.cpp: Suit better variable
+	names
 
-	* synfig-core/src/synfig/valuenode_integer.cpp,
-	synfig-core/src/synfig/valuenode_integer.h: Enable reverse
-	manipulations for Integer ValueNode (Real and Angle control points)
+2013-08-15  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2013-01-10  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/src/synfig/general.h,
+	synfig-core/src/synfig/main.cpp, synfig-core/src/tool/main.cpp: Add
+	fallback parameter for
+	synfig::get_binary_pathsynfig::get_binary_path(). Some cleanup.
 
-	* synfig-core/src/synfig/valuenode.cpp,
-	synfig-core/src/synfig/valuenode_integer.cpp: Fix and enable Integer
-	convert type
+2013-08-14  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2012-12-06  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/main.cpp: Add forgotten header
 
-	* synfig-core/src/modules/mod_png/mptr_cairo_png.cpp,
-	synfig-core/src/synfig/cairoimporter.cpp: CairoImporter: set the
-	default gamma to 2.2 to match the current status. It has of be fixed
-	some day. :-/ Add code to modify the gamma of the imported image to
-	match the gamma of the application.
+2013-08-14  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2012-12-06  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/main.cpp, synfig-core/src/tool/main.cpp: 
+	Add OSX-specific code to synfig::get_binary_path(). Also rearrange
+	code a bit.
 
-	* synfig-core/src/synfig/layer_bitmap.cpp: Layer_Bitmap: fix
-	translation and scale of the bitmap to render.
+2013-08-14  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2012-11-30  Yu Chen <jcomee at gmail.com>
+	* synfig-core/src/synfig/main.cpp: Fix synfig::get_binary_path() for
+	Windows platform. Also fix code identation.
 
-	* synfig-core/src/synfig/value.cpp: Rename type local name:
-	bline_point to spline_point for UI
+2013-08-13  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2012-11-30  Yu Chen <jcomee at gmail.com>
+	* synfig-core/src/synfig/general.h,
+	synfig-core/src/synfig/main.cpp,
+	synfig-core/src/tool/definitions.h, synfig-core/src/tool/main.cpp: 
+	Fix #467: Second part - fix binary path detection.  The binary path detection code borrowed from
 
-	* synfig-core/src/synfig/value.cpp: Make type_local_name
-	translatable and type_name untranslatable
+	https://git.gnome.org/browse/gimp/tree/libgimpbase/gimpreloc.c?id=GIMP_2_8_6#n36
 
-2012-11-30  Yu Chen <jcomee at gmail.com>
+2013-08-13  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/main.cpp,
-	synfig-core/src/modules/mod_geometry/outline.cpp,
-	synfig-core/src/modules/mod_geometry/region.cpp,
-	synfig-core/src/modules/mod_gradient/curvegradient.cpp,
+	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp,
+	synfig-core/src/modules/lyr_std/bevel.cpp,
+	synfig-core/src/modules/lyr_std/clamp.cpp,
+	synfig-core/src/modules/lyr_std/curvewarp.cpp,
+	synfig-core/src/modules/lyr_std/import.cpp,
+	synfig-core/src/modules/lyr_std/insideout.cpp,
+	synfig-core/src/modules/lyr_std/julia.cpp,
+	synfig-core/src/modules/lyr_std/mandelbrot.cpp,
+	synfig-core/src/modules/lyr_std/rotate.cpp,
+	synfig-core/src/modules/lyr_std/shade.cpp,
+	synfig-core/src/modules/mod_geometry/circle.cpp,
+	synfig-core/src/modules/mod_geometry/star.cpp,
+	synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h,
+	synfig-core/src/synfig/layer_bitmap.cpp,
+	synfig-core/src/synfig/layer_composite.cpp,
+	synfig-core/src/synfig/layer_duplicate.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_skeleton.cpp,
+	synfig-core/src/synfig/layer_solidcolor.cpp: Replace
+	set_static_defaults and set_interpolation_defaults with macros to
+	not use the Layer version of get_param_vocab, get_param and
+	set_param
+
+2013-08-13  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_filter/blur.cpp,
+	synfig-core/src/modules/mod_filter/colorcorrect.cpp,
+	synfig-core/src/modules/mod_filter/radialblur.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/circle.cpp,
+	synfig-core/src/modules/mod_geometry/circle.h,
+	synfig-core/src/modules/mod_geometry/star.cpp,
+	synfig-core/src/modules/mod_geometry/star.h,
+	synfig-core/src/modules/mod_gradient/lineargradient.cpp,
+	synfig-core/src/modules/mod_noise/distort.cpp,
+	synfig-core/src/modules/mod_noise/noise.cpp,
 	synfig-core/src/modules/mod_particle/plant.cpp,
-	synfig-core/src/synfig/valuenode.cpp,
-	synfig-core/src/synfig/valuenode_bline.cpp,
-	synfig-core/src/synfig/valuenode_blinecalctangent.cpp,
-	synfig-core/src/synfig/valuenode_blinecalcvertex.cpp,
-	synfig-core/src/synfig/valuenode_blinecalcwidth.cpp: Rename bline to
-	spline for UI
+	synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h,
+	synfig-core/src/synfig/layer_bitmap.cpp,
+	synfig-core/src/synfig/layer_bitmap.h,
+	synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h,
+	synfig-core/src/synfig/loadcanvas.cpp: Remove set_param_static and
+	set_param_interpolation from layers and implement the actions based
+	on the ValueBase set_static and set_interpolation
 
-2012-11-30  Yu Chen <jcomee at gmail.com>
+2013-08-12  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_pastecanvas.cpp: Rename inline/pasted
-	canvas to group for UI: rename inline canvas layer to group layer,
-	rename pasted canvas layer to group layer, rename canvas parameter
-	value from pasted canvas to group.
+	* synfig-core/src/modules/lyr_std/shade.cpp,
+	synfig-core/src/modules/lyr_std/shade.h: Shade: migration of
+	parameters to ValueBase type.
 
-2012-11-29  Carlos Lopez <genetita at gmail.com>
+2013-08-11  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/lyr_std/import.cpp,
-	synfig-core/src/modules/lyr_std/import.h,
-	synfig-core/src/modules/mod_png/Makefile.am,
-	synfig-core/src/modules/mod_png/main.cpp,
-	synfig-core/src/modules/mod_png/mptr_cairo_png.cpp,
-	synfig-core/src/modules/mod_png/mptr_cairo_png.h,
-	synfig-core/src/synfig/Makefile.am,
-	synfig-core/src/synfig/cairoimporter.cpp,
-	synfig-core/src/synfig/cairoimporter.h,
-	synfig-core/src/synfig/main.cpp, synfig-core/src/synfig/module.h,
-	synfig-core/src/tool/main.cpp: Cairo Import: Initial version of add
-	support for importers in Cairo render. Still have bugs because the
-	image is not displayed with the correct gamma (still hardcoded) and
-	the size and position of the loaded image is incorrect.
+	* synfig-core/src/modules/lyr_std/rotate.cpp,
+	synfig-core/src/modules/lyr_std/rotate.h: Rotate: migration of
+	parameters to ValueBase type.
 
-2012-11-29  Carlos Lopez <genetita at gmail.com>
+2013-08-11  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/lyr_std/import.cpp,
-	synfig-core/src/modules/lyr_std/import.h: Importer: prepare
-	infrastructure to receive use the render method with the new
-	CairoImporter class.
+	* synfig-core/src/modules/lyr_std/mandelbrot.cpp,
+	synfig-core/src/modules/lyr_std/mandelbrot.h: Mandelbrot: migration
+	of parameters to ValueBase type.
 
-2012-11-29  Carlos Lopez <genetita at gmail.com>
+2013-08-10  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_bitmap.cpp: Layer_Bitmap: as per
-	previous commit, there is not need to unmap here.
+	* synfig-core/src/modules/lyr_std/julia.cpp,
+	synfig-core/src/modules/lyr_std/julia.h: Julia: migration of
+	parameters to ValueBase type.
 
-2012-11-29  Carlos Lopez <genetita at gmail.com>
+2013-08-10  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/surface.cpp,
-	synfig-core/src/synfig/surface.h: CairoSurface: when the
-	CairoSurface receives a pointer to a cairo_surface_t and it is null
-	then don't throw a message error. Instead set it to the current
-	cairo_surface_t.  In any case when the new cairo_surface_t pointer
-	is received the previous one is unmapped if already is.
+	* synfig-core/src/modules/lyr_std/insideout.cpp,
+	synfig-core/src/modules/lyr_std/insideout.h: InsideOut: migration of
+	parameters to ValueBase type.
 
-2012-11-29  Carlos Lopez <genetita at gmail.com>
+2013-08-10  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/target_cairo.cpp: Target_Cairo: Before
-	start render process pass to the context the render method to use.
+	* synfig-core/src/modules/lyr_std/import.cpp,
+	synfig-core/src/modules/lyr_std/import.h: Import: migration of
+	parameters to ValueBase type.
 
-2012-11-29  Carlos Lopez <genetita at gmail.com>
+2013-08-10  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/lyr_std/import.h,
-	synfig-core/src/synfig/Makefile.am, synfig-core/src/synfig/layer.h,
-	synfig-core/src/synfig/rendermethod.h: Add RenderMethod enumeration
-	as independent header.
+	* synfig-core/src/modules/lyr_std/curvewarp.cpp,
+	synfig-core/src/modules/lyr_std/curvewarp.h: CurveWarp: migration of
+	parameters to ValueBase type.
 
-2012-11-27  Carlos Lopez <genetita at gmail.com>
+2013-08-10  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/main.cpp: Revert "Added "Rendering method"
-	command line option" This reverts commit 2bb93e4726a15358514b5daf24bbebaf5fbf86ec.
+	* synfig-core/src/modules/lyr_std/clamp.cpp,
+	synfig-core/src/modules/lyr_std/clamp.h: Layer_Clamp: migration of
+	parameters to ValueBase type.
 
-2012-11-27  Carlos Lopez <genetita at gmail.com>
+2013-08-10  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/target.cpp,
-	synfig-core/src/synfig/target.h: Revert "Add a function to set the
-	rending method (Software, OpenGL, or Cairo). Author Nikita Kitaev" This reverts commit d93400389597975e7a04f6f73d1a22c44119ca44.
+	* synfig-core/src/modules/lyr_std/bevel.cpp,
+	synfig-core/src/modules/lyr_std/bevel.h: Layer_Bevel: migration of
+	parameters to ValueBase type.
 
-2012-11-27  Carlos Lopez <genetita at gmail.com>
+2013-08-09  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/target_scanline.cpp,
-	synfig-core/src/synfig/target_scanline.h: Revert "Target_Scanline:
-	Add a virtual method to create a surface instance. It would use the
-	current render method to decide which type of surface to create. It
-	has to be override by specific targets to make use of the proper
-	surface backend." This reverts commit
-	dcc781c8cb5a2c535404ca44552956b6fc473608.  Current strategy doesn't use that method.
+	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp,
+	synfig-core/src/modules/lyr_freetype/lyr_freetype.h: Layer_FreeType:
+	migration of parameters to ValueBase type.
 
-2012-11-25  Carlos Lopez <genetita at gmail.com>
+2013-08-09  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/cairo_operators.cpp,
-	synfig-core/src/synfig/color.cpp: Cairo Operators: Add support for
-	blend mode BRIGHTEN and DARKEN using a custom blend function.
-	Native Cairo operators didn't give the same result.
+	* synfig-core/src/synfig/layer_composite.cpp: Add missing
+	set_interpolation_defaults and set_static_defaults to
+	Layer_Composite
 
-2012-11-25  Carlos Lopez <genetita at gmail.com>
+2013-08-09  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/cairo_operators.cpp: Cairo Operators:
-	Improve the method of blending for the supported modes in Cairo.  It
-	uses the push/pop feature which is faster and doesn't use a
-	map/unmap image operation.
+	* synfig-core/src/synfig/layer_solidcolor.cpp,
+	synfig-core/src/synfig/layer_solidcolor.h: Layer_SolidColor:
+	migration of parameters to ValueBase type.
 
-2012-11-24  Carlos Lopez <genetita at gmail.com>
+2013-08-09  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_pastecanvas.cpp: Paste Canvas Layer:
-	optimize Cairo render by clipping the canvas context to the bounding
-	box.  With this optimization the Prologue Kid file reduces its
-	render time (without the noise background not implemented yet but
-	with all the layer effects) from 1.08 seconds to 0.19 seconds.
-	Notice that Software render takes 0.185 seconds for the same file.
+	* synfig-core/src/synfig/layer_skeleton.cpp,
+	synfig-core/src/synfig/layer_skeleton.h: Layer_Skeleton: migration
+	of parameters to ValueBase type.
 
-2012-11-23  Carlos Lopez <genetita at gmail.com>
+2013-08-07  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/cairo_operators.cpp,
-	synfig-core/src/synfig/color.cpp: Cairo Operators: Add support for
-	blend mode ALPHA_BRIGHTEN using a custom blend function.
+	* synfig-core/src/synfig/layer_shape.cpp,
+	synfig-core/src/synfig/layer_shape.h: Layer_Shape: migration of
+	parameters to ValueBase type.
 
-2012-11-23  Carlos Lopez <genetita at gmail.com>
+2013-08-04  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/cairo_operators.cpp,
-	synfig-core/src/synfig/color.cpp: Cairo Operators: Add support for
-	blend mode ALPHA_DARKEN using a custom blend function.
+	* synfig-core/src/synfig/layer_pastecanvas.cpp: Do not use EXPORT
+	macro for canvas parameter since it will be removed in the future.
 
-2012-11-23  Carlos Lopez <genetita at gmail.com>
+2013-08-04  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/cairo_operators.cpp,
-	synfig-core/src/synfig/color.cpp: Cairo Operators: Add support for
-	blend mode DIFFERENCE using a custom blend function.
+	* synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h: Partially revert
+	previous commit. Do not use ValueBase for canvas parameter.  If implemented, further warning messages (Canvases still open!) are
+	raised when opening synfig-core/examples/logo.sif and close it.
+	ValueBase for canvas parameter doesn't add any functionality so it
+	is not implemented.
 
-2012-11-23  Carlos Lopez <genetita at gmail.com>
+2013-08-03  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/cairo_operators.cpp,
-	synfig-core/src/synfig/color.cpp: Cairo Operators: Add support for
-	blend mode SUBTRACT using a custom blend function.
+	* synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h: Layer_PasteCanvas:
+	migration of parameters to ValueBase type.
 
-2012-11-23  Carlos Lopez <genetita at gmail.com>
+2013-08-03  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/cairo_operators.cpp,
-	synfig-core/src/synfig/color.cpp: Cairo Operators: Add support for
-	blend mode ADD using a custom blend function.
+	* synfig-core/src/modules/mod_geometry/circle.cpp: For consistency
+	use the name of the enum type than int when declare a variable. Tidy
+	up.
 
-2012-11-23  Carlos Lopez <genetita at gmail.com>
+2013-08-03  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/cairo_operators.cpp,
-	synfig-core/src/synfig/color.cpp: Cairo Operators: Add support for
-	blend mode DIVIDE using a custom blend function.
+	* synfig-core/src/synfig/layer_motionblur.cpp,
+	synfig-core/src/synfig/layer_motionblur.h: Layer_MotionBlur:
+	migration of parameters to ValueBase type.
 
-2012-11-23  Carlos Lopez <genetita at gmail.com>
+2013-08-02  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/color.h: CairoColor: new constructor for
-	integer color channels.
+	* synfig-core/src/synfig/layer_duplicate.cpp,
+	synfig-core/src/synfig/layer_duplicate.h: Layer_Duplicate: migration
+	of parameters to ValueBase type.
 
-2012-11-22  Carlos Lopez <genetita at gmail.com>
-
-	* synfig-core/src/synfig/cairo_operators.cpp: Cairo Operators: When
-	the blend method is not directly supported, use a faster way of
-	compositing.
-
-2012-11-20  Carlos Lopez <genetita at gmail.com>
-
-	* synfig-core/src/synfig/cairo_operators.cpp: Cairo Operators:
-	complete the OVERLAY method using properly the right context pixels
-	when blending the source pattern with the context. Now it renders
-	fine.
+2013-07-31  Carlos Lopez <genetita at gmail.com>
 
-2012-11-20  Carlos Lopez <genetita at gmail.com>
-
-	* synfig-core/src/synfig/cairo_operators.cpp: Cairo Operators:
-	remove assertion because it is not needed.
+	* synfig-core/src/modules/mod_geometry/star.cpp,
+	synfig-core/src/modules/mod_geometry/star.h: Star: migration of
+	parameter to ValueBase type.
 
-2012-11-19  Carlos Lopez <genetita at gmail.com>
+2013-05-30  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/cairo_operators.cpp: Cairo Operators: Use a
-	different method to perform OVERLAY blending.  Simplify the way that
-	the surfaces are rendered before do the overlay operations by pixel.
-	It increases drastically the render time for Cairo from being 3
-	times slower than Software to be 1.6 times faster.
+	* synfig-core/src/synfig/layer_composite.cpp,
+	synfig-core/src/synfig/layer_composite.h,
+	synfig-core/src/synfig/paramdesc.cpp,
+	synfig-core/src/synfig/paramdesc.h: Layer Composite: migration of
+	parameters to ValueBase type. ParamDesc now there is only one
+	constructor that gets a ValueBase as first parameter.
 
-2012-11-19  Carlos Lopez <genetita at gmail.com>
+2013-05-28  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/cairo_operators.cpp,
-	synfig-core/src/synfig/color.cpp: CairoColor::Blend: Add support for
-	OVERLAY method.  Previously the non directly supported by Cairo
-	blend methods, were performed by converting the CairoColor to Color
-	and performing the blending and then convert it back to CairoColor
-	again.  It is really time consuming and this commit offers an
-	specific blend function for OVERLAY method and CairoColor.  The
-	function just does the overlay operation, but without the blend onto
-	that is performed by Cairo later.  The old Cairo render time for a file with 23 rectangles was 1.60
-	seconds and now it is 0.24. Still away though, from the 0.08 seconds
-	that Software needs to render the same file.
+	* synfig-core/src/synfig/layer_bitmap.cpp: When set or get a
+	parameter, preserve the static/interpolation form parameter when get
+	and assume the static/interpolation from value when set.
 
-2012-11-08  Carlos Lopez <genetita at gmail.com>
+2013-05-28  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_filter/colorcorrect.cpp,
-	synfig-core/src/modules/mod_filter/colorcorrect.h: 
-	Layer_ColorCorrect: Add support for Cairo render
+	* synfig-core/src/modules/mod_geometry/circle.cpp: Add missing
+	set_static_defaults for Circle layer
 
-2012-11-08  Carlos Lopez <genetita at gmail.com>
+2013-05-28  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/lyr_std/shade.cpp: Layer_Shade: now
-	inverted shades and/or with amount > 1.0 are rendered correctly.
+	* synfig-core/src/synfig/layer_bitmap.cpp,
+	synfig-core/src/synfig/layer_bitmap.h,
+	synfig-core/src/synfig/layer_composite.cpp: Layer Bitmap: migration
+	of parameters to ValueBase type. Needed modification of code from
+	Layer Composite
 
-2012-11-08  Carlos Lopez <genetita at gmail.com>
+2013-05-27  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/outline.cpp: Outline: When
-	quality is 6 or less then draw the outline using the variable width,
-	otherwise the outline is rendered with constant average width
+	* synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/savecanvas.cpp: Allow to save and load
+	interpolation`property for all value types. Also fix encode static
+	for canvas parameter. Non in line canvas parameters can be set to
+	static so they should be saved.
 
-2012-11-08  Carlos Lopez <genetita at gmail.com>
+2013-05-27  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_shape.cpp,
-	synfig-core/src/synfig/layer_shape.h: Layer_Shape: Add function that
-	translates Shape primitives to Cairo primitives. Only move_to and
-	line_to at the moment.
+	* synfig-core/src/modules/mod_geometry/circle.cpp,
+	synfig-core/src/synfig/layer.cpp: Restore static and interpolation
+	preferences for Layer and Circle. It would be defined later globally
 
-2012-11-08  Carlos Lopez <genetita at gmail.com>
+2013-05-27  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/outline.cpp: Layer_Outline:
-	reorder code to use variable width when quality is 6 or less.
+	* synfig-core/src/modules/mod_geometry/circle.cpp,
+	synfig-core/src/modules/mod_geometry/circle.h: Circle layer:
+	migration of parameters to ValueBase type
 
-2012-11-08  Carlos Lopez <genetita at gmail.com>
+2013-05-26  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/outline.cpp: Outline_Layer:
-	Re-indent code. No change
+	* synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h: 
+	Layer: Add function to set static defaults. Use z depth as example.
 
-2012-11-08  Carlos Lopez <genetita at gmail.com>
+2013-05-26  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/outline.cpp: Outline_Layer:
-	When drawing the outline and want to have variable width don't use
-	Layer_Polygon. It doesn't render properly looped outlines.
+	* synfig-core/src/synfig/layer.cpp: Layer:use the import static
+	macro on set param static. Now z depth and radius of circle can set
+	static option
 
-2012-11-08  Carlos Lopez <genetita at gmail.com>
+2013-05-26  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/outline.cpp: Outline_Layer:
-	When using the Cairo primitives to draw the outline (low quality)
-	use the average width properly.
+	* synfig-core/src/modules/lyr_std/import.cpp,
+	synfig-core/src/modules/lyr_std/julia.cpp,
+	synfig-core/src/modules/lyr_std/mandelbrot.cpp,
+	synfig-core/src/modules/mod_filter/colorcorrect.cpp,
+	synfig-core/src/modules/mod_noise/distort.cpp,
+	synfig-core/src/modules/mod_noise/noise.cpp,
+	synfig-core/src/modules/mod_particle/plant.cpp,
+	synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h,
+	synfig-core/src/synfig/layer_bitmap.cpp,
+	synfig-core/src/synfig/layer_composite.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h: Remove get_param static
+	in all layers. Temporarily disabled forbid animation for layer
+	parameters.
 
-2012-11-08  Carlos Lopez <genetita at gmail.com>
+2013-05-26  Carlos Lopez <genetita at gmail.com>
 
 	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp,
+	synfig-core/src/modules/lyr_std/bevel.cpp,
+	synfig-core/src/modules/lyr_std/clamp.cpp,
+	synfig-core/src/modules/lyr_std/curvewarp.cpp,
+	synfig-core/src/modules/lyr_std/import.cpp,
+	synfig-core/src/modules/lyr_std/insideout.cpp,
+	synfig-core/src/modules/lyr_std/julia.cpp,
+	synfig-core/src/modules/lyr_std/mandelbrot.cpp,
+	synfig-core/src/modules/lyr_std/rotate.cpp,
+	synfig-core/src/modules/lyr_std/shade.cpp,
+	synfig-core/src/modules/lyr_std/sphere_distort.cpp,
+	synfig-core/src/modules/lyr_std/stretch.cpp,
+	synfig-core/src/modules/lyr_std/supersample.cpp,
+	synfig-core/src/modules/lyr_std/timeloop.cpp,
+	synfig-core/src/modules/lyr_std/translate.cpp,
+	synfig-core/src/modules/lyr_std/twirl.cpp,
+	synfig-core/src/modules/lyr_std/warp.cpp,
+	synfig-core/src/modules/lyr_std/xorpattern.cpp,
+	synfig-core/src/modules/lyr_std/zoom.cpp,
+	synfig-core/src/modules/mod_example/filledrect.cpp,
+	synfig-core/src/modules/mod_example/metaballs.cpp,
+	synfig-core/src/modules/mod_example/simplecircle.cpp,
 	synfig-core/src/modules/mod_filter/blur.cpp,
+	synfig-core/src/modules/mod_filter/colorcorrect.cpp,
+	synfig-core/src/modules/mod_filter/halftone2.cpp,
+	synfig-core/src/modules/mod_filter/halftone3.cpp,
+	synfig-core/src/modules/mod_filter/lumakey.cpp,
+	synfig-core/src/modules/mod_filter/radialblur.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
 	synfig-core/src/modules/mod_geometry/checkerboard.cpp,
 	synfig-core/src/modules/mod_geometry/circle.cpp,
 	synfig-core/src/modules/mod_geometry/outline.cpp,
-	synfig-core/src/modules/mod_geometry/region.cpp,
+	synfig-core/src/modules/mod_geometry/rectangle.cpp,
+	synfig-core/src/modules/mod_geometry/star.cpp,
 	synfig-core/src/modules/mod_gradient/conicalgradient.cpp,
+	synfig-core/src/modules/mod_gradient/curvegradient.cpp,
 	synfig-core/src/modules/mod_gradient/lineargradient.cpp,
 	synfig-core/src/modules/mod_gradient/radialgradient.cpp,
+	synfig-core/src/modules/mod_gradient/spiralgradient.cpp,
+	synfig-core/src/modules/mod_noise/distort.cpp,
+	synfig-core/src/modules/mod_noise/noise.cpp,
+	synfig-core/src/modules/mod_particle/plant.cpp,
+	synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h,
+	synfig-core/src/synfig/layer_bitmap.cpp,
+	synfig-core/src/synfig/layer_composite.cpp,
+	synfig-core/src/synfig/layer_motionblur.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.cpp,
 	synfig-core/src/synfig/layer_polygon.cpp,
-	synfig-core/src/synfig/layer_solidcolor.cpp: Some layers now renders
-	using the correct blend method.
+	synfig-core/src/synfig/layer_solidcolor.cpp: Remove fill static
+	member since it won't be used
 
-2012-11-01  Carlos Lopez <genetita at gmail.com>
+2013-05-26  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer.cpp: Layer: fix wrong get_cairocolor
-	function
+	* synfig-core/src/modules/mod_geometry/circle.cpp,
+	synfig-core/src/modules/mod_geometry/circle.h,
+	synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h: 
+	Remove get interpolation and related macros since it can be replaced
+	by get_param().get_interpolation()
 
-2012-11-01  Carlos Lopez <genetita at gmail.com>
+2013-05-26  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/color.h: CairoColor: Fix YUV related
-	functions to scale properly by the color range.
+	* synfig-core/src/modules/mod_geometry/circle.cpp,
+	synfig-core/src/modules/mod_geometry/circle.h: Circle: add members
+	to set / get parameter interpolation and add a call to set
+	interpolation defaults at constructor. Set default interpolation for
+	radius as CONSTANT as example. To be redefined later.
 
-2012-11-01  Carlos Lopez <genetita at gmail.com>
+2013-05-26  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_composite.cpp: Layer_Composite: tell
-	the surface layer (Layer_Bitmap) that it must use CAIRO method for
-	render. It might be needed when calculate width and height when
-	trimmed.
+	* synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h: 
+	Layer: Add functions to set and get param interpolation and to set
+	interpolation defaults. As example I set default interpolation for
+	z_depth to be CONSTANT. To be fixed later.
 
-2012-11-01  Carlos Lopez <genetita at gmail.com>
+2013-05-26  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_bitmap.cpp: Layer_Bitmap:: fix bug
-	that calculates wrongly the surface positions to read the pixel
-	colors. Restore demultiply and filter returned color. This commit
-	fixes Twirl layer render in Cairo
+	* synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h: 
+	Turn z_depth into a ValueBase type
 
-2012-10-23  Carlos Lopez <genetita at gmail.com>
+2013-05-26  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/render.cpp: render: use of get_cairocolor
-	again
+	* synfig-core/src/synfig/layer.h: Add macros to import and export
+	interpolation and to export static
 
-2012-10-23  Carlos Lopez <genetita at gmail.com>
+2013-05-26  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/lyr_std/twirl.cpp,
-	synfig-core/src/modules/lyr_std/twirl.h: Twirl: Add get_cairocolor
-	function
+	* synfig-core/src/synfig/paramdesc.cpp,
+	synfig-core/src/synfig/paramdesc.h: Add interpolation and static
+	properties to Param Desc and its corresponding interfaces.
 
-2012-10-23  Carlos Lopez <genetita at gmail.com>
+2013-05-25  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_bitmap.cpp,
-	synfig-core/src/synfig/layer_bitmap.h: Layer_Bitmap: now it uses a
-	CairoSurface instead of a cairo_surface_t*
+	* synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/savecanvas.cpp: Add code to save and load
+	interpolation attribute for animated value nodes.
 
-2012-10-23  Carlos Lopez <genetita at gmail.com>
+2013-05-25  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/surface.cpp,
-	synfig-core/src/synfig/surface.h: CairoSurface: Now
-	get_cairo_surface would return NULL in case cs_ is null instead of
-	assert(0). Added get_cairo_image_surface to obtain the mapped image
-	surface and added is_mapped that returns true when cs_image_ is not
-	NULL. Modify unmap_cairo_image to restore cs_image_ to NULL once
-	unmapped.
+	* synfig-core/src/synfig/valuenode.h,
+	synfig-core/src/synfig/valuenode_animated.cpp,
+	synfig-core/src/synfig/valuenode_animated.h,
+	synfig-core/src/synfig/valuenode_const.h: Move the get/set members
+	for interpolation property to Value Node class. Add custom interface
+	for derived classes that can implement it.
 
-2012-10-22  Diego Barrios Romero <eldruin at eldruin.com>
+2013-05-24  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/main.cpp,
-	synfig-core/src/tool/optionsprocessor.cpp: Options descriptions
-	semantically and syntaxically corrected
+	* synfig-core/src/modules/mod_geometry/circle.cpp: Allow Cairo
+	render to use Value Base as parameter on Circle Layer
 
-2012-10-22  Diego Barrios Romero <eldruin at eldruin.com>
+2013-04-03  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/src/tool/optionsprocessor.cpp: Video bitrate parameter
-	check corrected
+	* synfig-core/src/synfig/valuenode_const.h: Add new action -
+	ValueDescSetInterpolation.  At the moment works for non-animated layer parameters only.
 
-2012-10-20  Diego Barrios Romero <eldruin at eldruin.com>
+2013-03-27  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/src/tool/joblistprocessor.h,
-	synfig-core/src/tool/optionsprocessor.cpp,
-	synfig-core/src/tool/optionsprocessor.h: Documentation
+	* synfig-core/src/synfig/valuenode_const.cpp,
+	synfig-core/src/synfig/valuenode_const.h: Display the assigned
+	interpolation in the parameter type column (for non-animated items
+	only)
 
-2012-10-20  Diego Barrios Romero <eldruin at eldruin.com>
+2013-03-24  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/src/tool/Makefile.am,
-	synfig-core/src/tool/joblistprocessor.cpp,
-	synfig-core/src/tool/joblistprocessor.h,
-	synfig-core/src/tool/main.cpp,
-	synfig-core/src/tool/optionsprocessor.cpp: Job setup and job list
-	processing separated
+	* synfig-core/src/synfig/value.h: Describe
+	ValueBase::copy_properties_of()
 
-2012-10-20  Diego Barrios Romero <eldruin at eldruin.com>
+2013-03-24  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/src/tool/main.cpp,
-	synfig-core/src/tool/optionsprocessor.cpp,
-	synfig-core/src/tool/optionsprocessor.h: Debug functions moved to
-	Options Processor
+	* synfig-core/src/synfig/value.cpp, synfig-core/src/synfig/value.h: 
+	Reorganize code. Now interpolation option isn't lost when parameter
+	is changed.
 
-2012-10-20  Diego Barrios Romero <eldruin at eldruin.com>
+2013-03-24  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/src/tool/optionsprocessor.cpp: Check presence of video
-	codec and bitrate parameters
+	* synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/loadcanvas.h,
+	synfig-core/src/synfig/savecanvas.cpp,
+	synfig-core/src/synfig/value.cpp, synfig-core/src/synfig/value.h: 
+	Add interpolation option for ValueBase. Implement loading and saving
+	for it.
 
-2012-10-20  Diego Barrios Romero <eldruin at eldruin.com>
+2013-03-23  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/src/tool/main.cpp,
-	synfig-core/src/tool/optionsprocessor.cpp,
-	synfig-core/src/tool/optionsprocessor.h: Extract RendDesc and
-	TargetParam moved to Options Processor
+	* synfig-core/src/synfig/savecanvas.cpp: Reorganize save routines
+	for static option
 
-2012-10-20  Diego Barrios Romero <eldruin at eldruin.com>
+2013-03-23  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/src/tool/definitions.h, synfig-core/src/tool/job.h,
-	synfig-core/src/tool/main.cpp,
-	synfig-core/src/tool/optionsprocessor.cpp,
-	synfig-core/src/tool/optionsprocessor.h: Extract job function in
-	Options Processor
+	* synfig-core/src/modules/mod_geometry/star.cpp,
+	synfig-core/src/modules/mod_geometry/star.h,
+	synfig-core/src/synfig/layer.h: Store "angle" parameter of Star
+	layer as ValueBase.
 
-2012-10-19  Diego Barrios Romero <eldruin at eldruin.com>
+2013-03-23  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/src/tool/definitions.h,
-	synfig-core/src/tool/main.cpp,
-	synfig-core/src/tool/optionsprocessor.cpp,
-	synfig-core/src/tool/optionsprocessor.h: Threads option moved to
-	settings options
+	* synfig-core/src/synfig/layer.h: A few TODO notes
 
-2012-10-19  Diego Barrios Romero <eldruin at eldruin.com>
+2013-03-23  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/src/tool/Makefile.am, synfig-core/src/tool/main.cpp,
-	synfig-core/src/tool/optionsprocessor.cpp,
-	synfig-core/src/tool/optionsprocessor.h,
-	synfig-core/src/tool/synfigtoolexception.h: Using exceptions for
-	exit conditions
+	* synfig-core/src/modules/mod_geometry/circle.cpp,
+	synfig-core/src/modules/mod_geometry/circle.h,
+	synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h: 
+	Store "radius" parameter of Circle layer as ValueBase.
 
-2012-10-19  Diego Barrios Romero <eldruin at eldruin.com>
+2013-08-12  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/tool/main.cpp,
-	synfig-core/src/tool/optionsprocessor.cpp: More info options moved
-	to Options Processor class
+	* synfig-core/src/tool/optionsprocessor.cpp: Remove references to
+	contextParams from OptionsProcessor
 
-2012-10-19  Diego Barrios Romero <eldruin at eldruin.com>
+2013-08-12  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/tool/Makefile.am, synfig-core/src/tool/main.cpp,
-	synfig-core/src/tool/optionsprocessor.cpp,
-	synfig-core/src/tool/optionsprocessor.h: Options Processor class
-	created This is part of the reorganization of the tool. This class will
-	process the options given in the command line
+	* synfig-core/src/synfig/layer.cpp: Fix bug with
+	exclude_from_rendering flag.  Initialize it in Layer::Layer().
 
-2012-10-14  Carlos Lopez <genetita at gmail.com>
+2013-08-12  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/synfig/surface.cpp: Cairo Surface: fix wrong flush
-	and mark dirty commands
+	* synfig-core/src/synfig/canvas.h, synfig-core/src/synfig/context.h: 
+	Documentation for new Context functions
 
-2012-10-14  Carlos Lopez <genetita at gmail.com>
+2013-08-12  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/synfig/cairo_operators.cpp: Cairo operators: Add
-	support for blend modes not supported by Cairo. Add support for
-	MULTIPLY, HUE, SATURATION, LUMINANCE, SCREEN and HARD_LIGHT. The
-	transparency is not correctly handled in those cases and could need
-	further operations.
+	* synfig-core/src/synfig/timepointcollect.cpp: Revert "Replace
+	Canvas::const_iterator with IndependentContext in synfig-core
+	(timepointcollect.cpp)" This reverts commit 7a5d158a499d885801d2cd61aa515afdc937e90a.
 
-2012-10-13  Carlos Lopez <genetita at gmail.com>
+2013-08-11  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/synfig/cairo_operators.cpp: Cairo operators: add
-	code for DARKEN blend method. The result is not exactly the same and
-	could be fixed later doing pixel operations.
+	* synfig-core/src/synfig/timepointcollect.cpp: Replace
+	Canvas::const_iterator with IndependentContext in synfig-core (timepointcollect.cpp)
 
-2012-10-12  Carlos Lopez <genetita at gmail.com>
+2013-08-11  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/synfig/cairo_operators.cpp: Cairo operators: Add
-	support for STRAIGHT_ONTO
+	* synfig-core/src/synfig/canvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.cpp: Use IndependentContext
+	instead of Canvas::const_iterator if synfig-core
 
-2012-10-12  Carlos Lopez <genetita at gmail.com>
+2013-08-11  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/modules/mod_geometry/rectangle.cpp,
-	synfig-core/src/synfig/cairo_operators.cpp,
-	synfig-core/src/synfig/cairo_operators.h: Cairo operators: add code
-	for Brighten blend method. The result is not exactly the same and
-	could be fixed later doing pixel operations.
+	* synfig-core/src/modules/mod_geometry/rectangle.cpp: Revert "Exlude
+	Rectangle from rendering for tests" This reverts commit 2bdb43cf43ea328e58f09c7916f081a1e1703c39.
 
-2012-10-05  Carlos Lopez <genetita at gmail.com>
+2013-08-10  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/modules/mod_gradient/lineargradient.cpp,
-	synfig-core/src/modules/mod_gradient/radialgradient.cpp: Add missing
-	returns for non void functions.
+	* synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/savecanvas.cpp: Save/load
+	"exclude_from_rendering"-flag
 
-2012-10-03  Carlos Lopez <genetita at gmail.com>
+2013-08-10  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/synfig/cairo_operators.cpp: Cairo operators:
-	simplify the Straight method
+	* synfig-core/src/synfig/layer.cpp: Copy
+	"exclude_from_rendering"-flag in Layer::clone() and
+	Layer::simple_clone()
 
-2012-10-02  Carlos Lopez <genetita at gmail.com>
+2013-08-10  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/modules/mod_geometry/rectangle.cpp,
-	synfig-core/src/synfig/cairo_operators.cpp,
-	synfig-core/src/synfig/cairo_operators.h,
-	synfig-core/src/synfig/layer_composite.h,
-	synfig-core/src/synfig/layer_pastecanvas.cpp: Cairo operators: fix
-	the STRAIGHT method. Add support for Paste Canvas and rectangle to
-	use cairo_operators functions
+	* synfig-core/src/tool/optionsprocessor.cpp: synfig-core works. fix
+	optionsprocessor
 
-2012-09-30  Carlos Lopez <genetita at gmail.com>
+2013-08-10  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/synfig/Makefile.am,
-	synfig-core/src/synfig/cairo_operators.cpp,
-	synfig-core/src/synfig/cairo_operators.h: Cairo operators: initial
-	version of convenient functions to make painting operations in Cairo
-	emulating Synfig's blending methods. Straight doesn't work yet.
+	* synfig-core/src/modules/lyr_std/import.cpp,
+	synfig-core/src/modules/lyr_std/import.h,
+	synfig-core/src/modules/lyr_std/stroboscope.cpp,
+	synfig-core/src/modules/lyr_std/stroboscope.h,
+	synfig-core/src/modules/lyr_std/timeloop.cpp,
+	synfig-core/src/modules/lyr_std/timeloop.h,
+	synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h,
+	synfig-core/src/modules/mod_geometry/outline.cpp,
+	synfig-core/src/modules/mod_geometry/outline.h,
+	synfig-core/src/modules/mod_geometry/region.cpp,
+	synfig-core/src/modules/mod_geometry/region.h,
+	synfig-core/src/modules/mod_noise/distort.cpp,
+	synfig-core/src/modules/mod_noise/distort.h,
+	synfig-core/src/modules/mod_noise/noise.cpp,
+	synfig-core/src/modules/mod_noise/noise.h,
+	synfig-core/src/modules/mod_particle/plant.cpp: fix modules
 
-2012-09-29  Carlos Lopez <genetita at gmail.com>
+2013-08-10  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/modules/mod_filter/lumakey.cpp,
-	synfig-core/src/modules/mod_filter/lumakey.h: LumaKey: Add support
-	for Cairo render
+	* synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h,
+	synfig-core/src/synfig/layer_duplicate.cpp,
+	synfig-core/src/synfig/layer_duplicate.h,
+	synfig-core/src/synfig/layer_motionblur.cpp,
+	synfig-core/src/synfig/layer_motionblur.h,
+	synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h: fix synfig/layer_*
 
-2012-09-28  Carlos Lopez <genetita at gmail.com>
+2013-08-10  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/modules/lyr_std/stroboscope.cpp,
-	synfig-core/src/modules/lyr_std/stroboscope.h: Stroboscope layer:
-	Add support for Cairo render
+	* synfig-core/src/synfig/target_cairo.cpp,
+	synfig-core/src/synfig/target_cairo_tile.cpp,
+	synfig-core/src/synfig/target_scanline.cpp,
+	synfig-core/src/synfig/target_tile.cpp: Fix renderer targets
 
-2012-09-28  Carlos Lopez <genetita at gmail.com>
+2013-08-10  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/modules/lyr_std/bevel.cpp,
-	synfig-core/src/modules/lyr_std/bevel.h: Bevel layer: Add support
-	for Cairo render
+	* synfig-core/src/synfig/canvas.cpp,
+	synfig-core/src/synfig/canvas.h,
+	synfig-core/src/synfig/context.cpp,
+	synfig-core/src/synfig/context.h: Added class IndependentContext
+	with methods set_time and set_dirty_outline. These methods applies
+	for any layers independent from "active"-flag.  New class hierarhy: CanvasBase::const_iterator     | IdependentContext     | Context code broken. need to fix usage of set_time in some other classes
 
-2012-09-28  Carlos Lopez <genetita at gmail.com>
+2013-08-10  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/modules/lyr_std/shade.cpp,
-	synfig-core/src/modules/lyr_std/shade.h: Shade layer: Add support
-	for Cairo render
+	* synfig-core/src/synfig/canvas.cpp,
+	synfig-core/src/synfig/context.cpp,
+	synfig-core/src/synfig/context.h,
+	synfig-core/src/tool/optionsprocessor.cpp: Changed method of layer
+	activity check while rendering.  Rectangles become invisible in
+	preview
 
-2012-09-25  Carlos Lopez <genetita at gmail.com>
+2013-08-09  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/modules/mod_filter/halftone3.cpp,
-	synfig-core/src/modules/mod_filter/halftone3.h: Halftone3: Add
-	support for Cairo render
+	* synfig-core/src/modules/mod_geometry/rectangle.cpp: Exlude
+	Rectangle from rendering for tests
 
-2012-09-25  Carlos Lopez <genetita at gmail.com>
+2013-08-09  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/modules/mod_filter/halftone2.cpp: Halftone2: tidy
-	up
+	* synfig-core/src/tool/optionsprocessor.cpp: synfig-core now works
+	fixed OptionsProcessor
 
-2012-09-25  Carlos Lopez <genetita at gmail.com>
+2013-08-09  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/modules/mod_filter/halftone3.h: Halftone3: add
-	std, etl and synfig namespaces.
+	* synfig-core/src/modules/lyr_std/supersample.cpp: Fix SuperSample
+	(modules/lyr_std)
 
-2012-09-25  Carlos Lopez <genetita at gmail.com>
+2013-08-09  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/modules/mod_filter/halftone2.cpp,
-	synfig-core/src/modules/mod_filter/halftone2.h: Halftone2: add
-	support for Cairo render
+	* synfig-core/src/synfig/layer_composite.cpp: Fix
+	synfig::Layer_Composite
 
-2012-09-23  Diego Barrios Romero <eldruin at eldruin.com>
+2013-08-09  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/configure.ac, synfig-core/m4/ax_boost_base.m4,
-	synfig-core/m4/ax_boost_program_options.m4,
-	synfig-core/src/tool/Makefile.am: Boost::PO library standard
-	compiling scripts
+	* synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h: Fix Layer_PasteCanvas.  Layer_PasteCanvas::get_bounding_rect() requires ContextParams to
+	calculate size of content.  So get_bounding_rect() - now always returns empty rectangle but get_full_bounding_rect() - works fine, because this function
+	knows about Context.  also for Layer_PasteCanvas implemented additional method
+	get_bounding_rect_context_dependent() which also work fine, because
+	requires context_params get_bounding_rect() method uses in duckMatick::add_ducks_layers()
+	only, so this method should be improved to calculate valid size of
+	Layer_PasteCanvas
 
-2012-09-21  Diego Barrios Romero <eldruin at eldruin.com>
+2013-08-09  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/tool/main.cpp: Sequence separator with spaces is
-	also supported
+	* synfig-core/src/synfig/target_cairo.cpp,
+	synfig-core/src/synfig/target_cairo_tile.cpp,
+	synfig-core/src/synfig/target_scanline.cpp,
+	synfig-core/src/synfig/target_tile.cpp: Fix tergets - Target_Cairo,
+	Target_Cairo_Tile, Target_Scanline, Target_Tile
 
-2012-09-21  Diego Barrios Romero <eldruin at eldruin.com>
+2013-08-09  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/tool/main.cpp: Sequence separator option support
+	* synfig-core/src/synfig/layer.cpp: Fix synfig::Layer implementation
+	to work with new Context
 
-2012-09-21  Diego Barrios Romero <eldruin at eldruin.com>
+2013-08-09  Ivan Mahonin <bh at icystar.com>
 
-	* : commit 848b46c080dad4516d8fb0f8355cce0e465ed18a Author: Diego
-	Barrios Romero <eldruin at eldruin.com> Date:   Fri Sep 21 16:46:54
-	2012 +0200
+	* synfig-core/src/synfig/canvas.cpp,
+	synfig-core/src/synfig/canvas.h: Modify Canvas class to work with
+	new Context.  Some common functions declarations affected, so code
+	becomes more broken.
 
-2012-09-19  Carlos Lopez <genetita at gmail.com>
+2013-08-09  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/modules/mod_filter/halftone2.h: Halftone2: add
-	std, etl and synfig namespaces.
+	* synfig-core/src/synfig/context.cpp,
+	synfig-core/src/synfig/context.h: Modification of Context to provide
+	via this class some information about current rendering settings
+	into layers which should be rendered.  So we can exclude some layers from final rendering, but keep it on
+	screen in editor.  Code broken. Compiler errors in dependent classes.
 
-2012-09-18  Carlos Lopez <genetita at gmail.com>
+2013-08-09  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/synfig/color.h: CairoColorAccumulator: clamp the
-	result when converting to CairoColor
+	* synfig-core/src/synfig/renddesc.cpp: Typo
 
-2012-09-18  Carlos Lopez <genetita at gmail.com>
+2013-08-08  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/synfig/blur.cpp: Blur: Use Accumulator Type where
-	applicable. It allows to render gaussian blurs in Cairo render but
-	it gets slightly washed out for larger size values.
+	* synfig-core/src/synfig/renddesc.cpp,
+	synfig-core/src/synfig/renddesc.h: Add "render_excluded_contexts"
+	into RenderDesc
 
-2012-09-18  Carlos Lopez <genetita at gmail.com>
+2013-08-08  Ivan Mahonin <bh at icystar.com>
 
-	* synfig-core/src/synfig/blur.cpp: Blur: Rename Guassian to
-	Guassian.
+	* synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h: 
+	"exclude_from_rendering" flag added into synfig::Layer class
 
-2012-09-18  Carlos Lopez <genetita at gmail.com>
+2013-08-03  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/src/synfig/blur.cpp: Blur: use ColorAccumulator and
-	CairoColorAccumulator pointers for the values passed to
-	gauss_blur_5x5_. Also fix a three repetitive useless sentence.
+	* synfig-core/m4/ax_boost_base.m4: Update Autoconf Boost detection
+	scripts to the latest version
 
-2012-09-16  Carlos Lopez <genetita at gmail.com>
+2013-08-05  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_filter/blur.cpp,
-	synfig-core/src/modules/mod_filter/blur.h: Blur_Layer: add support
-	for Cairo render. Gaussian blur doesn't work yet. Some changes are
-	needed in etl::gaussian
+	* synfig-core/src/modules/lyr_std/bevel.cpp: Fix bug on Bevel layer.
 
-2012-09-16  Carlos Lopez <genetita at gmail.com>
+2013-08-02  Carlos López <genetita at gmail.com>
 
-	* synfig-core/src/synfig/blur.cpp, synfig-core/src/synfig/blur.h: 
-	Blur: Add support to blur Cairo surfaces
+	* : Merge pull request #22 from morevnaproject/0.64.0-win Fixes for Windows version of 0.64.0
 
-2012-09-16  Carlos Lopez <genetita at gmail.com>
+2013-07-27  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/surface.cpp,
-	synfig-core/src/synfig/surface.h: CairoSurface: use
-	CairoColorAccumulator instead of CairoColor to avoid overflow when
-	accumulating
+	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp,
+	synfig-core/src/modules/lyr_freetype/lyr_freetype.h,
+	synfig-core/src/modules/lyr_std/bevel.cpp,
+	synfig-core/src/modules/lyr_std/bevel.h,
+	synfig-core/src/modules/lyr_std/curvewarp.cpp,
+	synfig-core/src/modules/lyr_std/curvewarp.h,
+	synfig-core/src/modules/lyr_std/rotate.cpp,
+	synfig-core/src/modules/lyr_std/rotate.h,
+	synfig-core/src/modules/lyr_std/shade.cpp,
+	synfig-core/src/modules/lyr_std/shade.h,
+	synfig-core/src/modules/lyr_std/sphere_distort.cpp,
+	synfig-core/src/modules/lyr_std/sphere_distort.h,
+	synfig-core/src/modules/lyr_std/stretch.cpp,
+	synfig-core/src/modules/lyr_std/stretch.h,
+	synfig-core/src/modules/lyr_std/stroboscope.cpp,
+	synfig-core/src/modules/lyr_std/stroboscope.h,
+	synfig-core/src/modules/lyr_std/supersample.cpp,
+	synfig-core/src/modules/lyr_std/supersample.h,
+	synfig-core/src/modules/lyr_std/timeloop.cpp,
+	synfig-core/src/modules/lyr_std/timeloop.h,
+	synfig-core/src/modules/lyr_std/translate.cpp,
+	synfig-core/src/modules/lyr_std/translate.h,
+	synfig-core/src/modules/lyr_std/warp.cpp,
+	synfig-core/src/modules/lyr_std/warp.h,
+	synfig-core/src/modules/lyr_std/zoom.cpp,
+	synfig-core/src/modules/lyr_std/zoom.h,
+	synfig-core/src/modules/mod_example/filledrect.cpp,
+	synfig-core/src/modules/mod_example/filledrect.h,
+	synfig-core/src/modules/mod_example/simplecircle.cpp,
+	synfig-core/src/modules/mod_example/simplecircle.h,
+	synfig-core/src/modules/mod_filter/blur.cpp,
+	synfig-core/src/modules/mod_filter/blur.h,
+	synfig-core/src/modules/mod_filter/colorcorrect.cpp,
+	synfig-core/src/modules/mod_filter/colorcorrect.h,
+	synfig-core/src/modules/mod_filter/halftone2.cpp,
+	synfig-core/src/modules/mod_filter/halftone2.h,
+	synfig-core/src/modules/mod_filter/halftone3.cpp,
+	synfig-core/src/modules/mod_filter/halftone3.h,
+	synfig-core/src/modules/mod_filter/lumakey.cpp,
+	synfig-core/src/modules/mod_filter/lumakey.h,
+	synfig-core/src/modules/mod_filter/radialblur.cpp,
+	synfig-core/src/modules/mod_filter/radialblur.h,
+	synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h,
+	synfig-core/src/modules/mod_geometry/checkerboard.cpp,
+	synfig-core/src/modules/mod_geometry/checkerboard.h,
+	synfig-core/src/modules/mod_geometry/circle.cpp,
+	synfig-core/src/modules/mod_geometry/circle.h,
+	synfig-core/src/modules/mod_geometry/outline.cpp,
+	synfig-core/src/modules/mod_geometry/outline.h,
+	synfig-core/src/modules/mod_geometry/rectangle.cpp,
+	synfig-core/src/modules/mod_geometry/rectangle.h,
+	synfig-core/src/modules/mod_geometry/region.cpp,
+	synfig-core/src/modules/mod_geometry/region.h,
+	synfig-core/src/modules/mod_geometry/star.cpp,
+	synfig-core/src/modules/mod_geometry/star.h,
+	synfig-core/src/modules/mod_gradient/conicalgradient.cpp,
+	synfig-core/src/modules/mod_gradient/conicalgradient.h,
+	synfig-core/src/modules/mod_gradient/curvegradient.cpp,
+	synfig-core/src/modules/mod_gradient/curvegradient.h,
+	synfig-core/src/modules/mod_gradient/lineargradient.cpp,
+	synfig-core/src/modules/mod_gradient/lineargradient.h,
+	synfig-core/src/modules/mod_gradient/radialgradient.cpp,
+	synfig-core/src/modules/mod_gradient/radialgradient.h,
+	synfig-core/src/modules/mod_gradient/spiralgradient.cpp,
+	synfig-core/src/modules/mod_gradient/spiralgradient.h,
+	synfig-core/src/modules/mod_particle/plant.cpp,
+	synfig-core/src/modules/mod_particle/plant.h,
+	synfig-core/src/synfig/context.cpp,
+	synfig-core/src/synfig/context.h, synfig-core/src/synfig/layer.cpp,
+	synfig-core/src/synfig/layer.h,
+	synfig-core/src/synfig/layer_bitmap.cpp,
+	synfig-core/src/synfig/layer_bitmap.h,
+	synfig-core/src/synfig/layer_composite.cpp,
+	synfig-core/src/synfig/layer_composite.h,
+	synfig-core/src/synfig/layer_duplicate.cpp,
+	synfig-core/src/synfig/layer_duplicate.h,
+	synfig-core/src/synfig/layer_motionblur.cpp,
+	synfig-core/src/synfig/layer_motionblur.h,
+	synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h,
+	synfig-core/src/synfig/layer_polygon.cpp,
+	synfig-core/src/synfig/layer_polygon.h,
+	synfig-core/src/synfig/layer_solidcolor.cpp,
+	synfig-core/src/synfig/layer_solidcolor.h: Remove old Cairo render
+	method that has been replaced.
 
-2012-09-16  Carlos Lopez <genetita at gmail.com>
+2013-05-31  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/color.h: New class CairoColorAccumulator
+	* synfig-core/src/modules/lyr_freetype/Makefile.am,
+	synfig-core/src/modules/lyr_std/Makefile.am,
+	synfig-core/src/modules/mod_bmp/Makefile.am,
+	synfig-core/src/modules/mod_dv/Makefile.am,
+	synfig-core/src/modules/mod_example/Makefile.am,
+	synfig-core/src/modules/mod_ffmpeg/Makefile.am,
+	synfig-core/src/modules/mod_filter/Makefile.am,
+	synfig-core/src/modules/mod_geometry/Makefile.am,
+	synfig-core/src/modules/mod_gif/Makefile.am,
+	synfig-core/src/modules/mod_gradient/Makefile.am,
+	synfig-core/src/modules/mod_imagemagick/Makefile.am,
+	synfig-core/src/modules/mod_jpeg/Makefile.am,
+	synfig-core/src/modules/mod_libavcodec/Makefile.am,
+	synfig-core/src/modules/mod_magickpp/Makefile.am,
+	synfig-core/src/modules/mod_mng/Makefile.am,
+	synfig-core/src/modules/mod_noise/Makefile.am,
+	synfig-core/src/modules/mod_openexr/Makefile.am,
+	synfig-core/src/modules/mod_particle/Makefile.am,
+	synfig-core/src/modules/mod_png/Makefile.am,
+	synfig-core/src/modules/mod_ppm/Makefile.am,
+	synfig-core/src/modules/mod_svg/Makefile.am,
+	synfig-core/src/modules/mod_yuv420p/Makefile.am,
+	synfig-core/src/modules/mptr_mplayer/Makefile.am,
+	synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/tool/Makefile.am: Replace INCLUDES by AM_CPPFLAGS,
+	since it is deprecated.
 
-2012-09-09  Carlos Lopez <genetita at gmail.com>
+2013-05-30  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/lyr_std/supersample.cpp: Supersample: add
-	support for filter and antialiasing
+	* synfig-core/src/synfig/color.cpp,
+	synfig-core/src/synfig/render.cpp,
+	synfig-core/src/synfig/valuenode_integer.cpp,
+	synfig-core/src/synfig/valuenode_real.cpp: Remove unused variables.
 
-2012-09-06  Carlos Lopez <genetita at gmail.com>
+2013-07-26  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/lyr_std/supersample.cpp,
-	synfig-core/src/modules/lyr_std/supersample.h: SuperSample layer:
-	add support for Cairo render
+	* synfig-core/src/modules/mod_gradient/conicalgradient.cpp: Fix
+	missing displacement in Cairo render for ConicalGradient
 
-2012-09-06  Carlos Lopez <genetita at gmail.com>
+2013-07-26  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/lyr_std/timeloop.cpp,
-	synfig-core/src/modules/lyr_std/timeloop.h: Time Loop layer: add
-	support for Cairo render.
+	* synfig-core/src/synfig/cairo_operators.cpp: Revert Cairo Overlay
+	blend method to its old definition.
 
-2012-09-06  Carlos Lopez <genetita at gmail.com>
+2013-07-26  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/lyr_std/curvewarp.cpp,
-	synfig-core/src/modules/lyr_std/curvewarp.h: CurveWarp Layer: add
-	support for Cairo render. It is a bit slower than the software and
-	for subsampled types there is banding around. Possibly it is due to
-	CairoColor resolution limitation
+	* synfig-core/src/modules/mod_gradient/curvegradient.cpp,
+	synfig-core/src/modules/mod_gradient/curvegradient.h: CurveGradient:
+	add support for Cairo render using cairo_t*.
 
-2012-09-06  Carlos Lopez <genetita at gmail.com>
+2013-07-26  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/render.cpp: Synfig::render: don't rely on
-	get_cairocolor since it will be always slower than using get_color
-	and convert to CairoColor later.
+	* synfig-core/src/modules/mod_gradient/spiralgradient.cpp: Fix
+	SpiralGradient Cairo render using cairo_t*
 
-2012-09-06  Carlos Lopez <genetita at gmail.com>
+2013-07-26  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp: 
-	Layer_Freetype: small optimization
+	* synfig-core/src/modules/mod_gradient/conicalgradient.cpp,
+	synfig-core/src/modules/mod_gradient/conicalgradient.h: 
+	ConicalGradient: add support for Cairo render using cairo_t*.
 
-2012-09-03  Carlos Lopez <genetita at gmail.com>
+2013-07-26  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp: 
-	Layer_Freetype: add support for inverted text in Cairo-Pango render.
+	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp,
+	synfig-core/src/synfig/layer_bitmap.cpp,
+	synfig-core/src/synfig/layer_duplicate.cpp,
+	synfig-core/src/synfig/layer_solidcolor.cpp: Fix some missing
+	cairo_save and cairo_restore on some layers
 
-2012-09-01  Carlos Lopez <genetita at gmail.com>
+2013-07-26  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp: 
-	Layer_Freetype: recalculate layout extents after apply the spacing
+	* synfig-core/src/synfig/layer_shape.cpp: Fix Layer_Shape: Invert
+	parameter didn't work right.
 
-2012-09-01  Carlos Lopez <genetita at gmail.com>
+2013-07-25  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp: 
-	Layer_Freetype: ignore negative sizes
+	* synfig-core/src/synfig/cairo_operators.cpp: Straight_Onto: Fall
+	back to pixel method since I don't find a suitable combination in
+	Cairo API.
 
-2012-08-31  Carlos Lopez <genetita at gmail.com>
+2013-07-25  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp: 
-	Layer_Freetype: add support for scale font  vertically
+	* synfig-core/src/synfig/cairo_operators.cpp: Fix all the blend
+	methods. Pending Straight Onto. Cairo Hue result is not the same
+	than Software.
 
-2012-08-31  Carlos Lopez <genetita at gmail.com>
+2013-07-24  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp: Layer
-	Freetype: simplify code and behavior for horizontal and vertical
-	alignment
+	* synfig-core/src/synfig/main.cpp, synfig-core/src/tool/main.cpp: 
+	Detect locale directory in the smart way
 
-2012-08-30  Carlos Lopez <genetita at gmail.com>
+2013-07-22  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp: 
-	Layer_Freetype: add two hacks to emulate line spacing and character
-	spacing.  It has some glitches when lines spacing interferes with
-	orientation.
+	* synfig-core/src/synfig/cairo_operators.cpp: Cairo operators: fix
+	some operators to properly use the cairo_t*
 
-2012-08-29  Carlos Lopez <genetita at gmail.com>
+2013-07-22  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp: 
-	Layer_Freetype: add support for the Orientation parameter, allowing
-	to align text horizontally and vertically. Add code to render on a
-	second surface to allow use proper operator.
+	* synfig-core/src/synfig/layer_pastecanvas.cpp: Layer_PasteCanvas:
+	Rework the accelerated_cairorender to not blend the canvas content
+	on the context of the Paste Canvas layer.
 
-2012-08-28  Carlos Lopez <genetita at gmail.com>
+2013-07-07  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp: 
-	Layer_Freetype: remove debug info
+	* synfig-core/src/modules/mod_particle/plant.cpp,
+	synfig-core/src/modules/mod_particle/plant.h: Plant: add support for
+	Cairo render using cairo_t*.
 
-2012-08-27  Carlos Lopez <genetita at gmail.com>
+2013-07-07  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp,
-	synfig-core/src/modules/lyr_freetype/lyr_freetype.h: Layer_Freetype:
-	initial version for Cairo render. It tries to imitate the current
-	software render. Not all the features implemented yet.
+	* synfig-core/src/modules/lyr_std/stroboscope.cpp,
+	synfig-core/src/modules/lyr_std/stroboscope.h,
+	synfig-core/src/modules/lyr_std/timeloop.cpp,
+	synfig-core/src/modules/lyr_std/timeloop.h: Layer_Stroboscope &
+	Layer_TimeLoop: add support for Cairo render using cairo_t*.
 
-2012-08-25  Carlos Lopez <genetita at gmail.com>
+2013-07-07  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/configure.ac: Add pang and pangocairo headers to
-	configure.ac
+	* synfig-core/src/modules/mod_filter/colorcorrect.cpp,
+	synfig-core/src/modules/mod_filter/colorcorrect.h: ColorCorrect: add
+	support for Cairo render using cairo_t*.
 
-2012-08-23  Carlos Lopez <genetita at gmail.com>
+2013-07-07  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/lyr_std/rotate.cpp,
-	synfig-core/src/modules/lyr_std/rotate.h: Rotate Layer: add support
-	for Cairo render
+	* synfig-core/src/modules/mod_example/simplecircle.cpp,
+	synfig-core/src/modules/mod_example/simplecircle.h: SimpleCircle:
+	add support for Cairo render using cairo_t*.
 
-2012-08-23  Carlos Lopez <genetita at gmail.com>
+2013-07-07  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/region.cpp,
-	synfig-core/src/synfig/layer_polygon.cpp: Remove debug info
+	* synfig-core/src/modules/mod_filter/radialblur.cpp,
+	synfig-core/src/modules/mod_filter/radialblur.h: RadialBlur: add
+	support for Cairo render using cairo_t*.
 
-2012-08-21  Carlos Lopez <genetita at gmail.com>
+2013-07-06  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/lyr_std/zoom.cpp,
-	synfig-core/src/modules/lyr_std/zoom.h: Zoom layer: add support for
-	Cairo render.
+	* synfig-core/src/modules/mod_gradient/spiralgradient.cpp,
+	synfig-core/src/modules/mod_gradient/spiralgradient.h: 
+	SpiralGradient: add support for Cairo render using cairo_t*.
 
-2012-08-20  Carlos Lopez <genetita at gmail.com>
+2013-07-06  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/lyr_std/translate.cpp,
-	synfig-core/src/modules/lyr_std/translate.h: Translate layer: add
-	support for Cairo render
+	* synfig-core/src/synfig/render.cpp: Fixes render to use properly
+	cairo_t*. This fixes Julia, Mandelbrot and Layer Clamp.
 
-2012-08-20  Carlos Lopez <genetita at gmail.com>
+2013-07-06  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/lyr_std/stretch.cpp,
-	synfig-core/src/modules/lyr_std/stretch.h: Stretch layer: add
-	support for Cairo render.
+	* synfig-core/src/modules/lyr_std/insideout.cpp,
+	synfig-core/src/modules/lyr_std/insideout.h: InsideOut: Define
+	get_cairocolor needed to properly render using cairo_t*
 
-2012-08-19  Carlos Lopez <genetita at gmail.com>
+2013-07-06  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_gradient/conicalgradient.cpp: 
-	ConicalGradient: remove debug information.
+	* synfig-core/src/synfig/layer_composite.cpp: Layer_Composite: Fix
+	accelerated_cairorender to use cairo_t* properly. This fixes Inside
+	Out, Noise, Noise Distort and Twirl.
 
-2012-08-19  Carlos Lopez <genetita at gmail.com>
+2013-07-02  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_gradient/conicalgradient.cpp: 
-	ConicalGradient: increase radius a 20%. Sometimes the bezier curve
-	isn't a real circle and it intersects the canvas corner.
+	* synfig-core/src/modules/mod_filter/lumakey.cpp,
+	synfig-core/src/modules/mod_filter/lumakey.h: LumaKey: add support
+	for Cairo render using cairo_t*.
 
-2012-08-19  Carlos Lopez <genetita at gmail.com>
+2013-07-02  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_gradient/conicalgradient.cpp: 
-	ConicalGradient: try to anti aliasing when two color stops lies on
-	the same position. Doesn't seem to work.
+	* synfig-core/src/modules/mod_filter/halftone3.cpp,
+	synfig-core/src/modules/mod_filter/halftone3.h: Halftone3: add
+	support for Cairo render using cairo_t*.
 
-2012-08-19  Carlos Lopez <genetita at gmail.com>
+2013-07-02  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_gradient/conicalgradient.cpp: 
-	ConicalGracient: sort gradient between insertion of extra Color
-	stops at start and end of the gradient
+	* synfig-core/src/modules/mod_filter/halftone2.cpp,
+	synfig-core/src/modules/mod_filter/halftone2.h: Halftone2: add
+	support for Cairo render using cairo_t*.
 
-2012-08-19  Carlos Lopez <genetita at gmail.com>
+2013-07-02  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_gradient/conicalgradient.cpp: Conical
-	Gradient: skip patches that has a zero length arc to avoid
-	degeneration of the gradient
+	* synfig-core/src/modules/mod_example/filledrect.cpp,
+	synfig-core/src/modules/mod_example/filledrect.h: FilledRect: add
+	support for Cairo render using cairo_t*.
 
-2012-08-18  Carlos Lopez <genetita at gmail.com>
+2013-07-02  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_gradient/conicalgradient.cpp,
-	synfig-core/src/modules/mod_gradient/conicalgradient.h: 
-	ConicalGradient: add support for conical gradients. Symmetric still
-	having bugs.
+	* synfig-core/src/modules/mod_geometry/outline.cpp,
+	synfig-core/src/synfig/layer_polygon.cpp: Remove unneeded headers
 
-2012-08-15  Carlos Lopez <genetita at gmail.com>
+2013-07-02  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_gradient/radialgradient.cpp,
-	synfig-core/src/modules/mod_gradient/radialgradient.h: 
-	RadialGradient: add support for Cairo render.
+	* synfig-core/src/synfig/layer_skeleton.cpp,
+	synfig-core/src/synfig/layer_skeleton.h: Layer_Skeleton: add support
+	for Cairo render using cairo_t*.
 
-2012-08-15  Carlos Lopez <genetita at gmail.com>
+2013-07-02  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_gradient/lineargradient.cpp: Linear
-	Gradient: fix loop and zigzag options in Cairo render.
+	* synfig-core/src/modules/mod_geometry/outline.cpp,
+	synfig-core/src/modules/mod_geometry/outline.h,
+	synfig-core/src/synfig/layer_polygon.cpp,
+	synfig-core/src/synfig/layer_polygon.h: In Outline and Layer_Polygon
+	Use Layer_Shape to render though cairo_t*
 
-2012-08-15  Carlos Lopez <genetita at gmail.com>
+2013-07-02  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer_shape.cpp,
+	synfig-core/src/synfig/layer_shape.h: Layer_Shape: add support for
+	Cairo render using cairo_t*.
+
+2013-06-27  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/outline.cpp,
+	synfig-core/src/modules/mod_geometry/outline.h: Outline: add support
+	for Cairo render using cairo_t*.
+
+2013-06-27  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_gradient/radialgradient.cpp,
+	synfig-core/src/modules/mod_gradient/radialgradient.h: 
+	RadialGradient: add support for Cairo render using cairo_t*.
+
+2013-06-27  Carlos Lopez <genetita at gmail.com>
 
 	* synfig-core/src/modules/mod_gradient/lineargradient.cpp,
 	synfig-core/src/modules/mod_gradient/lineargradient.h: 
-	LinearGradient: add support for Cairo render. It has some bugs yet
-	related to combinations of loop and zigzag.
+	LinearGradient: add support for Cairo render using cairo_t*.
 
-2012-08-14  Carlos Lopez <genetita at gmail.com>
+2013-06-27  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/outline.cpp: Outline: Give an
-	opportunity to the Cairo api to render the outline. It achieves same
-	render time.
+	* synfig-core/src/modules/mod_geometry/circle.cpp,
+	synfig-core/src/modules/mod_geometry/circle.h: Circle: add support
+	for Cairo render using cairo_t*.
 
-2012-08-14  Carlos Lopez <genetita at gmail.com>
+2013-06-27  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/outline.cpp,
-	synfig-core/src/modules/mod_geometry/outline.h: Outline: basic
-	support for Cairo render as polygon
+	* synfig-core/src/modules/mod_geometry/checkerboard.cpp,
+	synfig-core/src/modules/mod_geometry/checkerboard.h: Checkerboard:
+	add support for Cairo render using cairo_t*.
 
-2012-08-14  Carlos Lopez <genetita at gmail.com>
+2013-06-26  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/star.cpp,
-	synfig-core/src/modules/mod_geometry/star.h: Star: add support for
-	Cairo render.
+	* synfig-core/src/modules/lyr_std/warp.cpp,
+	synfig-core/src/modules/lyr_std/warp.h: Warp: add support for Cairo
+	render using cairo_t*.
 
-2012-08-14  Carlos Lopez <genetita at gmail.com>
+2013-05-27  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/src/synfig/layer_polygon.h: Layer Polygon: move
-	accelerated_cairorender to be public.
+	* synfig-core/m4/subs.m4: Suppress warning messages emitted by
+	#warning directives
 
-2012-08-14  Carlos Lopez <genetita at gmail.com>
+2013-05-27  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/src/synfig/layer_polygon.cpp,
-	synfig-core/src/synfig/layer_polygon.h: Layer_Polygon: Add helper
-	function to fill the vector list
+	* synfig-core/src/synfig/distance.cpp: Fix "strscanf not defined"
+	error
 
-2012-08-14  Carlos Lopez <genetita at gmail.com>
+2013-05-27  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/region.cpp,
-	synfig-core/src/modules/mod_geometry/region.h: Region: add support
-	for Cairo render.
+	* synfig-core/src/modules/mod_noise/distort.cpp,
+	synfig-core/src/modules/mod_noise/noise.cpp,
+	synfig-core/src/modules/mod_noise/valuenode_random.cpp,
+	synfig-core/src/modules/mod_particle/plant.cpp,
+	synfig-core/src/synfig/main.cpp: Include time.h where required
 
-2012-08-14  Carlos Lopez <genetita at gmail.com>
+2013-05-27  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/src/synfig/layer_polygon.cpp: Layer_Polygon: treat the
-	colors for feathered polygons correctly
+	* synfig-core/src/synfig/color.h, synfig-core/src/synfig/vector.h: 
+	Avoid redefining "isnan" for WIN32 case
 
-2012-08-13  Carlos Lopez <genetita at gmail.com>
+2013-05-27  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/src/synfig/layer_polygon.cpp: Layer_Polygon: add
-	support for feather. Results lacks of current Software render method
-	smoothness because the blur is alpha based and in Cairo alpha has
-	values of discrete 1/255 steps.
+	* synfig-core/m4/subs.m4: Remove "-no-undefined" option as
+	depreacted since GCC 4.6.0
 
-2012-08-13  Carlos Lopez <genetita at gmail.com>
+2013-06-25  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_polygon.cpp: Layer_Polygon: add
-	support for antialias.
+	* synfig-core/src/modules/lyr_std/supersample.cpp,
+	synfig-core/src/modules/lyr_std/supersample.h: SuperSamplet: add
+	support for Cairo render using cairo_t*.
 
-2012-08-13  Carlos Lopez <genetita at gmail.com>
+2013-06-25  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_polygon.cpp: Layer_Polygon: add
-	support for winding style
+	* synfig-core/src/modules/lyr_std/sphere_distort.cpp,
+	synfig-core/src/modules/lyr_std/sphere_distort.h: 
+	Layer_SphereDistort: add support for Cairo render using cairo_t*.
 
-2012-08-13  Carlos Lopez <genetita at gmail.com>
+2013-06-25  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_polygon.cpp,
-	synfig-core/src/synfig/layer_polygon.h,
-	synfig-core/src/synfig/layer_shape.h: Layer_Polygon: initial version
-	for Cairo render. No feather support yet. Needed to expose some
-	private members of Layer_Shape to Polygon_Layer in order to use them
-	in the render procedure
+	* synfig-core/src/modules/mod_filter/blur.cpp: Blur: Fix render.
+	Enclose blur painting operations between cairo save-restore commands
+	to allow layers above to be rendered.
 
-2012-08-12  Carlos Lopez <genetita at gmail.com>
+2013-06-24  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/checkerboard.cpp: 
-	Checkerboard Layer: place the checker in the correct place and
-	render the correct tiles (top left and bottom right).
+	* synfig-core/src/modules/lyr_std/curvewarp.cpp,
+	synfig-core/src/modules/lyr_std/curvewarp.h: CurveWarp: add support
+	for Cairo render using cairo_t*.
 
-2012-08-12  Carlos Lopez <genetita at gmail.com>
+2013-06-24  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/checkerboard.cpp,
-	synfig-core/src/modules/mod_geometry/checkerboard.h: Checkerboard
-	Layer: add support for Cairo render
+	* synfig-core/src/modules/lyr_std/bevel.cpp: Layer_Bevel: Fix
+	various mistakes in the previous implementation.
 
-2012-08-11  Carlos Lopez <genetita at gmail.com>
+2013-06-19  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/circle.cpp,
-	synfig-core/src/modules/mod_geometry/circle.h: Circle Layer: add
-	full support for feathered circles. It needs some improvement on the
-	number of stops in the gradients. Sigmoind and Cosine feathers
-	doesn't have good result though. Probable optimization for linear
-	feather.
+	* synfig-core/src/modules/lyr_std/bevel.cpp,
+	synfig-core/src/modules/lyr_std/bevel.h: Layer_Bevel: add support
+	for Cairo render using cairo_t*.
 
-2012-08-11  Carlos Lopez <genetita at gmail.com>
+2013-06-19  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/circle.cpp: Circle Layer:
-	simplify code
+	* synfig-core/src/modules/lyr_std/shade.cpp: No changes just reorder
+	code.
 
-2012-08-11  Carlos Lopez <genetita at gmail.com>
+2013-06-18  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/circle.cpp: Circle Layer: Add
-	support for feathered circles. Only falloff linear at the moment.
+	* synfig-core/src/modules/lyr_std/shade.cpp,
+	synfig-core/src/modules/lyr_std/shade.h: Layer_Shade: add support
+	for Cairo render using cairo_t*.
 
-2012-08-11  Carlos Lopez <genetita at gmail.com>
+2013-06-16  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/circle.cpp: Circle Layer:
-	initial support for straight blend inverted linear feathered circles
+	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp,
+	synfig-core/src/modules/lyr_freetype/lyr_freetype.h: Layer_FreeType:
+	add support for Cairo render using cairo_t*.
 
-2012-08-10  Carlos Lopez <genetita at gmail.com>
+2013-06-16  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/circle.cpp: Circle Layer: fix
-	to paint with correct alpha
+	* synfig-core/src/synfig/layer_motionblur.cpp,
+	synfig-core/src/synfig/layer_motionblur.h: Layer_MotionBlur: add
+	support for Cairo render using cairo_t*.
 
-2012-08-10  Carlos Lopez <genetita at gmail.com>
+2013-06-16  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/circle.cpp: Circle Layer:
-	remove some callbacks notifications and destroy cr before return
+	* synfig-core/src/synfig/layer_duplicate.cpp,
+	synfig-core/src/synfig/layer_duplicate.h: Layer_Duplicate: add
+	support for Cairo render using cairo_t*.
 
-2012-08-10  Carlos Lopez <genetita at gmail.com>
+2013-06-16  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/circle.cpp: Circle Layer:
-	Complete code of cairo render for non feathered circles.
+	* synfig-core/src/synfig/layer_bitmap.cpp,
+	synfig-core/src/synfig/layer_bitmap.h: Layer_Bitmap: add support for
+	Cairo render using cairo_t*.
 
-2012-08-08  Carlos Lopez <genetita at gmail.com>
+2013-06-16  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/circle.cpp: Circle Layer: add
-	support for cairo render when the circle is inverted and
-	semitransparent. No feather yet.
+	* synfig-core/src/synfig/layer_solidcolor.cpp,
+	synfig-core/src/synfig/layer_solidcolor.h: Layer_SolidColor: add
+	support for Cairo render using cairo_t*.
 
-2012-08-08  Carlos Lopez <genetita at gmail.com>
+2013-06-16  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/circle.cpp,
-	synfig-core/src/modules/mod_geometry/rectangle.cpp: Fix bug:
-	Translation was wrong for non centered canvases.
+	* synfig-core/src/synfig/layer_pastecanvas.cpp: Fix focus effect on
+	Paste Canvas layer for Cairo render
 
-2012-08-08  Carlos Lopez <genetita at gmail.com>
+2013-06-15  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/circle.cpp: Circle Layer: add
-	support for cairo render when the circle is inverted and just
-	opaque.
+	* synfig-core/src/modules/lyr_std/rotate.cpp,
+	synfig-core/src/modules/lyr_std/stretch.cpp,
+	synfig-core/src/modules/lyr_std/translate.cpp,
+	synfig-core/src/modules/lyr_std/zoom.cpp: When apply a
+	transformation, save and restore the Cairo context. It prevents to
+	apply the layer when it is moved below.
 
-2012-08-08  Carlos Lopez <genetita at gmail.com>
+2013-06-16  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/circle.cpp,
-	synfig-core/src/modules/mod_geometry/circle.h: Circle Layer: initial
-	version for accelerated_cairorender. Only inverted circles without
-	feather and straight blend method with amount=1
+	* synfig-core/src/synfig/cairo_renddesc.cpp: When calculate the
+	untransformed RendDesc, do not keep the pixel size but keep the
+	diagonal length in pixels. This would save render time because the
+	number of pixels on the untransformed RendDesc is not higher than
+	the needed for the original one.
 
-2012-08-08  Carlos Lopez <genetita at gmail.com>
+2013-06-15  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/rectangle.cpp: Rectangle:
-	read color  components directly
+	* synfig-core/src/synfig/layer_pastecanvas.cpp: Rework
+	Layer_PasteCanvas to do not use a separated Cairo context to render
+	its canvas. Also don't untransform the RendDesc. It delivers
+	unneeded large RendDesc in some cases.
 
-2012-07-22  Carlos Lopez <genetita at gmail.com>
+2013-06-15  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_solidcolor.cpp,
-	synfig-core/src/synfig/layer_solidcolor.h: Layer_SolidColor: new
-	accelerated_cairorender member function.
+	* synfig-core/src/synfig/layer_polygon.cpp: Fix Polygon layer to
+	render inverted using normal Cairo commands properly
 
-2012-07-22  Carlos Lopez <genetita at gmail.com>
+2013-06-15  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/render.cpp: cairorender: Use CairoColor
-	instead of Color to storage color result
+	* synfig-core/src/modules/mod_geometry/rectangle.cpp: Reorder
+	rectangle code and fix not rendered inverted rectangle.
 
-2012-07-22  Carlos Lopez <genetita at gmail.com>
+2013-06-14  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer.cpp: Layer: Use get_color when
-	get_cairocolor is not provided.
+	* synfig-core/src/synfig/layer_polygon.cpp,
+	synfig-core/src/synfig/layer_polygon.h: Layer Polygon: add support
+	for Cairo render using cairo_t*.
 
-2012-07-22  Carlos Lopez <genetita at gmail.com>
+2013-06-14  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_bitmap.cpp,
-	synfig-core/src/synfig/layer_bitmap.h: Layer_Bitmap: Fix crash of
-	attempt to call a cairo_surface_destroy on a non initialized not
-	null pointer.
+	* synfig-core/src/synfig/layer_polygon.cpp: Remove extra cairo_save
+	and add missing cairo_save
 
-2012-07-21  Carlos Lopez <genetita at gmail.com>
+2013-06-14  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/rectangle.cpp: Rectangle: fix
-	cairorender of alpha inverted rectangle
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/outline.cpp,
+	synfig-core/src/modules/mod_geometry/region.cpp,
+	synfig-core/src/synfig/layer_polygon.cpp: Apply the
+	feather_cairo_surface function to Advanced Outline, Outline, Region
+	and Polygon
 
-2012-07-21  Carlos Lopez <genetita at gmail.com>
+2013-06-14  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/rectangle.cpp: Rectangle: fix
-	cairorender of solid inverted rectangle
+	* synfig-core/src/synfig/layer_shape.cpp,
+	synfig-core/src/synfig/layer_shape.h: Layer_Shape: Add function to
+	feather the given Cairo surface.
 
-2012-07-21  Carlos Lopez <genetita at gmail.com>
+2013-06-14  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/rectangle.cpp,
-	synfig-core/src/modules/mod_geometry/rectangle.h: Rectangle: initial
-	version of accelerated_cairorender. It works fine for non inverted
-	rectangles but doesn't work properly for inverted rectangles yet.
-	Blending modes not fully supported.
+	* synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h: Paste Canvas: add
+	support for Cairo render using cairo_t*.
 
-2012-07-21  Carlos Lopez <genetita at gmail.com>
+2013-06-14  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_png/trgt_cairo_png.cpp: 
-	target_cairo_png: replace info message by warning when error has
-	occurred.
+	* synfig-core/src/modules/mod_geometry/rectangle.cpp: Simplify
+	Rectangle layer code
 
-2012-07-21  Carlos Lopez <genetita at gmail.com>
+2013-06-13  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/color.h: CairoColor: fix range as float to
-	do premult and demult operations properly
+	* synfig-core/src/modules/lyr_std/zoom.cpp,
+	synfig-core/src/modules/lyr_std/zoom.h: Zoom: add support for Cairo
+	render using cairo_t*.
 
-2012-07-18  Carlos Lopez <genetita at gmail.com>
+2013-06-13  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_bitmap.cpp,
-	synfig-core/src/synfig/layer_bitmap.h,
-	synfig-core/src/synfig/layer_composite.cpp,
-	synfig-core/src/synfig/layer_composite.h,
-	synfig-core/src/synfig/render.cpp: Support for
-	Layer_Composite::accelereated_cairorender.  Move to private the
-	Layer_Bitmap's cairo_surface_t* and provide get and set members. On
-	cairorender, use get_cairocolor instead of get_color.
+	* synfig-core/src/modules/lyr_std/translate.cpp,
+	synfig-core/src/modules/lyr_std/translate.h: Layer_Translate: add
+	support for Cairo render using cairo_t*.
 
-2012-07-16  Carlos Lopez <genetita at gmail.com>
+2013-06-13  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_bitmap.cpp,
-	synfig-core/src/synfig/layer_bitmap.h: Modify
-	Layer_Bitmap::accelerated_cairorender to use properly the Cairo API.
+	* synfig-core/src/modules/mod_filter/blur.cpp,
+	synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/cairo_renddesc.cpp,
+	synfig-core/src/synfig/cairo_renddesc.h: Create a new function
+	cairo_renddesc_untransform and use it in Blur layer
 
-2012-07-14  Carlos Lopez <genetita at gmail.com>
+2013-06-12  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/lyr_std/import.cpp,
-	synfig-core/src/modules/lyr_std/import.h,
-	synfig-core/src/synfig/layer_bitmap.cpp,
-	synfig-core/src/synfig/layer_bitmap.h: Versions of the
-	set_render_method member for Layer_Bitmap and Import
+	* synfig-core/src/modules/mod_filter/blur.cpp,
+	synfig-core/src/modules/mod_filter/blur.h: Blur_Layer: add support
+	for Cairo render using cairo_t*.  This commit is the base example
+	for all the layers that needs to access the pixels to perform the
+	transformation.
 
-2012-07-14  Carlos Lopez <genetita at gmail.com>
+2013-06-11  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/context.cpp,
-	synfig-core/src/synfig/context.h, synfig-core/src/synfig/layer.cpp,
-	synfig-core/src/synfig/layer.h: Suit a class member to set the
-	render method to the layers. Only the layers that define the virtual
-	member uses it.
+	* synfig-core/src/modules/lyr_std/rotate.cpp,
+	synfig-core/src/modules/lyr_std/stretch.cpp,
+	synfig-core/src/modules/mod_geometry/rectangle.cpp,
+	synfig-core/src/synfig/target_cairo.cpp,
+	synfig-core/src/synfig/target_cairo_tile.cpp: Move the Cairo scale
+	and translate commands to the top of the command stack on the
+	targets. It simplifies the code and reduce the number of operations
+	in each vector layer.
 
-2012-07-14  Carlos Lopez <genetita at gmail.com>
+2013-06-08  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_bitmap.cpp,
-	synfig-core/src/synfig/layer_bitmap.h: Layer_Bitmap: new
-	get_cairocolor. For use with CairoSurface.
+	* synfig-core/src/modules/lyr_std/stretch.cpp,
+	synfig-core/src/modules/lyr_std/stretch.h: Stretch Layer: Add
+	support for Cairo render using context
 
-2012-07-14  Carlos Lopez <genetita at gmail.com>
+2013-06-08  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/render.cpp: Documentation
+	* synfig-core/src/modules/lyr_std/rotate.cpp: Rotate Layer: Do not
+	rotate through a intermediate surface. Rotate directly the result.
 
-2012-07-14  Carlos Lopez <genetita at gmail.com>
+2013-06-08  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_bitmap.cpp: Layer_Bitmap: map the
-	cairo_surface_t to CairoSurface at the right moment. Unmap it
-	properly.
+	* synfig-core/src/modules/lyr_std/rotate.cpp,
+	synfig-core/src/modules/lyr_std/rotate.h: Rotate Layer: Add support
+	for Cairo render using context
 
-2012-07-12  Carlos Lopez <genetita at gmail.com>
+2013-06-08  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Apply
-	patch ID 3543027: Crash when loading 54-morevna.sif. Fixes bug that
-	happens when BLine passed is empty.
+	* synfig-core/src/modules/mod_geometry/rectangle.cpp,
+	synfig-core/src/synfig/context.cpp: Do not optimize the render of
+	the shape pre-clipping to the canvas  dimensions. Leave it to Cairo
+	API
 
-2012-07-12  Carlos Lopez <genetita at gmail.com>
+2013-06-08  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_pastecanvas.cpp: Remove unused code.
-	If later is needed it can be taken from existing code.
+	* synfig-core/src/modules/mod_geometry/rectangle.cpp,
+	synfig-core/src/modules/mod_geometry/rectangle.h,
+	synfig-core/src/synfig/context.cpp,
+	synfig-core/src/synfig/context.h, synfig-core/src/synfig/layer.cpp,
+	synfig-core/src/synfig/layer.h,
+	synfig-core/src/synfig/layer_composite.cpp,
+	synfig-core/src/synfig/layer_composite.h,
+	synfig-core/src/synfig/render.cpp, synfig-core/src/synfig/render.h,
+	synfig-core/src/synfig/target_cairo.cpp,
+	synfig-core/src/synfig/target_cairo_tile.cpp: First commit to change
+	the Cairo render system using Cairo context instead of Cairo
+	surface.  Apply to Layer, Context, Rectangle, Layer_Composite,
+	render and targets Cairo type.
 
-2012-07-11  Carlos Lopez <genetita at gmail.com>
+2013-06-04  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_pastecanvas.cpp,
-	synfig-core/src/synfig/layer_pastecanvas.h: Support for
-	Layer_PasteCanvas::accelerated_cairorender
+	* synfig-core/src/modules/lyr_std/stretch.cpp: Try to fix the bug
+	but doesn't seem to work properly when combined with rotate.
 
-2012-07-11  Carlos Lopez <genetita at gmail.com>
+2013-06-04  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_png/trgt_cairo_png.cpp,
-	synfig-core/src/modules/mod_png/trgt_cairo_png.h: Fix the gamma
-	output on cairo_png target.
+	* synfig-core/src/modules/lyr_std/stretch.cpp: Do not forget to
+	destroy Cairo context when not more used.
 
-2012-07-10  Carlos Lopez <genetita at gmail.com>
+2013-06-02  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/color.cpp, synfig-core/src/synfig/color.h: 
-	CairoColor: Don't assume big endian alignment and leave the system
-	decide it. For that use a uint32_t for the entire pixel data and get
-	/ set the channels by bitwise operations.  This commit also fixes
-	two bugs with the operators + and - that were calculating wrongly
-	the alpha channel due to a copy paste wrong code.
+	* synfig-core/src/modules/lyr_std/stretch.cpp: When top left and
+	bottom right changes at the same time, do it with a set_tl_br
+	function instead of set_tl and then set_br because it could lead to
+	a dimension of zero in one of the dimensions.
 
-2012-07-09  Carlos Lopez <genetita at gmail.com>
+2013-06-02  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/color.h: Fix CairoColor::premult_alpha()
-	function.
+	* synfig-core/src/modules/lyr_std/rotate.cpp: When rendering the
+	rotated result use SOURCE operator instead of OVER.
 
-2012-07-09  Carlos Lopez <genetita at gmail.com>
+2013-05-23  Carlos Lopez <genetita at gmail.com>
 
-	* : commit 7de048daeac880efe73c0b0ee440e3cd0386a3d8 Author: Nikita
-	Kitaev <nikitakit at gmail.com> Date:   Sun Jul 1 18:19:30 2012 -0700
+	* synfig-core/src/synfig/valuenode_const.cpp,
+	synfig-core/src/synfig/valuenode_const.h: Add missing debug
+	preprocessor macros to avoid try to use debug functions when
+	building in release mode. Fixes release builds.
 
-2012-07-08  Nikita Kitaev <nikitakit at gmail.com>
+2013-05-21  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/surface.cpp,
-	synfig-core/src/synfig/surface.h: Remember to set cs_image_ to NULL
-	when it is not in use
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/outline.cpp,
+	synfig-core/src/modules/mod_geometry/region.cpp,
+	synfig-core/src/synfig/layer_polygon.cpp: Remove unused variables
 
-2012-07-08  Nikita Kitaev <nikitakit at gmail.com>
+2013-05-21  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/context.cpp: Change
-	Context::accelerated_cairorender handling of straight blending
+	* synfig-core/src/modules/mod_geometry/outline.cpp: Fix bug #436  -
+	Preview render - Cairo On - Quality5 - "ghost lines appear". Disable
+	using high level Cairo API for Outlines on quality > 6
 
-2012-07-01  Nikita Kitaev <nikitakit at gmail.com>
+2013-05-21  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_png/main.cpp,
-	synfig-core/src/modules/mod_png/mptr_png.h,
-	synfig-core/src/modules/mod_png/trgt_png.h,
-	synfig-core/src/synfig/target.h: Fix compiler errors Forward-declare CairoSurface along with regular Surface png.h must
-	be included before cairo headers
+	* synfig-core/po/POTFILES.in,
+	synfig-core/src/modules/mod_png/mptr_cairo_png.cpp,
+	synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/cairolistimporter.cpp,
+	synfig-core/src/synfig/cairolistimporter.h,
+	synfig-core/src/synfig/listimporter.cpp,
+	synfig-core/src/synfig/listimporter.h,
+	synfig-core/src/synfig/main.cpp, synfig-core/src/synfig/surface.cpp: 
+	Fix bug #370  -  ListImporter doesn't work in Cairo This fix
+	includes some changes on the following files: mptr_cairo_png.cpp:
+	Modified behavior when constructed from a file that is not readable.
+	The cairo_surface_t* is set to NULL and returns. Also if mapping
+	fails it returns too.  listimporter.cpp .h: inclusion of the macros
+	from Importer to make it consistent with the rest of importers
+	surface.cpp:  when cairo?surface?t*  status is not ok, destroy the
+	surface and set the pointer to null. When attempting to map a null
+	surface or already mapped surface print error message and return.
+	Similar within unmapping a null surface or a surface not mapped.
 
-2012-07-01  Nikita Kitaev <nikitakit at gmail.com>
+2013-05-17  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/surface.cpp: Allow code to compile under
-	older cairo versions that don't support map/unmap
+	* synfig-core/src/synfig/layer_duplicate.cpp,
+	synfig-core/src/synfig/layer_duplicate.h: Fix bug #410  -  Duplicate
+	layer not implemented in Cairo
 
-2012-07-07  Carlos Lopez <genetita at gmail.com>
+2013-05-17  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_bitmap.cpp,
-	synfig-core/src/synfig/layer_bitmap.h,
-	synfig-core/src/synfig/layer_cairobitmap.cpp,
-	synfig-core/src/synfig/layer_cairobitmap.h: New member
-	accelerated_cairorender() to Layer_Bitmap. Remove Layer_CairoBitmap
-	because it is not longer needed.
+	* synfig-core/src/modules/mod_particle/plant.cpp,
+	synfig-core/src/modules/mod_particle/plant.h: Fix bug  #411  -
+	Plant layer not implemented in Cairo
 
-2012-07-05  Carlos Lopez <genetita at gmail.com>
+2013-05-17  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/Makefile.am,
-	synfig-core/src/synfig/context.cpp,
-	synfig-core/src/synfig/context.h, synfig-core/src/synfig/layer.cpp,
-	synfig-core/src/synfig/layer.h, synfig-core/src/synfig/render.cpp,
-	synfig-core/src/synfig/render.h,
-	synfig-core/src/synfig/surface.cpp,
-	synfig-core/src/synfig/surface.h,
-	synfig-core/src/synfig/target_cairo.cpp,
-	synfig-core/src/synfig/target_cairo.h: New strategy, several
-	changes: 1) Temporarily disable new Layer_CairoBitmap class. It needs some
-	rectifications according the new strategy.  2)  Remove cariosurface_target class since it is not needed with the
-	new strategy.  3) New virtual bool
-	Target_Cairo::obtain_surface(cairo_surface_t*)=0; It accepts a
-	cairo_surface_t pointer and fills it up with the cairo_surface_t
-	address from the specific target instance. This function should also
-	do the needed tasks to prepare the device to receive a new surface
-	on it.  4) New virtual bool Target_Cairo::put_surface(cairo_surface_t*); It
-	accepts a cairo_surface_t and transfers it to the device. It is
-	virtual so the target instance can make different things depending
-	on the device needs. It is provided a basic one. cairo_surface_t has
-	to be destroyed there.  5) Context and Layer accelerated_cairorender members now receives a
-	cairo_context_t instead a CairoSurface.  6) New synfig::cairorender global function that renders a Context on
-	a cairo_surface_t. It creates a CairoSurface to access the
-	underlying pixels. After that it is returned to the cairo_surface_t
+	* synfig-core/src/modules/mod_particle/plant.cpp,
+	synfig-core/src/modules/mod_particle/plant.h: Plant Layer: move the
+	drawing stuff to a external function to simplify code.
 
-2012-07-05  Carlos Lopez <genetita at gmail.com>
+2013-05-16  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/surface.h: Initialize cs_ to NULL when
-	provided in CairoSurface constructor. It will prevent to destroy it
-	when it has not been set.
+	* synfig-core/src/modules/lyr_std/sphere_distort.cpp,
+	synfig-core/src/modules/lyr_std/sphere_distort.h: Fix bug #414  -
+	Sphere distort not full y implemented in Cairo
 
-2012-07-05  Carlos Lopez <genetita at gmail.com>
+2013-05-16  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/surface.cpp: When call map and unmap a
-	CairoSurface members, consider if the stored cairo_surface_t is
-	already a image type so then don't map it.
+	* synfig-core/src/modules/mod_example/filledrect.cpp,
+	synfig-core/src/modules/mod_example/filledrect.h: Completely fix bug
+	#416  -  Some layers implemented only via get_color in Cairo. (II)
+	Implemented Filled Rect
 
-2012-07-03  Carlos Lopez <genetita at gmail.com>
+2013-05-14  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/Makefile.am,
-	synfig-core/src/synfig/context.cpp,
-	synfig-core/src/synfig/context.h, synfig-core/src/synfig/layer.cpp,
-	synfig-core/src/synfig/layer.h,
-	synfig-core/src/synfig/layer_cairobitmap.cpp,
-	synfig-core/src/synfig/layer_cairobitmap.h: Adapt Layer_CairoBitmap
-	to use CairoColor and CairoSurface. It was needed to add a new
-	get_cairocolor() to Layer and Context.
+	* synfig-core/src/modules/mod_example/simplecircle.cpp,
+	synfig-core/src/modules/mod_example/simplecircle.h: Partially fix
+	bug #416  -  Some layers implemented only via get_color in Cairo.
+	(II) Implemented Simple Circle
 
-2012-07-03  Carlos Lopez <genetita at gmail.com>
+2013-05-14  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_cairobitmap.cpp,
-	synfig-core/src/synfig/layer_cairobitmap.h: It is needed to create a
-	new CairoBitmap layer to give support for Cairo import using
-	CairoSurface. This is just a rough copy of the original.
+	* synfig-core/src/modules/mod_gradient/curvegradient.h,
+	synfig-core/src/modules/mod_gradient/spiralgradient.cpp,
+	synfig-core/src/modules/mod_gradient/spiralgradient.h: Partially fix
+	bug #416  -  Some layers implemented only via get_color in Cairo.
+	Implemented Spiral Gradient
 
-2012-07-03  Carlos Lopez <genetita at gmail.com>
+2013-05-13  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/lyr_std/supersample.cpp,
-	synfig-core/src/synfig/layer.cpp,
-	synfig-core/src/synfig/layer_composite.cpp,
-	synfig-core/src/synfig/render.cpp, synfig-core/src/synfig/render.h: 
-	New synfig::render function that will accept Target_Cairo as target.
+	* synfig-core/src/modules/mod_gradient/curvegradient.cpp,
+	synfig-core/src/modules/mod_gradient/curvegradient.h: Fix bug #413
+	-  Curve gradient not implemented in Cairo
 
-2012-07-03  Carlos Lopez <genetita at gmail.com>
+2013-05-13  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/target_cairo.cpp,
-	synfig-core/src/synfig/target_cairo.h: Update
-	Target_Cairo::add_frame to accept a ProgressCallback and to call
-	start and end frame from the Target instance.
+	* synfig-core/src/modules/mod_filter/radialblur.cpp: Forgot to
+	destroy Cairo context after used in a previous commit.
 
-2012-07-01  Carlos Lopez <genetita at gmail.com>
+2013-05-13  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/surface.cpp,
-	synfig-core/src/synfig/surface.h: When create a CairoSurface by
-	default, make the cs_image NULL too. Destroy on destruction.  Allow
-	to create a image_surface using directly set_wh() applied on the
-	cs_image. If the cs is set then bail out.  This allows to use
-	CairoSurface without need to ask the Target about the backend used.
-	It uses Image surface by default.
+	* synfig-core/src/modules/mod_png/trgt_cairo_png.cpp,
+	synfig-core/src/synfig/target_cairo.cpp,
+	synfig-core/src/synfig/target_cairo.h,
+	synfig-core/src/synfig/target_cairo_tile.cpp,
+	synfig-core/src/synfig/target_cairo_tile.h: Fix bug #405  -  Cairo
+	render ignores gamma from setup
 
-2012-07-01  Carlos Lopez <genetita at gmail.com>
+2013-05-13  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_example/filledrect.h,
-	synfig-core/src/modules/mod_example/metaballs.h,
-	synfig-core/src/modules/mod_example/simplecircle.h,
-	synfig-core/src/modules/mod_particle/plant.h: Make missing layers to
-	derive from Layer_NoDeform. It should help on optimize layers
-	function.
+	* synfig-core/src/modules/mod_filter/radialblur.cpp,
+	synfig-core/src/modules/mod_filter/radialblur.h: Fix bug #412  -
+	Radial Blur not implemented in Cairo
 
-2012-06-28  Carlos Lopez <genetita at gmail.com>
+2013-05-12  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/Makefile.am,
-	synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h,
-	synfig-core/src/synfig/render.h,
-	synfig-core/src/synfig/surface.cpp,
-	synfig-core/src/synfig/surface.h,
-	synfig-core/src/synfig/target_cairo.cpp,
-	synfig-core/src/synfig/target_cairo.h: Modify CairoSurface to
-	receive a cairo_surface_t on creation.  Add members to map and unmap
-	the image surface from cairo surface.  Add Target_Cairo class for
-	targets that use CairoSurface.  Add target2cairosurface target to
-	render to a CairoSurface in memory with possibility to use the
-	direct access to the data.  New Layer::accelerated_render member to
-	receive CairoSurface
+	* synfig-core/src/synfig/layer_motionblur.cpp,
+	synfig-core/src/synfig/layer_motionblur.h: Fix bug #369: Motion blur
+	not implemented in Cairo
 
-2012-06-28  Carlos Lopez <genetita at gmail.com>
+2013-05-12  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/target_cairo.cpp,
-	synfig-core/src/synfig/target_cairo.h: Add two new files for
-	Target_Cairo class
+	* : commit e0811dd92009c59c3edb0e62ae66f2bcb5b6843f Author: Carlos
+	Lopez <genetita at gmail.com> Date:   Thu May 9 15:10:03 2013 +0200
 
-2011-03-22  Nikita Kitaev <nikitakit at gmail.com>
+2013-05-07  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/configure.ac: Add cairo headers to configure.ac
+	* synfig-core/src/tool/Makefile.am: Add named_type.h to sources for
+	tool. If it is not included then normal compilation works but make
+	distcheck for synfig-core fails complaining that the file doesn't
+	exists.
 
-2012-06-22  Carlos Lopez <genetita at gmail.com>
+2013-05-06  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/surface.cpp: Use CairoColor size when
-	copying source to dest.
+	* synfig-core/NEWS: Release Synfig Studio 0.64.0 ETL 0.04.16 synfig-core 0.64.0 synfig-studio 0.64.0
 
-2012-06-19  Carlos Lopez <genetita at gmail.com>
+2013-05-06  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/context.cpp,
-	synfig-core/src/synfig/context.h: Context: turn accelerated_render
-	member to be a template function.
+	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp,
+	synfig-core/src/modules/lyr_freetype/lyr_freetype.h,
+	synfig-core/src/modules/lyr_std/bevel.cpp,
+	synfig-core/src/modules/lyr_std/bevel.h,
+	synfig-core/src/modules/lyr_std/clamp.cpp,
+	synfig-core/src/modules/lyr_std/clamp.h,
+	synfig-core/src/modules/lyr_std/curvewarp.cpp,
+	synfig-core/src/modules/lyr_std/curvewarp.h,
+	synfig-core/src/modules/lyr_std/import.cpp,
+	synfig-core/src/modules/lyr_std/import.h,
+	synfig-core/src/modules/lyr_std/rotate.cpp,
+	synfig-core/src/modules/lyr_std/rotate.h,
+	synfig-core/src/modules/lyr_std/shade.cpp,
+	synfig-core/src/modules/lyr_std/shade.h,
+	synfig-core/src/modules/lyr_std/stretch.cpp,
+	synfig-core/src/modules/lyr_std/stretch.h,
+	synfig-core/src/modules/lyr_std/stroboscope.cpp,
+	synfig-core/src/modules/lyr_std/stroboscope.h,
+	synfig-core/src/modules/lyr_std/supersample.cpp,
+	synfig-core/src/modules/lyr_std/supersample.h,
+	synfig-core/src/modules/lyr_std/timeloop.cpp,
+	synfig-core/src/modules/lyr_std/timeloop.h,
+	synfig-core/src/modules/lyr_std/translate.cpp,
+	synfig-core/src/modules/lyr_std/translate.h,
+	synfig-core/src/modules/lyr_std/twirl.cpp,
+	synfig-core/src/modules/lyr_std/twirl.h,
+	synfig-core/src/modules/lyr_std/warp.cpp,
+	synfig-core/src/modules/lyr_std/warp.h,
+	synfig-core/src/modules/lyr_std/xorpattern.cpp,
+	synfig-core/src/modules/lyr_std/xorpattern.h,
+	synfig-core/src/modules/lyr_std/zoom.cpp,
+	synfig-core/src/modules/lyr_std/zoom.h,
+	synfig-core/src/modules/mod_example/metaballs.cpp,
+	synfig-core/src/modules/mod_example/metaballs.h,
+	synfig-core/src/modules/mod_filter/blur.cpp,
+	synfig-core/src/modules/mod_filter/blur.h,
+	synfig-core/src/modules/mod_filter/colorcorrect.cpp,
+	synfig-core/src/modules/mod_filter/colorcorrect.h,
+	synfig-core/src/modules/mod_filter/halftone2.cpp,
+	synfig-core/src/modules/mod_filter/halftone2.h,
+	synfig-core/src/modules/mod_filter/halftone3.cpp,
+	synfig-core/src/modules/mod_filter/halftone3.h,
+	synfig-core/src/modules/mod_filter/lumakey.cpp,
+	synfig-core/src/modules/mod_filter/lumakey.h,
+	synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h,
+	synfig-core/src/modules/mod_geometry/checkerboard.cpp,
+	synfig-core/src/modules/mod_geometry/checkerboard.h,
+	synfig-core/src/modules/mod_geometry/circle.cpp,
+	synfig-core/src/modules/mod_geometry/circle.h,
+	synfig-core/src/modules/mod_geometry/outline.cpp,
+	synfig-core/src/modules/mod_geometry/outline.h,
+	synfig-core/src/modules/mod_geometry/rectangle.cpp,
+	synfig-core/src/modules/mod_geometry/rectangle.h,
+	synfig-core/src/modules/mod_geometry/region.cpp,
+	synfig-core/src/modules/mod_geometry/region.h,
+	synfig-core/src/modules/mod_geometry/star.cpp,
+	synfig-core/src/modules/mod_geometry/star.h,
+	synfig-core/src/modules/mod_gradient/conicalgradient.cpp,
+	synfig-core/src/modules/mod_gradient/conicalgradient.h,
+	synfig-core/src/modules/mod_gradient/lineargradient.cpp,
+	synfig-core/src/modules/mod_gradient/lineargradient.h,
+	synfig-core/src/modules/mod_gradient/radialgradient.cpp,
+	synfig-core/src/modules/mod_gradient/radialgradient.h,
+	synfig-core/src/modules/mod_noise/distort.cpp,
+	synfig-core/src/modules/mod_noise/distort.h,
+	synfig-core/src/modules/mod_noise/noise.cpp,
+	synfig-core/src/modules/mod_noise/noise.h,
+	synfig-core/src/modules/mod_png/mptr_cairo_png.cpp,
+	synfig-core/src/modules/mod_png/mptr_cairo_png.h,
+	synfig-core/src/modules/mod_png/trgt_cairo_png.cpp,
+	synfig-core/src/modules/mod_png/trgt_cairo_png.h,
+	synfig-core/src/synfig/blur.cpp, synfig-core/src/synfig/blur.h,
+	synfig-core/src/synfig/cairo_operators.cpp,
+	synfig-core/src/synfig/cairo_operators.h,
+	synfig-core/src/synfig/cairoimporter.cpp,
+	synfig-core/src/synfig/cairoimporter.h,
+	synfig-core/src/synfig/color.cpp, synfig-core/src/synfig/color.h,
+	synfig-core/src/synfig/context.cpp,
+	synfig-core/src/synfig/context.h, synfig-core/src/synfig/layer.cpp,
+	synfig-core/src/synfig/layer.h,
+	synfig-core/src/synfig/layer_bitmap.cpp,
+	synfig-core/src/synfig/layer_bitmap.h,
+	synfig-core/src/synfig/layer_composite.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h,
+	synfig-core/src/synfig/layer_polygon.cpp,
+	synfig-core/src/synfig/layer_polygon.h,
+	synfig-core/src/synfig/layer_shape.cpp,
+	synfig-core/src/synfig/layer_shape.h,
+	synfig-core/src/synfig/layer_solidcolor.cpp,
+	synfig-core/src/synfig/layer_solidcolor.h,
+	synfig-core/src/synfig/releases.h,
+	synfig-core/src/synfig/render.cpp, synfig-core/src/synfig/render.h,
+	synfig-core/src/synfig/surface.cpp,
+	synfig-core/src/synfig/surface.h,
+	synfig-core/src/synfig/target_cairo.cpp,
+	synfig-core/src/synfig/target_cairo.h,
+	synfig-core/src/synfig/target_cairo_tile.cpp,
+	synfig-core/src/synfig/target_cairo_tile.h,
+	synfig-core/src/synfig/target_scanline.cpp,
+	synfig-core/src/synfig/target_scanline.h,
+	synfig-core/src/synfig/target_tile.cpp,
+	synfig-core/src/synfig/target_tile.h: Update my copyright to the
+	files I have modified
 
-2012-06-19  Carlos Lopez <genetita at gmail.com>
+2013-05-06  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/surface.cpp,
-	synfig-core/src/synfig/surface.h: Complete definition of
-	CairoSurface.
+	* synfig-core/README: Update README and about.cpp
 
-2012-06-19  Carlos Lopez <genetita at gmail.com>
+2013-05-06  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/color.cpp, synfig-core/src/synfig/color.h: 
-	Use constants instead of functions for ceil and floor color values.
+	* synfig-core/AUTHORS: Update AUTHORS
 
-2012-06-09  Carlos Lopez <genetita at gmail.com>
+2013-05-06  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/surface.h: CairoSurface: basic structure.
+	* synfig-core/configure.ac, synfig-core/po/Makevars,
+	synfig-core/po/cs.po, synfig-core/po/de.po,
+	synfig-core/po/el_GR.po, synfig-core/po/en_GB.po,
+	synfig-core/po/es.po, synfig-core/po/fa_IR.po,
+	synfig-core/po/fr.po, synfig-core/po/hu.po, synfig-core/po/it.po,
+	synfig-core/po/ja_JP.po, synfig-core/po/lt.po,
+	synfig-core/po/nl.po, synfig-core/po/no_NO.po,
+	synfig-core/po/pl_PL.po, synfig-core/po/pt_BR.po,
+	synfig-core/po/ro.po, synfig-core/po/ru.po,
+	synfig-core/po/sk_SK.po, synfig-core/po/zh_CN.po: We are not longer
+	using Sourceforge as bug tracker. Replaced by
+	http://www.synfig.org/issues/thebuggenie/synfig
 
-2012-06-09  Carlos Lopez <genetita at gmail.com>
+2013-05-06  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/circle.cpp,
-	synfig-core/src/synfig/layer_shape.cpp,
-	synfig-core/src/synfig/surface.h: Templatize _BlendFunc for generic
-	alpha pen usage
+	* synfig-core/configure.ac, synfig-core/po/cs.po,
+	synfig-core/po/hu.po, synfig-core/po/ja_JP.po: Add new translations:
+	Czech, Hungarian and Japanese (Japan) to synfig-core and Hungarian
+	and Japanese (Japan) so synfig-studio
 
-2012-06-07  Carlos Lopez <genetita at gmail.com>
+2013-05-06  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/target_scanline.cpp,
-	synfig-core/src/synfig/target_scanline.h: Target_Scanline: Add a
-	virtual method to create a surface instance. It would use the
-	current render method to decide which type of surface to create. It
-	has to be override by specific targets to make use of the proper
-	surface backend.
+	* synfig-core/po/de.po, synfig-core/po/el_GR.po,
+	synfig-core/po/en_GB.po, synfig-core/po/es.po,
+	synfig-core/po/fa_IR.po, synfig-core/po/fr.po,
+	synfig-core/po/it.po, synfig-core/po/lt.po, synfig-core/po/nl.po,
+	synfig-core/po/no_NO.po, synfig-core/po/pl_PL.po,
+	synfig-core/po/pt_BR.po, synfig-core/po/ro.po,
+	synfig-core/po/ru.po, synfig-core/po/sk_SK.po,
+	synfig-core/po/zh_CN.po: Update synfig-core and synfig-studio
+	translations
 
-2011-03-21  Nikita Kitaev <nikitakit at gmail.com>
+2013-05-05  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/main.cpp: Added "Rendering method" command
-	line option
+	* synfig-core/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp,
+	synfig-core/src/modules/mod_svg/svg_parser.cpp,
+	synfig-core/src/synfig/color.cpp,
+	synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/main.cpp,
+	synfig-core/src/synfig/palette.cpp,
+	synfig-core/src/tool/joblistprocessor.cpp,
+	synfig-core/src/tool/main.cpp,
+	synfig-core/src/tool/optionsprocessor.cpp,
+	synfig-core/src/tool/printing_functions.cpp,
+	synfig-core/src/tool/progress.h,
+	synfig-core/src/tool/renderprogress.h: Fix bug #433: OSX: Can't
+	build packages in Lion with extended compatibility with Leopard.  The c_str() call has been added to all compile errors.
 
-2011-03-21  Nikita Kitaev <nikitakit at gmail.com>
+2013-05-02  Diego Barrios Romero <eldruin at eldruin.com>
 
-	* synfig-core/src/synfig/target.cpp,
-	synfig-core/src/synfig/target.h: Add a function to set the rending
-	method (Software, OpenGL, or Cairo). Author Nikita Kitaev
+	* synfig-core/src/tool/main.cpp: ffmpeg-video-codecs option changed
+	to target-video-codecs like in previous versions
 
-2012-06-05  Carlos Lopez <genetita at gmail.com>
+2013-05-02  Diego Barrios Romero <eldruin at eldruin.com>
 
-	* synfig-core/src/synfig/surface.h: Surface: New CairoColorPrep
-	class for cook and uncook operations.
+	* synfig-core/src/tool/joblistprocessor.cpp: Fixed determine target
+	only if no target is already set
 
-2012-06-05  Carlos Lopez <genetita at gmail.com>
+2013-05-02  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/color.h: CairoColor: Don't use alpha=1 for
-	default value. Use its own ceil value (255). Constructor from Color
-	uses constant argument.
+	* synfig-core/po/POTFILES.in: Add missing files to POTFILES.in
 
-2012-06-05  Carlos Lopez <genetita at gmail.com>
+2013-05-02  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/color.cpp, synfig-core/src/synfig/color.h: 
-	Color: Conversor constructor from CairoColor
+	* synfig-core/src/synfig/valuenode.cpp: Replace 0_63_06 by 0_64_0 in
+	one missing place.
 
-2012-06-05  Carlos Lopez <genetita at gmail.com>
+2013-05-01  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/color.cpp: CairoColor: implement blend
-	method using blend function templates
+	* synfig-core/NEWS: Update NEWS
 
-2012-06-05  Carlos Lopez <genetita at gmail.com>
+2013-05-01  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/color.cpp, synfig-core/src/synfig/color.h: 
-	CairoColor: Add members to display color in hex a decimal format.
-	Add member to set color channels based on the hexadecimal string.
+	* synfig-core/src/synfig/releases.h: Update version in releases and
+	app
 
-2012-06-05  Carlos Lopez <genetita at gmail.com>
+2013-05-01  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/color.cpp: Remove unused code
+	* synfig-core/configure.ac: Bump ETL to 0.4.16, synfig and
+	synfigstudio to 0.64.0 and add splash screen for 0.64.0
 
-2012-05-31  Carlos Lopez <genetita at gmail.com>
+2013-04-30  Carlos López <genetita at gmail.com>
 
-	* synfig-core/src/synfig/color.h: Constructor for CairoColor based
-	on Color
+	* synfig-core/src/modules/mod_png/mptr_cairo_png.cpp: Fix bug #422:
+	Crash: map_cairo_image(): Assertion failed There weren't any checking of the status of the cairo_surface_t when
+	reading the image from file. This commit adds it and fixes the bug.
 
-2012-05-31  Carlos Lopez <genetita at gmail.com>
+2013-04-29  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/color.h: Define and use ceil and floor
-	constant color limits functions for CairoColor.  Define is_valid()
-	for CairoColor
+	* synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h: Fig bug #418 - Image
+	isn't displayed if it's grouped (Cairo) Layer Paste Canvas now
+	passes the render method to its canvas.
 
-2012-05-31  Carlos Lopez <genetita at gmail.com>
+2013-04-29  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/color.cpp, synfig-core/src/synfig/color.h: 
-	Define color channel maximum allowed value (ceil) and minimum
-	allowed value (floor) using a function. This allows to use properly
-	them in the blend function templates.
+	* synfig-core/src/modules/lyr_std/import.cpp: When set a Cairo
+	surface it is needed to map it i order to be used by the importer
 
-2012-05-31  Carlos Lopez <genetita at gmail.com>
-
-	* synfig-core/src/synfig/color.cpp: Use a template to define blend
-	method functions.
+2013-04-20  [d.j.a.y] Jerome Blanchi <d.j.a.y at free.fr>
 
-2012-05-29  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp: Doc Comment
+	Generator Function : Layer_Freetype::new_font_
 
-	* synfig-core/src/synfig/color.cpp, synfig-core/src/synfig/color.h: 
-	Initial version of new CairoColor class
+2013-04-27  Carlos Lopez <genetita at gmail.com>
 
-2012-04-29  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_filter/colorcorrect.cpp: Fix bug #408
+	-  Color correct fails in Cairo
 
-	* synfig-core/src/synfig/renddesc.cpp,
-	synfig-core/src/synfig/renddesc.h: Add two new members to RendDesc
-	to get and set the duration of the animation. Setting the duration
-	modifies the end time respecting the start time.
+2013-04-27  Carlos Lopez <genetita at gmail.com>
 
-2012-04-29  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/warp.cpp: Fix bug #395  -  Cubic
+	and Linar sampling fails in CairoSurface.  The cubic subsampling
+	still having minor render artifacts on Curve warp layer. On the
+	other hand Warp layer cubic sampling is fine.
 
-	* synfig-core/src/synfig/target_scanline.cpp,
-	synfig-core/src/synfig/target_tile.cpp: Rearrange code. No changes.
+2013-04-27  Carlos Lopez <genetita at gmail.com>
 
-2012-04-29  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/context.cpp: Fix bug #406  -  Straight
+	blend method with alpha <1.0 fails in Cairo mode in tile render
 
-	* synfig-core/src/synfig/target.cpp,
-	synfig-core/src/synfig/target.h,
-	synfig-core/src/synfig/target_scanline.cpp,
-	synfig-core/src/synfig/target_scanline.h,
-	synfig-core/src/synfig/target_tile.cpp,
-	synfig-core/src/synfig/target_tile.h: Fix bug ID: 2684968: render is
-	one frame short.
+2013-04-27  Carlos Lopez <genetita at gmail.com>
 
-2012-04-28  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/layer_pastecanvas.cpp: Don't leave cairo
+	surfaces not destroyed.
 
-	* synfig-core/src/synfig/target.cpp,
-	synfig-core/src/synfig/target.h,
-	synfig-core/src/synfig/target_scanline.cpp,
-	synfig-core/src/synfig/target_scanline.h,
-	synfig-core/src/synfig/target_tile.cpp,
-	synfig-core/src/synfig/target_tile.h: Use same next_frame method for
-	both scan and tile targets
+2013-04-27  Carlos Lopez <genetita at gmail.com>
 
-2012-04-17  Carlos López <carlos at iMac.local>
+	* synfig-core/src/synfig/canvas.cpp,
+	synfig-core/src/synfig/canvas.h: Add debug function to show
+	optimized canvas structure
 
-	* synfig-core/src/modules/mod_png/mptr_png.cpp,
-	synfig-core/src/synfig/valuenode.cpp: Avoid some compiler warnings
+2013-04-26  Carlos Lopez <genetita at gmail.com>
 
-2012-04-12  Carlos López <carlos at iMac.local>
+	* synfig-core/src/modules/lyr_std/shade.cpp: Fix bug  #407  -
+	Navigator blinks when scrubbing the timeline.
 
-	* synfig-core/synfig-core.xcodeproj/config.h,
-	synfig-core/synfig-core.xcodeproj/darco.mode1,
-	synfig-core/synfig-core.xcodeproj/darco.pbxuser,
-	synfig-core/synfig-core.xcodeproj/project.pbxproj: Remove old and
-	unused xcode project files
+2013-04-25  Carlos Lopez <genetita at gmail.com>
 
-2012-04-09  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/loadcanvas.cpp: Fix more missing renamed
+	strings
 
-	* synfig-core/NEWS, synfig-core/configure.ac: Release Synfig and
-	Synfig Studio 0.63.05 and ETL 0.04.15
+2013-04-25  Carlos Lopez <genetita at gmail.com>
 
-2012-04-09  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_particle/plant.cpp,
+	synfig-core/src/synfig/valuenode_composite.cpp: Fix bug #364: Bad
+	string (duck) in setup dialog / misc. tab Also fixed some more
+	missing modified strings
 
-	* synfig-core/README: Update README
+2013-04-25  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2012-04-07  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/keyframe.cpp,
+	synfig-core/src/synfig/keyframe.h,
+	synfig-core/src/synfig/loadcanvas.cpp: Add my copyright
 
-	* synfig-core/po/es.po, synfig-core/po/fa_IR.po,
-	synfig-core/po/fr.po, synfig-core/po/no_NO.po,
-	synfig-core/po/ru.po, synfig-core/po/sk_SK.po: Correct po files
-	headers.
+2012-06-26  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2012-04-07  Yu Chen <jcomee at gmail.com>
+	* synfig-core/src/synfig/keyframe.cpp,
+	synfig-core/src/synfig/keyframe.h: Fix keyframe selection in
+	keyframe widget
 
-	* synfig-core/po/fa_IR.po: Typo
+2012-06-26  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2012-04-07  Yu Chen <jcomee at gmail.com>
+	* synfig-core/src/synfig/keyframe.cpp: Ignore deactivated keyframes.
+	Selection on keyframes widget is broken.
 
-	* synfig-core/po/de.po, synfig-core/po/el_GR.po,
-	synfig-core/po/en_GB.po, synfig-core/po/es.po,
-	synfig-core/po/fa_IR.po, synfig-core/po/fr.po,
-	synfig-core/po/it.po, synfig-core/po/lt.po, synfig-core/po/nl.po,
-	synfig-core/po/no_NO.po, synfig-core/po/pl_PL.po,
-	synfig-core/po/pt_BR.po, synfig-core/po/ro.po,
-	synfig-core/po/ru.po, synfig-core/po/sk_SK.po,
-	synfig-core/po/zh_CN.po: Apply lastest translations
+2012-06-24  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2012-04-05  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/loadcanvas.cpp: Fix loading of keyframe
+	state
 
-	* synfig-core/src/modules/mod_magickpp/trgt_magickpp.cpp: MagickTrue
-	needs its namespace specification on the current compiler.
+2012-06-24  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2012-04-05  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/keyframe.cpp: Make sure to initialize
+	keyframe state.
 
-	* synfig-core/configure.ac: Bump for RC1
+2012-06-21  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2012-04-05  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/keyframe.cpp,
+	synfig-core/src/synfig/keyframe.h,
+	synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/savecanvas.cpp: Core implementation of
+	disabled keyframes.
 
-	* synfig-core/src/synfig/releases.h: Bump release number on the save
-	as dialogue
+2013-04-23  Carlos Lopez <genetita at gmail.com>
 
-2012-04-03  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/cairo_operators.cpp: Fix bug #399: Cairo
+	render crashes with several blend modes in non debug.
 
-	* synfig-core/AUTHORS, synfig-core/NEWS: Update NEWS and AUTHORS
+2013-04-21  Carlos Lopez <genetita at gmail.com>
 
-2012-03-29  Diego Barrios Romero <eldruin at eldruin.com>
+	* : Apply Enhancement #18: CLI revamp. Author Diego Barrios
+	(eldruin)
 
-	* synfig-core/src/tool/main.cpp: Standarised sequence separator
-	parameter format
+2013-04-21  Diego Barrios Romero <eldruin at eldruin.com>
 
-2012-03-28  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/optionsprocessor.cpp: Fixed span option value
+	retrieval
 
-	* synfig-core/src/modules/lyr_std/zoom.cpp: Fix typos and mispelling
-	on various messages. Patch thanks to Bertand Gregorie
+2013-04-21  Diego Barrios Romero <eldruin at eldruin.com>
 
-2012-03-28  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp,
+	synfig-core/src/tool/optionsprocessor.cpp: Changed type of values
+	for time-related options to string In order to support unities together with the numbers, e.g. 1f and
+	decimal values.
 
-	* : commit 5101df0080b9e821193d7555275b6501c2da6f69 Author: Carlos
-	Lopez <genetita at gmail.com> Date:   Wed Mar 28 16:02:45 2012 +0200
+2013-04-21  Diego Barrios Romero <eldruin at eldruin.com>
 
-2012-03-28  Diego Barrios Romero <eldruin at eldruin.com>
+	* synfig-core/src/tool/main.cpp: Fixed assign RendDesc to job
 
-	* synfig-core/src/synfig/palette.cpp: Built-in GPL import gamma
-	color correction replacement
+2013-04-21  Diego Barrios Romero <eldruin at eldruin.com>
 
-2012-03-28  Diego Barrios Romero <eldruin at eldruin.com>
+	* synfig-core/src/tool/optionsprocessor.cpp: Corrected value
+	retrieval on FPS option
 
-	* synfig-core/src/synfig/palette.cpp: Improved GPL format support,
-	bugs corrected
+2013-04-21  Carlos Lopez <genetita at gmail.com>
 
-2012-03-26  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/warp.cpp,
+	synfig-core/src/modules/lyr_std/warp.h: Fix bug #372: Warp Layer not
+	implemented in Cairo
 
-	* : commit fe9d3892924caa907f3afc245417d7464e540652 Merge: 9fcbd0e
-	788abf6 Author: Diego Barrios Romero <eldruin at eldruin.com> Date:
-	Fri Mar 16 17:08:44 2012 +0100
+2013-04-20  Carlos Lopez <genetita at gmail.com>
 
-2012-03-16  Diego Barrios Romero <eldruin at eldruin.com>
+	* synfig-core/src/modules/lyr_std/bevel.cpp,
+	synfig-core/src/modules/lyr_std/shade.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/region.cpp,
+	synfig-core/src/synfig/color.cpp,
+	synfig-core/src/synfig/layer_polygon.cpp: Apply same fix than
+	previous commit in several places.
 
-	* synfig-core/src/synfig/palette.cpp: Reworked and applied patch
-	#3505969. GIMP/Inkscape palette load support.  Thanks to Bertrand
-	Grégoire!
+2013-04-20  Carlos Lopez <genetita at gmail.com>
 
-2012-03-15  Diego Barrios Romero <eldruin at eldruin.com>
+	* synfig-core/src/modules/mod_geometry/outline.cpp: Fix bug #388:
+	Feathered outlines doesn't show in Navigator and Cairo render
 
-	* synfig-core/src/synfig/color.h: Pixel format color transformation
-	correction The methods SetZ and GetZ don't exist and haven't ever existed as
-	far as the repository history goes.  Whoever corrected the lines
-	forgot to delete the pointer in the increments
+2013-04-19  Carlos Lopez <genetita at gmail.com>
 
-2012-03-14  Diego Barrios Romero <eldruin at eldruin.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/outline.cpp,
+	synfig-core/src/modules/mod_geometry/region.cpp,
+	synfig-core/src/synfig/layer_polygon.cpp: Fix bug 385: Feathered
+	shapes render is affected by render tile mode in Cairo
 
-	* synfig-core/src/synfig/valuenode.cpp: Corrected loop condition As it was, it's possible that the received i is bigger than the
-	number of elements in vocab, therefore, trying to increment the
-	iterator beyond its limits and later trying to access a method of an
-	inexistent element.
+2013-04-18  Carlos Lopez <genetita at gmail.com>
 
-2012-03-14  Diego Barrios Romero <eldruin at eldruin.com>
+	* synfig-core/src/synfig/color.cpp: CairoColor: add specialization
+	for Blend mode ALPHA_OVER and HARD_LIGHT
 
-	* synfig-core/src/synfig/valuenode.cpp,
-	synfig-core/src/synfig/valuenode.h: Proper inherited function
-	overload
+2013-04-18  Carlos Lopez <genetita at gmail.com>
 
-2012-03-14  Diego Barrios Romero <eldruin at eldruin.com>
+	* synfig-core/src/synfig/color.cpp: CairoColor: add specialization
+	for Blend mode COLOR, HUE, SATURATION, LUMINANCE and BEHIND
 
-	* synfig-core/src/synfig/valuenode.cpp: Assignation return value as
-	condition in loop
+2013-04-17  Carlos Lopez <genetita at gmail.com>
 
-2012-03-14  Diego Barrios Romero <eldruin at eldruin.com>
+	* synfig-core/src/synfig/color.cpp: Fix blend method DIVIDE for
+	CairoColor.
 
-	* synfig-core/src/synfig/dashitem.cpp,
-	synfig-core/src/synfig/gradient.cpp,
-	synfig-core/src/synfig/layer_bitmap.cpp,
-	synfig-core/src/synfig/layer_bitmap.h,
-	synfig-core/src/synfig/target.h, synfig-core/src/synfig/value.h: 
-	Stupid mistakes
+2013-04-16  Carlos Lopez <genetita at gmail.com>
 
-2012-03-14  Diego Barrios Romero <eldruin at eldruin.com>
+	* synfig-core/src/synfig/color.cpp: Fix blend method DIFFERENCE for
+	CairoColor.
 
-	* synfig-core/src/synfig/valuenode_range.cpp: Unused variable
-	commented out
+2013-04-16  Carlos Lopez <genetita at gmail.com>
 
-2012-03-13  Diego Barrios Romero <eldruin at eldruin.com>
+	* synfig-core/src/synfig/color.cpp: Fix blend method SUBTRACT for
+	CairoColor.
 
-	* synfig-core/src/synfig/canvas.h, synfig-core/src/synfig/color.h,
-	synfig-core/src/synfig/guidset.h,
-	synfig-core/src/synfig/loadcanvas.cpp,
-	synfig-core/src/synfig/vector.h: Apply patch #3424218 partially. Fix
-	compiling issues with clang compiler Thanks to Hisashi Todd Fujinaka
+2013-04-16  Carlos Lopez <genetita at gmail.com>
 
-2012-03-15  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/color.cpp: Fix blend method ADD for
+	CairoColor.
 
-	* synfig-core/src/modules/mod_magickpp/trgt_magickpp.cpp: Additional
-	fix to be able to build on Ubuntu 12.04
+2013-04-16  Carlos Lopez <genetita at gmail.com>
 
-2012-03-13  Diego Barrios Romero <eldruin at eldruin.com>
+	* synfig-core/src/synfig/cairo_operators.cpp,
+	synfig-core/src/synfig/color.cpp: Fix blend method DARKEN for
+	CairoColor.
 
-	* synfig-core/src/tool/Makefile.am, synfig-core/src/tool/job.cpp,
-	synfig-core/src/tool/job.h, synfig-core/src/tool/main.cpp: File
-	loading taken out of job struct
+2013-04-16  Carlos Lopez <genetita at gmail.com>
 
-2012-03-13  Diego Barrios Romero <eldruin at eldruin.com>
+	* synfig-core/src/synfig/color.cpp: Fix blend method BRIGHTEN for
+	CairoColor.
 
-	* synfig-core/src/tool/main.cpp: No gamma warning if not given
-	parameter
+2013-04-16  Carlos Lopez <genetita at gmail.com>
 
-2012-03-13  Diego Barrios Romero <eldruin at eldruin.com>
-
-	* synfig-core/src/tool/main.cpp: Rendering options
+	* synfig-core/src/synfig/color.cpp: CairoColor: add specialization
+	for Blend mode STRAIGHT ONTO
 
-2012-03-13  Diego Barrios Romero <eldruin at eldruin.com>
+2013-04-14  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/main.cpp: Verbosity parameter description
+	* synfig-core/src/synfig/cairo_operators.cpp,
+	synfig-core/src/synfig/color.cpp: Fix blend method OVERLAY for
+	CairoColor. Add methods for ONTO and SCREEN fro CairoColor
 
-2012-03-13  Diego Barrios Romero <eldruin at eldruin.com>
+2013-04-14  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/main.cpp: Input file positional option
+	* synfig-core/src/synfig/color.cpp: CairoColor: add specialization
+	for Blend mode STRAIGHT
 
-2012-03-13  Diego Barrios Romero <eldruin at eldruin.com>
+2013-04-14  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/main.cpp: Code blanks
+	* synfig-core/src/synfig/color.cpp: Fix blend method COMPOSITE for
+	CairoColor.
 
-2012-03-13  Diego Barrios Romero <eldruin at eldruin.com>
+2013-04-14  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/main.cpp: Debug info
+	* synfig-core/src/synfig/color.cpp: Fix blend method MULTIPLY for
+	CairoColor.
 
-2012-03-13  Diego Barrios Romero <eldruin at eldruin.com>
+2013-04-14  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/main.cpp: Quality option
+	* synfig-core/src/synfig/color.cpp: Remove unused variables
 
-2012-03-01  Carlos Lopez <genetita at gmail.com>
+2013-04-13  Diego Barrios Romero <eldruin at eldruin.com>
 
-	* synfig-core/src/modules/mod_magickpp/trgt_magickpp.h: Fix typo
-	error.
+	* synfig-core/configure.ac: Remove Boost::Program Options dependency
+	for synfig library Boost Program Options is just a dependency of the synfig cli and so,
+	it is not required when linking against the synfig library.
 
-2012-02-26  Diego Barrios Romero <eldruin at eldruin.com>
+2013-04-13  Diego Barrios Romero <eldruin at eldruin.com>
 
-	* synfig-core/src/tool/main.cpp: Target creation - Rendering
-	possible
+	* : commit b2a79a3cfbb47a6424b1a3afff0206e20e3ca5c0 Author: Carlos
+	Lopez <genetita at gmail.com> Date:   Thu Apr 11 18:31:18 2013 +0200
 
-2012-02-26  Diego Barrios Romero <eldruin at eldruin.com>
+2013-04-08  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/main.cpp: output figure out and check
+	* synfig-core/src/modules/mod_noise/distort.cpp,
+	synfig-core/src/modules/mod_noise/distort.h: New member
+	get_cairo_color for NoiseDistort
 
-2012-02-26  Diego Barrios Romero <eldruin at eldruin.com>
+2013-04-08  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/main.cpp: figure out target
+	* synfig-core/src/modules/mod_example/metaballs.cpp,
+	synfig-core/src/modules/mod_example/metaballs.h: New member
+	get_cairocolor for Metaballs
 
-2012-02-26  Diego Barrios Romero <eldruin at eldruin.com>
+2013-04-08  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/main.cpp: output filename option
+	* synfig-core/src/modules/mod_noise/noise.cpp,
+	synfig-core/src/modules/mod_noise/noise.h: Noise: add new member
+	get_cairocolor to make possible render it in Cairo.
 
-2012-02-26  Diego Barrios Romero <eldruin at eldruin.com>
+2013-04-08  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/main.cpp: threads option
+	* synfig-core/src/synfig/color.cpp: CairoColor: add specialization
+	for Blend mode COMPOSITE
 
-2012-02-26  Diego Barrios Romero <eldruin at eldruin.com>
+2013-04-08  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/main.cpp: Target option
+	* synfig-core/src/modules/mod_geometry/checkerboard.cpp: Fix bug
+	#371  -  Checkerboard layer renders darker with alpha < 0 in Cairo
 
-2012-02-26  Diego Barrios Romero <eldruin at eldruin.com>
+2013-04-07  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/main.cpp: better variable naming
+	* synfig-core/src/synfig/layer_pastecanvas.cpp: Fix bug #366: Cairo
+	render: Group layer doesn't render its context when its content
+	doesn't overlap.
 
-2012-02-25  Diego Barrios Romero <eldruin at eldruin.com>
+2013-04-06  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/main.cpp: Common input file loading
+	* synfig-core/configure.ac,
+	synfig-core/src/modules/mod_png/mptr_cairo_png.h,
+	synfig-core/src/synfig/cairo_operators.h,
+	synfig-core/src/synfig/cairoimporter.h,
+	synfig-core/src/synfig/layer.h,
+	synfig-core/src/synfig/layer_composite.h,
+	synfig-core/src/synfig/render.h, synfig-core/src/synfig/surface.h,
+	synfig-core/src/synfig/target_cairo.h,
+	synfig-core/src/synfig/target_cairo_tile.h: Synfig core doesn't
+	depend on Cairomm
 
-2012-02-25  Diego Barrios Romero <eldruin at eldruin.com>
+2013-04-01  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/main.cpp: Append option
+	* synfig-core/src/modules/mod_geometry/main.cpp: Fix bug #359: walk
+	example compatibility issues.  The last terminology change made a
+	rename from BLine to Spline. It cannot be done for the alias of old
+	layers. I've restored the Layer alias.
 
-2012-02-17  Diego Barrios Romero <eldruin at eldruin.com>
+2013-04-01  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/main.cpp: Internationalized strings
+	* : commit 537a28de407a6e561e9a32e7a9cf48398304b250 Author: Carlos
+	Lopez <genetita at gmail.com> Date:   Mon Apr 1 17:06:21 2013 +0200
 
-2012-02-13  Diego Barrios Romero <eldruin at eldruin.com>
+2013-03-30  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/main.cpp: Append option
+	* synfig-core/src/synfig/target_cairo.cpp,
+	synfig-core/src/synfig/target_cairo_tile.cpp,
+	synfig-core/src/synfig/target_scanline.cpp,
+	synfig-core/src/synfig/target_tile.cpp: Fix bug #358: Png import
+	falls on Cairo.  This commit: When rendering set the render method
+	before set the time to allow the Import layer to correctly set the
+	time based on the render method.
 
-2012-02-13  Diego Barrios Romero <eldruin at eldruin.com>
+2013-03-30  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/main.cpp: Main updated to new job methods
+	* synfig-core/src/modules/mod_png/mptr_cairo_png.cpp: When creating
+	a png Cairo importer don't check f the Cairo surface is existent. It
+	is not.
 
-2012-02-13  Diego Barrios Romero <eldruin at eldruin.com>
+2013-03-30  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/job.cpp, synfig-core/src/tool/job.h: Filename
-	and root canvas handle privatized preventing inconsistencies Since the inclusion of the load_file method, it would be inconsisent
-	if the file for the job, and its opened root canvas pointer were
-	externally changed. Hence privatized and const accesor methods were
-	implemented.
+	* synfig-core/src/modules/lyr_std/import.cpp: Do not map twice the
+	CairoSurface. It is already done at Layer_Bitmap
 
-2012-02-13  Diego Barrios Romero <eldruin at eldruin.com>
+2013-03-28  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/job.cpp: Job default values
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h: Add basic
+	support to render Advanced Outlines in Cairo
 
-2012-02-13  Diego Barrios Romero <eldruin at eldruin.com>
+2013-03-26  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/job.cpp: Some Job class documentation
+	* synfig-core/src/modules/mod_geometry/checkerboard.cpp: Fix bug
+	#354: Layer Checkerboard renders wrong in Cairo mode for Tile render
+	and Preview
 
-2012-02-13  Diego Barrios Romero <eldruin at eldruin.com>
+2013-03-26  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/Makefile.am,
-	synfig-core/src/tool/definitions.h, synfig-core/src/tool/main.cpp,
-	synfig-core/src/tool/printing_functions.cpp,
-	synfig-core/src/tool/printing_functions.h: Separating printing
-	functions
+	* synfig-core/src/synfig/renddesc.cpp,
+	synfig-core/src/synfig/renddesc.h: New function to set top left and
+	bottom right corners of the render description at the same time. In
+	some cases set the top left only or the bottom right only can lead
+	to a width and/or height of zero although the final tl and br are
+	legal.
 
-2012-02-13  Diego Barrios Romero <eldruin at eldruin.com>
+2013-03-25  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/job.cpp, synfig-core/src/tool/job.h: 
-	Splitting job class methods
+	* synfig-core/src/modules/mod_geometry/circle.cpp: Fixes bug #355:
+	Inverted feathered circle crash on Cairo render
 
-2012-02-13  Carlos Lopez <genetita at gmail.com>
+2013-03-25  Carlos Lopez <genetita at gmail.com>
 
-	* : commit dc9371dad09e4eb0bc759646c623830f616766a3 Merge: fef35fa
-	827b122 Author: Carlos Lopez <genetita at gmail.com> Date:   Mon Feb 13
-	13:53:36 2012 +0100
+	* synfig-core/src/modules/mod_gradient/conicalgradient.cpp: Fixes
+	bug #356 : Cairo render: Conical gradient fails render if gradient
+	is just to Color Stops
 
-2012-02-13  Carlos Lopez <genetita at gmail.com>
+2013-03-25  Carlos Lopez <genetita at gmail.com>
 
-	* : commit abdf75098247e7dd204c05b1176c4cdd18526ce8 Author: Diego
-	Barrios Romero <eldruin at eldruin.com> Date:   Sun Feb 12 21:34:24
-	2012 +0100
+	* synfig-core/src/synfig/target_cairo_tile.h: Add tile member
+	function doesn't need to pass a reference to a pointer.
 
-2012-02-12  Diego Barrios Romero <eldruin at eldruin.com>
+2013-03-24  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/job.h, synfig-core/src/tool/main.cpp: Adding
-	canvas-info option. File loads moved to a method in Job class
+	* synfig-core/src/synfig/surface.cpp: Fix old bug that doesn't map
+	or unmap the Cairo surface correctly. This was causing major
+	problems with the layers that do raster operations. Now it is fixed
+	finally! Yeah!
 
-2012-02-12  Diego Barrios Romero <eldruin at eldruin.com>
+2013-03-15  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/main.cpp: Adding list-canvases option.  The function list_child_canvases has been renamed to
-	print_child_canvases for more name consistency
+	* synfig-core/src/synfig/surface.cpp: Fix wrong comparison that were
+	giving problems in Cairo render
 
-2012-02-12  Diego Barrios Romero <eldruin at eldruin.com>
+2012-06-21  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/src/tool/main.cpp: Adding layer-info option
+	* synfig-core/.anjuta/session/anjuta.session,
+	synfig-core/synfig-core.anjuta: Anjuta IDE configuration
 
-2012-02-12  Diego Barrios Romero <eldruin at eldruin.com>
+2013-03-14  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/main.cpp: Adding layers, modules, targets,
-	valuenodes and importers options
+	* : commit bf2f88ef50c40abc58d2ac3b39504486cb8c9057 Author:
+	Konstantin Dmitriev <ksee.zelgadis at gmail.com> Date:   Wed Mar 13
+	16:37:42 2013 +0700
 
-2012-02-12  Diego Barrios Romero <eldruin at eldruin.com>
+2013-03-12  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/main.cpp: Adding target-video-codecs option
+	* synfig-core/src/synfig/target_cairo_tile.h: add_tile now receives
+	a reference to a cairo_surface_t pointer
 
-2012-02-12  Diego Barrios Romero <eldruin at eldruin.com>
+2013-03-10  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/definitions.h, synfig-core/src/tool/main.cpp: 
-	Adding info, version and license. License text moved to definitions
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/target_cairo_tile.cpp: New class
+	WorkAreaTarget_Cairo_Tile to render on work area using Cairo tile
+	render.  Fix compile error from previous commit.
 
-2012-02-12  Diego Barrios Romero <eldruin at eldruin.com>
+2013-03-10  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/main.cpp: Adding debug options and functions
+	* synfig-core/src/synfig/target_cairo.cpp,
+	synfig-core/src/synfig/target_cairo_tile.cpp,
+	synfig-core/src/synfig/target_cairo_tile.h: Use start_frame and
+	end_frame for the Target_Cairo_Tile class instead of the obtain
+	surface and put surface. The pure virtual member add_tile would take
+	care of each rendered tile instead of put surface.
 
-2012-02-12  Diego Barrios Romero <eldruin at eldruin.com>
+2013-03-10  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/tool/Makefile.am, synfig-core/src/tool/main.cpp,
-	synfig-core/src/tool/named_type.h: Base for the synfig-tool
-	reimplementation using boost::program_options
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/target_cairo_tile.cpp,
+	synfig-core/src/synfig/target_cairo_tile.h: New class
+	Target_Cairo_Tile to render using Cairo and tile mode.
 
-2012-02-11  Diego Barrios Romero <eldruin at eldruin.com>
+2013-03-10  Carlos Lopez <genetita at gmail.com>
 
-	* : commit 04937a767ac2f19e0453aebd445661ac0f3fd3b3 Author: Carlos
-	Lopez <genetita at gmail.com> Date:   Sat Feb 11 13:11:11 2012 +0100
+	* synfig-core/src/synfig/target_tile.cpp: Minor comments
 
-2012-02-11  Carlos Lopez <genetita at gmail.com>
+2013-03-01  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_bmp/trgt_bmp.cpp,
-	synfig-core/src/modules/mod_bmp/trgt_bmp.h,
-	synfig-core/src/modules/mod_imagemagick/trgt_imagemagick.cpp,
-	synfig-core/src/modules/mod_imagemagick/trgt_imagemagick.h,
-	synfig-core/src/modules/mod_jpeg/trgt_jpeg.cpp,
-	synfig-core/src/modules/mod_jpeg/trgt_jpeg.h,
-	synfig-core/src/modules/mod_magickpp/trgt_magickpp.cpp,
-	synfig-core/src/modules/mod_magickpp/trgt_magickpp.h,
-	synfig-core/src/modules/mod_openexr/trgt_openexr.cpp,
-	synfig-core/src/modules/mod_openexr/trgt_openexr.h,
-	synfig-core/src/modules/mod_ppm/trgt_ppm.cpp,
-	synfig-core/src/modules/mod_ppm/trgt_ppm.h: Allow to use custom
-	sequence separator for other targets than png which uses image
-	sequence.
+	* synfig-core/src/synfig/target_cairo.cpp: Fix bug: when requested
+	to render only one frame it wrongly renders the frame at time t=0.
+	With the fix it renders the correct requested frame.
 
-2012-02-10  Carlos Lopez <genetita at gmail.com>
+2013-02-28  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_png/trgt_png.cpp,
-	synfig-core/src/modules/mod_png/trgt_png.h,
-	synfig-core/src/synfig/targetparam.h: For png target use the
-	sequence separator string.
-
-2012-02-08  Carlos Lopez <genetita at gmail.com>
-
-	* synfig-core/NEWS, synfig-core/README: Update NEWS README and
-	AUTHORS. Release Synfig 0.63.04
+	* synfig-core/src/synfig/target_cairo.h: Make
+	Target_Cairo::gamma_filter static to be used without instance.
 
-2012-02-08  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2013-02-28  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/configure.ac: Splash screen
+	* synfig-core/src/modules/mod_png/trgt_cairo_png.cpp,
+	synfig-core/src/modules/mod_png/trgt_cairo_png.h,
+	synfig-core/src/synfig/target_cairo.cpp,
+	synfig-core/src/synfig/target_cairo.h: Moves gamma filter to
+	Target_Cairo for reusability
 
-2012-02-07  Carlos Lopez <genetita at gmail.com>
+2013-02-27  Carlos Lopez <genetita at gmail.com>
 
-	* : commit 832a8e78d2e7fd8267fa65bc4b0fd1f27dcf4e7a Author: Carlos
-	Lopez <genetita at gmail.com> Date:   Tue Feb 7 19:21:10 2012 +0100
+	* synfig-core/src/synfig/surface.cpp,
+	synfig-core/src/synfig/surface.h: New target2cairo_image class to
+	render to render to image buffer (ARGB32)
 
-2012-02-07  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2013-02-17  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/po/it.po: Update Italian translation
+	* synfig-core/src/modules/lyr_std/curvewarp.cpp,
+	synfig-core/src/synfig/valuenode_blinecalctangent.cpp,
+	synfig-core/src/synfig/valuenode_blinecalcvertex.cpp,
+	synfig-core/src/synfig/valuenode_composite.cpp: Replace BLine by
+	Spline in more places. Make "NewSpline" translatable.
 
-2012-02-07  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2013-02-05  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/po/ru.po: Translations - fix errors found by "msgfmt
-	-c".
+	* synfig-core/m4/ax_boost_base.m4,
+	synfig-core/m4/ax_boost_program_options.m4: Replace macros for Boost
+	libraries by newer versions from
+	http://www.gnu.org/software/autoconf-archive/index.html.  Fixes
+	configuration on OSX
 
-2012-02-07  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2012-09-23  Diego Barrios Romero <eldruin at eldruin.com>
 
-	* synfig-core/po/de.po, synfig-core/po/el_GR.po,
-	synfig-core/po/en_GB.po, synfig-core/po/es.po,
-	synfig-core/po/fa_IR.po, synfig-core/po/fr.po,
-	synfig-core/po/it.po, synfig-core/po/lt.po, synfig-core/po/nl.po,
-	synfig-core/po/no_NO.po, synfig-core/po/pl_PL.po,
-	synfig-core/po/pt_BR.po, synfig-core/po/ro.po,
-	synfig-core/po/ru.po, synfig-core/po/sk_SK.po,
-	synfig-core/po/zh_CN.po: Update translations
+	* synfig-core/configure.ac, synfig-core/m4/ax_boost_base.m4,
+	synfig-core/m4/ax_boost_program_options.m4,
+	synfig-core/src/tool/Makefile.am: Boost: add boost configuration
+	files
 
-2012-02-06  Carlos Lopez <genetita at gmail.com>
+2013-02-03  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/canvas.cpp: Fix wrong canvas reference
+	* : Merge remote-tracking branch 'jcome-synfig/terms_rework_2'
 
-2012-02-06  Carlos Lopez <genetita at gmail.com>
+2013-01-12  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/src/synfig/canvas.cpp,
-	synfig-core/src/synfig/context.cpp: As requested, don't pass the
-	grow value for non in-line canvases.
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/releases.h,
+	synfig-core/src/synfig/valuenode.cpp,
+	synfig-core/src/synfig/valuenode_real.cpp,
+	synfig-core/src/synfig/valuenode_real.h: Add Real convert type,
+	fixes #324 Convert is available for types: Integer, Bool, Angle.  Reverse
+	manipulation supported for Angle handles.
 
-2012-02-06  Carlos Lopez <genetita at gmail.com>
+2013-01-10  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/advanced_outline.h,
-	synfig-core/src/modules/mod_geometry/outline.cpp,
-	synfig-core/src/synfig/canvas.cpp, synfig-core/src/synfig/canvas.h,
-	synfig-core/src/synfig/context.cpp,
-	synfig-core/src/synfig/context.h, synfig-core/src/synfig/layer.cpp,
-	synfig-core/src/synfig/layer.h,
-	synfig-core/src/synfig/layer_pastecanvas.cpp,
-	synfig-core/src/synfig/layer_pastecanvas.h: Add outline grow
-	functionality for in-line, exported and imported canvases.  Known
-	issues: 1) Bounding box is not updated immediately 2) When growing outlines from exported or imported canvases,
-	different outline grow value are not used on different canvas
-	instances. All they share the last rendered instance grow value.
+	* synfig-core/src/synfig/valuenode_scale.cpp,
+	synfig-core/src/synfig/valuenode_scale.h: Enable reverse
+	manipulations of Scale ValueNode for Real type control points
 
-2012-02-06  Diego Barrios Romero <eldruin at eldruin.com>
+2013-01-10  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* : commit fe640cb3403b7172817f66fdeda414b22cfdde37 Author: Carlos
-	Lopez <genetita at gmail.com> Date:   Sun Jan 29 11:05:23 2012 +0100
+	* synfig-core/src/synfig/valuenode_integer.cpp,
+	synfig-core/src/synfig/valuenode_integer.h: Enable reverse
+	manipulations for Integer ValueNode (Real and Angle control points)
 
-2012-01-27  Carlos Lopez <genetita at gmail.com>
+2013-01-10  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/advanced_outline.h,
-	synfig-core/src/modules/mod_geometry/outline.cpp,
-	synfig-core/src/modules/mod_geometry/outline.h,
-	synfig-core/src/synfig/canvas.cpp,
-	synfig-core/src/synfig/context.cpp,
-	synfig-core/src/synfig/context.h,
-	synfig-core/src/synfig/layer_pastecanvas.cpp,
-	synfig-core/src/synfig/layer_pastecanvas.h: Revert changes from
-	outline grow development.  I've not found a way to avoid endless
-	loop for exported or imported canvas parameter.
+	* synfig-core/src/synfig/valuenode.cpp,
+	synfig-core/src/synfig/valuenode_integer.cpp: Fix and enable Integer
+	convert type
 
-2012-01-23  Carlos Lopez <genetita at gmail.com>
+2012-12-06  Carlos Lopez <genetita at gmail.com>
 
-	* : commit ffb4e0bf00ab1514ba66f279d043759e36d2a4c3 Merge: 68f4e27
-	ede8a36 Author: Carlos Lopez <genetita at gmail.com> Date:   Mon Jan 23
-	20:50:17 2012 +0100
+	* synfig-core/src/modules/mod_png/mptr_cairo_png.cpp,
+	synfig-core/src/synfig/cairoimporter.cpp: CairoImporter: set the
+	default gamma to 2.2 to match the current status. It has of be fixed
+	some day. :-/ Add code to modify the gamma of the imported image to
+	match the gamma of the application.
 
-2012-01-23  Carlos Lopez <genetita at gmail.com>
+2012-12-06  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_pastecanvas.cpp: Don't pass the grow
-	parameter to exported or imported canvases. It causes further
-	problems not solved.
+	* synfig-core/src/synfig/layer_bitmap.cpp: Layer_Bitmap: fix
+	translation and scale of the bitmap to render.
 
-2012-01-19  Carlos Lopez <genetita at gmail.com>
+2012-11-30  Yu Chen <jcomee at gmail.com>
 
-	* synfig-core/src/synfig/canvas.cpp: When looking up a canvas
-	consider current canvas as candidate.
+	* synfig-core/src/synfig/value.cpp: Rename type local name:
+	bline_point to spline_point for UI
 
-2012-01-17  Carlos Lopez <genetita at gmail.com>
+2012-11-30  Yu Chen <jcomee at gmail.com>
 
-	* synfig-core/src/synfig/layer_pastecanvas.cpp,
-	synfig-core/src/synfig/layer_pastecanvas.h: Add new width grow non
-	critical hidden parameter to the Paste Canvas layer to recursively
-	pass the width to its children layers.
+	* synfig-core/src/synfig/value.cpp: Make type_local_name
+	translatable and type_name untranslatable
 
-2012-01-17  Carlos Lopez <genetita at gmail.com>
+2012-11-30  Yu Chen <jcomee at gmail.com>
 
 	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/outline.cpp: Prepare the
-	dynamic parameter at construction time
+	synfig-core/src/modules/mod_geometry/main.cpp,
+	synfig-core/src/modules/mod_geometry/outline.cpp,
+	synfig-core/src/modules/mod_geometry/region.cpp,
+	synfig-core/src/modules/mod_gradient/curvegradient.cpp,
+	synfig-core/src/modules/mod_particle/plant.cpp,
+	synfig-core/src/synfig/valuenode.cpp,
+	synfig-core/src/synfig/valuenode_bline.cpp,
+	synfig-core/src/synfig/valuenode_blinecalctangent.cpp,
+	synfig-core/src/synfig/valuenode_blinecalcvertex.cpp,
+	synfig-core/src/synfig/valuenode_blinecalcwidth.cpp: Rename bline to
+	spline for UI
 
-2012-01-17  Carlos Lopez <genetita at gmail.com>
+2012-11-30  Yu Chen <jcomee at gmail.com>
 
-	* synfig-core/src/synfig/canvas.cpp,
-	synfig-core/src/synfig/context.cpp,
-	synfig-core/src/synfig/context.h: Use a more general way to pass the
-	parameter to the context
+	* synfig-core/src/synfig/layer_pastecanvas.cpp: Rename inline/pasted
+	canvas to group for UI: rename inline canvas layer to group layer,
+	rename pasted canvas layer to group layer, rename canvas parameter
+	value from pasted canvas to group.
 
-2012-01-17  Carlos Lopez <genetita at gmail.com>
+2012-11-29  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix the
-	same issue for Advanced Outlines
+	* synfig-core/src/modules/lyr_std/import.cpp,
+	synfig-core/src/modules/lyr_std/import.h,
+	synfig-core/src/modules/mod_png/Makefile.am,
+	synfig-core/src/modules/mod_png/main.cpp,
+	synfig-core/src/modules/mod_png/mptr_cairo_png.cpp,
+	synfig-core/src/modules/mod_png/mptr_cairo_png.h,
+	synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/cairoimporter.cpp,
+	synfig-core/src/synfig/cairoimporter.h,
+	synfig-core/src/synfig/main.cpp, synfig-core/src/synfig/module.h,
+	synfig-core/src/tool/main.cpp: Cairo Import: Initial version of add
+	support for importers in Cairo render. Still have bugs because the
+	image is not displayed with the correct gamma (still hardcoded) and
+	the size and position of the loaded image is incorrect.
 
-2012-01-16  Carlos Lopez <genetita at gmail.com>
+2012-11-29  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/outline.cpp: Don't add a new
-	ValueNode each time because it marks the layer as dirty and the
-	update cycle runs indefinitely.
+	* synfig-core/src/modules/lyr_std/import.cpp,
+	synfig-core/src/modules/lyr_std/import.h: Importer: prepare
+	infrastructure to receive use the render method with the new
+	CairoImporter class.
 
-2012-01-16  Carlos Lopez <genetita at gmail.com>
+2012-11-29  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/context.cpp: Remove Writer Lock
+	* synfig-core/src/synfig/layer_bitmap.cpp: Layer_Bitmap: as per
+	previous commit, there is not need to unmap here.
 
-2012-01-15  Carlos Lopez <genetita at gmail.com>
+2012-11-29  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/advanced_outline.h,
-	synfig-core/src/modules/mod_geometry/outline.cpp,
-	synfig-core/src/synfig/context.cpp: Add width grow parameter to
-	Advanced Outline and allow Context to pass it to that type of layer.
+	* synfig-core/src/synfig/surface.cpp,
+	synfig-core/src/synfig/surface.h: CairoSurface: when the
+	CairoSurface receives a pointer to a cairo_surface_t and it is null
+	then don't throw a message error. Instead set it to the current
+	cairo_surface_t.  In any case when the new cairo_surface_t pointer
+	is received the previous one is unmapped if already is.
 
-2012-01-15  Carlos Lopez <genetita at gmail.com>
+2012-11-29  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/canvas.cpp: When the canvas receive a
-	set_time call and it is root, set the outline grow value to be 0.0
-	(no grow)
+	* synfig-core/src/synfig/target_cairo.cpp: Target_Cairo: Before
+	start render process pass to the context the render method to use.
 
-2012-01-15  Carlos Lopez <genetita at gmail.com>
+2012-11-29  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_pastecanvas.cpp: Paste Canvas layer
-	passes the outline grow parameter to the context at the set_time
-	call.
+	* synfig-core/src/modules/lyr_std/import.h,
+	synfig-core/src/synfig/Makefile.am, synfig-core/src/synfig/layer.h,
+	synfig-core/src/synfig/rendermethod.h: Add RenderMethod enumeration
+	as independent header.
 
-2012-01-15  Carlos Lopez <genetita at gmail.com>
+2012-11-27  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/context.cpp,
-	synfig-core/src/synfig/context.h: Add set_outline_grow member to
-	Context class. It passes the outline grow value to all outline type
-	layers in the context.
+	* synfig-core/src/tool/main.cpp: Revert "Added "Rendering method"
+	command line option" This reverts commit 2bb93e4726a15358514b5daf24bbebaf5fbf86ec.
 
-2012-01-15  Carlos Lopez <genetita at gmail.com>
+2012-11-27  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/outline.cpp,
-	synfig-core/src/modules/mod_geometry/outline.h: Add width_grow
-	parameter to Outline layer. Hidden, not critical.
+	* synfig-core/src/synfig/target.cpp,
+	synfig-core/src/synfig/target.h: Revert "Add a function to set the
+	rending method (Software, OpenGL, or Cairo). Author Nikita Kitaev" This reverts commit d93400389597975e7a04f6f73d1a22c44119ca44.
 
-2012-01-14  Carlos Lopez <genetita at gmail.com>
+2012-11-27  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_pastecanvas.cpp,
-	synfig-core/src/synfig/layer_pastecanvas.h: Add new parameter to
-	Paste Canvas Layer called 'Outline Grow'.
+	* synfig-core/src/synfig/target_scanline.cpp,
+	synfig-core/src/synfig/target_scanline.h: Revert "Target_Scanline:
+	Add a virtual method to create a surface instance. It would use the
+	current render method to decide which type of surface to create. It
+	has to be override by specific targets to make use of the proper
+	surface backend." This reverts commit
+	dcc781c8cb5a2c535404ca44552956b6fc473608.  Current strategy doesn't use that method.
 
-2012-01-13  Carlos Lopez <genetita at gmail.com>
+2012-11-25  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/loadcanvas.cpp: When loading a exported
-	linkable value node consider that the sub parameter can be exported
-	too and so, don't throw the exception.  Only if the sub parameter
-	value node is exported and belong to other canvas then and it is not
-	found, then throw the exception.
+	* synfig-core/src/synfig/cairo_operators.cpp,
+	synfig-core/src/synfig/color.cpp: Cairo Operators: Add support for
+	blend mode BRIGHTEN and DARKEN using a custom blend function.
+	Native Cairo operators didn't give the same result.
 
-2012-01-12  Carlos Lopez <genetita at gmail.com>
+2012-11-25  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/loadcanvas.cpp: When loading a canvas.
-	don't throw an exception when the value node referenced by "use" is
-	not found. Show a message instead and don't load the canvas.
+	* synfig-core/src/synfig/cairo_operators.cpp: Cairo Operators:
+	Improve the method of blending for the supported modes in Cairo.  It
+	uses the push/pop feature which is faster and doesn't use a
+	map/unmap image operation.
 
-2012-01-11  Carlos Lopez <genetita at gmail.com>
+2012-11-24  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/lyr_std/rotate.cpp: Fix bug
-	http://www.pivotaltracker.com/story/show/23212095. If two rotations
-	of 90 and -90 are consecutive the program crashes.
+	* synfig-core/src/synfig/layer_pastecanvas.cpp: Paste Canvas Layer:
+	optimize Cairo render by clipping the canvas context to the bounding
+	box.  With this optimization the Prologue Kid file reduces its
+	render time (without the noise background not implemented yet but
+	with all the layer effects) from 1.08 seconds to 0.19 seconds.
+	Notice that Software render takes 0.185 seconds for the same file.
 
-2012-01-08  Carlos Lopez <genetita at gmail.com>
+2012-11-23  Carlos Lopez <genetita at gmail.com>
 
-	* : commit 3674208e66782a09a20bc9f73ab9a157f5badf53 Author: Carlos
-	Lopez <genetita at gmail.com> Date:   Sun Jan 8 21:28:05 2012 +0100
+	* synfig-core/src/synfig/cairo_operators.cpp,
+	synfig-core/src/synfig/color.cpp: Cairo Operators: Add support for
+	blend mode ALPHA_BRIGHTEN using a custom blend function.
 
-2012-01-07  Carlos Lopez <genetita at gmail.com>
+2012-11-23  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/valuenode_animated.cpp: Use correct
-	approaching to the problem modifying the bias of each waypoint and
-	using templates to recursively call the clamped tangent calculation
-	for real numbers.
+	* synfig-core/src/synfig/cairo_operators.cpp,
+	synfig-core/src/synfig/color.cpp: Cairo Operators: Add support for
+	blend mode ALPHA_DARKEN using a custom blend function.
 
-2012-01-05  Carlos Lopez <genetita at gmail.com>
+2012-11-23  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/valuenode_blinecalcwidth.cpp: Fix bug:
-	http://www.pivotaltracker.com/story/show/23017929
+	* synfig-core/src/synfig/cairo_operators.cpp,
+	synfig-core/src/synfig/color.cpp: Cairo Operators: Add support for
+	blend mode DIFFERENCE using a custom blend function.
 
-2012-01-05  Carlos Lopez <genetita at gmail.com>
+2012-11-23  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/valuenode_animated.cpp: Add debug info
+	* synfig-core/src/synfig/cairo_operators.cpp,
+	synfig-core/src/synfig/color.cpp: Cairo Operators: Add support for
+	blend mode SUBTRACT using a custom blend function.
 
-2012-01-04  Carlos Lopez <genetita at gmail.com>
+2012-11-23  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/gradient.cpp: Suit a better way to
-	calculate gradient magnitude
+	* synfig-core/src/synfig/cairo_operators.cpp,
+	synfig-core/src/synfig/color.cpp: Cairo Operators: Add support for
+	blend mode ADD using a custom blend function.
 
-2012-01-03  Carlos Lopez <genetita at gmail.com>
+2012-11-23  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/valuenode_animated.cpp: Remove debug info
+	* synfig-core/src/synfig/cairo_operators.cpp,
+	synfig-core/src/synfig/color.cpp: Cairo Operators: Add support for
+	blend mode DIVIDE using a custom blend function.
 
-2012-01-03  Carlos Lopez <genetita at gmail.com>
+2012-11-23  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/valuenode_animated.cpp: Add code to
-	interpret the clamped interpolation method
+	* synfig-core/src/synfig/color.h: CairoColor: new constructor for
+	integer color channels.
 
-2012-01-03  Carlos Lopez <genetita at gmail.com>
+2012-11-22  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/gradient.cpp,
-	synfig-core/src/synfig/gradient.h: Add function to calculate the
-	magnitude of a gradient
+	* synfig-core/src/synfig/cairo_operators.cpp: Cairo Operators: When
+	the blend method is not directly supported, use a faster way of
+	compositing.
 
-2012-01-02  Carlos Lopez <genetita at gmail.com>
+2012-11-20  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/interpolation.h,
-	synfig-core/src/synfig/loadcanvas.cpp,
-	synfig-core/src/synfig/savecanvas.cpp: Add new interpolation type.
-	Non functional yet
+	* synfig-core/src/synfig/cairo_operators.cpp: Cairo Operators:
+	complete the OVERLAY method using properly the right context pixels
+	when blending the source pattern with the context. Now it renders
+	fine.
 
-2011-12-13  Carlos Lopez <genetita at gmail.com>
+2012-11-20  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/valuenode_animated.cpp: Add some comments
-	to understand code better.
+	* synfig-core/src/synfig/cairo_operators.cpp: Cairo Operators:
+	remove assertion because it is not needed.
 
-2011-12-13  Carlos Lopez <genetita at gmail.com>
+2012-11-19  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/valuenode_animated.cpp,
-	synfig-core/src/synfig/valuenode_animated.h,
-	synfig-core/src/synfig/waypoint.h: Add some comments and remove
-	unused code
+	* synfig-core/src/synfig/cairo_operators.cpp: Cairo Operators: Use a
+	different method to perform OVERLAY blending.  Simplify the way that
+	the surfaces are rendered before do the overlay operations by pixel.
+	It increases drastically the render time for Cairo from being 3
+	times slower than Software to be 1.6 times faster.
 
-2011-12-31  Carlos Lopez <genetita at gmail.com>
+2012-11-19  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
-	several bugs and crashes related to dashed outlines
+	* synfig-core/src/synfig/cairo_operators.cpp,
+	synfig-core/src/synfig/color.cpp: CairoColor::Blend: Add support for
+	OVERLAY method.  Previously the non directly supported by Cairo
+	blend methods, were performed by converting the CairoColor to Color
+	and performing the blending and then convert it back to CairoColor
+	again.  It is really time consuming and this commit offers an
+	specific blend function for OVERLAY method and CairoColor.  The
+	function just does the overlay operation, but without the blend onto
+	that is performed by Cairo later.  The old Cairo render time for a file with 23 rectangles was 1.60
+	seconds and now it is 0.24. Still away though, from the 0.08 seconds
+	that Software needs to render the same file.
 
-2011-12-29  Carlos Lopez <genetita at gmail.com>
+2012-11-08  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: Fix broken
-	ffmpeg target that doesn't work for some non dot decimal points
-	numeric locale settings.
+	* synfig-core/src/modules/mod_filter/colorcorrect.cpp,
+	synfig-core/src/modules/mod_filter/colorcorrect.h: 
+	Layer_ColorCorrect: Add support for Cairo render
 
-2011-12-11  Carlos Lopez <genetita at gmail.com>
+2012-11-08  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/valuenode_dynamiclist.cpp: Fix crash when
-	inserting an item on a generic empty dynamic list.
+	* synfig-core/src/modules/lyr_std/shade.cpp: Layer_Shade: now
+	inverted shades and/or with amount > 1.0 are rendered correctly.
 
-2011-12-05  Carlos Lopez <genetita at gmail.com>
+2012-11-08  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/NEWS, synfig-core/configure.ac: Release Synfig 0.63.03
+	* synfig-core/src/modules/mod_geometry/outline.cpp: Outline: When
+	quality is 6 or less then draw the outline using the variable width,
+	otherwise the outline is rendered with constant average width
 
-2011-12-04  Carlos Lopez <genetita at gmail.com>
+2012-11-08  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/NEWS: Update News
+	* synfig-core/src/synfig/layer_shape.cpp,
+	synfig-core/src/synfig/layer_shape.h: Layer_Shape: Add function that
+	translates Shape primitives to Cairo primitives. Only move_to and
+	line_to at the moment.
 
-2011-12-04  Carlos Lopez <genetita at gmail.com>
+2012-11-08  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/po/de.po, synfig-core/po/en_GB.po,
-	synfig-core/po/es.po, synfig-core/po/fa_IR.po,
-	synfig-core/po/fr.po, synfig-core/po/it.po, synfig-core/po/lt.po,
-	synfig-core/po/nl.po, synfig-core/po/no_NO.po,
-	synfig-core/po/pl_PL.po, synfig-core/po/pt_BR.po,
-	synfig-core/po/ro.po, synfig-core/po/ru.po,
-	synfig-core/po/sk_SK.po, synfig-core/po/zh_CN.po: Fix po file head
-	issues caused by transifex. Update translations. Patch by Yu Chen
+	* synfig-core/src/modules/mod_geometry/outline.cpp: Layer_Outline:
+	reorder code to use variable width when quality is 6 or less.
 
-2011-12-04  Carlos Lopez <genetita at gmail.com>
+2012-11-08  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/configure.ac, synfig-core/po/el_GR.po: Add a new
-	translation el_GR for Synfig Core. Patch by Yu Chen
+	* synfig-core/src/modules/mod_geometry/outline.cpp: Outline_Layer:
+	Re-indent code. No change
 
-2011-11-25  Carlos Lopez <genetita at gmail.com>
+2012-11-08  Carlos Lopez <genetita at gmail.com>
 
-	* : commit 5a2f329ac6bc13539d2f940f9bf11ce6d20a0c5c Author: Carlos
-	Lopez <genetita at gmail.com> Date:   Wed Nov 23 21:57:49 2011 +0100
+	* synfig-core/src/modules/mod_geometry/outline.cpp: Outline_Layer:
+	When drawing the outline and want to have variable width don't use
+	Layer_Polygon. It doesn't render properly looped outlines.
 
-2011-11-22  Carlos Lopez <genetita at gmail.com>
+2012-11-08  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Avoid
-	crash when dash enabled and DList is empty.
+	* synfig-core/src/modules/mod_geometry/outline.cpp: Outline_Layer:
+	When using the Cairo primitives to draw the outline (low quality)
+	use the average width properly.
 
-2011-11-22  Carlos Lopez <genetita at gmail.com>
+2012-11-08  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/valuenode_bline.cpp,
-	synfig-core/src/synfig/valuenode_dilist.cpp,
-	synfig-core/src/synfig/valuenode_wplist.cpp: Allow insert items on
-	BLine, WPList and DList when list is empty.
+	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp,
+	synfig-core/src/modules/mod_filter/blur.cpp,
+	synfig-core/src/modules/mod_geometry/checkerboard.cpp,
+	synfig-core/src/modules/mod_geometry/circle.cpp,
+	synfig-core/src/modules/mod_geometry/outline.cpp,
+	synfig-core/src/modules/mod_geometry/region.cpp,
+	synfig-core/src/modules/mod_gradient/conicalgradient.cpp,
+	synfig-core/src/modules/mod_gradient/lineargradient.cpp,
+	synfig-core/src/modules/mod_gradient/radialgradient.cpp,
+	synfig-core/src/synfig/layer_polygon.cpp,
+	synfig-core/src/synfig/layer_solidcolor.cpp: Some layers now renders
+	using the correct blend method.
 
-2011-11-22  Carlos Lopez <genetita at gmail.com>
+2012-11-01  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
-	various render artifacts that were introduced with the previous
-	commit and others ones older.
+	* synfig-core/src/synfig/layer.cpp: Layer: fix wrong get_cairocolor
+	function
 
-2011-11-20  Carlos Lopez <genetita at gmail.com>
+2012-11-01  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
-	various render artifacts: 1) Not perpendicularity of the width when doing tips at widthpoints.  2) Due to homogeneous to standard calculation limitations it is
-	needed to check if a withpoint tip is just done before continue
-	rendering.
+	* synfig-core/src/synfig/color.h: CairoColor: Fix YUV related
+	functions to scale properly by the color range.
 
-2011-11-13  Carlos Lopez <genetita at gmail.com>
+2012-11-01  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/configure.ac: Bump for version RC2
+	* synfig-core/src/synfig/layer_composite.cpp: Layer_Composite: tell
+	the surface layer (Layer_Bitmap) that it must use CAIRO method for
+	render. It might be needed when calculate width and height when
+	trimmed.
 
-2011-11-13  Carlos Lopez <genetita at gmail.com>
+2012-11-01  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Avoid
-	crash when there is only one blinepoint and the bline is not looped.
+	* synfig-core/src/synfig/layer_bitmap.cpp: Layer_Bitmap:: fix bug
+	that calculates wrongly the surface positions to read the pixel
+	colors. Restore demultiply and filter returned color. This commit
+	fixes Twirl layer render in Cairo
 
-2011-11-13  Carlos Lopez <genetita at gmail.com>
+2012-10-23  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: 
-	Initialise variables to avoid compiler warning.
+	* synfig-core/src/synfig/render.cpp: render: use of get_cairocolor
+	again
 
-2011-11-13  Carlos Lopez <genetita at gmail.com>
+2012-10-23  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Make
-	Advanced Outline 'Fast' parameter static by default.
+	* synfig-core/src/modules/lyr_std/twirl.cpp,
+	synfig-core/src/modules/lyr_std/twirl.h: Twirl: Add get_cairocolor
+	function
 
-2011-11-12  Carlos Lopez <genetita at gmail.com>
+2012-10-23  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/NEWS: Typo
+	* synfig-core/src/synfig/layer_bitmap.cpp,
+	synfig-core/src/synfig/layer_bitmap.h: Layer_Bitmap: now it uses a
+	CairoSurface instead of a cairo_surface_t*
 
-2011-11-12  Carlos Lopez <genetita at gmail.com>
-
-	* synfig-core/src/synfig/releases.h: Update Save As file dialogue
-	options.
+2012-10-23  Carlos Lopez <genetita at gmail.com>
 
-2011-11-12  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/surface.cpp,
+	synfig-core/src/synfig/surface.h: CairoSurface: Now
+	get_cairo_surface would return NULL in case cs_ is null instead of
+	assert(0). Added get_cairo_image_surface to obtain the mapped image
+	surface and added is_mapped that returns true when cs_image_ is not
+	NULL. Modify unmap_cairo_image to restore cs_image_ to NULL once
+	unmapped.
 
-	* synfig-core/configure.ac: Bump versions for 0.63.03-RC1. Not
-	release splash yet.
+2012-10-22  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-11-12  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp,
+	synfig-core/src/tool/optionsprocessor.cpp: Options descriptions
+	semantically and syntaxically corrected
 
-	* synfig-core/NEWS: More Update News
+2012-10-22  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-11-12  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/optionsprocessor.cpp: Video bitrate parameter
+	check corrected
 
-	* : commit edf67c5fa77dbdb6ce12020ae29db26319dd1fce Author: Carlos
-	Lopez <genetita at gmail.com> Date:   Sat Nov 12 18:55:25 2011 +0100
+2012-10-20  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-11-11  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/joblistprocessor.h,
+	synfig-core/src/tool/optionsprocessor.cpp,
+	synfig-core/src/tool/optionsprocessor.h: Documentation
 
-	* synfig-core/src/modules/lyr_std/timeloop.cpp: Fix bug in Time Loop
-	Layer. Patch ID: 3414729 by Ray Frederikson
+2012-10-20  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-11-06  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/Makefile.am,
+	synfig-core/src/tool/joblistprocessor.cpp,
+	synfig-core/src/tool/joblistprocessor.h,
+	synfig-core/src/tool/main.cpp,
+	synfig-core/src/tool/optionsprocessor.cpp: Job setup and job list
+	processing separated
 
-	* synfig-core/src/modules/lyr_std/import.cpp: For Importer layer,
-	even if file is physically impossible to open set the parameter with
-	the passed file name.  This would allow to load and save Synfig's
-	documents with paths for imported files badly adjusted but that user
-	doesn't want to modify.
+2012-10-20  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-11-06  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp,
+	synfig-core/src/tool/optionsprocessor.cpp,
+	synfig-core/src/tool/optionsprocessor.h: Debug functions moved to
+	Options Processor
 
-	* synfig-core/src/modules/lyr_std/import.cpp: For Importer layer,
-	even if file is physically impossible to open set the parameter with
-	the passed file name.  This would allow to load and save Synfig's
-	documents with paths for imported files badly adjusted but that user
-	doesn't want to modify.
+2012-10-20  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-10-30  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/src/tool/optionsprocessor.cpp: Check presence of video
+	codec and bitrate parameters
 
-	* : Merge remote branch 'origin/genete_opt_av_out_render' into
-	zelgadis_master
+2012-10-20  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-10-30  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp,
+	synfig-core/src/tool/optionsprocessor.cpp,
+	synfig-core/src/tool/optionsprocessor.h: Extract RendDesc and
+	TargetParam moved to Options Processor
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Clean
-	up unused and debug code. Add some comments
+2012-10-20  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-10-30  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/definitions.h, synfig-core/src/tool/job.h,
+	synfig-core/src/tool/main.cpp,
+	synfig-core/src/tool/optionsprocessor.cpp,
+	synfig-core/src/tool/optionsprocessor.h: Extract job function in
+	Options Processor
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Reuse
-	already calculated homogeneous positions
+2012-10-19  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-10-29  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/definitions.h,
+	synfig-core/src/tool/main.cpp,
+	synfig-core/src/tool/optionsprocessor.cpp,
+	synfig-core/src/tool/optionsprocessor.h: Threads option moved to
+	settings options
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Make
-	standard and homogeneous copies of the widthpoints. Always move in
-	standard positions.This should do better renders. Not faster yet
+2012-10-19  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-10-28  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/Makefile.am, synfig-core/src/tool/main.cpp,
+	synfig-core/src/tool/optionsprocessor.cpp,
+	synfig-core/src/tool/optionsprocessor.h,
+	synfig-core/src/tool/synfigtoolexception.h: Using exceptions for
+	exit conditions
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: 
-	Reorganise definitions and change some variable names.
+2012-10-19  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-10-27  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp,
+	synfig-core/src/tool/optionsprocessor.cpp: More info options moved
+	to Options Processor class
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: When
-	bline is looped, it is needed one more position on the arrays
+2012-10-19  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-10-27  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/Makefile.am, synfig-core/src/tool/main.cpp,
+	synfig-core/src/tool/optionsprocessor.cpp,
+	synfig-core/src/tool/optionsprocessor.h: Options Processor class
+	created This is part of the reorganization of the tool. This class will
+	process the options given in the command line
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Use
-	homogeneous blinepoint positions form array
+2012-10-14  Carlos Lopez <genetita at gmail.com>
 
-2011-10-27  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/surface.cpp: Cairo Surface: fix wrong flush
+	and mark dirty commands
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Use an
-	array for the blinepoints positions
+2012-10-14  Carlos Lopez <genetita at gmail.com>
 
-2011-10-23  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/cairo_operators.cpp: Cairo operators: Add
+	support for blend modes not supported by Cairo. Add support for
+	MULTIPLY, HUE, SATURATION, LUMINANCE, SCREEN and HARD_LIGHT. The
+	transparency is not correctly handled in those cases and could need
+	further operations.
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Remove
-	debug info
+2012-10-13  Carlos Lopez <genetita at gmail.com>
 
-2011-10-21  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/cairo_operators.cpp: Cairo operators: add
+	code for DARKEN blend method. The result is not exactly the same and
+	could be fixed later doing pixel operations.
 
-	* synfig-core/src/synfig/widthpoint.cpp,
-	synfig-core/src/synfig/widthpoint.h: Add member to reverse a
-	widthpoint
+2012-10-12  Carlos Lopez <genetita at gmail.com>
 
-2011-10-20  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/cairo_operators.cpp: Cairo operators: Add
+	support for STRAIGHT_ONTO
 
-	* synfig-core/src/synfig/widthpoint.cpp,
-	synfig-core/src/synfig/widthpoint.h: Add new member to get the
-	boundarized position. Add code to correct the hover text on duck and
-	the ValueDescSet action.
+2012-10-12  Carlos Lopez <genetita at gmail.com>
 
-2011-10-20  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/rectangle.cpp,
+	synfig-core/src/synfig/cairo_operators.cpp,
+	synfig-core/src/synfig/cairo_operators.h: Cairo operators: add code
+	for Brighten blend method. The result is not exactly the same and
+	could be fixed later doing pixel operations.
 
-	* synfig-core/src/synfig/widthpoint.cpp: Fix and simplify
-	get_norm_position widthpoint member
+2012-10-05  Carlos Lopez <genetita at gmail.com>
 
-2011-10-17  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_gradient/lineargradient.cpp,
+	synfig-core/src/modules/mod_gradient/radialgradient.cpp: Add missing
+	returns for non void functions.
 
-	* synfig-core/src/synfig/widthpoint.cpp: When calculating the
-	normalised position, use lower boundary as origin.
+2012-10-03  Carlos Lopez <genetita at gmail.com>
 
-2011-10-17  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/cairo_operators.cpp: Cairo operators:
+	simplify the Straight method
 
-	* synfig-core/src/synfig/loadcanvas.cpp: Add code to parse exported
-	widhtpoints
+2012-10-02  Carlos Lopez <genetita at gmail.com>
 
-2011-10-15  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/rectangle.cpp,
+	synfig-core/src/synfig/cairo_operators.cpp,
+	synfig-core/src/synfig/cairo_operators.h,
+	synfig-core/src/synfig/layer_composite.h,
+	synfig-core/src/synfig/layer_pastecanvas.cpp: Cairo operators: fix
+	the STRAIGHT method. Add support for Paste Canvas and rectangle to
+	use cairo_operators functions
 
-	* synfig-core/src/synfig/widthpoint.cpp: Fix uninitialised class
-	member on explicit constructor. Fix operator ==
+2012-09-30  Carlos Lopez <genetita at gmail.com>
 
-2011-10-12  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/cairo_operators.cpp,
+	synfig-core/src/synfig/cairo_operators.h: Cairo operators: initial
+	version of convenient functions to make painting operations in Cairo
+	emulating Synfig's blending methods. Straight doesn't work yet.
 
-	* synfig-core/src/synfig/valuenode_bline.cpp: When WPlist is looped
-	and position is out of (0,1) calculate correctly from/to homogeneous
-	to/from standard.
+2012-09-29  Carlos Lopez <genetita at gmail.com>
 
-2011-10-12  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_filter/lumakey.cpp,
+	synfig-core/src/modules/mod_filter/lumakey.h: LumaKey: Add support
+	for Cairo render
 
-	* synfig-core/src/synfig/valuenode_bline.cpp: When converting
-	from/to standard to/from homogeneous check the trivial cases first.
-	Fix render artifact.
+2012-09-28  Carlos Lopez <genetita at gmail.com>
 
-2011-10-12  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/stroboscope.cpp,
+	synfig-core/src/modules/lyr_std/stroboscope.h: Stroboscope layer:
+	Add support for Cairo render
 
-	* synfig-core/src/synfig/valuenode_composite.cpp: Make parameters
-	lower bound and upper bound visible. Add its description.
+2012-09-28  Carlos Lopez <genetita at gmail.com>
 
-2011-10-12  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/bevel.cpp,
+	synfig-core/src/modules/lyr_std/bevel.h: Bevel layer: Add support
+	for Cairo render
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/synfig/valuenode_wplist.cpp,
-	synfig-core/src/synfig/valuenode_wplist.h: Now
-	widthpoint_interpolate must use always normalised widthpoints so
-	wplist loop is not needed.
+2012-09-28  Carlos Lopez <genetita at gmail.com>
 
-2011-10-12  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/shade.cpp,
+	synfig-core/src/modules/lyr_std/shade.h: Shade layer: Add support
+	for Cairo render
 
-	* synfig-core/src/synfig/widthpoint.cpp,
-	synfig-core/src/synfig/widthpoint.h: Fix get_norm_position member to
-	return a value between 0.0 an 1.0. Add new member to 'normalize' the
-	widthpoint to set its position to the normalised value inside its
-	boundaries.
+2012-09-25  Carlos Lopez <genetita at gmail.com>
 
-2011-10-12  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_filter/halftone3.cpp,
+	synfig-core/src/modules/mod_filter/halftone3.h: Halftone3: Add
+	support for Cairo render
 
-	* synfig-core/src/synfig/canvas.h,
-	synfig-core/src/synfig/loadcanvas.cpp: Increase canvas version due
-	to the addition of two new parameters in WidthPoint Composite
+2012-09-25  Carlos Lopez <genetita at gmail.com>
 
-2011-10-12  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_filter/halftone2.cpp: Halftone2: tidy
+	up
 
-	* synfig-core/src/synfig/widthpoint.cpp: Use lower and upper
-	boundaries to calculate the normalised position.
+2012-09-25  Carlos Lopez <genetita at gmail.com>
 
-2011-10-12  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_filter/halftone3.h: Halftone3: add
+	std, etl and synfig namespaces.
 
-	* synfig-core/src/synfig/valuenode_composite.cpp: Only allow set
-	link to ValueNode_Const and avoid cross boundaries for lower and
-	upper boundaries of widthpoints
+2012-09-25  Carlos Lopez <genetita at gmail.com>
 
-2011-10-12  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_filter/halftone2.cpp,
+	synfig-core/src/modules/mod_filter/halftone2.h: Halftone2: add
+	support for Cairo render
 
-	* synfig-core/src/synfig/valuenode_composite.cpp,
-	synfig-core/src/synfig/widthpoint.cpp,
-	synfig-core/src/synfig/widthpoint.h: Add two new parameters to
-	ValueNode Composite WidthPoint type. Also needed code to WidthPoint
-	class
+2012-09-23  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-10-07  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/configure.ac, synfig-core/m4/ax_boost_base.m4,
+	synfig-core/m4/ax_boost_program_options.m4,
+	synfig-core/src/tool/Makefile.am: Boost::PO library standard
+	compiling scripts
 
-	* synfig-core/src/synfig/distance.cpp: When a Distance is assigned
-	from a string and system units is empty use the previous one. If the
-	system was not set an exception is caught.
+2012-09-21  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-09-29  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/src/tool/main.cpp: Sequence separator with spaces is
+	also supported
 
-	* : Merge remote branch 'origin/master' into zelgadis_master
+2012-09-21  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-09-28  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp: Sequence separator option support
 
-	* synfig-core/NEWS, synfig-core/configure.ac: Release 0.63.02
+2012-09-21  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-09-28  Carlos Lopez <genetita at gmail.com>
+	* : commit 848b46c080dad4516d8fb0f8355cce0e465ed18a Author: Diego
+	Barrios Romero <eldruin at eldruin.com> Date:   Fri Sep 21 16:46:54
+	2012 +0200
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/advanced_outline.h: Add Fast
-	parameter to allow user to render outline with the old (non
-	homogeneous) algorithm
+2012-09-19  Carlos Lopez <genetita at gmail.com>
 
-2011-09-24  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_filter/halftone2.h: Halftone2: add
+	std, etl and synfig namespaces.
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
-	render artifact when doing dashed outlines and other than flat
-	sides.
+2012-09-18  Carlos Lopez <genetita at gmail.com>
 
-2011-09-24  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/color.h: CairoColorAccumulator: clamp the
+	result when converting to CairoColor
 
-	* synfig-core/configure.ac: Release Synfig 0.63.01
+2012-09-18  Carlos Lopez <genetita at gmail.com>
 
-2011-09-23  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/blur.cpp: Blur: Use Accumulator Type where
+	applicable. It allows to render gaussian blurs in Cairo render but
+	it gets slightly washed out for larger size values.
 
-	* synfig-core/AUTHORS, synfig-core/NEWS: Update NEWS and AUTHORS
+2012-09-18  Carlos Lopez <genetita at gmail.com>
 
-2011-09-23  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/blur.cpp: Blur: Rename Guassian to
+	Guassian.
 
-	* synfig-core/configure.ac, synfig-core/po/lt.po,
-	synfig-core/po/nl.po, synfig-core/po/ru.po,
-	synfig-core/po/sk_SK.po, synfig-core/po/zh_CN.po: Add support for
-	Dutch and Lituanian and Slovakian. Update Chinesse and Russian
+2012-09-18  Carlos Lopez <genetita at gmail.com>
 
-2011-09-16  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/blur.cpp: Blur: use ColorAccumulator and
+	CairoColorAccumulator pointers for the values passed to
+	gauss_blur_5x5_. Also fix a three repetitive useless sentence.
 
-	* synfig-core/po/es.po: Tiny Spanish translation update for Synfig
-	Core
+2012-09-16  Carlos Lopez <genetita at gmail.com>
 
-2011-09-14  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_filter/blur.cpp,
+	synfig-core/src/modules/mod_filter/blur.h: Blur_Layer: add support
+	for Cairo render. Gaussian blur doesn't work yet. Some changes are
+	needed in etl::gaussian
 
-	* synfig-core/configure.ac, synfig-core/po/fa_IR.po: New language
-	for Synfig Core: Persian. Thanks to Hadi Fadakar
+2012-09-16  Carlos Lopez <genetita at gmail.com>
 
-2011-09-14  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/blur.cpp, synfig-core/src/synfig/blur.h: 
+	Blur: Add support to blur Cairo surfaces
 
-	* synfig-core/po/de.po, synfig-core/po/en_GB.po,
-	synfig-core/po/es.po, synfig-core/po/fr.po, synfig-core/po/it.po,
-	synfig-core/po/no_NO.po, synfig-core/po/pl_PL.po,
-	synfig-core/po/pt_BR.po, synfig-core/po/ro.po,
-	synfig-core/po/ru.po, synfig-core/po/zh_CN.po: Updates for Synfig
-	Core translations
+2012-09-16  Carlos Lopez <genetita at gmail.com>
 
-2011-09-14  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/surface.cpp,
+	synfig-core/src/synfig/surface.h: CairoSurface: use
+	CairoColorAccumulator instead of CairoColor to avoid overflow when
+	accumulating
 
-	* synfig-core/src/synfig/valuenode_composite.cpp: Better translation
-	string for dash item side type
+2012-09-16  Carlos Lopez <genetita at gmail.com>
 
-2011-09-14  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/color.h: New class CairoColorAccumulator
 
-	* synfig-core/src/synfig/paramdesc.cpp: Remove underscores for
-	shortcuts since they are not used anymore.
+2012-09-09  Carlos Lopez <genetita at gmail.com>
 
-2011-09-10  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/supersample.cpp: Supersample: add
+	support for filter and antialiasing
 
-	* synfig-core/configure.ac: Bump for RC2
+2012-09-06  Carlos Lopez <genetita at gmail.com>
 
-2011-09-10  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/supersample.cpp,
+	synfig-core/src/modules/lyr_std/supersample.h: SuperSample layer:
+	add support for Cairo render
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/synfig/valuenode_wplist.cpp,
-	synfig-core/src/synfig/valuenode_wplist.h,
-	synfig-core/src/synfig/widthpoint.cpp,
-	synfig-core/src/synfig/widthpoint.h: Fix various render artifacts
-	related to wplist loop option
+2012-09-06  Carlos Lopez <genetita at gmail.com>
 
-2011-09-10  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/timeloop.cpp,
+	synfig-core/src/modules/lyr_std/timeloop.h: Time Loop layer: add
+	support for Cairo render.
 
-	* synfig-core/src/synfig/widthpoint.cpp: Use fmod instead of modf to
-	see if it can solve the 32 bits bug.
+2012-09-06  Carlos Lopez <genetita at gmail.com>
 
-2011-09-09  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/curvewarp.cpp,
+	synfig-core/src/modules/lyr_std/curvewarp.h: CurveWarp Layer: add
+	support for Cairo render. It is a bit slower than the software and
+	for subsampled types there is banding around. Possibly it is due to
+	CairoColor resolution limitation
 
-	* synfig-core/configure.ac: Prepare for RC1
+2012-09-06  Carlos Lopez <genetita at gmail.com>
 
-2011-09-07  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/render.cpp: Synfig::render: don't rely on
+	get_cairocolor since it will be always slower than using get_color
+	and convert to CairoColor later.
 
-	* synfig-core/src/synfig/loadcanvas.cpp,
-	synfig-core/src/synfig/valuenode_blinecalctangent.cpp,
-	synfig-core/src/synfig/valuenode_blinecalcvertex.cpp,
-	synfig-core/src/synfig/valuenode_blinecalcwidth.cpp: New BLine
-	linked Value Nodes are homogeneous by default.
+2012-09-06  Carlos Lopez <genetita at gmail.com>
 
-2011-09-07  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp: 
+	Layer_Freetype: small optimization
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Remove
-	more useless warnings and info messages
+2012-09-03  Carlos Lopez <genetita at gmail.com>
 
-2011-09-05  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp: 
+	Layer_Freetype: add support for inverted text in Cairo-Pango render.
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Remove
-	useless warning and info messages.
+2012-09-01  Carlos Lopez <genetita at gmail.com>
 
-2011-09-05  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp: 
+	Layer_Freetype: recalculate layout extents after apply the spacing
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
-	render bug produced by bad interpolation when passing through
-	artificially inserted first and last width points.
+2012-09-01  Carlos Lopez <genetita at gmail.com>
 
-2011-08-17  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp: 
+	Layer_Freetype: ignore negative sizes
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Typo
+2012-08-31  Carlos Lopez <genetita at gmail.com>
 
-2011-08-14  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp: 
+	Layer_Freetype: add support for scale font  vertically
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
-	wrong parameter order.
+2012-08-31  Carlos Lopez <genetita at gmail.com>
 
-2011-08-14  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp: Layer
+	Freetype: simplify code and behavior for horizontal and vertical
+	alignment
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
-	trimming dash offset layer parameter to be allow negative offsets
+2012-08-30  Carlos Lopez <genetita at gmail.com>
 
-2011-08-13  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp: 
+	Layer_Freetype: add two hacks to emulate line spacing and character
+	spacing.  It has some glitches when lines spacing interferes with
+	orientation.
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/advanced_outline.h: To keep
-	back compatibility, don't use homogeneous interpolation when
-	homogeneous is off and loading old "0.1" layer version.
+2012-08-29  Carlos Lopez <genetita at gmail.com>
 
-2011-08-13  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp: 
+	Layer_Freetype: add support for the Orientation parameter, allowing
+	to align text horizontally and vertically. Add code to render on a
+	second surface to allow use proper operator.
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Now
-	that homogeneous just places the widthpoints and the interpolation
-	is always homogeneous, let's redefine the "Homogeneous" description
+2012-08-28  Carlos Lopez <genetita at gmail.com>
 
-2011-08-13  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp: 
+	Layer_Freetype: remove debug info
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Remove
-	debug info
+2012-08-27  Carlos Lopez <genetita at gmail.com>
 
-2011-08-13  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp,
+	synfig-core/src/modules/lyr_freetype/lyr_freetype.h: Layer_Freetype:
+	initial version for Cairo render. It tries to imitate the current
+	software render. Not all the features implemented yet.
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
-	some render artefacts
+2012-08-25  Carlos Lopez <genetita at gmail.com>
 
-2011-08-13  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/configure.ac: Add pang and pangocairo headers to
+	configure.ac
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: When
-	rendering an advanced outline with homogeneous false then calculate
-	the interpolated width as homogeneous to avoid render artefacts.
+2012-08-23  Carlos Lopez <genetita at gmail.com>
 
-2011-08-13  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/rotate.cpp,
+	synfig-core/src/modules/lyr_std/rotate.h: Rotate Layer: add support
+	for Cairo render
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: 
-	Remember the start and end tips of the dash widthpoints that are
-	removed because they are out from [0, 1] and restore them later
+2012-08-23  Carlos Lopez <genetita at gmail.com>
 
-2011-08-13  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/region.cpp,
+	synfig-core/src/synfig/layer_polygon.cpp: Remove debug info
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Correct
-	some documentation
+2012-08-21  Carlos Lopez <genetita at gmail.com>
 
-2011-08-12  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/zoom.cpp,
+	synfig-core/src/modules/lyr_std/zoom.h: Zoom layer: add support for
+	Cairo render.
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Do not
-	render last cusp when lies in the middle of an empty dash.
+2012-08-20  Carlos Lopez <genetita at gmail.com>
 
-2011-08-12  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/translate.cpp,
+	synfig-core/src/modules/lyr_std/translate.h: Translate layer: add
+	support for Cairo render
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
-	some render glitches. Correct one bad iterator calculation.
+2012-08-20  Carlos Lopez <genetita at gmail.com>
 
-2011-08-11  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/stretch.cpp,
+	synfig-core/src/modules/lyr_std/stretch.h: Stretch layer: add
+	support for Cairo render.
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Add
-	some debug info
+2012-08-19  Carlos Lopez <genetita at gmail.com>
 
-2011-08-11  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_gradient/conicalgradient.cpp: 
+	ConicalGradient: remove debug information.
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Keep a
-	copy of the original widthpoints before remove the non visible. Keep
-	track of them and do the dash withpoints interpolation properly
+2012-08-19  Carlos Lopez <genetita at gmail.com>
 
-2011-08-11  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_gradient/conicalgradient.cpp: 
+	ConicalGradient: increase radius a 20%. Sometimes the bezier curve
+	isn't a real circle and it intersects the canvas corner.
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Remove
-	regular widthpoints that lie on an empty dash segment.
-
-2011-08-11  Carlos Lopez <genetita at gmail.com>
+2012-08-19  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Make
-	the width of new dash withpoints to be 1.0 for testing porpouses
+	* synfig-core/src/modules/mod_gradient/conicalgradient.cpp: 
+	ConicalGradient: try to anti aliasing when two color stops lies on
+	the same position. Doesn't seem to work.
 
-2011-08-11  Carlos Lopez <genetita at gmail.com>
+2012-08-19  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/synfig/widthpoint.cpp,
-	synfig-core/src/synfig/widthpoint.h: Dash is now false by default in
-	explicit WidthPoint constructor. Not need to mark as dash types.
-	Also, regular widthpoints doesn't have to be converted to
-	homogeneous if they are standard.
+	* synfig-core/src/modules/mod_gradient/conicalgradient.cpp: 
+	ConicalGracient: sort gradient between insertion of extra Color
+	stops at start and end of the gradient
 
-2011-08-11  Carlos Lopez <genetita at gmail.com>
+2012-08-19  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Dash
-	Widthpoints positions has to be homogeneous or standard to be
-	comparable with normal withpoints
+	* synfig-core/src/modules/mod_gradient/conicalgradient.cpp: Conical
+	Gradient: skip patches that has a zero length arc to avoid
+	degeneration of the gradient
 
-2011-08-10  Carlos Lopez <genetita at gmail.com>
+2012-08-18  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/widthpoint.cpp: Dash type has to be set on
-	WidthPoints defined by its components
+	* synfig-core/src/modules/mod_gradient/conicalgradient.cpp,
+	synfig-core/src/modules/mod_gradient/conicalgradient.h: 
+	ConicalGradient: add support for conical gradients. Symmetric still
+	having bugs.
 
-2011-08-10  Carlos Lopez <genetita at gmail.com>
+2012-08-15  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Merge
-	the filtered list with the current one
+	* synfig-core/src/modules/mod_gradient/radialgradient.cpp,
+	synfig-core/src/modules/mod_gradient/radialgradient.h: 
+	RadialGradient: add support for Cairo render.
 
-2011-08-10  Carlos Lopez <genetita at gmail.com>
+2012-08-15  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Mark
-	all the filtered dash widthpoints as dash type
+	* synfig-core/src/modules/mod_gradient/lineargradient.cpp: Linear
+	Gradient: fix loop and zigzag options in Cairo render.
 
-2011-08-10  Carlos Lopez <genetita at gmail.com>
+2012-08-15  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/widthpoint.cpp,
-	synfig-core/src/synfig/widthpoint.h: Add dassh member to
-	widthpoints. Dash=true means that the widthpoint is used for dashed
-	segments. False by default
+	* synfig-core/src/modules/mod_gradient/lineargradient.cpp,
+	synfig-core/src/modules/mod_gradient/lineargradient.h: 
+	LinearGradient: add support for Cairo render. It has some bugs yet
+	related to combinations of loop and zigzag.
 
-2011-08-10  Carlos Lopez <genetita at gmail.com>
+2012-08-14  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Add
-	code to filter the dash widthpoints to remove those ones that won't
-	be used because they lie on a empty interval.
+	* synfig-core/src/modules/mod_geometry/outline.cpp: Outline: Give an
+	opportunity to the Cairo api to render the outline. It achieves same
+	render time.
 
-2011-08-10  Carlos Lopez <genetita at gmail.com>
+2012-08-14  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Move
-	dash width point preparation to be executed earlier.
+	* synfig-core/src/modules/mod_geometry/outline.cpp,
+	synfig-core/src/modules/mod_geometry/outline.h: Outline: basic
+	support for Cairo render as polygon
 
-2011-08-10  Carlos Lopez <genetita at gmail.com>
+2012-08-14  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Remove
-	unused variable. Move debug info to other better place. Highlight
-	code sections
+	* synfig-core/src/modules/mod_geometry/star.cpp,
+	synfig-core/src/modules/mod_geometry/star.h: Star: add support for
+	Cairo render.
 
-2011-08-09  Carlos Lopez <genetita at gmail.com>
+2012-08-14  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Add
-	widthpoints from the dash offset to the start of bline. Correct some
-	previous mistakes
+	* synfig-core/src/synfig/layer_polygon.h: Layer Polygon: move
+	accelerated_cairorender to be public.
 
-2011-08-09  Carlos Lopez <genetita at gmail.com>
+2012-08-14  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix end
-	of dash segment withpoint position, wrongly calculated by a mistake
+	* synfig-core/src/synfig/layer_polygon.cpp,
+	synfig-core/src/synfig/layer_polygon.h: Layer_Polygon: Add helper
+	function to fill the vector list
 
-2011-08-09  Carlos Lopez <genetita at gmail.com>
+2012-08-14  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Add the
-	widthpoints from the dash offset to the end ob bline. Add some debug
-	info.
+	* synfig-core/src/modules/mod_geometry/region.cpp,
+	synfig-core/src/modules/mod_geometry/region.h: Region: add support
+	for Cairo render.
 
-2011-08-09  Carlos Lopez <genetita at gmail.com>
+2012-08-14  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/dashitem.h: DashItem uses same numerals
-	than WidthPoint for direct use.
+	* synfig-core/src/synfig/layer_polygon.cpp: Layer_Polygon: treat the
+	colors for feathered polygons correctly
 
-2011-08-09  Carlos Lopez <genetita at gmail.com>
+2012-08-13  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/valuenode_composite.cpp: Limit to [0,1] the
-	values of the length and offset of a dash item when evaluating the
-	Dash Item Value Node.
+	* synfig-core/src/synfig/layer_polygon.cpp: Layer_Polygon: add
+	support for feather. Results lacks of current Software render method
+	smoothness because the blur is alpha based and in Cairo alpha has
+	values of discrete 1/255 steps.
 
-2011-08-09  Carlos Lopez <genetita at gmail.com>
+2012-08-13  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: First
-	steps to use the dash items. Also add missing set_param_static for
-	smoothness parameter
+	* synfig-core/src/synfig/layer_polygon.cpp: Layer_Polygon: add
+	support for antialias.
 
-2011-08-09  Carlos Lopez <genetita at gmail.com>
+2012-08-13  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/advanced_outline.h: Add new
-	parameter to enable/disable dashed outlines
+	* synfig-core/src/synfig/layer_polygon.cpp: Layer_Polygon: add
+	support for winding style
 
-2011-08-08  Carlos Lopez <genetita at gmail.com>
+2012-08-13  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/loadcanvas.cpp,
-	synfig-core/src/synfig/savecanvas.cpp,
-	synfig-core/src/synfig/valuenode_dilist.cpp,
-	synfig-core/src/synfig/valuenode_dilist.h: Remove 'Enabled' as
-	DIList option
+	* synfig-core/src/synfig/layer_polygon.cpp,
+	synfig-core/src/synfig/layer_polygon.h,
+	synfig-core/src/synfig/layer_shape.h: Layer_Polygon: initial version
+	for Cairo render. No feather support yet. Needed to expose some
+	private members of Layer_Shape to Polygon_Layer in order to use them
+	in the render procedure
 
-2011-08-08  Carlos Lopez <genetita at gmail.com>
+2012-08-12  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/advanced_outline.h,
-	synfig-core/src/synfig/loadcanvas.cpp,
-	synfig-core/src/synfig/savecanvas.cpp,
-	synfig-core/src/synfig/valuenode_wplist.cpp,
-	synfig-core/src/synfig/valuenode_wplist.h: Add code to make
-	'homogeneous' a layer parameter instead of a WPList option.It is
-	true by default on new layers and if an old layer is loaded it is
-	false.
+	* synfig-core/src/modules/mod_geometry/checkerboard.cpp: 
+	Checkerboard Layer: place the checker in the correct place and
+	render the correct tiles (top left and bottom right).
 
-2011-08-08  Carlos Lopez <genetita at gmail.com>
+2012-08-12  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Remove
-	dilist success message
+	* synfig-core/src/modules/mod_geometry/checkerboard.cpp,
+	synfig-core/src/modules/mod_geometry/checkerboard.h: Checkerboard
+	Layer: add support for Cairo render
 
-2011-08-08  Carlos Lopez <genetita at gmail.com>
+2012-08-11  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/value.cpp: Fix BLine Tool crash. It was
-	caused by a bad return when using the == operator. If the ==
-	operator is not defined in the value type it should return false.
+	* synfig-core/src/modules/mod_geometry/circle.cpp,
+	synfig-core/src/modules/mod_geometry/circle.h: Circle Layer: add
+	full support for feathered circles. It needs some improvement on the
+	number of stops in the gradients. Sigmoind and Cosine feathers
+	doesn't have good result though. Probable optimization for linear
+	feather.
 
-2011-08-08  Carlos Lopez <genetita at gmail.com>
+2012-08-11  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/dashitem.cpp,
-	synfig-core/src/synfig/dashitem.h: Add operator == to DashItem class
+	* synfig-core/src/modules/mod_geometry/circle.cpp: Circle Layer:
+	simplify code
 
-2011-08-08  Carlos Lopez <genetita at gmail.com>
+2012-08-11  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/dashitem.cpp,
-	synfig-core/src/synfig/dashitem.h, synfig-core/src/synfig/value.h: 
-	Rewrite DashItem class as independent class and not inherited from
-	WidthPoint since it doesn't offer any advantage
+	* synfig-core/src/modules/mod_geometry/circle.cpp: Circle Layer: Add
+	support for feathered circles. Only falloff linear at the moment.
 
-2011-08-08  Carlos Lopez <genetita at gmail.com>
+2012-08-11  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/advanced_outline.h: Add Dash
-	Offset parameter to the Adanced Outline Layer
+	* synfig-core/src/modules/mod_geometry/circle.cpp: Circle Layer:
+	initial support for straight blend inverted linear feathered circles
 
-2011-08-08  Carlos Lopez <genetita at gmail.com>
+2012-08-10  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/loadcanvas.cpp,
-	synfig-core/src/synfig/valuenode_wplist.cpp: By default new Advanced
-	Outlines layers have homogeneous option set to true. Load old files
-	keeps the homogeneous option to false as expected.  Signed-off-by: Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/circle.cpp: Circle Layer: fix
+	to paint with correct alpha
 
-2011-07-28  Carlos Lopez <genetita at gmail.com>
+2012-08-10  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/valuenode_bline.cpp: Revert changes in one
-	past commit that tried find up a better initial value for the root
-	find routine. It failed for certain cases.
+	* synfig-core/src/modules/mod_geometry/circle.cpp: Circle Layer:
+	remove some callbacks notifications and destroy cr before return
 
-2011-07-28  Carlos Lopez <genetita at gmail.com>
+2012-08-10  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/valuenode_bline.cpp,
-	synfig-core/src/synfig/valuenode_bline.h: Add new function to
-	calculate the bline's length
+	* synfig-core/src/modules/mod_geometry/circle.cpp: Circle Layer:
+	Complete code of cairo render for non feathered circles.
 
-2011-07-28  Carlos Lopez <genetita at gmail.com>
+2012-08-08  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/loadcanvas.cpp,
-	synfig-core/src/synfig/savecanvas.cpp: Add code to parse/encode
-	properly the DILits Linkable Value Node
+	* synfig-core/src/modules/mod_geometry/circle.cpp: Circle Layer: add
+	support for cairo render when the circle is inverted and
+	semitransparent. No feather yet.
 
-2011-07-28  Carlos Lopez <genetita at gmail.com>
+2012-08-08  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/valuenode_dilist.cpp: By default the Dash
-	List is disabled
+	* synfig-core/src/modules/mod_geometry/circle.cpp,
+	synfig-core/src/modules/mod_geometry/rectangle.cpp: Fix bug:
+	Translation was wrong for non centered canvases.
 
-2011-07-28  Carlos Lopez <genetita at gmail.com>
+2012-08-08  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/advanced_outline.h: Add new
-	parameter 'DIList' (Dash Items List) to Advanced Outline Layer
+	* synfig-core/src/modules/mod_geometry/circle.cpp: Circle Layer: add
+	support for cairo render when the circle is inverted and just
+	opaque.
 
-2011-07-28  Carlos Lopez <genetita at gmail.com>
+2012-08-08  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/releases.h,
-	synfig-core/src/synfig/valuenode.cpp: Register Value Node DIList and
-	fix unused release version. Fix release version for WPList. Add
-	future 0.63.01 release version
+	* synfig-core/src/modules/mod_geometry/circle.cpp,
+	synfig-core/src/modules/mod_geometry/circle.h: Circle Layer: initial
+	version for accelerated_cairorender. Only inverted circles without
+	feather and straight blend method with amount=1
 
-2011-07-28  Carlos Lopez <genetita at gmail.com>
+2012-08-08  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/valuenode_composite.cpp: Fix wrong
-	parameters description
-
-2011-07-28  Carlos Lopez <genetita at gmail.com>
-
-	* synfig-core/src/synfig/valuenode_dilist.cpp: Fix wrong value
-	insertion in the DIList
-
-2011-07-28  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/rectangle.cpp: Rectangle:
+	read color  components directly
 
-	* synfig-core/src/synfig/valuenode_dilist.cpp,
-	synfig-core/src/synfig/valuenode_dilist.h: Add option "enabled" to
-	enable or disable the Dash Item List usage
+2012-07-22  Carlos Lopez <genetita at gmail.com>
 
-2011-07-28  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/layer_solidcolor.cpp,
+	synfig-core/src/synfig/layer_solidcolor.h: Layer_SolidColor: new
+	accelerated_cairorender member function.
 
-	* synfig-core/src/synfig/Makefile.am,
-	synfig-core/src/synfig/valuenode_dilist.cpp,
-	synfig-core/src/synfig/valuenode_dilist.h,
-	synfig-core/src/synfig/valuenode_dynamiclist.h: New Valuenode
-	DashItem List
+2012-07-22  Carlos Lopez <genetita at gmail.com>
 
-2011-07-28  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/render.cpp: cairorender: Use CairoColor
+	instead of Color to storage color result
 
-	* synfig-core/src/synfig/dashitem.cpp,
-	synfig-core/src/synfig/dashitem.h: Add construction member
-	(constructor by reference) to be able to compile. Rename a bad
-	parameter
+2012-07-22  Carlos Lopez <genetita at gmail.com>
 
-2011-07-28  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/layer.cpp: Layer: Use get_color when
+	get_cairocolor is not provided.
 
-	* synfig-core/src/synfig/loadcanvas.cpp,
-	synfig-core/src/synfig/loadcanvas.h,
-	synfig-core/src/synfig/savecanvas.cpp,
-	synfig-core/src/synfig/value.cpp, synfig-core/src/synfig/value.h,
-	synfig-core/src/synfig/valuenode_composite.cpp: Support for new
-	Composite value node for Dash Item class
+2012-07-22  Carlos Lopez <genetita at gmail.com>
 
-2011-07-27  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/layer_bitmap.cpp,
+	synfig-core/src/synfig/layer_bitmap.h: Layer_Bitmap: Fix crash of
+	attempt to call a cairo_surface_destroy on a non initialized not
+	null pointer.
 
-	* synfig-core/src/synfig/Makefile.am,
-	synfig-core/src/synfig/dashitem.cpp,
-	synfig-core/src/synfig/dashitem.h: New Dash Item class files.
+2012-07-21  Carlos Lopez <genetita at gmail.com>
 
-2011-07-27  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/rectangle.cpp: Rectangle: fix
+	cairorender of alpha inverted rectangle
 
-	* synfig-core/src/synfig/widthpoint.cpp: Fix file identifier
+2012-07-21  Carlos Lopez <genetita at gmail.com>
 
-2011-07-27  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/rectangle.cpp: Rectangle: fix
+	cairorender of solid inverted rectangle
 
-	* synfig-core/src/synfig/valuenode_bline.cpp: Try to find a better
-	initial value for the root find routine.
+2012-07-21  Carlos Lopez <genetita at gmail.com>
 
-2011-07-24  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/rectangle.cpp,
+	synfig-core/src/modules/mod_geometry/rectangle.h: Rectangle: initial
+	version of accelerated_cairorender. It works fine for non inverted
+	rectangles but doesn't work properly for inverted rectangles yet.
+	Blending modes not fully supported.
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: When
-	using homogeneous the condition of position onto a blinepoint is not
-	always matched due to lack of precision of std to hom or hom to std
-	conversion. Replace the condition by a flag.
+2012-07-21  Carlos Lopez <genetita at gmail.com>
 
-2011-07-24  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_png/trgt_cairo_png.cpp: 
+	target_cairo_png: replace info message by warning when error has
+	occurred.
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/advanced_outline.h: Revert
-	changes from last commit since it doesn't work.
+2012-07-21  Carlos Lopez <genetita at gmail.com>
 
-2011-07-24  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/color.h: CairoColor: fix range as float to
+	do premult and demult operations properly
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/advanced_outline.h: Improve
-	step size for smooth render. Experimental. I think this should be
-	user selectable because it can eventually reduce render speed
+2012-07-18  Carlos Lopez <genetita at gmail.com>
 
-2011-07-24  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/layer_bitmap.cpp,
+	synfig-core/src/synfig/layer_bitmap.h,
+	synfig-core/src/synfig/layer_composite.cpp,
+	synfig-core/src/synfig/layer_composite.h,
+	synfig-core/src/synfig/render.cpp: Support for
+	Layer_Composite::accelereated_cairorender.  Move to private the
+	Layer_Bitmap's cairo_surface_t* and provide get and set members. On
+	cairorender, use get_cairocolor instead of get_color.
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix two
-	mistakes that luckily didn't produce any bug before.
+2012-07-16  Carlos Lopez <genetita at gmail.com>
 
-2011-07-23  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/layer_bitmap.cpp,
+	synfig-core/src/synfig/layer_bitmap.h: Modify
+	Layer_Bitmap::accelerated_cairorender to use properly the Cairo API.
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Render
-	the outline using homogeneous option
+2012-07-14  Carlos Lopez <genetita at gmail.com>
 
-2011-07-23  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/import.cpp,
+	synfig-core/src/modules/lyr_std/import.h,
+	synfig-core/src/synfig/layer_bitmap.cpp,
+	synfig-core/src/synfig/layer_bitmap.h: Versions of the
+	set_render_method member for Layer_Bitmap and Import
 
-	* synfig-core/src/synfig/valuenode_bline.cpp,
-	synfig-core/src/synfig/valuenode_bline.h: Give new parameter names
-	to make it more readable
+2012-07-14  Carlos Lopez <genetita at gmail.com>
 
-2011-07-21  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/context.cpp,
+	synfig-core/src/synfig/context.h, synfig-core/src/synfig/layer.cpp,
+	synfig-core/src/synfig/layer.h: Suit a class member to set the
+	render method to the layers. Only the layers that define the virtual
+	member uses it.
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/advanced_outline.h: Remove
-	homogeneous parameter from Advanced Outline Layer since it is only
-	an internal WPList optiion
+2012-07-14  Carlos Lopez <genetita at gmail.com>
 
-2011-07-21  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/layer_bitmap.cpp,
+	synfig-core/src/synfig/layer_bitmap.h: Layer_Bitmap: new
+	get_cairocolor. For use with CairoSurface.
 
-	* synfig-core/src/synfig/loadcanvas.cpp,
-	synfig-core/src/synfig/savecanvas.cpp,
-	synfig-core/src/synfig/valuenode_wplist.cpp: Add actions to set and
-	unset the homogeneous option to the WPList
+2012-07-14  Carlos Lopez <genetita at gmail.com>
 
-2011-07-21  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/render.cpp: Documentation
 
-	* synfig-core/src/synfig/valuenode_wplist.cpp,
-	synfig-core/src/synfig/valuenode_wplist.h: Return homogeneous as
-	internal parameter for the WPList and not a Value Node
+2012-07-14  Carlos Lopez <genetita at gmail.com>
 
-2011-07-21  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/layer_bitmap.cpp: Layer_Bitmap: map the
+	cairo_surface_t to CairoSurface at the right moment. Unmap it
+	properly.
 
-	* synfig-core/src/synfig/canvas.h: Write git SHA1 ID number on
-	canvas version change comment
+2012-07-12  Carlos Lopez <genetita at gmail.com>
 
-2011-07-21  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Apply
+	patch ID 3543027: Crash when loading 54-morevna.sif. Fixes bug that
+	happens when BLine passed is empty.
 
-	* synfig-core/src/synfig/canvas.h,
-	synfig-core/src/synfig/loadcanvas.cpp: Increase canvas version and
-	allow open files created previously without the homogeneous link
-	defined. .
+2012-07-12  Carlos Lopez <genetita at gmail.com>
 
-2011-07-21  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/layer_pastecanvas.cpp: Remove unused code.
+	If later is needed it can be taken from existing code.
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Give an
-	initial value to homogenous parameter
+2012-07-11  Carlos Lopez <genetita at gmail.com>
 
-2011-07-20  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h: Support for
+	Layer_PasteCanvas::accelerated_cairorender
 
-	* synfig-core/src/synfig/valuenode_bline.cpp: Consider trivial cases
-	in standard from/to homogeneous. It avoid a crash.
+2012-07-11  Carlos Lopez <genetita at gmail.com>
 
-2011-07-18  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_png/trgt_cairo_png.cpp,
+	synfig-core/src/modules/mod_png/trgt_cairo_png.h: Fix the gamma
+	output on cairo_png target.
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/advanced_outline.h: Add
-	homogeneous parameter to Advanced Outline Layer. It is not
-	functional yet.
+2012-07-10  Carlos Lopez <genetita at gmail.com>
 
-2011-07-18  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/color.cpp, synfig-core/src/synfig/color.h: 
+	CairoColor: Don't assume big endian alignment and leave the system
+	decide it. For that use a uint32_t for the entire pixel data and get
+	/ set the channels by bitwise operations.  This commit also fixes
+	two bugs with the operators + and - that were calculating wrongly
+	the alpha channel due to a copy paste wrong code.
 
-	* synfig-core/src/synfig/valuenode_wplist.cpp,
-	synfig-core/src/synfig/valuenode_wplist.h: Use a value node to allow
-	make it animatable.
+2012-07-09  Carlos Lopez <genetita at gmail.com>
 
-2011-07-18  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/color.h: Fix CairoColor::premult_alpha()
+	function.
 
-	* synfig-core/src/synfig/valuenode_wplist.cpp,
-	synfig-core/src/synfig/valuenode_wplist.h: Add a member to set/get
-	homogeneous option for WPList
+2012-07-09  Carlos Lopez <genetita at gmail.com>
 
-2011-07-13  Carlos Lopez <genetita at gmail.com>
+	* : commit 7de048daeac880efe73c0b0ee440e3cd0386a3d8 Author: Nikita
+	Kitaev <nikitakit at gmail.com> Date:   Sun Jul 1 18:19:30 2012 -0700
 
-	* synfig-core/src/synfig/valuenode_blinecalctangent.cpp,
-	synfig-core/src/synfig/valuenode_blinecalctangent.h,
-	synfig-core/src/synfig/valuenode_blinecalcvertex.cpp,
-	synfig-core/src/synfig/valuenode_blinecalcvertex.h,
-	synfig-core/src/synfig/valuenode_blinecalcwidth.cpp,
-	synfig-core/src/synfig/valuenode_blinecalcwidth.h: Add support for
-	use of homogenous or standard index of the Link to Bline feature
+2012-07-08  Nikita Kitaev <nikitakit at gmail.com>
 
-2011-07-13  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/surface.cpp,
+	synfig-core/src/synfig/surface.h: Remember to set cs_image_ to NULL
+	when it is not in use
 
-	* synfig-core/src/synfig/valuenode_bline.cpp,
-	synfig-core/src/synfig/valuenode_bline.h: Add functions to convert
-	from standard index to homogeneous index (consider the length as
-	basis of the index)
+2012-07-08  Nikita Kitaev <nikitakit at gmail.com>
 
-2011-07-04  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/context.cpp: Change
+	Context::accelerated_cairorender handling of straight blending
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: If
-	tangent is zero and they are merged, then consider it as split to
-	make corners.
+2012-07-01  Nikita Kitaev <nikitakit at gmail.com>
 
-2011-06-26  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_png/main.cpp,
+	synfig-core/src/modules/mod_png/mptr_png.h,
+	synfig-core/src/modules/mod_png/trgt_png.h,
+	synfig-core/src/synfig/target.h: Fix compiler errors Forward-declare CairoSurface along with regular Surface png.h must
+	be included before cairo headers
 
-	* synfig-core/src/synfig/valuenode_join.cpp: Allow use the Joined
-	List Convert type to file name parameter of the Import Image layers.
-	If possible any convert type shouldn't modify the original value of
-	the parameter.
+2012-07-01  Nikita Kitaev <nikitakit at gmail.com>
 
-2011-06-26  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/surface.cpp: Allow code to compile under
+	older cairo versions that don't support map/unmap
 
-	* synfig-core/src/modules/lyr_std/supersample.cpp: Don't allow
-	supersample have zero or negative values in the height or width
-	parameters.It only causes problems.Fixes bug 3147736
+2012-07-07  Carlos Lopez <genetita at gmail.com>
 
-2011-06-26  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/layer_bitmap.cpp,
+	synfig-core/src/synfig/layer_bitmap.h,
+	synfig-core/src/synfig/layer_cairobitmap.cpp,
+	synfig-core/src/synfig/layer_cairobitmap.h: New member
+	accelerated_cairorender() to Layer_Bitmap. Remove Layer_CairoBitmap
+	because it is not longer needed.
 
-	* synfig-core/src/synfig/releases.h: Update the version in save file
-	dialog. Patch b Yu Chen (jcome)
+2012-07-05  Carlos Lopez <genetita at gmail.com>
 
-2011-06-05  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/context.cpp,
+	synfig-core/src/synfig/context.h, synfig-core/src/synfig/layer.cpp,
+	synfig-core/src/synfig/layer.h, synfig-core/src/synfig/render.cpp,
+	synfig-core/src/synfig/render.h,
+	synfig-core/src/synfig/surface.cpp,
+	synfig-core/src/synfig/surface.h,
+	synfig-core/src/synfig/target_cairo.cpp,
+	synfig-core/src/synfig/target_cairo.h: New strategy, several
+	changes: 1) Temporarily disable new Layer_CairoBitmap class. It needs some
+	rectifications according the new strategy.  2)  Remove cariosurface_target class since it is not needed with the
+	new strategy.  3) New virtual bool
+	Target_Cairo::obtain_surface(cairo_surface_t*)=0; It accepts a
+	cairo_surface_t pointer and fills it up with the cairo_surface_t
+	address from the specific target instance. This function should also
+	do the needed tasks to prepare the device to receive a new surface
+	on it.  4) New virtual bool Target_Cairo::put_surface(cairo_surface_t*); It
+	accepts a cairo_surface_t and transfers it to the device. It is
+	virtual so the target instance can make different things depending
+	on the device needs. It is provided a basic one. cairo_surface_t has
+	to be destroyed there.  5) Context and Layer accelerated_cairorender members now receives a
+	cairo_context_t instead a CairoSurface.  6) New synfig::cairorender global function that renders a Context on
+	a cairo_surface_t. It creates a CairoSurface to access the
+	underlying pixels. After that it is returned to the cairo_surface_t
 
-	* synfig-core/configure.ac: Release Synfig 0.63.00
+2012-07-05  Carlos Lopez <genetita at gmail.com>
 
-2011-06-05  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/surface.h: Initialize cs_ to NULL when
+	provided in CairoSurface constructor. It will prevent to destroy it
+	when it has not been set.
 
-	* synfig-core/README: Update Readme files
+2012-07-05  Carlos Lopez <genetita at gmail.com>
 
-2011-06-05  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/surface.cpp: When call map and unmap a
+	CairoSurface members, consider if the stored cairo_surface_t is
+	already a image type so then don't map it.
 
-	* synfig-core/AUTHORS, synfig-core/NEWS: Update News and Authors
-	files and About dialogue
+2012-07-03  Carlos Lopez <genetita at gmail.com>
 
-2011-06-05  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/context.cpp,
+	synfig-core/src/synfig/context.h, synfig-core/src/synfig/layer.cpp,
+	synfig-core/src/synfig/layer.h,
+	synfig-core/src/synfig/layer_cairobitmap.cpp,
+	synfig-core/src/synfig/layer_cairobitmap.h: Adapt Layer_CairoBitmap
+	to use CairoColor and CairoSurface. It was needed to add a new
+	get_cairocolor() to Layer and Context.
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Typo
+2012-07-03  Carlos Lopez <genetita at gmail.com>
 
-2011-06-04  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/layer_cairobitmap.cpp,
+	synfig-core/src/synfig/layer_cairobitmap.h: It is needed to create a
+	new CairoBitmap layer to give support for Cairo import using
+	CairoSurface. This is just a rough copy of the original.
 
-	* synfig-core/po/pt_BR.po: Fix missing \n characters
+2012-07-03  Carlos Lopez <genetita at gmail.com>
 
-2011-06-04  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/supersample.cpp,
+	synfig-core/src/synfig/layer.cpp,
+	synfig-core/src/synfig/layer_composite.cpp,
+	synfig-core/src/synfig/render.cpp, synfig-core/src/synfig/render.h: 
+	New synfig::render function that will accept Target_Cairo as target.
 
-	* synfig-core/configure.ac, synfig-core/po/es.po,
-	synfig-core/po/fr.po, synfig-core/po/it.po,
-	synfig-core/po/pl_PL.po, synfig-core/po/pt_BR.po: Add support for
-	Polish (Poland) language and updates for Spanish, French, Italian
-	and Portuguese (Brazilian) for synfig core
+2012-07-03  Carlos Lopez <genetita at gmail.com>
 
-2011-05-20  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/target_cairo.cpp,
+	synfig-core/src/synfig/target_cairo.h: Update
+	Target_Cairo::add_frame to accept a ProgressCallback and to call
+	start and end frame from the Target instance.
 
-	* synfig-core/configure.ac: Bump for version RC2
+2012-07-01  Carlos Lopez <genetita at gmail.com>
 
-2011-05-19  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/surface.cpp,
+	synfig-core/src/synfig/surface.h: When create a CairoSurface by
+	default, make the cs_image NULL too. Destroy on destruction.  Allow
+	to create a image_surface using directly set_wh() applied on the
+	cs_image. If the cs is set then bail out.  This allows to use
+	CairoSurface without need to ask the Target about the backend used.
+	It uses Image surface by default.
 
-	* synfig-core/po/pt_BR.po: Fix some missing \n at some of the msgstr
+2012-07-01  Carlos Lopez <genetita at gmail.com>
 
-2011-05-19  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_example/filledrect.h,
+	synfig-core/src/modules/mod_example/metaballs.h,
+	synfig-core/src/modules/mod_example/simplecircle.h,
+	synfig-core/src/modules/mod_particle/plant.h: Make missing layers to
+	derive from Layer_NoDeform. It should help on optimize layers
+	function.
 
-	* synfig-core/configure.ac: Remove Persian language until missed \n
-	at the end of string is fixed.
+2012-06-28  Carlos Lopez <genetita at gmail.com>
 
-2011-05-19  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h,
+	synfig-core/src/synfig/render.h,
+	synfig-core/src/synfig/surface.cpp,
+	synfig-core/src/synfig/surface.h,
+	synfig-core/src/synfig/target_cairo.cpp,
+	synfig-core/src/synfig/target_cairo.h: Modify CairoSurface to
+	receive a cairo_surface_t on creation.  Add members to map and unmap
+	the image surface from cairo surface.  Add Target_Cairo class for
+	targets that use CairoSurface.  Add target2cairosurface target to
+	render to a CairoSurface in memory with possibility to use the
+	direct access to the data.  New Layer::accelerated_render member to
+	receive CairoSurface
 
-	* synfig-core/configure.ac, synfig-core/po/es.po,
-	synfig-core/po/fa_IR.po, synfig-core/po/pt_BR.po: New Languages:
-	Persian and Brasilian. Thanks to abtin and ricardograca. Spanish
-	updated. Thanks to carlos_tutor
+2012-06-28  Carlos Lopez <genetita at gmail.com>
 
-2011-05-19  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/target_cairo.cpp,
+	synfig-core/src/synfig/target_cairo.h: Add two new files for
+	Target_Cairo class
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Remove
-	debug info
+2011-03-22  Nikita Kitaev <nikitakit at gmail.com>
 
-2011-05-01  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/configure.ac: Add cairo headers to configure.ac
 
-	* synfig-core/src/tool/main.cpp: Fix bug:2175043 Suit a better
-	handling and message for the case of path not writable or not exists
-	for the command line renderer.
+2012-06-22  Carlos Lopez <genetita at gmail.com>
 
-2011-04-30  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/surface.cpp: Use CairoColor size when
+	copying source to dest.
 
-	* synfig-core/configure.ac: Bump version for RC2
+2012-06-19  Carlos Lopez <genetita at gmail.com>
 
-2011-04-30  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/context.cpp,
+	synfig-core/src/synfig/context.h: Context: turn accelerated_render
+	member to be a template function.
 
-	* synfig-core/configure.ac, synfig-core/po/no_NO.po,
-	synfig-core/po/ro.po: Add support for Norwegian and Romanian
-	language for synfig core and Slovakian for synfig studio
+2012-06-19  Carlos Lopez <genetita at gmail.com>
 
-2011-04-27  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/surface.cpp,
+	synfig-core/src/synfig/surface.h: Complete definition of
+	CairoSurface.
 
-	* synfig-core/src/synfig/layer_polygon.cpp: Suit better name for
-	Vertices parameter for Polygon layer. Patch thanks to Yu Chen
-	(jcome)
+2012-06-19  Carlos Lopez <genetita at gmail.com>
 
-2011-04-27  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/color.cpp, synfig-core/src/synfig/color.h: 
+	Use constants instead of functions for ceil and floor color values.
 
-	* : commit 46ea83801b3b7f2f2389f7bced5c0da7da281da7 Author: Carlos
-	Lopez <genetita at gmail.com> Date:   Sun Apr 24 10:07:37 2011 +0200
+2012-06-09  Carlos Lopez <genetita at gmail.com>
 
-2011-04-24  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/surface.h: CairoSurface: basic structure.
 
-	* synfig-core/po/es.po, synfig-core/po/fr.po: Updated Spanish and
-	French translations. Thanks to genete and animtim
+2012-06-09  Carlos Lopez <genetita at gmail.com>
 
-2011-04-22  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/circle.cpp,
+	synfig-core/src/synfig/layer_shape.cpp,
+	synfig-core/src/synfig/surface.h: Templatize _BlendFunc for generic
+	alpha pen usage
 
-	* synfig-core/configure.ac: Typo
+2012-06-07  Carlos Lopez <genetita at gmail.com>
 
-2011-04-22  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/target_scanline.cpp,
+	synfig-core/src/synfig/target_scanline.h: Target_Scanline: Add a
+	virtual method to create a surface instance. It would use the
+	current render method to decide which type of surface to create. It
+	has to be override by specific targets to make use of the proper
+	surface backend.
 
-	* synfig-core/configure.ac: Bump version for ETL
+2011-03-21  Nikita Kitaev <nikitakit at gmail.com>
 
-2011-04-22  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp: Added "Rendering method" command
+	line option
 
-	* synfig-core/NEWS: Update NEWS files
+2011-03-21  Nikita Kitaev <nikitakit at gmail.com>
 
-2011-04-22  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/target.cpp,
+	synfig-core/src/synfig/target.h: Add a function to set the rending
+	method (Software, OpenGL, or Cairo). Author Nikita Kitaev
 
-	* synfig-core/src/modules/lyr_std/clamp.cpp,
-	synfig-core/src/modules/lyr_std/curvewarp.cpp,
-	synfig-core/src/modules/lyr_std/import.cpp,
-	synfig-core/src/modules/lyr_std/sphere_distort.cpp,
-	synfig-core/src/modules/lyr_std/stretch.cpp,
-	synfig-core/src/modules/lyr_std/supersample.cpp,
-	synfig-core/src/modules/lyr_std/timeloop.cpp,
-	synfig-core/src/modules/lyr_std/twirl.cpp,
-	synfig-core/src/modules/lyr_std/warp.cpp,
-	synfig-core/src/modules/lyr_std/xorpattern.cpp,
-	synfig-core/src/modules/mod_example/filledrect.cpp,
-	synfig-core/src/modules/mod_example/simplecircle.cpp,
-	synfig-core/src/modules/mod_geometry/checkerboard.cpp,
-	synfig-core/src/modules/mod_geometry/circle.cpp,
-	synfig-core/src/modules/mod_geometry/outline.cpp,
-	synfig-core/src/modules/mod_geometry/rectangle.cpp,
-	synfig-core/src/modules/mod_geometry/region.cpp,
-	synfig-core/src/modules/mod_gradient/conicalgradient.cpp,
-	synfig-core/src/modules/mod_gradient/curvegradient.cpp,
-	synfig-core/src/modules/mod_gradient/lineargradient.cpp,
-	synfig-core/src/modules/mod_gradient/radialgradient.cpp,
-	synfig-core/src/modules/mod_gradient/spiralgradient.cpp,
-	synfig-core/src/modules/mod_noise/distort.cpp,
-	synfig-core/src/modules/mod_noise/noise.cpp,
-	synfig-core/src/modules/mod_noise/valuenode_random.cpp,
-	synfig-core/src/modules/mod_noise/valuenode_random.h,
-	synfig-core/src/modules/mod_particle/plant.cpp,
-	synfig-core/src/synfig/general.h, synfig-core/src/synfig/layer.cpp,
-	synfig-core/src/synfig/layer.h,
-	synfig-core/src/synfig/layer_composite.cpp,
-	synfig-core/src/synfig/layer_pastecanvas.cpp,
-	synfig-core/src/synfig/layer_polygon.cpp,
-	synfig-core/src/synfig/layer_solidcolor.cpp,
-	synfig-core/src/synfig/loadcanvas.cpp,
-	synfig-core/src/synfig/releases.h,
-	synfig-core/src/synfig/savecanvas.cpp,
-	synfig-core/src/synfig/value.cpp, synfig-core/src/synfig/value.h,
-	synfig-core/src/synfig/valuenode.cpp,
-	synfig-core/src/synfig/valuenode.h,
-	synfig-core/src/synfig/valuenode_add.cpp,
-	synfig-core/src/synfig/valuenode_add.h,
-	synfig-core/src/synfig/valuenode_and.cpp,
-	synfig-core/src/synfig/valuenode_and.h,
-	synfig-core/src/synfig/valuenode_anglestring.cpp,
-	synfig-core/src/synfig/valuenode_anglestring.h,
-	synfig-core/src/synfig/valuenode_atan2.cpp,
-	synfig-core/src/synfig/valuenode_atan2.h,
-	synfig-core/src/synfig/valuenode_bline.cpp,
-	synfig-core/src/synfig/valuenode_bline.h,
-	synfig-core/src/synfig/valuenode_blinecalctangent.cpp,
-	synfig-core/src/synfig/valuenode_blinecalctangent.h,
-	synfig-core/src/synfig/valuenode_blinecalcvertex.cpp,
-	synfig-core/src/synfig/valuenode_blinecalcvertex.h,
-	synfig-core/src/synfig/valuenode_blinecalcwidth.cpp,
-	synfig-core/src/synfig/valuenode_blinecalcwidth.h,
-	synfig-core/src/synfig/valuenode_blinereversetangent.cpp,
-	synfig-core/src/synfig/valuenode_blinereversetangent.h,
-	synfig-core/src/synfig/valuenode_compare.cpp,
-	synfig-core/src/synfig/valuenode_compare.h,
-	synfig-core/src/synfig/valuenode_composite.cpp,
-	synfig-core/src/synfig/valuenode_composite.h,
-	synfig-core/src/synfig/valuenode_cos.cpp,
-	synfig-core/src/synfig/valuenode_cos.h,
-	synfig-core/src/synfig/valuenode_dotproduct.cpp,
-	synfig-core/src/synfig/valuenode_dotproduct.h,
-	synfig-core/src/synfig/valuenode_duplicate.cpp,
-	synfig-core/src/synfig/valuenode_duplicate.h,
-	synfig-core/src/synfig/valuenode_dynamiclist.cpp,
-	synfig-core/src/synfig/valuenode_dynamiclist.h,
-	synfig-core/src/synfig/valuenode_exp.cpp,
-	synfig-core/src/synfig/valuenode_exp.h,
-	synfig-core/src/synfig/valuenode_gradientcolor.cpp,
-	synfig-core/src/synfig/valuenode_gradientcolor.h,
-	synfig-core/src/synfig/valuenode_gradientrotate.cpp,
-	synfig-core/src/synfig/valuenode_gradientrotate.h,
-	synfig-core/src/synfig/valuenode_greyed.cpp,
-	synfig-core/src/synfig/valuenode_greyed.h,
-	synfig-core/src/synfig/valuenode_integer.cpp,
-	synfig-core/src/synfig/valuenode_integer.h,
-	synfig-core/src/synfig/valuenode_intstring.cpp,
-	synfig-core/src/synfig/valuenode_intstring.h,
-	synfig-core/src/synfig/valuenode_join.cpp,
-	synfig-core/src/synfig/valuenode_join.h,
-	synfig-core/src/synfig/valuenode_linear.cpp,
-	synfig-core/src/synfig/valuenode_linear.h,
-	synfig-core/src/synfig/valuenode_log.cpp,
-	synfig-core/src/synfig/valuenode_log.h,
-	synfig-core/src/synfig/valuenode_not.cpp,
-	synfig-core/src/synfig/valuenode_not.h,
-	synfig-core/src/synfig/valuenode_or.cpp,
-	synfig-core/src/synfig/valuenode_or.h,
-	synfig-core/src/synfig/valuenode_pow.cpp,
-	synfig-core/src/synfig/valuenode_pow.h,
-	synfig-core/src/synfig/valuenode_radialcomposite.cpp,
-	synfig-core/src/synfig/valuenode_radialcomposite.h,
-	synfig-core/src/synfig/valuenode_range.cpp,
-	synfig-core/src/synfig/valuenode_range.h,
-	synfig-core/src/synfig/valuenode_realstring.cpp,
-	synfig-core/src/synfig/valuenode_realstring.h,
-	synfig-core/src/synfig/valuenode_reciprocal.cpp,
-	synfig-core/src/synfig/valuenode_reciprocal.h,
-	synfig-core/src/synfig/valuenode_reference.cpp,
-	synfig-core/src/synfig/valuenode_reference.h,
-	synfig-core/src/synfig/valuenode_repeat_gradient.cpp,
-	synfig-core/src/synfig/valuenode_repeat_gradient.h,
-	synfig-core/src/synfig/valuenode_scale.cpp,
-	synfig-core/src/synfig/valuenode_scale.h,
-	synfig-core/src/synfig/valuenode_segcalctangent.cpp,
-	synfig-core/src/synfig/valuenode_segcalctangent.h,
-	synfig-core/src/synfig/valuenode_segcalcvertex.cpp,
-	synfig-core/src/synfig/valuenode_segcalcvertex.h,
-	synfig-core/src/synfig/valuenode_sine.cpp,
-	synfig-core/src/synfig/valuenode_sine.h,
-	synfig-core/src/synfig/valuenode_step.cpp,
-	synfig-core/src/synfig/valuenode_step.h,
-	synfig-core/src/synfig/valuenode_stripes.cpp,
-	synfig-core/src/synfig/valuenode_stripes.h,
-	synfig-core/src/synfig/valuenode_subtract.cpp,
-	synfig-core/src/synfig/valuenode_subtract.h,
-	synfig-core/src/synfig/valuenode_switch.cpp,
-	synfig-core/src/synfig/valuenode_switch.h,
-	synfig-core/src/synfig/valuenode_timedswap.cpp,
-	synfig-core/src/synfig/valuenode_timedswap.h,
-	synfig-core/src/synfig/valuenode_timeloop.cpp,
-	synfig-core/src/synfig/valuenode_timeloop.h,
-	synfig-core/src/synfig/valuenode_timestring.cpp,
-	synfig-core/src/synfig/valuenode_timestring.h,
-	synfig-core/src/synfig/valuenode_twotone.cpp,
-	synfig-core/src/synfig/valuenode_twotone.h,
-	synfig-core/src/synfig/valuenode_vectorangle.cpp,
-	synfig-core/src/synfig/valuenode_vectorangle.h,
-	synfig-core/src/synfig/valuenode_vectorlength.cpp,
-	synfig-core/src/synfig/valuenode_vectorlength.h,
-	synfig-core/src/synfig/valuenode_vectorx.cpp,
-	synfig-core/src/synfig/valuenode_vectorx.h,
-	synfig-core/src/synfig/valuenode_vectory.cpp,
-	synfig-core/src/synfig/valuenode_vectory.h: Update Authors Copyright
+2012-06-05  Carlos Lopez <genetita at gmail.com>
 
-2011-04-22  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/src/synfig/surface.h: Surface: New CairoColorPrep
+	class for cook and uncook operations.
 
-	* : Merge commit 'origin/master' into zelgadis_master
+2012-06-05  Carlos Lopez <genetita at gmail.com>
 
-2011-04-20  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/color.h: CairoColor: Don't use alpha=1 for
+	default value. Use its own ceil value (255). Constructor from Color
+	uses constant argument.
 
-	* synfig-core/po/POTFILES.in: Add missing files to translatable
-	files entries in core.
+2012-06-05  Carlos Lopez <genetita at gmail.com>
 
-2011-04-18  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/color.cpp, synfig-core/src/synfig/color.h: 
+	Color: Conversor constructor from CairoColor
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: 
-	Calculate properly the decision to stay on a blinepoint or a width
-	point based on the relative position and the step taken.
+2012-06-05  Carlos Lopez <genetita at gmail.com>
 
-2011-04-18  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/color.cpp: CairoColor: implement blend
+	method using blend function templates
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Add
-	documentation
+2012-06-05  Carlos Lopez <genetita at gmail.com>
 
-2011-04-18  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/color.cpp, synfig-core/src/synfig/color.h: 
+	CairoColor: Add members to display color in hex a decimal format.
+	Add member to set color channels based on the hexadecimal string.
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: 
-	Calculate properly the blinepoints position over the bline.
-	Previously using the sum of the bezier's size caused a floating
-	point error at the last blinepoint obtaining 0.99999999999999999
-	instead of 1.0 placing the blinepoint not exactly at the end of the
-	bline. This caused enless loops in some particular cases of number
-	of blinepoints.  Using multiplication instead of sum, solved the
-	problem.
+2012-06-05  Carlos Lopez <genetita at gmail.com>
 
-2011-04-17  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/color.cpp: Remove unused code
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix and
-	add some documentation
+2012-05-31  Carlos Lopez <genetita at gmail.com>
 
-2011-04-17  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/color.h: Constructor for CairoColor based
+	on Color
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Typo
+2012-05-31  Carlos Lopez <genetita at gmail.com>
 
-2011-04-14  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/color.h: Define and use ceil and floor
+	constant color limits functions for CairoColor.  Define is_valid()
+	for CairoColor
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
-	typos in one of the previous commits that make the bug not be solved
-	for end tip.
+2012-05-31  Carlos Lopez <genetita at gmail.com>
 
-2011-04-13  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/color.cpp, synfig-core/src/synfig/color.h: 
+	Define color channel maximum allowed value (ceil) and minimum
+	allowed value (floor) using a function. This allows to use properly
+	them in the blend function templates.
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Add
-	code to render rounded corners.
+2012-05-31  Carlos Lopez <genetita at gmail.com>
 
-2011-04-13  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/color.cpp: Use a template to define blend
+	method functions.
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix bug
-	of bad render of start (end) tip when the first (last) widthpoint
-	has side type before (after) set to interpolate and it is at 0.0
-	(1.0).  User expects the tip to have the same type of the layer's
-	start (end) tip.
+2012-05-29  Carlos Lopez <genetita at gmail.com>
 
-2011-04-12  tux <tux at tux-desktop.(none)>
+	* synfig-core/src/synfig/color.cpp, synfig-core/src/synfig/color.h: 
+	Initial version of new CairoColor class
 
-	* : Merge commit 'origin/genete_advanced_outline' into
-	zelgadis_master
+2012-04-29  Carlos Lopez <genetita at gmail.com>
 
-2011-04-07  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/src/synfig/renddesc.cpp,
+	synfig-core/src/synfig/renddesc.h: Add two new members to RendDesc
+	to get and set the duration of the animation. Setting the duration
+	modifies the end time respecting the start time.
 
-	* : Merge commit 'origin/genete_advanced_outline' into
-	zelgadis_master
+2012-04-29  Carlos Lopez <genetita at gmail.com>
 
-2011-04-06  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/target_scanline.cpp,
+	synfig-core/src/synfig/target_tile.cpp: Rearrange code. No changes.
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix bad
-	render of the first widthpoint.
+2012-04-29  Carlos Lopez <genetita at gmail.com>
 
-2011-04-04  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/src/synfig/target.cpp,
+	synfig-core/src/synfig/target.h,
+	synfig-core/src/synfig/target_scanline.cpp,
+	synfig-core/src/synfig/target_scanline.h,
+	synfig-core/src/synfig/target_tile.cpp,
+	synfig-core/src/synfig/target_tile.h: Fix bug ID: 2684968: render is
+	one frame short.
 
-	* : Merge commit 'origin/genete_advanced_outline' into
-	zelgadis_master
+2012-04-28  Carlos Lopez <genetita at gmail.com>
 
-2011-04-04  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/target.cpp,
+	synfig-core/src/synfig/target.h,
+	synfig-core/src/synfig/target_scanline.cpp,
+	synfig-core/src/synfig/target_scanline.h,
+	synfig-core/src/synfig/target_tile.cpp,
+	synfig-core/src/synfig/target_tile.h: Use same next_frame method for
+	both scan and tile targets
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Make
-	cusps like regular outlines. Fix last cusp not rendered previously.
-	Add some documentation.
+2012-04-22  Carlos López <carlos at iMac.local>
 
-2011-04-04  Carlos Lopez <genetita at gmail.com>
+	* : commit 59d57060d2831642d69faa129da1e5653e0256d7 Author: Carlos
+	López <carlos at iMac.local> Date:   Tue Apr 17 22:34:10 2012 +0200
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Make
-	cusps like regular outlines. Fix last cusp not rendered previously.
-	Add some documentation.
+2012-04-12  Carlos López <carlos at iMac.local>
 
-2011-04-03  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/synfig-core.xcodeproj/config.h,
+	synfig-core/synfig-core.xcodeproj/darco.mode1,
+	synfig-core/synfig-core.xcodeproj/darco.pbxuser,
+	synfig-core/synfig-core.xcodeproj/project.pbxproj: Remove old and
+	unused xcode project files
 
-	* synfig-core/src/synfig/valuenode_wplist.cpp: Inserting new
-	widthpoint items now works correctly.
+2012-04-09  Carlos Lopez <genetita at gmail.com>
 
-2011-04-02  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/NEWS, synfig-core/configure.ac: Release Synfig and
+	Synfig Studio 0.63.05 and ETL 0.04.15
 
-	* synfig-core/src/synfig/valuenode_wplist.cpp,
-	synfig-core/src/synfig/valuenode_wplist.h: Partially fix create a
-	new widthpoint entry using the contextual menu.  TODO: when the
-	first widthpoint is used to insert, calculate the width correctly.
+2012-04-09  Carlos Lopez <genetita at gmail.com>
 
-2011-04-01  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/README: Update README
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix bad
-	tip render due to previous commit that fixed other render artifact.
-	Extra points not needed.
+2012-04-07  Carlos Lopez <genetita at gmail.com>
 
-2011-03-22  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/po/es.po, synfig-core/po/fa_IR.po,
+	synfig-core/po/fr.po, synfig-core/po/no_NO.po,
+	synfig-core/po/ru.po, synfig-core/po/sk_SK.po: Correct po files
+	headers.
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix bad
-	render in some special situations
+2012-04-07  Yu Chen <jcomee at gmail.com>
 
-2011-03-22  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/po/fa_IR.po: Typo
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: By
-	default, make the Advanced Outline look similar to the old Outline.
+2012-04-07  Yu Chen <jcomee at gmail.com>
 
-2011-03-20  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/po/de.po, synfig-core/po/el_GR.po,
+	synfig-core/po/en_GB.po, synfig-core/po/es.po,
+	synfig-core/po/fa_IR.po, synfig-core/po/fr.po,
+	synfig-core/po/it.po, synfig-core/po/lt.po, synfig-core/po/nl.po,
+	synfig-core/po/no_NO.po, synfig-core/po/pl_PL.po,
+	synfig-core/po/pt_BR.po, synfig-core/po/ro.po,
+	synfig-core/po/ru.po, synfig-core/po/sk_SK.po,
+	synfig-core/po/zh_CN.po: Apply lastest translations
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Use
-	expand parameter when rendering.
+2012-04-05  Carlos Lopez <genetita at gmail.com>
 
-2011-03-20  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_magickpp/trgt_magickpp.cpp: MagickTrue
+	needs its namespace specification on the current compiler.
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: 
-	Effectively use the start and end tips parameters when render the
-	outline.
+2012-04-05  Carlos Lopez <genetita at gmail.com>
 
-2011-03-20  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/configure.ac: Bump for RC1
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/advanced_outline.h: Add
-	start_tip and end_tip parameters for the bline start and end
-	blinepoints and use the rounded type by default
+2012-04-05  Carlos Lopez <genetita at gmail.com>
 
-2011-03-20  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/releases.h: Bump release number on the save
+	as dialogue
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/advanced_outline.h: Remove
-	round tip parameter
+2012-04-03  Carlos Lopez <genetita at gmail.com>
 
-2011-03-20  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/AUTHORS, synfig-core/NEWS: Update NEWS and AUTHORS
 
-	* synfig-core/src/synfig/valuenode_wplist.cpp: Add documentation
+2012-03-29  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-03-20  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp: Standarised sequence separator
+	parameter format
 
-	* synfig-core/src/synfig/valuenode_wplist.cpp: Use new smooth
-	formulation. New one has first and second derivatives equal to zero
-	on both ends.  It approximates the old Homogeneous render when
-	smoothness is 0.5, giving more smooth result for 1.0
+2012-03-28  Carlos Lopez <genetita at gmail.com>
 
-2011-03-16  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/zoom.cpp: Fix typos and mispelling
+	on various messages. Patch thanks to Bertand Gregorie
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/synfig/valuenode_wplist.cpp,
-	synfig-core/src/synfig/valuenode_wplist.h: Effectively use the
-	smoothness when rendering.  Fix error done in the previous commit
-	where interpolation code was wrong.
+2012-03-28  Carlos Lopez <genetita at gmail.com>
 
-2011-03-16  Carlos Lopez <genetita at gmail.com>
+	* : commit 5101df0080b9e821193d7555275b6501c2da6f69 Author: Carlos
+	Lopez <genetita at gmail.com> Date:   Wed Mar 28 16:02:45 2012 +0200
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/advanced_outline.h: Replace
-	homogeneous width by smoothness. It controls the interpolation
-	between widthpoints
+2012-03-28  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-03-16  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/palette.cpp: Built-in GPL import gamma
+	color correction replacement
 
-	* synfig-core/src/synfig/valuenode_wplist.cpp,
-	synfig-core/src/synfig/valuenode_wplist.h: Add new parameter to
-	control the interpolation smoothness.
+2012-03-28  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-03-13  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/palette.cpp: Improved GPL format support,
+	bugs corrected
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Remove
-	unused headers and update my copyrights and description
+2012-03-26  Carlos Lopez <genetita at gmail.com>
 
-2011-03-13  Carlos Lopez <genetita at gmail.com>
+	* : commit fe9d3892924caa907f3afc245417d7464e540652 Merge: 9fcbd0e
+	788abf6 Author: Diego Barrios Romero <eldruin at eldruin.com> Date:
+	Fri Mar 16 17:08:44 2012 +0100
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix one
-	more render artifact due to bad initialisation of position for
-	iteration cycle.
+2012-03-16  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-03-13  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/palette.cpp: Reworked and applied patch
+	#3505969. GIMP/Inkscape palette load support.  Thanks to Bertrand
+	Grégoire!
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/synfig/valuenode_composite.cpp,
-	synfig-core/src/synfig/widthpoint.h: Add Flat tip type and use
-	rounded tips for the newly created bline
+2012-03-15  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-03-13  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/color.h: Pixel format color transformation
+	correction The methods SetZ and GetZ don't exist and haven't ever existed as
+	far as the repository history goes.  Whoever corrected the lines
+	forgot to delete the pointer in the increments
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Add
-	squared and peak tip types and fix some more render artifacts.
+2012-03-14  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-03-12  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/valuenode.cpp: Corrected loop condition As it was, it's possible that the received i is bigger than the
+	number of elements in vocab, therefore, trying to increment the
+	iterator beyond its limits and later trying to access a method of an
+	inexistent element.
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
-	wrong cusp added when not needed.
+2012-03-14  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-03-12  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/valuenode.cpp,
+	synfig-core/src/synfig/valuenode.h: Proper inherited function
+	overload
 
-	* synfig-core/src/synfig/valuenode_wplist.cpp: Fix bad render for
-	the case of single widthpoint in a looped bline and one side not
-	interpolate
+2012-03-14  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-03-12  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/valuenode.cpp: Assignation return value as
+	condition in loop
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix bad
-	render on after tip due to last commit changes
+2012-03-14  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-03-12  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/dashitem.cpp,
+	synfig-core/src/synfig/gradient.cpp,
+	synfig-core/src/synfig/layer_bitmap.cpp,
+	synfig-core/src/synfig/layer_bitmap.h,
+	synfig-core/src/synfig/target.h, synfig-core/src/synfig/value.h: 
+	Stupid mistakes
 
-	* synfig-core/src/synfig/widthpoint.cpp,
-	synfig-core/src/synfig/widthpoint.h: Add member to compare two
-	withpoints
+2012-03-14  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-03-11  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/valuenode_range.cpp: Unused variable
+	commented out
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix bad
-	render for first cusp when the bline is looped.
+2012-03-13  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-03-10  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/canvas.h, synfig-core/src/synfig/color.h,
+	synfig-core/src/synfig/guidset.h,
+	synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/vector.h: Apply patch #3424218 partially. Fix
+	compiling issues with clang compiler Thanks to Hisashi Todd Fujinaka
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Don't
-	avoid do the first cusp.
+2012-03-15  Carlos Lopez <genetita at gmail.com>
 
-2011-03-09  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_magickpp/trgt_magickpp.cpp: Additional
+	fix to be able to build on Ubuntu 12.04
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: 
-	Increase the number of steps for better render quality.
+2012-03-13  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-03-09  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/Makefile.am, synfig-core/src/tool/job.cpp,
+	synfig-core/src/tool/job.h, synfig-core/src/tool/main.cpp: File
+	loading taken out of job struct
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
-	various render artifacts for certain withpoints side type
-	interpolations and bline looped
+2012-03-13  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-03-09  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp: No gamma warning if not given
+	parameter
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
-	white line on rounde tips
+2012-03-13  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-03-07  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp: Rendering options
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix bad
-	render when ipos is exactly at the widhtpoint position. Also fix
-	endless loop due to a bad end iterator initialisation.
+2012-03-13  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-03-02  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp: Verbosity parameter description
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
-	some render glitches. Still having unfixed ones.
+2012-03-13  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-03-02  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp: Input file positional option
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: First
-	attempt for the new render routine
+2012-03-13  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-02-28  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp: Code blanks
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/advanced_outline.h: New add
-	cusp member
+2012-03-13  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-02-28  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp: Debug info
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
-	cusps render to use interpolated width.
+2012-03-13  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-02-28  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp: Quality option
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/advanced_outline.h: New add_tip
-	member for general tip render. Only rounded type at the moment.
+2012-03-01  Carlos Lopez <genetita at gmail.com>
 
-2011-02-28  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_magickpp/trgt_magickpp.h: Fix typo
+	error.
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/advanced_outline.h: Add two new
-	functions to convert between bezier and bline positions
+2012-02-26  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-02-28  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp: Target creation - Rendering
+	possible
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Clean
-	up debug info and not used code.
+2012-02-26  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-02-16  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp: output figure out and check
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Avoid
-	endless loops when the increment is too small
+2012-02-26  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-02-16  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp: figure out target
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
-	wrong calculation of next width point in many cases.
+2012-02-26  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-02-16  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp: output filename option
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Initial
-	render routine draft. It has some glitches to be fixed
+2012-02-26  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-02-16  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp: threads option
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Add
-	comments
+2012-02-26  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-02-09  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp: Target option
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Add
-	code to collect the widthpoints that are in a bezier and insert two
-	fake width points at the bezier's blinepoints positions.  Later
-	those collected widthpoints and the two fake ones would be iterated
-	to produce the outline sections
+2012-02-26  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-02-09  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp: better variable naming
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Sort
-	the wplist at start to get a last widthpoint for each bezier
+2012-02-25  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-02-06  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp: Common input file loading
 
-	* synfig-core/src/synfig/valuenode_wplist.cpp: Rewrite
-	widthpoint_interpolate member function to catch up all cases.
+2012-02-25  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-02-06  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp: Append option
 
-	* synfig-core/src/synfig/widthpoint.cpp: Fix normalised position
-	member to handle properly negative values
+2012-02-17  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-02-06  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp: Internationalized strings
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: When
-	collecting widthpoints in a bezier, include the boundaries
+2012-02-13  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-02-05  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp: Append option
 
-	* synfig-core/src/synfig/widthpoint.cpp,
-	synfig-core/src/synfig/widthpoint.h: Use the normalised position to
-	compare width points
+2012-02-13  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-02-05  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp: Main updated to new job methods
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Collect
-	width points between boundaries of each bezier and sort them
+2012-02-13  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-02-05  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/job.cpp, synfig-core/src/tool/job.h: Filename
+	and root canvas handle privatized preventing inconsistencies Since the inclusion of the load_file method, it would be inconsisent
+	if the file for the job, and its opened root canvas pointer were
+	externally changed. Hence privatized and const accesor methods were
+	implemented.
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: b_end
-	>> bend
+2012-02-13  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-02-05  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/job.cpp: Job default values
 
-	* synfig-core/src/synfig/valuenode_wplist.cpp,
-	synfig-core/src/synfig/valuenode_wplist.h,
-	synfig-core/src/synfig/widthpoint.cpp,
-	synfig-core/src/synfig/widthpoint.h: Move the interpolate function
-	between width points outside width point list class
+2012-02-13  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-02-05  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/job.cpp: Some Job class documentation
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Rename
-	iter to biter and next to bnext to distinguish from the iterators of
-	the wplist.
+2012-02-13  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-01-30  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/Makefile.am,
+	synfig-core/src/tool/definitions.h, synfig-core/src/tool/main.cpp,
+	synfig-core/src/tool/printing_functions.cpp,
+	synfig-core/src/tool/printing_functions.h: Separating printing
+	functions
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/advanced_outline.h: Remove more
-	unused variables and parameters. Rename loop to blineloop.
+2012-02-13  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-01-30  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/job.cpp, synfig-core/src/tool/job.h: 
+	Splitting job class methods
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/advanced_outline.h: Remove
-	unused variable
+2012-02-13  Carlos Lopez <genetita at gmail.com>
 
-2011-01-28  Carlos Lopez <genetita at gmail.com>
+	* : commit dc9371dad09e4eb0bc759646c623830f616766a3 Merge: fef35fa
+	827b122 Author: Carlos Lopez <genetita at gmail.com> Date:   Mon Feb 13
+	13:53:36 2012 +0100
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Avoid
-	that width points doesn't follow the bline when the origin of the
-	layer moves.
+2012-02-13  Carlos Lopez <genetita at gmail.com>
 
-2011-01-26  Carlos Lopez <genetita at gmail.com>
+	* : commit abdf75098247e7dd204c05b1176c4cdd18526ce8 Author: Diego
+	Barrios Romero <eldruin at eldruin.com> Date:   Sun Feb 12 21:34:24
+	2012 +0100
 
-	* synfig-core/src/synfig/loadcanvas.cpp,
-	synfig-core/src/synfig/savecanvas.cpp,
-	synfig-core/src/synfig/valuenode_composite.cpp,
-	synfig-core/src/synfig/widthpoint.cpp,
-	synfig-core/src/synfig/widthpoint.h: Get ride of Hidden Vertex since
-	it is not longer needed.
+2012-02-12  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-01-26  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/job.h, synfig-core/src/tool/main.cpp: Adding
+	canvas-info option. File loads moved to a method in Job class
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: If a
-	wplist is connected then try to connect the bline to it.
+2012-02-12  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-01-26  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp: Adding list-canvases option.  The function list_child_canvases has been renamed to
+	print_child_canvases for more name consistency
 
-	* synfig-core/src/synfig/valuenode_wplist.cpp,
-	synfig-core/src/synfig/valuenode_wplist.h: Avoid compiler complains
+2012-02-12  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-01-23  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp: Adding layer-info option
 
-	* synfig-core/src/synfig/widthpoint.cpp: Avoid C++ warning
+2012-02-12  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-01-23  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp: Adding layers, modules, targets,
+	valuenodes and importers options
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/synfig/valuenode_wplist.cpp,
-	synfig-core/src/synfig/valuenode_wplist.h: Store the bline handle in
-	the ValueNode_WPList
+2012-02-12  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-01-21  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp: Adding target-video-codecs option
 
-	* synfig-core/src/synfig/valuenode_wplist.cpp,
-	synfig-core/src/synfig/valuenode_wplist.h: When inserting new width
-	points by user action use the internal create_list_entry method.
-	Initially it is always created at position 0.0
+2012-02-12  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-01-19  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/definitions.h, synfig-core/src/tool/main.cpp: 
+	Adding info, version and license. License text moved to definitions
 
-	* synfig-core/src/synfig/loadcanvas.cpp,
-	synfig-core/src/synfig/loadcanvas.h,
-	synfig-core/src/synfig/savecanvas.cpp: Allow load and save non
-	composite width points.
+2012-02-12  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-01-19  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/main.cpp: Adding debug options and functions
 
-	* synfig-core/src/synfig/valuenode_wplist.cpp: Don't let create()
-	method allow convert blines to wplists. That will cause bad types
-	for the layer.
+2012-02-12  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-01-17  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/tool/Makefile.am, synfig-core/src/tool/main.cpp,
+	synfig-core/src/tool/named_type.h: Base for the synfig-tool
+	reimplementation using boost::program_options
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/advanced_outline.h: Initial
-	draft to handle bline parameter connection at advanced outline layer
+2012-02-11  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-01-17  Carlos Lopez <genetita at gmail.com>
+	* : commit 04937a767ac2f19e0453aebd445661ac0f3fd3b3 Author: Carlos
+	Lopez <genetita at gmail.com> Date:   Sat Feb 11 13:11:11 2012 +0100
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/advanced_outline.h: Tidy up
+2012-02-11  Carlos Lopez <genetita at gmail.com>
 
-2011-01-17  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_bmp/trgt_bmp.cpp,
+	synfig-core/src/modules/mod_bmp/trgt_bmp.h,
+	synfig-core/src/modules/mod_imagemagick/trgt_imagemagick.cpp,
+	synfig-core/src/modules/mod_imagemagick/trgt_imagemagick.h,
+	synfig-core/src/modules/mod_jpeg/trgt_jpeg.cpp,
+	synfig-core/src/modules/mod_jpeg/trgt_jpeg.h,
+	synfig-core/src/modules/mod_magickpp/trgt_magickpp.cpp,
+	synfig-core/src/modules/mod_magickpp/trgt_magickpp.h,
+	synfig-core/src/modules/mod_openexr/trgt_openexr.cpp,
+	synfig-core/src/modules/mod_openexr/trgt_openexr.h,
+	synfig-core/src/modules/mod_ppm/trgt_ppm.cpp,
+	synfig-core/src/modules/mod_ppm/trgt_ppm.h: Allow to use custom
+	sequence separator for other targets than png which uses image
+	sequence.
 
-	* synfig-core/src/synfig/layer.h: Change connect/disconnect dynamic
-	parameter to be virtual members.
+2012-02-10  Carlos Lopez <genetita at gmail.com>
 
-2011-01-17  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_png/trgt_png.cpp,
+	synfig-core/src/modules/mod_png/trgt_png.h,
+	synfig-core/src/synfig/targetparam.h: For png target use the
+	sequence separator string.
 
-	* synfig-core/src/synfig/widthpoint.h: Hidden Vertex is not mutable.
+2012-02-08  Carlos Lopez <genetita at gmail.com>
 
-2011-01-14  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/NEWS, synfig-core/README: Update NEWS README and
+	AUTHORS. Release Synfig 0.63.04
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
-	wrong index when setting parameter
+2012-02-08  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2011-01-14  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/configure.ac: Splash screen
 
-	* synfig-core/src/synfig/valuenode_composite.cpp: Do not make not
-	critical the hidden vertex. It is needed to load the value node form
-	file.
+2012-02-07  Carlos Lopez <genetita at gmail.com>
 
-2011-01-14  Carlos Lopez <genetita at gmail.com>
+	* : commit 832a8e78d2e7fd8267fa65bc4b0fd1f27dcf4e7a Author: Carlos
+	Lopez <genetita at gmail.com> Date:   Tue Feb 7 19:21:10 2012 +0100
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Don't
-	add width ducks from the bline of an advanced outline.
+2012-02-07  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2011-01-14  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/po/it.po: Update Italian translation
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/advanced_outline.h: Post
-	underscore private members and clean up not used and conditional
-	code.
+2012-02-07  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2011-01-14  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/po/ru.po: Translations - fix errors found by "msgfmt
+	-c".
 
-	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Insert
-	only two width points with custom values at constructor.
+2012-02-07  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-2011-01-14  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/po/de.po, synfig-core/po/el_GR.po,
+	synfig-core/po/en_GB.po, synfig-core/po/es.po,
+	synfig-core/po/fa_IR.po, synfig-core/po/fr.po,
+	synfig-core/po/it.po, synfig-core/po/lt.po, synfig-core/po/nl.po,
+	synfig-core/po/no_NO.po, synfig-core/po/pl_PL.po,
+	synfig-core/po/pt_BR.po, synfig-core/po/ro.po,
+	synfig-core/po/ru.po, synfig-core/po/sk_SK.po,
+	synfig-core/po/zh_CN.po: Update translations
 
-	* synfig-core/src/modules/mod_geometry/Makefile.am,
-	synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
-	synfig-core/src/modules/mod_geometry/advanced_outline.h,
-	synfig-core/src/modules/mod_geometry/main.cpp: Initial version of
-	the Advanced Outline
+2012-02-06  Carlos Lopez <genetita at gmail.com>
 
-2011-01-13  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/canvas.cpp: Fix wrong canvas reference
 
-	* synfig-core/src/synfig/savecanvas.cpp: Don't save to file not
-	critical subparameters
+2012-02-06  Carlos Lopez <genetita at gmail.com>
 
-2011-01-13  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/canvas.cpp,
+	synfig-core/src/synfig/context.cpp: As requested, don't pass the
+	grow value for non in-line canvases.
 
-	* synfig-core/src/synfig/valuenode_composite.cpp: Fix forgotten
-	assert check and nasty typo.
+2012-02-06  Carlos Lopez <genetita at gmail.com>
 
-2011-01-13  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h,
+	synfig-core/src/modules/mod_geometry/outline.cpp,
+	synfig-core/src/synfig/canvas.cpp, synfig-core/src/synfig/canvas.h,
+	synfig-core/src/synfig/context.cpp,
+	synfig-core/src/synfig/context.h, synfig-core/src/synfig/layer.cpp,
+	synfig-core/src/synfig/layer.h,
+	synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h: Add outline grow
+	functionality for in-line, exported and imported canvases.  Known
+	issues: 1) Bounding box is not updated immediately 2) When growing outlines from exported or imported canvases,
+	different outline grow value are not used on different canvas
+	instances. All they share the last rendered instance grow value.
 
-	* : commit f112a004654c936c71ba284aebe16c35a6422799 Author: Carlos
-	Lopez <genetita at gmail.com> Date:   Thu Jan 13 11:24:34 2011 +0100
+2012-02-06  Diego Barrios Romero <eldruin at eldruin.com>
 
-2011-01-09  Carlos Lopez <genetita at gmail.com>
+	* : commit fe640cb3403b7172817f66fdeda414b22cfdde37 Author: Carlos
+	Lopez <genetita at gmail.com> Date:   Sun Jan 29 11:05:23 2012 +0100
 
-	* synfig-core/src/synfig/valuenode_composite.cpp,
-	synfig-core/src/synfig/valuenode_wplist.cpp,
-	synfig-core/src/synfig/widthpoint.cpp,
-	synfig-core/src/synfig/widthpoint.h: Rename 'cup' to 'side' at Width
-	Point class and where it is used.
+2012-01-27  Carlos Lopez <genetita at gmail.com>
 
-2011-01-09  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h,
+	synfig-core/src/modules/mod_geometry/outline.cpp,
+	synfig-core/src/modules/mod_geometry/outline.h,
+	synfig-core/src/synfig/canvas.cpp,
+	synfig-core/src/synfig/context.cpp,
+	synfig-core/src/synfig/context.h,
+	synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h: Revert changes from
+	outline grow development.  I've not found a way to avoid endless
+	loop for exported or imported canvas parameter.
 
-	* synfig-core/src/synfig/loadcanvas.cpp,
-	synfig-core/src/synfig/savecanvas.cpp: Make loadcanvas and
-	savecanvas understand ValueNode_WPList class
+2012-01-23  Carlos Lopez <genetita at gmail.com>
 
-2011-01-09  Carlos Lopez <genetita at gmail.com>
+	* : commit ffb4e0bf00ab1514ba66f279d043759e36d2a4c3 Merge: 68f4e27
+	ede8a36 Author: Carlos Lopez <genetita at gmail.com> Date:   Mon Jan 23
+	20:50:17 2012 +0100
 
-	* synfig-core/src/synfig/releases.h,
-	synfig-core/src/synfig/valuenode.cpp: Add ValueNode_WPList in the
-	Valuenode book
+2012-01-23  Carlos Lopez <genetita at gmail.com>
 
-2011-01-09  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/layer_pastecanvas.cpp: Don't pass the grow
+	parameter to exported or imported canvases. It causes further
+	problems not solved.
 
-	* synfig-core/src/synfig/valuenode_wplist.cpp: Use lower case letter
-	for value node names
+2012-01-21  Carlos Lopez <genetita at gmail.com>
 
-2011-01-09  Carlos Lopez <genetita at gmail.com>
+	* : commit 10a30720bb190ec7248fa9ba8023a85a2b7cec8a Author: Carlos
+	Lopez <genetita at gmail.com> Date:   Thu Jan 19 19:04:38 2012 +0100
 
-	* synfig-core/src/synfig/valuenode_composite.cpp,
-	synfig-core/src/synfig/valuenode_wplist.cpp: Let Composite Value
-	Node handle WidthPoint value type
+2012-01-17  Carlos Lopez <genetita at gmail.com>
 
-2011-01-09  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h: Add new width grow non
+	critical hidden parameter to the Paste Canvas layer to recursively
+	pass the width to its children layers.
 
-	* synfig-core/src/synfig/Makefile.am,
-	synfig-core/src/synfig/value.h,
-	synfig-core/src/synfig/valuenode_dynamiclist.h,
-	synfig-core/src/synfig/valuenode_wplist.cpp,
-	synfig-core/src/synfig/valuenode_wplist.h,
-	synfig-core/src/synfig/widthpoint.cpp,
-	synfig-core/src/synfig/widthpoint.h: Fix compiler errors and include
-	valuenode_wplist in Makefile.am
+2012-01-17  Carlos Lopez <genetita at gmail.com>
 
-2011-01-08  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/outline.cpp: Prepare the
+	dynamic parameter at construction time
 
-	* synfig-core/src/synfig/valuenode_wplist.cpp,
-	synfig-core/src/synfig/valuenode_wplist.h: Interpolation depends on
-	cup type. Use normalised positions in calculations
+2012-01-17  Carlos Lopez <genetita at gmail.com>
 
-2011-01-08  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/canvas.cpp,
+	synfig-core/src/synfig/context.cpp,
+	synfig-core/src/synfig/context.h: Use a more general way to pass the
+	parameter to the context
 
-	* synfig-core/src/synfig/widthpoint.cpp,
-	synfig-core/src/synfig/widthpoint.h: Use normalised position [0,1]
-	to work and store the position as (-inf, inf)
+2012-01-17  Carlos Lopez <genetita at gmail.com>
 
-2011-01-08  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix the
+	same issue for Advanced Outlines
 
-	* synfig-core/src/synfig/valuenode_wplist.cpp,
-	synfig-core/src/synfig/valuenode_wplist.h: Code find next and
-	previous valid entries by position ValueNode_WPList members.
+2012-01-16  Carlos Lopez <genetita at gmail.com>
 
-2011-01-08  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/outline.cpp: Don't add a new
+	ValueNode each time because it marks the layer as dirty and the
+	update cycle runs indefinitely.
 
-	* synfig-core/src/synfig/valuenode_wplist.cpp: End fixing
-	ValueNode_WPList
+2012-01-16  Carlos Lopez <genetita at gmail.com>
 
-2011-01-07  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/context.cpp: Remove Writer Lock
 
-	* synfig-core/src/synfig/valuenode_wplist.cpp,
-	synfig-core/src/synfig/valuenode_wplist.h: Minor corrections
+2012-01-15  Carlos Lopez <genetita at gmail.com>
 
-2011-01-04  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h,
+	synfig-core/src/modules/mod_geometry/outline.cpp,
+	synfig-core/src/synfig/context.cpp: Add width grow parameter to
+	Advanced Outline and allow Context to pass it to that type of layer.
 
-	* synfig-core/src/synfig/valuenode_wplist.cpp,
-	synfig-core/src/synfig/valuenode_wplist.h,
-	synfig-core/src/synfig/widthpoint.cpp,
-	synfig-core/src/synfig/widthpoint.h: Fix
-	ValueNode_WPList::operator(): work in progress
+2012-01-15  Carlos Lopez <genetita at gmail.com>
 
-2011-01-03  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/canvas.cpp: When the canvas receive a
+	set_time call and it is root, set the outline grow value to be 0.0
+	(no grow)
 
-	* synfig-core/src/synfig/valuenode_wplist.cpp,
-	synfig-core/src/synfig/valuenode_wplist.h,
-	synfig-core/src/synfig/widthpoint.cpp,
-	synfig-core/src/synfig/widthpoint.h: Fix create_new_entry member
-	function
+2012-01-15  Carlos Lopez <genetita at gmail.com>
 
-2010-12-22  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/layer_pastecanvas.cpp: Paste Canvas layer
+	passes the outline grow parameter to the context at the set_time
+	call.
 
-	* synfig-core/src/modules/mod_noise/valuenode_random.cpp,
-	synfig-core/src/modules/mod_noise/valuenode_random.h,
-	synfig-core/src/synfig/valuenode_add.cpp,
-	synfig-core/src/synfig/valuenode_add.h,
-	synfig-core/src/synfig/valuenode_and.cpp,
-	synfig-core/src/synfig/valuenode_and.h,
-	synfig-core/src/synfig/valuenode_anglestring.cpp,
-	synfig-core/src/synfig/valuenode_anglestring.h,
-	synfig-core/src/synfig/valuenode_atan2.cpp,
-	synfig-core/src/synfig/valuenode_atan2.h,
-	synfig-core/src/synfig/valuenode_blinecalctangent.cpp,
-	synfig-core/src/synfig/valuenode_blinecalctangent.h,
-	synfig-core/src/synfig/valuenode_blinecalcvertex.cpp,
-	synfig-core/src/synfig/valuenode_blinecalcvertex.h,
-	synfig-core/src/synfig/valuenode_blinecalcwidth.cpp,
-	synfig-core/src/synfig/valuenode_blinecalcwidth.h,
-	synfig-core/src/synfig/valuenode_blinereversetangent.cpp,
-	synfig-core/src/synfig/valuenode_blinereversetangent.h,
-	synfig-core/src/synfig/valuenode_compare.cpp,
-	synfig-core/src/synfig/valuenode_compare.h,
-	synfig-core/src/synfig/valuenode_composite.cpp,
-	synfig-core/src/synfig/valuenode_composite.h,
-	synfig-core/src/synfig/valuenode_cos.cpp,
-	synfig-core/src/synfig/valuenode_cos.h,
-	synfig-core/src/synfig/valuenode_dotproduct.cpp,
-	synfig-core/src/synfig/valuenode_dotproduct.h,
-	synfig-core/src/synfig/valuenode_duplicate.cpp,
-	synfig-core/src/synfig/valuenode_duplicate.h,
-	synfig-core/src/synfig/valuenode_exp.cpp,
-	synfig-core/src/synfig/valuenode_exp.h,
-	synfig-core/src/synfig/valuenode_gradientcolor.cpp,
-	synfig-core/src/synfig/valuenode_gradientcolor.h,
-	synfig-core/src/synfig/valuenode_gradientrotate.cpp,
-	synfig-core/src/synfig/valuenode_gradientrotate.h,
-	synfig-core/src/synfig/valuenode_integer.cpp,
-	synfig-core/src/synfig/valuenode_integer.h,
-	synfig-core/src/synfig/valuenode_intstring.cpp,
-	synfig-core/src/synfig/valuenode_intstring.h,
-	synfig-core/src/synfig/valuenode_join.cpp,
-	synfig-core/src/synfig/valuenode_join.h,
-	synfig-core/src/synfig/valuenode_linear.cpp,
-	synfig-core/src/synfig/valuenode_linear.h,
-	synfig-core/src/synfig/valuenode_log.cpp,
-	synfig-core/src/synfig/valuenode_log.h,
-	synfig-core/src/synfig/valuenode_not.cpp,
-	synfig-core/src/synfig/valuenode_not.h,
-	synfig-core/src/synfig/valuenode_or.cpp,
-	synfig-core/src/synfig/valuenode_or.h,
-	synfig-core/src/synfig/valuenode_pow.cpp,
-	synfig-core/src/synfig/valuenode_pow.h,
-	synfig-core/src/synfig/valuenode_radialcomposite.cpp,
-	synfig-core/src/synfig/valuenode_radialcomposite.h,
-	synfig-core/src/synfig/valuenode_range.cpp,
-	synfig-core/src/synfig/valuenode_range.h,
-	synfig-core/src/synfig/valuenode_realstring.cpp,
-	synfig-core/src/synfig/valuenode_realstring.h,
-	synfig-core/src/synfig/valuenode_reciprocal.cpp,
-	synfig-core/src/synfig/valuenode_reciprocal.h,
-	synfig-core/src/synfig/valuenode_reference.cpp,
-	synfig-core/src/synfig/valuenode_reference.h,
-	synfig-core/src/synfig/valuenode_repeat_gradient.cpp,
-	synfig-core/src/synfig/valuenode_repeat_gradient.h,
-	synfig-core/src/synfig/valuenode_scale.cpp,
-	synfig-core/src/synfig/valuenode_scale.h,
-	synfig-core/src/synfig/valuenode_segcalctangent.cpp,
-	synfig-core/src/synfig/valuenode_segcalctangent.h,
-	synfig-core/src/synfig/valuenode_segcalcvertex.cpp,
-	synfig-core/src/synfig/valuenode_segcalcvertex.h,
-	synfig-core/src/synfig/valuenode_sine.cpp,
-	synfig-core/src/synfig/valuenode_sine.h,
-	synfig-core/src/synfig/valuenode_step.cpp,
-	synfig-core/src/synfig/valuenode_step.h,
-	synfig-core/src/synfig/valuenode_stripes.cpp,
-	synfig-core/src/synfig/valuenode_stripes.h,
-	synfig-core/src/synfig/valuenode_subtract.cpp,
-	synfig-core/src/synfig/valuenode_subtract.h,
-	synfig-core/src/synfig/valuenode_switch.cpp,
-	synfig-core/src/synfig/valuenode_switch.h,
-	synfig-core/src/synfig/valuenode_timedswap.cpp,
-	synfig-core/src/synfig/valuenode_timedswap.h,
-	synfig-core/src/synfig/valuenode_timeloop.cpp,
-	synfig-core/src/synfig/valuenode_timeloop.h,
-	synfig-core/src/synfig/valuenode_timestring.cpp,
-	synfig-core/src/synfig/valuenode_timestring.h,
-	synfig-core/src/synfig/valuenode_twotone.cpp,
-	synfig-core/src/synfig/valuenode_twotone.h,
-	synfig-core/src/synfig/valuenode_vectorangle.cpp,
-	synfig-core/src/synfig/valuenode_vectorangle.h,
-	synfig-core/src/synfig/valuenode_vectorlength.cpp,
-	synfig-core/src/synfig/valuenode_vectorlength.h,
-	synfig-core/src/synfig/valuenode_vectorx.cpp,
-	synfig-core/src/synfig/valuenode_vectorx.h,
-	synfig-core/src/synfig/valuenode_vectory.cpp,
-	synfig-core/src/synfig/valuenode_vectory.h: Use LinkableValueNode
-	members functions when possible in the derived valuenodes.
+2012-01-15  Carlos Lopez <genetita at gmail.com>
 
-2010-12-22  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/context.cpp,
+	synfig-core/src/synfig/context.h: Add set_outline_grow member to
+	Context class. It passes the outline grow value to all outline type
+	layers in the context.
 
-	* synfig-core/src/synfig/valuenode.cpp,
-	synfig-core/src/synfig/valuenode.h: Use const qualifier for
-	set_children_vocab parameter
+2012-01-15  Carlos Lopez <genetita at gmail.com>
 
-2010-12-21  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/outline.cpp,
+	synfig-core/src/modules/mod_geometry/outline.h: Add width_grow
+	parameter to Outline layer. Hidden, not critical.
 
-	* synfig-core/src/modules/mod_noise/valuenode_random.cpp,
-	synfig-core/src/synfig/valuenode.cpp,
-	synfig-core/src/synfig/valuenode.h,
-	synfig-core/src/synfig/valuenode_add.cpp,
-	synfig-core/src/synfig/valuenode_and.cpp,
-	synfig-core/src/synfig/valuenode_anglestring.cpp,
-	synfig-core/src/synfig/valuenode_atan2.cpp,
-	synfig-core/src/synfig/valuenode_blinecalctangent.cpp,
-	synfig-core/src/synfig/valuenode_blinecalcvertex.cpp,
-	synfig-core/src/synfig/valuenode_blinecalcwidth.cpp,
-	synfig-core/src/synfig/valuenode_blinereversetangent.cpp,
-	synfig-core/src/synfig/valuenode_compare.cpp,
-	synfig-core/src/synfig/valuenode_composite.cpp,
-	synfig-core/src/synfig/valuenode_cos.cpp,
-	synfig-core/src/synfig/valuenode_dotproduct.cpp,
-	synfig-core/src/synfig/valuenode_duplicate.cpp,
-	synfig-core/src/synfig/valuenode_exp.cpp,
-	synfig-core/src/synfig/valuenode_gradientcolor.cpp,
-	synfig-core/src/synfig/valuenode_gradientrotate.cpp,
-	synfig-core/src/synfig/valuenode_greyed.cpp,
-	synfig-core/src/synfig/valuenode_integer.cpp,
-	synfig-core/src/synfig/valuenode_intstring.cpp,
-	synfig-core/src/synfig/valuenode_join.cpp,
-	synfig-core/src/synfig/valuenode_linear.cpp,
-	synfig-core/src/synfig/valuenode_log.cpp,
-	synfig-core/src/synfig/valuenode_not.cpp,
-	synfig-core/src/synfig/valuenode_or.cpp,
-	synfig-core/src/synfig/valuenode_pow.cpp,
-	synfig-core/src/synfig/valuenode_radialcomposite.cpp,
-	synfig-core/src/synfig/valuenode_range.cpp,
-	synfig-core/src/synfig/valuenode_realstring.cpp,
-	synfig-core/src/synfig/valuenode_reciprocal.cpp,
-	synfig-core/src/synfig/valuenode_reference.cpp,
-	synfig-core/src/synfig/valuenode_repeat_gradient.cpp,
-	synfig-core/src/synfig/valuenode_scale.cpp,
-	synfig-core/src/synfig/valuenode_segcalctangent.cpp,
-	synfig-core/src/synfig/valuenode_segcalcvertex.cpp,
-	synfig-core/src/synfig/valuenode_sine.cpp,
-	synfig-core/src/synfig/valuenode_step.cpp,
-	synfig-core/src/synfig/valuenode_stripes.cpp,
-	synfig-core/src/synfig/valuenode_subtract.cpp,
-	synfig-core/src/synfig/valuenode_switch.cpp,
-	synfig-core/src/synfig/valuenode_timedswap.cpp,
-	synfig-core/src/synfig/valuenode_timeloop.cpp,
-	synfig-core/src/synfig/valuenode_timestring.cpp,
-	synfig-core/src/synfig/valuenode_twotone.cpp,
-	synfig-core/src/synfig/valuenode_vectorangle.cpp,
-	synfig-core/src/synfig/valuenode_vectorlength.cpp,
-	synfig-core/src/synfig/valuenode_vectorx.cpp,
-	synfig-core/src/synfig/valuenode_vectory.cpp: Use link_count from
-	children vocabulary and return the stored vocabulary if already was
-	set. Store the children vocabulary at construction time
+2012-01-14  Carlos Lopez <genetita at gmail.com>
 
-2010-12-21  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h: Add new parameter to
+	Paste Canvas Layer called 'Outline Grow'.
 
-	* synfig-core/src/modules/mod_noise/valuenode_random.cpp,
-	synfig-core/src/modules/mod_noise/valuenode_random.h,
-	synfig-core/src/synfig/valuenode.cpp,
-	synfig-core/src/synfig/valuenode.h,
-	synfig-core/src/synfig/valuenode_add.cpp,
-	synfig-core/src/synfig/valuenode_add.h,
-	synfig-core/src/synfig/valuenode_and.cpp,
-	synfig-core/src/synfig/valuenode_and.h,
-	synfig-core/src/synfig/valuenode_anglestring.cpp,
-	synfig-core/src/synfig/valuenode_anglestring.h,
-	synfig-core/src/synfig/valuenode_atan2.cpp,
-	synfig-core/src/synfig/valuenode_atan2.h,
-	synfig-core/src/synfig/valuenode_bline.cpp,
-	synfig-core/src/synfig/valuenode_bline.h,
-	synfig-core/src/synfig/valuenode_blinecalctangent.cpp,
-	synfig-core/src/synfig/valuenode_blinecalctangent.h,
-	synfig-core/src/synfig/valuenode_blinecalcvertex.cpp,
-	synfig-core/src/synfig/valuenode_blinecalcvertex.h,
-	synfig-core/src/synfig/valuenode_blinecalcwidth.cpp,
-	synfig-core/src/synfig/valuenode_blinecalcwidth.h,
-	synfig-core/src/synfig/valuenode_blinereversetangent.cpp,
-	synfig-core/src/synfig/valuenode_blinereversetangent.h,
-	synfig-core/src/synfig/valuenode_compare.cpp,
-	synfig-core/src/synfig/valuenode_compare.h,
-	synfig-core/src/synfig/valuenode_composite.cpp,
-	synfig-core/src/synfig/valuenode_composite.h,
-	synfig-core/src/synfig/valuenode_cos.cpp,
-	synfig-core/src/synfig/valuenode_cos.h,
-	synfig-core/src/synfig/valuenode_dotproduct.cpp,
-	synfig-core/src/synfig/valuenode_dotproduct.h,
-	synfig-core/src/synfig/valuenode_duplicate.cpp,
-	synfig-core/src/synfig/valuenode_duplicate.h,
-	synfig-core/src/synfig/valuenode_dynamiclist.cpp,
-	synfig-core/src/synfig/valuenode_dynamiclist.h,
-	synfig-core/src/synfig/valuenode_exp.cpp,
-	synfig-core/src/synfig/valuenode_exp.h,
-	synfig-core/src/synfig/valuenode_gradientcolor.cpp,
-	synfig-core/src/synfig/valuenode_gradientcolor.h,
-	synfig-core/src/synfig/valuenode_gradientrotate.cpp,
-	synfig-core/src/synfig/valuenode_gradientrotate.h,
-	synfig-core/src/synfig/valuenode_greyed.cpp,
-	synfig-core/src/synfig/valuenode_greyed.h,
-	synfig-core/src/synfig/valuenode_integer.cpp,
-	synfig-core/src/synfig/valuenode_integer.h,
-	synfig-core/src/synfig/valuenode_intstring.cpp,
-	synfig-core/src/synfig/valuenode_intstring.h,
-	synfig-core/src/synfig/valuenode_join.cpp,
-	synfig-core/src/synfig/valuenode_join.h,
-	synfig-core/src/synfig/valuenode_linear.cpp,
-	synfig-core/src/synfig/valuenode_linear.h,
-	synfig-core/src/synfig/valuenode_log.cpp,
-	synfig-core/src/synfig/valuenode_log.h,
-	synfig-core/src/synfig/valuenode_not.cpp,
-	synfig-core/src/synfig/valuenode_not.h,
-	synfig-core/src/synfig/valuenode_or.cpp,
-	synfig-core/src/synfig/valuenode_or.h,
-	synfig-core/src/synfig/valuenode_pow.cpp,
-	synfig-core/src/synfig/valuenode_pow.h,
-	synfig-core/src/synfig/valuenode_radialcomposite.cpp,
-	synfig-core/src/synfig/valuenode_radialcomposite.h,
-	synfig-core/src/synfig/valuenode_range.cpp,
-	synfig-core/src/synfig/valuenode_range.h,
-	synfig-core/src/synfig/valuenode_realstring.cpp,
-	synfig-core/src/synfig/valuenode_realstring.h,
-	synfig-core/src/synfig/valuenode_reciprocal.cpp,
-	synfig-core/src/synfig/valuenode_reciprocal.h,
-	synfig-core/src/synfig/valuenode_reference.cpp,
-	synfig-core/src/synfig/valuenode_reference.h,
-	synfig-core/src/synfig/valuenode_repeat_gradient.cpp,
-	synfig-core/src/synfig/valuenode_repeat_gradient.h,
-	synfig-core/src/synfig/valuenode_scale.cpp,
-	synfig-core/src/synfig/valuenode_scale.h,
-	synfig-core/src/synfig/valuenode_segcalctangent.cpp,
-	synfig-core/src/synfig/valuenode_segcalctangent.h,
-	synfig-core/src/synfig/valuenode_segcalcvertex.cpp,
-	synfig-core/src/synfig/valuenode_segcalcvertex.h,
-	synfig-core/src/synfig/valuenode_sine.cpp,
-	synfig-core/src/synfig/valuenode_sine.h,
-	synfig-core/src/synfig/valuenode_step.cpp,
-	synfig-core/src/synfig/valuenode_step.h,
-	synfig-core/src/synfig/valuenode_stripes.cpp,
-	synfig-core/src/synfig/valuenode_stripes.h,
-	synfig-core/src/synfig/valuenode_subtract.cpp,
-	synfig-core/src/synfig/valuenode_subtract.h,
-	synfig-core/src/synfig/valuenode_switch.cpp,
-	synfig-core/src/synfig/valuenode_switch.h,
-	synfig-core/src/synfig/valuenode_timedswap.cpp,
-	synfig-core/src/synfig/valuenode_timedswap.h,
-	synfig-core/src/synfig/valuenode_timeloop.cpp,
-	synfig-core/src/synfig/valuenode_timeloop.h,
-	synfig-core/src/synfig/valuenode_timestring.cpp,
-	synfig-core/src/synfig/valuenode_timestring.h,
-	synfig-core/src/synfig/valuenode_twotone.cpp,
-	synfig-core/src/synfig/valuenode_twotone.h,
-	synfig-core/src/synfig/valuenode_vectorangle.cpp,
-	synfig-core/src/synfig/valuenode_vectorangle.h,
-	synfig-core/src/synfig/valuenode_vectorlength.cpp,
-	synfig-core/src/synfig/valuenode_vectorlength.h,
-	synfig-core/src/synfig/valuenode_vectorx.cpp,
-	synfig-core/src/synfig/valuenode_vectorx.h,
-	synfig-core/src/synfig/valuenode_vectory.cpp,
-	synfig-core/src/synfig/valuenode_vectory.h: Rename get_param_vocab
-	to get_children_vocab and use a wrapper for the pure virtual
-	get_children_vocab_vfunc member
+2012-01-13  Carlos Lopez <genetita at gmail.com>
 
-2010-12-16  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/loadcanvas.cpp: When loading a exported
+	linkable value node consider that the sub parameter can be exported
+	too and so, don't throw the exception.  Only if the sub parameter
+	value node is exported and belong to other canvas then and it is not
+	found, then throw the exception.
 
-	* synfig-core/src/synfig/valuenode_add.cpp,
-	synfig-core/src/synfig/valuenode_add.h,
-	synfig-core/src/synfig/valuenode_and.cpp,
-	synfig-core/src/synfig/valuenode_and.h,
-	synfig-core/src/synfig/valuenode_anglestring.cpp,
-	synfig-core/src/synfig/valuenode_anglestring.h: Use ancestor's
-	link_local_name(int i), link_name(i) and
-	get_link_index_from_name(String &name) member functions for some
-	value nodes
+2012-01-12  Carlos Lopez <genetita at gmail.com>
 
-2010-12-13  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/loadcanvas.cpp: When loading a canvas.
+	don't throw an exception when the value node referenced by "use" is
+	not found. Show a message instead and don't load the canvas.
 
-	* synfig-core/src/synfig/valuenode.cpp,
-	synfig-core/src/synfig/valuenode.h: Make link_name(),
-	link_local_name, and get_link_index_from_name non pure virtual
-	functions
+2012-01-11  Carlos Lopez <genetita at gmail.com>
 
-2010-12-13  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/rotate.cpp: Fix bug
+	http://www.pivotaltracker.com/story/show/23212095. If two rotations
+	of 90 and -90 are consecutive the program crashes.
 
-	* synfig-core/src/synfig/valuenode.cpp,
-	synfig-core/src/synfig/valuenode.h: Do not use
-	get_param_vocab().size() as link counter. It is too slow.
+2012-01-08  Carlos Lopez <genetita at gmail.com>
 
-2010-12-10  Carlos Lopez <genetita at gmail.com>
+	* : commit 3674208e66782a09a20bc9f73ab9a157f5badf53 Author: Carlos
+	Lopez <genetita at gmail.com> Date:   Sun Jan 8 21:28:05 2012 +0100
 
-	* synfig-core/src/modules/mod_noise/valuenode_random.cpp,
-	synfig-core/src/modules/mod_noise/valuenode_random.h,
-	synfig-core/src/synfig/valuenode.cpp,
-	synfig-core/src/synfig/valuenode.h,
-	synfig-core/src/synfig/valuenode_add.cpp,
-	synfig-core/src/synfig/valuenode_add.h,
-	synfig-core/src/synfig/valuenode_and.cpp,
-	synfig-core/src/synfig/valuenode_and.h,
-	synfig-core/src/synfig/valuenode_anglestring.cpp,
-	synfig-core/src/synfig/valuenode_anglestring.h,
-	synfig-core/src/synfig/valuenode_atan2.cpp,
-	synfig-core/src/synfig/valuenode_atan2.h,
-	synfig-core/src/synfig/valuenode_bline.cpp,
-	synfig-core/src/synfig/valuenode_bline.h,
-	synfig-core/src/synfig/valuenode_blinecalctangent.cpp,
-	synfig-core/src/synfig/valuenode_blinecalctangent.h,
-	synfig-core/src/synfig/valuenode_blinecalcvertex.cpp,
-	synfig-core/src/synfig/valuenode_blinecalcvertex.h,
-	synfig-core/src/synfig/valuenode_blinecalcwidth.cpp,
-	synfig-core/src/synfig/valuenode_blinecalcwidth.h,
-	synfig-core/src/synfig/valuenode_blinereversetangent.cpp,
-	synfig-core/src/synfig/valuenode_blinereversetangent.h,
-	synfig-core/src/synfig/valuenode_compare.cpp,
-	synfig-core/src/synfig/valuenode_compare.h,
-	synfig-core/src/synfig/valuenode_composite.cpp,
-	synfig-core/src/synfig/valuenode_composite.h,
-	synfig-core/src/synfig/valuenode_cos.cpp,
-	synfig-core/src/synfig/valuenode_cos.h,
-	synfig-core/src/synfig/valuenode_dotproduct.cpp,
-	synfig-core/src/synfig/valuenode_dotproduct.h,
-	synfig-core/src/synfig/valuenode_duplicate.cpp,
-	synfig-core/src/synfig/valuenode_duplicate.h,
-	synfig-core/src/synfig/valuenode_dynamiclist.cpp,
-	synfig-core/src/synfig/valuenode_dynamiclist.h,
-	synfig-core/src/synfig/valuenode_exp.cpp,
-	synfig-core/src/synfig/valuenode_exp.h,
-	synfig-core/src/synfig/valuenode_gradientcolor.cpp,
-	synfig-core/src/synfig/valuenode_gradientcolor.h,
-	synfig-core/src/synfig/valuenode_gradientrotate.cpp,
-	synfig-core/src/synfig/valuenode_gradientrotate.h,
-	synfig-core/src/synfig/valuenode_greyed.cpp,
-	synfig-core/src/synfig/valuenode_greyed.h,
-	synfig-core/src/synfig/valuenode_integer.cpp,
-	synfig-core/src/synfig/valuenode_integer.h,
-	synfig-core/src/synfig/valuenode_intstring.cpp,
-	synfig-core/src/synfig/valuenode_intstring.h,
-	synfig-core/src/synfig/valuenode_join.cpp,
-	synfig-core/src/synfig/valuenode_join.h,
-	synfig-core/src/synfig/valuenode_linear.cpp,
-	synfig-core/src/synfig/valuenode_linear.h,
-	synfig-core/src/synfig/valuenode_log.cpp,
-	synfig-core/src/synfig/valuenode_log.h,
-	synfig-core/src/synfig/valuenode_not.cpp,
-	synfig-core/src/synfig/valuenode_not.h,
-	synfig-core/src/synfig/valuenode_or.cpp,
-	synfig-core/src/synfig/valuenode_or.h,
-	synfig-core/src/synfig/valuenode_pow.cpp,
-	synfig-core/src/synfig/valuenode_pow.h,
-	synfig-core/src/synfig/valuenode_radialcomposite.cpp,
-	synfig-core/src/synfig/valuenode_radialcomposite.h,
-	synfig-core/src/synfig/valuenode_range.cpp,
-	synfig-core/src/synfig/valuenode_range.h,
-	synfig-core/src/synfig/valuenode_realstring.cpp,
-	synfig-core/src/synfig/valuenode_realstring.h,
-	synfig-core/src/synfig/valuenode_reciprocal.cpp,
-	synfig-core/src/synfig/valuenode_reciprocal.h,
-	synfig-core/src/synfig/valuenode_reference.cpp,
-	synfig-core/src/synfig/valuenode_reference.h,
-	synfig-core/src/synfig/valuenode_repeat_gradient.cpp,
-	synfig-core/src/synfig/valuenode_repeat_gradient.h,
-	synfig-core/src/synfig/valuenode_scale.cpp,
-	synfig-core/src/synfig/valuenode_scale.h,
-	synfig-core/src/synfig/valuenode_segcalctangent.cpp,
-	synfig-core/src/synfig/valuenode_segcalctangent.h,
-	synfig-core/src/synfig/valuenode_segcalcvertex.cpp,
-	synfig-core/src/synfig/valuenode_segcalcvertex.h,
-	synfig-core/src/synfig/valuenode_sine.cpp,
-	synfig-core/src/synfig/valuenode_sine.h,
-	synfig-core/src/synfig/valuenode_step.cpp,
-	synfig-core/src/synfig/valuenode_step.h,
-	synfig-core/src/synfig/valuenode_stripes.cpp,
-	synfig-core/src/synfig/valuenode_stripes.h,
-	synfig-core/src/synfig/valuenode_subtract.cpp,
-	synfig-core/src/synfig/valuenode_subtract.h,
-	synfig-core/src/synfig/valuenode_switch.cpp,
-	synfig-core/src/synfig/valuenode_switch.h,
-	synfig-core/src/synfig/valuenode_timedswap.cpp,
-	synfig-core/src/synfig/valuenode_timedswap.h,
-	synfig-core/src/synfig/valuenode_timeloop.cpp,
-	synfig-core/src/synfig/valuenode_timeloop.h,
-	synfig-core/src/synfig/valuenode_timestring.cpp,
-	synfig-core/src/synfig/valuenode_timestring.h,
-	synfig-core/src/synfig/valuenode_twotone.cpp,
-	synfig-core/src/synfig/valuenode_twotone.h,
-	synfig-core/src/synfig/valuenode_vectorangle.cpp,
-	synfig-core/src/synfig/valuenode_vectorangle.h,
-	synfig-core/src/synfig/valuenode_vectorlength.cpp,
-	synfig-core/src/synfig/valuenode_vectorlength.h,
-	synfig-core/src/synfig/valuenode_vectorx.cpp,
-	synfig-core/src/synfig/valuenode_vectorx.h,
-	synfig-core/src/synfig/valuenode_vectory.cpp,
-	synfig-core/src/synfig/valuenode_vectory.h: Enable Parameter
-	Description for Linkable Value Nodes using ParamDesc class.
+2012-01-07  Carlos Lopez <genetita at gmail.com>
 
-2010-12-16  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/valuenode_animated.cpp: Use correct
+	approaching to the problem modifying the bias of each waypoint and
+	using templates to recursively call the clamped tangent calculation
+	for real numbers.
 
-	* synfig-core/src/synfig/valuenode_anglestring.cpp: Avoid negative
-	precision to produce good strings always and add U+00B0 DEGREE SIGN
+2012-01-05  Carlos Lopez <genetita at gmail.com>
 
-2010-11-24  Nikita Kitaev <nikitakit at gmail.com>
+	* synfig-core/src/synfig/valuenode_blinecalcwidth.cpp: Fix bug:
+	http://www.pivotaltracker.com/story/show/23017929
 
-	* synfig-core/src/synfig/canvas.cpp: Change
-	sigc::connection::connection to sigc::connection
+2012-01-05  Carlos Lopez <genetita at gmail.com>
 
-2010-11-26  Nikita Kitaev <nikitakit at gmail.com>
+	* synfig-core/src/synfig/valuenode_animated.cpp: Add debug info
 
-	* synfig-core/src/tool/Makefile.am: Fix whitespace error in
-	Makefile.am
+2012-01-04  Carlos Lopez <genetita at gmail.com>
 
-2010-12-12  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/gradient.cpp: Suit a better way to
+	calculate gradient magnitude
 
-	* synfig-core/src/synfig/valuenode_wplist.cpp,
-	synfig-core/src/synfig/valuenode_wplist.h: Initial import of
-	ValueNode_WPList class
+2012-01-03  Carlos Lopez <genetita at gmail.com>
 
-2010-12-12  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/valuenode_animated.cpp: Remove debug info
 
-	* synfig-core/src/synfig/widthpoint.cpp,
-	synfig-core/src/synfig/widthpoint.h: Add some needed members to
-	WidthPoint class
+2012-01-03  Carlos Lopez <genetita at gmail.com>
 
-2010-11-28  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/valuenode_animated.cpp: Add code to
+	interpret the clamped interpolation method
 
-	* synfig-core/src/synfig/Makefile.am,
-	synfig-core/src/synfig/value.cpp, synfig-core/src/synfig/value.h,
-	synfig-core/src/synfig/widthpoint.cpp,
-	synfig-core/src/synfig/widthpoint.h: Width Point class
-	initialisation
+2012-01-03  Carlos Lopez <genetita at gmail.com>
 
-2010-12-08  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/gradient.cpp,
+	synfig-core/src/synfig/gradient.h: Add function to calculate the
+	magnitude of a gradient
 
-	* synfig-core/src/modules/lyr_std/import.cpp,
-	synfig-core/src/modules/lyr_std/twirl.cpp,
-	synfig-core/src/modules/lyr_std/xorpattern.cpp,
-	synfig-core/src/modules/mod_example/filledrect.cpp,
-	synfig-core/src/modules/mod_example/simplecircle.cpp,
-	synfig-core/src/modules/mod_geometry/outline.cpp,
-	synfig-core/src/modules/mod_geometry/rectangle.cpp,
-	synfig-core/src/modules/mod_geometry/region.cpp,
-	synfig-core/src/modules/mod_gradient/radialgradient.cpp,
-	synfig-core/src/modules/mod_gradient/spiralgradient.cpp,
-	synfig-core/src/modules/mod_particle/plant.cpp,
-	synfig-core/src/synfig/layer_pastecanvas.cpp,
-	synfig-core/src/synfig/layer_polygon.cpp,
-	synfig-core/src/synfig/layer_solidcolor.cpp: More descriptions for
-	layer parameters
+2012-01-02  Carlos Lopez <genetita at gmail.com>
 
-2010-12-07  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/interpolation.h,
+	synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/savecanvas.cpp: Add new interpolation type.
+	Non functional yet
 
-	* synfig-core/src/modules/lyr_std/clamp.cpp,
-	synfig-core/src/modules/lyr_std/curvewarp.cpp,
-	synfig-core/src/modules/lyr_std/sphere_distort.cpp,
-	synfig-core/src/modules/lyr_std/stretch.cpp,
-	synfig-core/src/modules/lyr_std/supersample.cpp,
-	synfig-core/src/modules/lyr_std/timeloop.cpp,
-	synfig-core/src/modules/lyr_std/warp.cpp,
-	synfig-core/src/modules/mod_example/filledrect.cpp,
-	synfig-core/src/modules/mod_geometry/checkerboard.cpp,
-	synfig-core/src/modules/mod_geometry/circle.cpp,
-	synfig-core/src/modules/mod_gradient/conicalgradient.cpp,
-	synfig-core/src/modules/mod_gradient/curvegradient.cpp,
-	synfig-core/src/modules/mod_gradient/lineargradient.cpp,
-	synfig-core/src/modules/mod_noise/distort.cpp,
-	synfig-core/src/modules/mod_noise/noise.cpp,
-	synfig-core/src/synfig/layer.cpp,
-	synfig-core/src/synfig/layer_composite.cpp: Set the description of
-	some parameters
+2011-12-13  Carlos Lopez <genetita at gmail.com>
 
-2010-11-28  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/valuenode_animated.cpp: Add some comments
+	to understand code better.
 
-	* synfig-core/src/synfig/general.h: Fix synfig::ChangleLocale class.
-	It wasn't backing up the old locale so it didn't restore it back
-	when the class destructor was called.
+2011-12-13  Carlos Lopez <genetita at gmail.com>
 
-2010-11-13  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/valuenode_animated.cpp,
+	synfig-core/src/synfig/valuenode_animated.h,
+	synfig-core/src/synfig/waypoint.h: Add some comments and remove
+	unused code
 
-	* synfig-core/NEWS: Update NEWS files
+2011-12-31  Carlos Lopez <genetita at gmail.com>
 
-2010-11-13  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
+	several bugs and crashes related to dashed outlines
 
-	* synfig-core/po/es.po: Small update for Spanish translation
+2011-12-29  Carlos Lopez <genetita at gmail.com>
 
-2010-11-10  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: Fix broken
+	ffmpeg target that doesn't work for some non dot decimal points
+	numeric locale settings.
 
-	* synfig-core/configure.ac, synfig-core/src/synfig/releases.h: 
-	Mofidy files to point to release 0.62.02
+2011-12-11  Carlos Lopez <genetita at gmail.com>
 
-2010-11-07  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/valuenode_dynamiclist.cpp: Fix crash when
+	inserting an item on a generic empty dynamic list.
 
-	* synfig-core/src/modules/mod_bmp/mptr_bmp.cpp,
-	synfig-core/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp,
-	synfig-core/src/modules/mod_jpeg/mptr_jpeg.cpp,
-	synfig-core/src/modules/mod_openexr/mptr_openexr.cpp,
-	synfig-core/src/modules/mod_png/mptr_png.cpp,
-	synfig-core/src/modules/mod_ppm/mptr_ppm.cpp: Avoid some warnings
-	for unused parameter.
+2011-12-05  Carlos Lopez <genetita at gmail.com>
 
-2010-11-03  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/NEWS, synfig-core/configure.ac: Release Synfig 0.63.03
 
-	* synfig-core/README: Update Authors and Readme files.
+2011-12-04  Carlos Lopez <genetita at gmail.com>
 
-2010-11-03  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/NEWS: Update News
 
-	* synfig-core/NEWS: Update News files ready to release.
+2011-12-04  Carlos Lopez <genetita at gmail.com>
 
-2010-11-03  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/po/de.po, synfig-core/po/en_GB.po,
+	synfig-core/po/es.po, synfig-core/po/fa_IR.po,
+	synfig-core/po/fr.po, synfig-core/po/it.po, synfig-core/po/lt.po,
+	synfig-core/po/nl.po, synfig-core/po/no_NO.po,
+	synfig-core/po/pl_PL.po, synfig-core/po/pt_BR.po,
+	synfig-core/po/ro.po, synfig-core/po/ru.po,
+	synfig-core/po/sk_SK.po, synfig-core/po/zh_CN.po: Fix po file head
+	issues caused by transifex. Update translations. Patch by Yu Chen
 
-	* synfig-core/configure.ac: Bump configure files to support Release
-	Candidate #2
+2011-12-04  Carlos Lopez <genetita at gmail.com>
 
-2010-10-25  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/configure.ac, synfig-core/po/el_GR.po: Add a new
+	translation el_GR for Synfig Core. Patch by Yu Chen
 
-	* synfig-core/src/synfig/time.cpp: Assume frames when no unit
-	provided in a time field. Apply feature request ID: 2879693
+2011-11-25  Carlos Lopez <genetita at gmail.com>
 
-2010-10-24  Diego Barrios Romero <eldruin at gmail.com>
+	* : commit 5a2f329ac6bc13539d2f940f9bf11ce6d20a0c5c Author: Carlos
+	Lopez <genetita at gmail.com> Date:   Wed Nov 23 21:57:49 2011 +0100
 
-	* : commit e8d46b44a053c18050bba5a5dcf051b353177998 Author: Diego
-	Barrios Romero <eldruin at gmail.com> Date:   Sun Oct 24 17:38:53 2010
-	+0200
+2011-11-22  Carlos Lopez <genetita at gmail.com>
 
-2010-10-23  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Avoid
+	crash when dash enabled and DList is empty.
 
-	* synfig-core/po/zh_CN.po: Updated Simplified Chinese translation.
-	Yu Chen (jcome)
+2011-11-22  Carlos Lopez <genetita at gmail.com>
 
-2010-10-23  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/valuenode_bline.cpp,
+	synfig-core/src/synfig/valuenode_dilist.cpp,
+	synfig-core/src/synfig/valuenode_wplist.cpp: Allow insert items on
+	BLine, WPList and DList when list is empty.
 
-	* synfig-core/TODO, synfig-core/configure.ac,
-	synfig-core/po/Makevars: Update Bugs web address
+2011-11-22  Carlos Lopez <genetita at gmail.com>
 
-2010-10-20  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
+	various render artifacts that were introduced with the previous
+	commit and others ones older.
 
-	* synfig-core/po/es.po: Updated Spanish translation
+2011-11-20  Carlos Lopez <genetita at gmail.com>
 
-2010-10-14  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
+	various render artifacts: 1) Not perpendicularity of the width when doing tips at widthpoints.  2) Due to homogeneous to standard calculation limitations it is
+	needed to check if a withpoint tip is just done before continue
+	rendering.
 
-	* synfig-core/configure.ac: Mark release candidate different way in
-	version number.
+2011-11-13  Carlos Lopez <genetita at gmail.com>
 
-2010-10-13  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/configure.ac: Bump for version RC2
 
-	* synfig-core/configure.ac: Bump version numbers for RC1
+2011-11-13  Carlos Lopez <genetita at gmail.com>
 
-2010-10-04  Diego Barrios Romero <eldruin at gmailcom>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Avoid
+	crash when there is only one blinepoint and the bline is not looped.
 
-	* synfig-core/configure.ac,
-	synfig-core/src/modules/mod_png/mptr_png.cpp: PNG 1.4 library
-	support
+2011-11-13  Carlos Lopez <genetita at gmail.com>
 
-2010-10-04  Diego Barrios Romero <eldruin at gmailcom>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: 
+	Initialise variables to avoid compiler warning.
 
-	* synfig-core/src/tool/Makefile.am: Tiny autotools complain
+2011-11-13  Carlos Lopez <genetita at gmail.com>
 
-2010-09-17  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Make
+	Advanced Outline 'Fast' parameter static by default.
 
-	* : commit d1041a413264492a5bba12ebfa7d0cbd67ce1cff Author: Carlos
-	Lopez <genetita at gmail.com> Date:   Sat Sep 11 17:38:43 2010 +0200
+2011-11-12  Carlos Lopez <genetita at gmail.com>
 
-2010-09-05  Nikita Kitaev <nikitakit at gmail.com>
+	* synfig-core/NEWS: Typo
 
-	* synfig-core/src/synfig/valuenode_range.cpp,
-	synfig-core/src/synfig/valuenode_scale.cpp: Move reverse
-	manipulation code into ValueDescSet action Allows for changing ValueNodes previously manipulatable only via
-	ducks.
+2011-11-12  Carlos Lopez <genetita at gmail.com>
 
-2010-09-01  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/releases.h: Update Save As file dialogue
+	options.
 
-	* : commit e8ab6948f86c6d6ad69378fcccd858b6cb5b45b2 Author: Carlos
-	Lopez <genetita at gmail.com> Date:   Sun Aug 29 17:31:45 2010 +0200
+2011-11-12  Carlos Lopez <genetita at gmail.com>
 
-2010-08-29  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/configure.ac: Bump versions for 0.63.03-RC1. Not
+	release splash yet.
 
-	* synfig-core/src/modules/lyr_std/clamp.cpp,
-	synfig-core/src/modules/lyr_std/julia.cpp,
-	synfig-core/src/modules/lyr_std/mandelbrot.cpp,
-	synfig-core/src/modules/mod_filter/lumakey.cpp,
-	synfig-core/src/modules/mod_geometry/checkerboard.cpp,
-	synfig-core/src/modules/mod_geometry/outline.cpp,
-	synfig-core/src/modules/mod_geometry/rectangle.cpp,
-	synfig-core/src/synfig/layer_polygon.cpp,
-	synfig-core/src/synfig/layer_solidcolor.cpp: Add parameter static
-	option for more layers
+2011-11-12  Carlos Lopez <genetita at gmail.com>
 
-2010-08-29  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/NEWS: More Update News
 
-	* synfig-core/src/modules/lyr_std/insideout.cpp,
-	synfig-core/src/modules/lyr_std/sphere_distort.cpp,
-	synfig-core/src/modules/lyr_std/stretch.cpp,
-	synfig-core/src/modules/lyr_std/twirl.cpp,
-	synfig-core/src/modules/lyr_std/warp.cpp,
-	synfig-core/src/modules/mod_example/filledrect.cpp,
-	synfig-core/src/modules/mod_example/metaballs.cpp,
-	synfig-core/src/modules/mod_example/simplecircle.cpp,
-	synfig-core/src/modules/mod_filter/colorcorrect.cpp,
-	synfig-core/src/modules/mod_filter/halftone2.cpp,
-	synfig-core/src/modules/mod_filter/halftone3.cpp,
-	synfig-core/src/modules/mod_noise/distort.cpp: Add parameter static
-	option for various layers
+2011-11-12  Carlos Lopez <genetita at gmail.com>
 
-2010-08-29  Carlos Lopez <genetita at gmail.com>
+	* : commit edf67c5fa77dbdb6ce12020ae29db26319dd1fce Author: Carlos
+	Lopez <genetita at gmail.com> Date:   Sat Nov 12 18:55:25 2011 +0100
 
-	* synfig-core/src/synfig/layer.h: Fix IMPORT_AS macro to support
-	set/get static parameter option.
+2011-11-11  Carlos Lopez <genetita at gmail.com>
 
-2010-08-28  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/timeloop.cpp: Fix bug in Time Loop
+	Layer. Patch ID: 3414729 by Ray Frederikson
 
-	* synfig-core/src/modules/lyr_std/curvewarp.cpp,
-	synfig-core/src/modules/lyr_std/curvewarp.h,
-	synfig-core/src/modules/mod_filter/blur.cpp,
-	synfig-core/src/modules/mod_filter/blur.h,
-	synfig-core/src/modules/mod_filter/radialblur.cpp,
-	synfig-core/src/modules/mod_filter/radialblur.h,
-	synfig-core/src/modules/mod_geometry/circle.cpp,
-	synfig-core/src/modules/mod_geometry/circle.h,
-	synfig-core/src/synfig/layer_bitmap.cpp,
-	synfig-core/src/synfig/layer_bitmap.h,
-	synfig-core/src/synfig/layer_composite.cpp,
-	synfig-core/src/synfig/layer_composite.h,
-	synfig-core/src/synfig/layer_motionblur.cpp,
-	synfig-core/src/synfig/layer_motionblur.h: Remove set and get
-	parameter static members in inherited Layer classes since it is not
-	needed.
+2011-11-06  Carlos Lopez <genetita at gmail.com>
 
-2010-08-28  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/lyr_std/import.cpp: For Importer layer,
+	even if file is physically impossible to open set the parameter with
+	the passed file name.  This would allow to load and save Synfig's
+	documents with paths for imported files badly adjusted but that user
+	doesn't want to modify.
 
-	* synfig-core/src/modules/lyr_std/curvewarp.cpp,
-	synfig-core/src/modules/lyr_std/curvewarp.h,
-	synfig-core/src/modules/mod_filter/blur.cpp,
-	synfig-core/src/modules/mod_filter/blur.h,
-	synfig-core/src/modules/mod_filter/radialblur.cpp,
-	synfig-core/src/modules/mod_filter/radialblur.h,
-	synfig-core/src/modules/mod_geometry/circle.cpp,
-	synfig-core/src/modules/mod_geometry/circle.h,
-	synfig-core/src/synfig/layer.h,
-	synfig-core/src/synfig/layer_bitmap.cpp,
-	synfig-core/src/synfig/layer_bitmap.h,
-	synfig-core/src/synfig/layer_motionblur.cpp,
-	synfig-core/src/synfig/layer_motionblur.h,
-	synfig-core/src/synfig/layer_pastecanvas.cpp,
-	synfig-core/src/synfig/layer_pastecanvas.h: Use map of static values
-	indexed by parameter name instead of the macros and the individual
-	static members.
-
-2010-08-28  Carlos Lopez <genetita at gmail.com>
+2011-11-06  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_composite.cpp,
-	synfig-core/src/synfig/layer_composite.h: Use new method for static
-	options in Layer Composite
+	* synfig-core/src/modules/lyr_std/import.cpp: For Importer layer,
+	even if file is physically impossible to open set the parameter with
+	the passed file name.  This would allow to load and save Synfig's
+	documents with paths for imported files badly adjusted but that user
+	doesn't want to modify.
 
-2010-08-28  Carlos Lopez <genetita at gmail.com>
+2011-10-30  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h: 
-	Suit a better way to set/get static parameter option and to fill the
-	static option.
+	* : Merge remote branch 'origin/genete_opt_av_out_render' into
+	zelgadis_master
 
-2010-08-27  Carlos Lopez <genetita at gmail.com>
+2011-10-30  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h: 
-	Use a map of static values instead of hard coded names.  Get the
-	parameters names  from the layer parameter vocabulary.
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Clean
+	up unused and debug code. Add some comments
 
-2010-08-26  Carlos Lopez <genetita at gmail.com>
+2011-10-30  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/lyr_std/curvewarp.cpp,
-	synfig-core/src/modules/lyr_std/curvewarp.h: Allow static option for
-	the Curve Warp Layer
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Reuse
+	already calculated homogeneous positions
 
-2010-08-26  Carlos Lopez <genetita at gmail.com>
+2011-10-29  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_filter/radialblur.cpp,
-	synfig-core/src/modules/mod_filter/radialblur.h: Allow static option
-	for the Radial Blur Layer
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Make
+	standard and homogeneous copies of the widthpoints. Always move in
+	standard positions.This should do better renders. Not faster yet
 
-2010-08-26  Carlos Lopez <genetita at gmail.com>
+2011-10-28  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_filter/blur.cpp,
-	synfig-core/src/modules/mod_filter/blur.h: Allow static option for
-	the Blur Layer parameters
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: 
+	Reorganise definitions and change some variable names.
 
-2010-08-26  Carlos Lopez <genetita at gmail.com>
+2011-10-27  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h: 
-	Remove under score from the z_depth parameter to allow use the
-	macros properly
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: When
+	bline is looped, it is needed one more position on the arrays
 
-2010-08-26  Carlos Lopez <genetita at gmail.com>
+2011-10-27  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/circle.cpp: Include invert
-	static option I missed before.
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Use
+	homogeneous blinepoint positions form array
 
-2010-08-26  Carlos Lopez <genetita at gmail.com>
+2011-10-27  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h: 
-	Rename z_depth_static to z_depth__static to make proper use of the
-	macros.  Fix load z_depth_ static option properly
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Use an
+	array for the blinepoints positions
 
-2010-08-26  Carlos Lopez <genetita at gmail.com>
+2011-10-23  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/lyr_std/stroboscope.cpp,
-	synfig-core/src/modules/lyr_std/stroboscope.h: Rename ratio to
-	frequency and don't use the frames per second because it is not
-	needed.  Frequency is more intuitive and allows to achieve steady
-	strobe (no movement) setting it to zero.  Using ratio it would need
-	to set it to infinite to obtain a steady strobe.
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Remove
+	debug info
 
-2010-08-25  Carlos Lopez <genetita at gmail.com>
+2011-10-21  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/po/POTFILES.in,
-	synfig-core/src/modules/lyr_std/Makefile.am,
-	synfig-core/src/modules/lyr_std/main.cpp,
-	synfig-core/src/modules/lyr_std/stroboscope.cpp,
-	synfig-core/src/modules/lyr_std/stroboscope.h,
-	synfig-core/src/synfig/context.cpp: New Stroboscope layer. Patch
-	from Ray Frederikson
+	* synfig-core/src/synfig/widthpoint.cpp,
+	synfig-core/src/synfig/widthpoint.h: Add member to reverse a
+	widthpoint
 
-2010-08-25  Carlos Lopez <genetita at gmail.com>
+2011-10-20  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/lyr_std/import.cpp,
-	synfig-core/src/modules/mod_bmp/mptr_bmp.cpp,
-	synfig-core/src/modules/mod_bmp/mptr_bmp.h,
-	synfig-core/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp,
-	synfig-core/src/modules/mod_ffmpeg/mptr_ffmpeg.h,
-	synfig-core/src/modules/mod_imagemagick/mptr_imagemagick.cpp,
-	synfig-core/src/modules/mod_imagemagick/mptr_imagemagick.h,
-	synfig-core/src/modules/mod_jpeg/mptr_jpeg.cpp,
-	synfig-core/src/modules/mod_jpeg/mptr_jpeg.h,
-	synfig-core/src/modules/mod_libavcodec/mptr.cpp,
-	synfig-core/src/modules/mod_libavcodec/mptr.h,
-	synfig-core/src/modules/mod_openexr/mptr_openexr.cpp,
-	synfig-core/src/modules/mod_openexr/mptr_openexr.h,
-	synfig-core/src/modules/mod_png/mptr_png.cpp,
-	synfig-core/src/modules/mod_png/mptr_png.h,
-	synfig-core/src/modules/mod_ppm/mptr_ppm.cpp,
-	synfig-core/src/modules/mod_ppm/mptr_ppm.h,
-	synfig-core/src/synfig/importer.h,
-	synfig-core/src/synfig/listimporter.cpp,
-	synfig-core/src/synfig/listimporter.h: Apply patch #2958077. Fix
-	incorrect FPS interpolation in ListImporter.  Thanks to Ray
-	Frederikson
+	* synfig-core/src/synfig/widthpoint.cpp,
+	synfig-core/src/synfig/widthpoint.h: Add new member to get the
+	boundarized position. Add code to correct the hover text on duck and
+	the ValueDescSet action.
 
-2010-08-24  Carlos Lopez <genetita at gmail.com>
+2011-10-20  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/loadcanvas.cpp,
-	synfig-core/src/synfig/savecanvas.cpp: Allow save and load the rest
-	of types except list and blinepoint
+	* synfig-core/src/synfig/widthpoint.cpp: Fix and simplify
+	get_norm_position widthpoint member
 
-2010-08-24  Carlos Lopez <genetita at gmail.com>
+2011-10-17  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_pastecanvas.cpp: Missed
-	initialization
+	* synfig-core/src/synfig/widthpoint.cpp: When calculating the
+	normalised position, use lower boundary as origin.
 
-2010-08-24  Carlos Lopez <genetita at gmail.com>
+2011-10-17  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_pastecanvas.cpp,
-	synfig-core/src/synfig/layer_pastecanvas.h: Fix time offset
-	parameter static option
+	* synfig-core/src/synfig/loadcanvas.cpp: Add code to parse exported
+	widhtpoints
 
-2010-08-24  Carlos Lopez <genetita at gmail.com>
+2011-10-15  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/loadcanvas.cpp: Enable load static option
-	to the canvas parameter
+	* synfig-core/src/synfig/widthpoint.cpp: Fix uninitialised class
+	member on explicit constructor. Fix operator ==
 
-2010-08-24  Carlos Lopez <genetita at gmail.com>
+2011-10-12  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_pastecanvas.cpp: As Paste Canvas
-	Layer doesn't use IMPORT macro it is needed to set the static option
-	manually.
+	* synfig-core/src/synfig/valuenode_bline.cpp: When WPlist is looped
+	and position is out of (0,1) calculate correctly from/to homogeneous
+	to/from standard.
 
-2010-08-24  Carlos Lopez <genetita at gmail.com>
+2011-10-12  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/loadcanvas.cpp,
-	synfig-core/src/synfig/savecanvas.cpp: Save static option for canvas
-	parameter
+	* synfig-core/src/synfig/valuenode_bline.cpp: When converting
+	from/to standard to/from homogeneous check the trivial cases first.
+	Fix render artifact.
 
-2010-08-22  Carlos Lopez <genetita at gmail.com>
+2011-10-12  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/loadcanvas.cpp,
-	synfig-core/src/synfig/loadcanvas.h,
-	synfig-core/src/synfig/savecanvas.cpp: Load and save canvas now
-	understand load and save static option for real value base.  It is
-	pending all the rest of value base types.
+	* synfig-core/src/synfig/valuenode_composite.cpp: Make parameters
+	lower bound and upper bound visible. Add its description.
 
-2010-08-22  Carlos Lopez <genetita at gmail.com>
+2011-10-12  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer.cpp: Set z depth static value to
-	false by default in Layer class.  Previously was unset and get
-	random values.  So this fix the "random static on zdepth" bug.
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/synfig/valuenode_wplist.cpp,
+	synfig-core/src/synfig/valuenode_wplist.h: Now
+	widthpoint_interpolate must use always normalised widthpoints so
+	wplist loop is not needed.
 
-2010-08-22  Carlos Lopez <genetita at gmail.com>
+2011-10-12  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_composite.cpp: When setting a
-	parameter in Layer Composite keep the static values of the given
-	Value Base.
+	* synfig-core/src/synfig/widthpoint.cpp,
+	synfig-core/src/synfig/widthpoint.h: Fix get_norm_position member to
+	return a value between 0.0 an 1.0. Add new member to 'normalize' the
+	widthpoint to set its position to the normalised value inside its
+	boundaries.
 
-2010-08-22  Carlos Lopez <genetita at gmail.com>
+2011-10-12  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer.cpp: Use macro to import z depth
-	parameter for homogeneity.
+	* synfig-core/src/synfig/canvas.h,
+	synfig-core/src/synfig/loadcanvas.cpp: Increase canvas version due
+	to the addition of two new parameters in WidthPoint Composite
 
-2010-08-21  Carlos Lopez <genetita at gmail.com>
+2011-10-12  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_pastecanvas.cpp,
-	synfig-core/src/synfig/layer_pastecanvas.h: Allow paste canvas layer
-	to have static parameters.  Children lock is static by default
+	* synfig-core/src/synfig/widthpoint.cpp: Use lower and upper
+	boundaries to calculate the normalised position.
 
-2010-08-21  Carlos Lopez <genetita at gmail.com>
+2011-10-12  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_motionblur.cpp,
-	synfig-core/src/synfig/layer_motionblur.h: Allow motion blur layer
-	to have static parameters
+	* synfig-core/src/synfig/valuenode_composite.cpp: Only allow set
+	link to ValueNode_Const and avoid cross boundaries for lower and
+	upper boundaries of widthpoints
 
-2010-08-21  Carlos Lopez <genetita at gmail.com>
+2011-10-12  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/layer_bitmap.cpp,
-	synfig-core/src/synfig/layer_bitmap.h: Make bitmap layer parameters
-	to be able set static
+	* synfig-core/src/synfig/valuenode_composite.cpp,
+	synfig-core/src/synfig/widthpoint.cpp,
+	synfig-core/src/synfig/widthpoint.h: Add two new parameters to
+	ValueNode Composite WidthPoint type. Also needed code to WidthPoint
+	class
 
-2010-08-21  Carlos Lopez <genetita at gmail.com>
+2011-10-07  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/circle.cpp: Use macros for
-	circle layer
+	* synfig-core/src/synfig/distance.cpp: When a Distance is assigned
+	from a string and system units is empty use the previous one. If the
+	system was not set an exception is caught.
 
-2010-08-21  Carlos Lopez <genetita at gmail.com>
+2011-09-29  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h,
-	synfig-core/src/synfig/layer_composite.cpp: Use macros for the get
-	static and set static members
+	* : Merge remote branch 'origin/master' into zelgadis_master
 
-2010-08-20  Carlos Lopez <genetita at gmail.com>
+2011-09-28  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_geometry/circle.cpp,
-	synfig-core/src/modules/mod_geometry/circle.h,
-	synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h,
-	synfig-core/src/synfig/layer_composite.cpp,
-	synfig-core/src/synfig/layer_composite.h,
-	synfig-core/src/synfig/value.cpp, synfig-core/src/synfig/value.h: 
-	Add LayerParamSetStatic and LayerParamUnSetStatic actions.  They
-	work only only on Layer, Layer_Composite and Circle classes.  It is
-	pending check its functionality and extend to rest of layers
-	parameters.  By default blend_method for Composite and invert and
-	falloff for circles are now static when creating a new layer.
+	* synfig-core/NEWS, synfig-core/configure.ac: Release 0.63.02
 
-2010-08-19  Carlos Lopez <genetita at gmail.com>
+2011-09-28  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/value.cpp, synfig-core/src/synfig/value.h,
-	synfig-core/src/synfig/valuenode_const.cpp,
-	synfig-core/src/synfig/valuenode_const.h: Add Static option for
-	Constant Value Nodes and the corresponding action to set and unset
-	static.  Pending: Save and load static status.  Add static option
-	actions for layer parameters.
-
-2010-08-17  Carlos Lopez <genetita at gmail.com>
-
-	* synfig-core/src/synfig/value.cpp, synfig-core/src/synfig/value.h: 
-	Documentation and code clean for value.h and value.cpp
-
-2010-08-17  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h: Add Fast
+	parameter to allow user to render outline with the old (non
+	homogeneous) algorithm
 
-	* : commit 00e0a55636b3301ee532c6f5f5b7bd0acee05a00 Author: Carlos
-	Lopez <genetita at gmail.com> Date:   Tue Aug 17 15:21:21 2010 +0200
+2011-09-24  Carlos Lopez <genetita at gmail.com>
 
-2010-08-08  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
+	render artifact when doing dashed outlines and other than flat
+	sides.
 
-	* synfig-core/src/modules/lyr_std/xorpattern.cpp,
-	synfig-core/src/modules/mod_example/filledrect.cpp,
-	synfig-core/src/modules/mod_example/metaballs.cpp,
-	synfig-core/src/modules/mod_example/simplecircle.cpp,
-	synfig-core/src/modules/mod_filter/blur.cpp,
-	synfig-core/src/modules/mod_filter/radialblur.cpp,
-	synfig-core/src/modules/mod_geometry/checkerboard.cpp,
-	synfig-core/src/modules/mod_geometry/circle.cpp,
-	synfig-core/src/modules/mod_geometry/rectangle.cpp,
-	synfig-core/src/modules/mod_gradient/conicalgradient.cpp,
-	synfig-core/src/modules/mod_gradient/curvegradient.cpp,
-	synfig-core/src/modules/mod_gradient/lineargradient.cpp,
-	synfig-core/src/modules/mod_gradient/radialgradient.cpp,
-	synfig-core/src/modules/mod_gradient/spiralgradient.cpp,
-	synfig-core/src/modules/mod_noise/noise.cpp,
-	synfig-core/src/synfig/color.h,
-	synfig-core/src/synfig/layer_polygon.cpp,
-	synfig-core/src/synfig/layer_solidcolor.cpp: Add "By Layer Default"
-	blend method to the Toolbox Defaults widget.  It allows the user let
-	the layer itself use the blend method defined by the layer by
-	default.  For example, blur layer uses Straight blend method by
-	default and Bevel uses Onto.  The default blend methods by layer can
-	be discussed or changed later.
+2011-09-24  Carlos Lopez <genetita at gmail.com>
 
-2010-08-05  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/configure.ac: Release Synfig 0.63.01
 
-	* synfig-core/configure.ac, synfig-core/po/zh_CN.po: Simplified
-	Chinese translation for Synfig Studio and Synfig Core. Thanks to Yu
-	Chen (jcome)
+2011-09-23  Carlos Lopez <genetita at gmail.com>
 
-2010-07-29  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/AUTHORS, synfig-core/NEWS: Update NEWS and AUTHORS
 
-	* synfig-core/src/synfig/target_scanline.h,
-	synfig-core/src/synfig/target_tile.h: More documentation for target
-	tile renderer.
+2011-09-23  Carlos Lopez <genetita at gmail.com>
 
-2010-07-29  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/configure.ac, synfig-core/po/lt.po,
+	synfig-core/po/nl.po, synfig-core/po/ru.po,
+	synfig-core/po/sk_SK.po, synfig-core/po/zh_CN.po: Add support for
+	Dutch and Lituanian and Slovakian. Update Chinesse and Russian
 
-	* synfig-core/src/synfig/target_scanline.h: Documentation for
-	target_scanline.h
+2011-09-16  Carlos Lopez <genetita at gmail.com>
 
-2010-07-28  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/po/es.po: Tiny Spanish translation update for Synfig
+	Core
 
-	* synfig-core/src/synfig/renddesc.cpp,
-	synfig-core/src/synfig/renddesc.h: Documentation for the renddesc.h
-	and clean up code for renddesc.cpp
+2011-09-14  Carlos Lopez <genetita at gmail.com>
 
-2010-07-28  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/configure.ac, synfig-core/po/fa_IR.po: New language
+	for Synfig Core: Persian. Thanks to Hadi Fadakar
 
-	* : commit eb5f6e771ae901ac25b9a00601cb6ebdbf0f7710 Author: Carlos
-	Lopez <genetita at gmail.com> Date:   Tue Jul 27 17:27:27 2010 +0200
+2011-09-14  Carlos Lopez <genetita at gmail.com>
 
-2010-07-27  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/po/de.po, synfig-core/po/en_GB.po,
+	synfig-core/po/es.po, synfig-core/po/fr.po, synfig-core/po/it.po,
+	synfig-core/po/no_NO.po, synfig-core/po/pl_PL.po,
+	synfig-core/po/pt_BR.po, synfig-core/po/ro.po,
+	synfig-core/po/ru.po, synfig-core/po/zh_CN.po: Updates for Synfig
+	Core translations
 
-	* synfig-core/src/synfig/importer.h: Reformat
-	SYNFIG_IMPORTER_MODULE_EXT to fit in a narrow space
+2011-09-14  Carlos Lopez <genetita at gmail.com>
 
-2010-07-26  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/valuenode_composite.cpp: Better translation
+	string for dash item side type
 
-	* synfig-core/src/synfig/savecanvas.cpp: Delete commented code and
-	add some documentation.
+2011-09-14  Carlos Lopez <genetita at gmail.com>
 
-2010-07-26  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/paramdesc.cpp: Remove underscores for
+	shortcuts since they are not used anymore.
 
-	* synfig-core/src/synfig/loadcanvas.cpp,
-	synfig-core/src/synfig/savecanvas.cpp: Remove unused code for
-	savecanvas.h and savecanvas.cpp
+2011-09-10  Carlos Lopez <genetita at gmail.com>
 
-2010-07-24  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/configure.ac: Bump for RC2
 
-	* synfig-core/src/synfig/savecanvas.h: Partial documentation for the
-	savecanvas.h
+2011-09-10  Carlos Lopez <genetita at gmail.com>
 
-2010-07-24  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/synfig/valuenode_wplist.cpp,
+	synfig-core/src/synfig/valuenode_wplist.h,
+	synfig-core/src/synfig/widthpoint.cpp,
+	synfig-core/src/synfig/widthpoint.h: Fix various render artifacts
+	related to wplist loop option
 
-	* synfig-core/src/synfig/loadcanvas.h: Complete documentation for
-	loadcanvas.h. Remove unused member declaration.
+2011-09-10  Carlos Lopez <genetita at gmail.com>
 
-2010-07-21  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/widthpoint.cpp: Use fmod instead of modf to
+	see if it can solve the 32 bits bug.
 
-	* synfig-core/src/synfig/loadcanvas.h: Partial documentation for
-	loadcanvas.h
+2011-09-09  Carlos Lopez <genetita at gmail.com>
 
-2010-07-21  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/configure.ac: Prepare for RC1
 
-	* synfig-core/src/synfig/Makefile.am: Move not used header to extra
-	distribution section of make file.
+2011-09-07  Carlos Lopez <genetita at gmail.com>
 
-2010-07-20  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/valuenode_blinecalctangent.cpp,
+	synfig-core/src/synfig/valuenode_blinecalcvertex.cpp,
+	synfig-core/src/synfig/valuenode_blinecalcwidth.cpp: New BLine
+	linked Value Nodes are homogeneous by default.
 
-	* synfig-core/src/synfig/layer_pastecanvas.cpp,
-	synfig-core/src/synfig/layer_pastecanvas.h: Documentation for the
-	Paste Canvas Layer
+2011-09-07  Carlos Lopez <genetita at gmail.com>
 
-2010-07-20  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Remove
+	more useless warnings and info messages
 
-	* synfig-core/src/synfig/layer.h: Improve documentation for the
-	layer.h file
+2011-09-05  Carlos Lopez <genetita at gmail.com>
 
-2010-07-18  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Remove
+	useless warning and info messages.
 
-	* synfig-core/src/synfig/layer_pastecanvas.h: Partial documentation
-	for the paste canvas layer
+2011-09-05  Carlos Lopez <genetita at gmail.com>
 
-2010-07-18  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
+	render bug produced by bad interpolation when passing through
+	artificially inserted first and last width points.
 
-	* synfig-core/src/synfig/layer_composite.cpp,
-	synfig-core/src/synfig/layer_composite.h: Documentation for the
-	layer composite
+2011-08-17  Carlos Lopez <genetita at gmail.com>
 
-2010-07-18  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Typo
 
-	* synfig-core/src/synfig/context.h: Typo
+2011-08-14  Carlos Lopez <genetita at gmail.com>
 
-2010-07-18  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
+	wrong parameter order.
 
-	* synfig-core/src/synfig/context.cpp,
-	synfig-core/src/synfig/context.h: Documentation for the context
-	class
+2011-08-14  Carlos Lopez <genetita at gmail.com>
 
-2010-07-16  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
+	trimming dash offset layer parameter to be allow negative offsets
 
-	* synfig-core/src/synfig/layer_pastecanvas.cpp: Fix bug #3029832
-	Time Offset parameter fails for multiple times imported files.
-	canvas->set time not only sets the time but also calls the canvas's
-	context set_time.  There are bugs pending though. Live play produces
-	bad renders on canvas window.  Output render is fine now.
+2011-08-13  Carlos Lopez <genetita at gmail.com>
 
-2010-07-13  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h: To keep
+	back compatibility, don't use homogeneous interpolation when
+	homogeneous is off and loading old "0.1" layer version.
 
-	* synfig-core/src/synfig/canvas.h: More documentation for canvas.h
+2011-08-13  Carlos Lopez <genetita at gmail.com>
 
-2010-07-12  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Now
+	that homogeneous just places the widthpoints and the interpolation
+	is always homogeneous, let's redefine the "Homogeneous" description
 
-	* synfig-core/configure.ac, synfig-core/po/en_GB.po: English Great
-	Britain translation of Synfig and Synfig Studio. Thanks to Robert
-	Readman
+2011-08-13  Carlos Lopez <genetita at gmail.com>
 
-2010-07-10  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Remove
+	debug info
 
-	* synfig-core/src/synfig/canvas.h: More documentation for canvas.h
+2011-08-13  Carlos Lopez <genetita at gmail.com>
 
-2010-07-09  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
+	some render artefacts
 
-	* synfig-core/src/synfig/canvas.h: Partial documentation for
-	canvas.h
+2011-08-13  Carlos Lopez <genetita at gmail.com>
 
-2010-07-09  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: When
+	rendering an advanced outline with homogeneous false then calculate
+	the interpolated width as homogeneous to avoid render artefacts.
 
-	* synfig-core/src/synfig/valuenode_animated.h: More documentation
-	for Value Node Animated
+2011-08-13  Carlos Lopez <genetita at gmail.com>
 
-2010-07-05  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: 
+	Remember the start and end tips of the dash widthpoints that are
+	removed because they are out from [0, 1] and restore them later
 
-	* synfig-core/src/synfig/valuenode_animated.h: Documentation for
-	Value Node Animated
+2011-08-13  Carlos Lopez <genetita at gmail.com>
 
-2010-07-05  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Correct
+	some documentation
 
-	* synfig-core/src/synfig/valuenode_animated.cpp: Remove unused code.  * binary_find is implemented in ETC/misc.h.  * Remove code that use old distance calculation.  * Remove code once the const cast is used for const members.
+2011-08-12  Carlos Lopez <genetita at gmail.com>
 
-2010-07-04  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Do not
+	render last cusp when lies in the middle of an empty dash.
 
-	* synfig-core/src/synfig/waypoint.cpp,
-	synfig-core/src/synfig/waypoint.h: Documentation for Waypoint class
+2011-08-12  Carlos Lopez <genetita at gmail.com>
 
-2010-06-30  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
+	some render glitches. Correct one bad iterator calculation.
 
-	* synfig-core/src/synfig/valuenode.h: More Documentation
+2011-08-11  Carlos Lopez <genetita at gmail.com>
 
-2010-06-20  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Add
+	some debug info
 
-	* synfig-core/src/synfig/valuenode.h: Documentation
+2011-08-11  Carlos Lopez <genetita at gmail.com>
 
-2010-06-20  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Keep a
+	copy of the original widthpoints before remove the non visible. Keep
+	track of them and do the dash withpoints interpolation properly
 
-	* synfig-core/src/synfig/valuenode.cpp: Clean not used code. This
-	code has been disabled since 2005-04-19 so it is not being developed
+2011-08-11  Carlos Lopez <genetita at gmail.com>
 
-2010-06-20  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Remove
+	regular widthpoints that lie on an empty dash segment.
 
-	* synfig-core/src/synfig/node.h: More documentation
+2011-08-11  Carlos Lopez <genetita at gmail.com>
 
-2010-06-20  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Make
+	the width of new dash withpoints to be 1.0 for testing porpouses
 
-	* synfig-core/src/synfig/node.cpp: Documentation
+2011-08-11  Carlos Lopez <genetita at gmail.com>
 
-2010-06-20  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/synfig/widthpoint.cpp,
+	synfig-core/src/synfig/widthpoint.h: Dash is now false by default in
+	explicit WidthPoint constructor. Not need to mark as dash types.
+	Also, regular widthpoints doesn't have to be converted to
+	homogeneous if they are standard.
 
-	* synfig-core/src/synfig/node.cpp: Indentation for better reading
+2011-08-11  Carlos Lopez <genetita at gmail.com>
 
-2010-06-19  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Dash
+	Widthpoints positions has to be homogeneous or standard to be
+	comparable with normal withpoints
 
-	* synfig-core/src/synfig/node.cpp: Tidy up
+2011-08-10  Carlos Lopez <genetita at gmail.com>
 
-2010-06-19  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/widthpoint.cpp: Dash type has to be set on
+	WidthPoints defined by its components
 
-	* synfig-core/src/synfig/node.h: Documentation
+2011-08-10  Carlos Lopez <genetita at gmail.com>
 
-2010-06-16  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Merge
+	the filtered list with the current one
 
-	* synfig-core/src/synfig/node.h: Document node.h
+2011-08-10  Carlos Lopez <genetita at gmail.com>
 
-2010-06-16  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Mark
+	all the filtered dash widthpoints as dash type
 
-	* synfig-core/src/synfig/module.h: Dcoument module.h
+2011-08-10  Carlos Lopez <genetita at gmail.com>
 
-2010-06-14  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/widthpoint.cpp,
+	synfig-core/src/synfig/widthpoint.h: Add dassh member to
+	widthpoints. Dash=true means that the widthpoint is used for dashed
+	segments. False by default
 
-	* synfig-core/src/synfig/valuenode.h: Small documentation in the
-	valuenode.h
+2011-08-10  Carlos Lopez <genetita at gmail.com>
 
-2010-06-14  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Add
+	code to filter the dash widthpoints to remove those ones that won't
+	be used because they lie on a empty interval.
 
-	* synfig-core/src/synfig/importer.h: Documentation typo
+2011-08-10  Carlos Lopez <genetita at gmail.com>
 
-2010-06-14  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Move
+	dash width point preparation to be executed earlier.
 
-	* synfig-core/src/synfig/module.h: Some documentation in the
-	module.h file
+2011-08-10  Carlos Lopez <genetita at gmail.com>
 
-2010-06-13  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Remove
+	unused variable. Move debug info to other better place. Highlight
+	code sections
 
-	* : commit 93fd70f57db7f3277d3a02f79ba6335173706294 Author: Carlos
-	Lopez <genetita at gmail.com> Date:   Sun Jun 13 21:25:57 2010 +0200
+2011-08-09  Carlos Lopez <genetita at gmail.com>
 
-2010-06-12  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Add
+	widthpoints from the dash offset to the start of bline. Correct some
+	previous mistakes
 
-	* synfig-core/src/synfig/layer.h: Clean and document layer.h file
+2011-08-09  Carlos Lopez <genetita at gmail.com>
 
-2010-06-11  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix end
+	of dash segment withpoint position, wrongly calculated by a mistake
 
-	* synfig-core/src/modules/mod_dv/trgt_dv.cpp,
-	synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp,
-	synfig-core/src/modules/mod_gif/trgt_gif.cpp,
-	synfig-core/src/modules/mod_imagemagick/trgt_imagemagick.cpp,
-	synfig-core/src/modules/mod_jpeg/trgt_jpeg.cpp,
-	synfig-core/src/modules/mod_magickpp/trgt_magickpp.cpp,
-	synfig-core/src/modules/mod_mng/trgt_mng.cpp,
-	synfig-core/src/modules/mod_openexr/trgt_openexr.cpp,
-	synfig-core/src/modules/mod_png/trgt_png.cpp,
-	synfig-core/src/modules/mod_ppm/trgt_mpg.cpp,
-	synfig-core/src/modules/mod_ppm/trgt_ppm.cpp,
-	synfig-core/src/modules/mod_yuv420p/trgt_yuv.cpp: Remove unused
-	define no longer used
+2011-08-09  Carlos Lopez <genetita at gmail.com>
 
-2010-06-11  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Add the
+	widthpoints from the dash offset to the end ob bline. Add some debug
+	info.
 
-	* synfig-core/src/modules/lyr_std/stretch.cpp,
-	synfig-core/src/modules/mod_bmp/main.cpp,
-	synfig-core/src/modules/mod_bmp/mptr_bmp.cpp,
-	synfig-core/src/modules/mod_bmp/trgt_bmp.cpp,
-	synfig-core/src/modules/mod_libavcodec/main.cpp,
-	synfig-core/src/modules/mod_libavcodec/mptr.cpp,
-	synfig-core/src/modules/mod_libavcodec/trgt_av.cpp,
-	synfig-core/src/modules/mod_svg/main.cpp,
-	synfig-core/src/synfig/canvas.cpp, synfig-core/src/synfig/color.h,
-	synfig-core/src/synfig/importer.cpp,
-	synfig-core/src/synfig/layer.cpp,
-	synfig-core/src/synfig/layer_bitmap.cpp,
-	synfig-core/src/synfig/main.cpp, synfig-core/src/synfig/module.cpp,
-	synfig-core/src/synfig/render.cpp,
-	synfig-core/src/synfig/surface.cpp,
-	synfig-core/src/synfig/target.cpp, synfig-core/src/synfig/types.h,
-	synfig-core/src/synfig/value.h,
-	synfig-core/src/synfig/valuenode.cpp,
-	synfig-core/src/synfig/valuenode.h: Remove unused define, clean and
-	sort code.
+2011-08-09  Carlos Lopez <genetita at gmail.com>
 
-2010-06-11  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/dashitem.h: DashItem uses same numerals
+	than WidthPoint for direct use.
 
-	* synfig-core/src/synfig/Makefile.am: Remove synfig.h from sources
-	to build since it is deprecated and not used.
+2011-08-09  Carlos Lopez <genetita at gmail.com>
 
-2010-06-10  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/valuenode_composite.cpp: Limit to [0,1] the
+	values of the length and offset of a dash item when evaluating the
+	Dash Item Value Node.
 
-	* synfig-core/src/synfig/importer.cpp,
-	synfig-core/src/synfig/importer.h: More code comment
+2011-08-09  Carlos Lopez <genetita at gmail.com>
 
-2010-06-10  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: First
+	steps to use the dash items. Also add missing set_param_static for
+	smoothness parameter
 
-	* synfig-core/src/synfig/importer.h: Order, clean up and comment the
-	code
+2011-08-09  Carlos Lopez <genetita at gmail.com>
 
-2010-06-10  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h: Add new
+	parameter to enable/disable dashed outlines
 
-	* synfig-core/configure.ac, synfig-core/src/modules/Makefile.am,
-	synfig-core/src/modules/example/Makefile.am,
-	synfig-core/src/modules/example/filledrect.cpp,
-	synfig-core/src/modules/example/filledrect.h,
-	synfig-core/src/modules/example/main.cpp,
-	synfig-core/src/modules/example/metaballs.cpp,
-	synfig-core/src/modules/example/metaballs.h,
-	synfig-core/src/modules/example/simplecircle.cpp,
-	synfig-core/src/modules/example/simplecircle.h,
-	synfig-core/src/modules/mod_example/Makefile.am,
-	synfig-core/src/modules/mod_example/filledrect.cpp,
-	synfig-core/src/modules/mod_example/filledrect.h,
-	synfig-core/src/modules/mod_example/main.cpp,
-	synfig-core/src/modules/mod_example/metaballs.cpp,
-	synfig-core/src/modules/mod_example/metaballs.h,
-	synfig-core/src/modules/mod_example/mod_example.nsh,
-	synfig-core/src/modules/mod_example/simplecircle.cpp,
-	synfig-core/src/modules/mod_example/simplecircle.h,
-	synfig-core/src/modules/mod_example/unmod_example.nsh,
-	synfig-core/src/modules/synfig_modules.cfg.in: Enable NSIS support
-	for example module and rename it to mod_example
+2011-08-08  Carlos Lopez <genetita at gmail.com>
 
-2010-06-07  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/savecanvas.cpp,
+	synfig-core/src/synfig/valuenode_dilist.cpp,
+	synfig-core/src/synfig/valuenode_dilist.h: Remove 'Enabled' as
+	DIList option
 
-	* synfig-core/src/tool/main.cpp: Update copyrights
+2011-08-08  Carlos Lopez <genetita at gmail.com>
 
-2010-06-07  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h,
+	synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/savecanvas.cpp,
+	synfig-core/src/synfig/valuenode_wplist.cpp,
+	synfig-core/src/synfig/valuenode_wplist.h: Add code to make
+	'homogeneous' a layer parameter instead of a WPList option.It is
+	true by default on new layers and if an old layer is loaded it is
+	false.
 
-	* synfig-core/src/tool/renderprogress.h: Enable translation for
-	render progress information.
+2011-08-08  Carlos Lopez <genetita at gmail.com>
 
-2010-06-07  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Remove
+	dilist success message
 
-	* synfig-core/NEWS: News draft
+2011-08-08  Carlos Lopez <genetita at gmail.com>
 
-2010-06-07  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/value.cpp: Fix BLine Tool crash. It was
+	caused by a bad return when using the == operator. If the ==
+	operator is not defined in the value type it should return false.
 
-	* synfig-core/src/synfig/palette.cpp: Update copyrights
+2011-08-08  Carlos Lopez <genetita at gmail.com>
 
-2010-06-07  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/dashitem.cpp,
+	synfig-core/src/synfig/dashitem.h: Add operator == to DashItem class
 
-	* synfig-core/src/synfig/palette.cpp: Use iostream operators for
-	load palette member instead of atof.
+2011-08-08  Carlos Lopez <genetita at gmail.com>
 
-2010-06-01  Nikita Kitaev <nikitakit at gmail.com>
+	* synfig-core/src/synfig/dashitem.cpp,
+	synfig-core/src/synfig/dashitem.h, synfig-core/src/synfig/value.h: 
+	Rewrite DashItem class as independent class and not inherited from
+	WidthPoint since it doesn't offer any advantage
 
-	* : commit 5455fd235a45b9a9274a6113555ec1f4688353e2 Author: Carlos
-	Lopez <genetita at gmail.com> Date:   Mon May 31 19:59:33 2010 +0200
+2011-08-08  Carlos Lopez <genetita at gmail.com>
 
-2010-05-31  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h: Add Dash
+	Offset parameter to the Adanced Outline Layer
 
-	* synfig-core/configure.ac, synfig-core/po/de.po: Add German
-	translation for synfig-core. Thanks to Oliver Horn (oho)
+2011-08-08  Carlos Lopez <genetita at gmail.com>
 
-2010-05-30  Nikita Kitaev <nikitakit at gmail.com>
+	* synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/valuenode_wplist.cpp: By default new Advanced
+	Outlines layers have homogeneous option set to true. Load old files
+	keeps the homogeneous option to false as expected.  Signed-off-by: Carlos Lopez <genetita at gmail.com>
 
-	* : commit ca5756ccfd7018bf078426238e81b45beef06617 Author: Carlos
-	Lopez <genetita at gmail.com> Date:   Mon May 31 00:07:01 2010 +0200
+2011-07-28  Carlos Lopez <genetita at gmail.com>
 
-2010-05-28  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/valuenode_bline.cpp: Revert changes in one
+	past commit that tried find up a better initial value for the root
+	find routine. It failed for certain cases.
 
-	* synfig-core/src/synfig/releases.h: Add release version 0.62.01 for
-	the save file dialog.
+2011-07-28  Carlos Lopez <genetita at gmail.com>
 
-2010-05-26  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/valuenode_bline.cpp,
+	synfig-core/src/synfig/valuenode_bline.h: Add new function to
+	calculate the bline's length
 
-	* synfig-core/src/tool/main.cpp: Remove libxvid codec (not working)
-	and replace the default by its real name. Update video MPEG-4 codec
-	name
+2011-07-28  Carlos Lopez <genetita at gmail.com>
 
-2010-05-24  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/savecanvas.cpp: Add code to parse/encode
+	properly the DILits Linkable Value Node
 
-	* synfig-core/configure.ac: Bump versions for RC4 (last one
-	hopefully)
+2011-07-28  Carlos Lopez <genetita at gmail.com>
 
-2010-05-20  Alexandre Prokoudine <alexandre.prokoudine at gmail.com>
+	* synfig-core/src/synfig/valuenode_dilist.cpp: By default the Dash
+	List is disabled
 
-	* synfig-core/po/ru.po: Updated Russian translations, part 1
+2011-07-28  Carlos Lopez <genetita at gmail.com>
 
-2010-05-19  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h: Add new
+	parameter 'DIList' (Dash Items List) to Advanced Outline Layer
 
-	* synfig-core/configure.ac: Bump versions for RC3
+2011-07-28  Carlos Lopez <genetita at gmail.com>
 
-2010-05-19  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/releases.h,
+	synfig-core/src/synfig/valuenode.cpp: Register Value Node DIList and
+	fix unused release version. Fix release version for WPList. Add
+	future 0.63.01 release version
 
-	* synfig-core/NEWS: Update News files
+2011-07-28  Carlos Lopez <genetita at gmail.com>
 
-2010-05-19  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/valuenode_composite.cpp: Fix wrong
+	parameters description
 
-	* synfig-core/po/es.po: Update Spanish translation. Thanks to Carlos
-	López (genete)
+2011-07-28  Carlos Lopez <genetita at gmail.com>
 
-2010-05-19  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/valuenode_dilist.cpp: Fix wrong value
+	insertion in the DIList
 
-	* synfig-core/po/fr.po: Update French translation. Thanks to Aurore
-	D. (rore)
+2011-07-28  Carlos Lopez <genetita at gmail.com>
 
-2010-05-15  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/valuenode_dilist.cpp,
+	synfig-core/src/synfig/valuenode_dilist.h: Add option "enabled" to
+	enable or disable the Dash Item List usage
 
-	* synfig-core/configure.ac: Bump versions for RC2
+2011-07-28  Carlos Lopez <genetita at gmail.com>
 
-2010-05-09  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/valuenode_dilist.cpp,
+	synfig-core/src/synfig/valuenode_dilist.h,
+	synfig-core/src/synfig/valuenode_dynamiclist.h: New Valuenode
+	DashItem List
 
-	* : commit fb6e5f95daa50b3b2ac495dda529d28d1553fa29 Author:
-	Konstantin Dmitriev <ksee.zelgadis at gmail.com> Date:   Sun May 9
-	16:26:07 2010 +0700
+2011-07-28  Carlos Lopez <genetita at gmail.com>
 
-2010-05-09  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+	* synfig-core/src/synfig/dashitem.cpp,
+	synfig-core/src/synfig/dashitem.h: Add construction member
+	(constructor by reference) to be able to compile. Rename a bad
+	parameter
 
-	* synfig-core/po/ru.po: Russian translation update.
+2011-07-28  Carlos Lopez <genetita at gmail.com>
 
-2010-05-05  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/loadcanvas.h,
+	synfig-core/src/synfig/savecanvas.cpp,
+	synfig-core/src/synfig/value.cpp, synfig-core/src/synfig/value.h,
+	synfig-core/src/synfig/valuenode_composite.cpp: Support for new
+	Composite value node for Dash Item class
 
-	* synfig-core/AUTHORS: Update the AUTHORS files
+2011-07-27  Carlos Lopez <genetita at gmail.com>
 
-2010-05-05  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/dashitem.cpp,
+	synfig-core/src/synfig/dashitem.h: New Dash Item class files.
 
-	* synfig-core/README: Update the README files
+2011-07-27  Carlos Lopez <genetita at gmail.com>
 
-2010-05-05  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/widthpoint.cpp: Fix file identifier
 
-	* synfig-core/NEWS: Update NEWS fiiles
+2011-07-27  Carlos Lopez <genetita at gmail.com>
 
-2010-05-03  Nikita Kitaev <nikitakit at gmail.com>
+	* synfig-core/src/synfig/valuenode_bline.cpp: Try to find a better
+	initial value for the root find routine.
 
-	* synfig-core/src/synfig/palette.cpp: Enable save/load of palettes
-	(use extension .spal) Conflicts: 	synfig-studio/src/gui/modules/mod_palette/dock_paledit.cpp
+2011-07-24  Carlos Lopez <genetita at gmail.com>
 
-2010-04-15  Nikita Kitaev <nikitakit at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: When
+	using homogeneous the condition of position onto a blinepoint is not
+	always matched due to lack of precision of std to hom or hom to std
+	conversion. Replace the condition by a flag.
 
-	* : commit da2c3c1313524f14cd616a9bd31afecfb8f3abfb Author: Carlos
-	Lopez <genetita at gmail.com> Date:   Wed Apr 14 19:56:40 2010 +0200
+2011-07-24  Carlos Lopez <genetita at gmail.com>
 
-2010-04-14  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h: Revert
+	changes from last commit since it doesn't work.
 
-	* synfig-core/src/synfig/layer_motionblur.cpp,
-	synfig-core/src/synfig/layer_motionblur.h: Add new parameters for
-	motionblur. Enable linear, constant and hyperbolic sub-samples.
-	Patch thanks to Brendon Higgins
+2011-07-24  Carlos Lopez <genetita at gmail.com>
 
-2010-04-01  Nikita Kitaev <nikitakit at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h: Improve
+	step size for smooth render. Experimental. I think this should be
+	user selectable because it can eventually reduce render speed
 
-	* synfig-core/src/modules/mod_svg/svg_parser.h: Increase maximum
-	length of gradient ids They are cut short when alloted memory runs out.  (It may be a good
-	idea to use strings instead of char arrays.)
+2011-07-24  Carlos Lopez <genetita at gmail.com>
 
-2010-04-01  Nikita Kitaev <nikitakit at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix two
+	mistakes that luckily didn't produce any bug before.
 
-	* synfig-core/src/modules/mod_svg/svg_parser.cpp,
-	synfig-core/src/modules/mod_svg/svg_parser.h: Add support for SVG
-	color keywords
+2011-07-23  Carlos Lopez <genetita at gmail.com>
 
-2010-04-01  Nikita Kitaev <nikitakit at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Render
+	the outline using homogeneous option
 
-	* synfig-core/src/modules/mod_svg/svg_parser.cpp: Make SVG import
-	parse 3-digit hex color values
+2011-07-23  Carlos Lopez <genetita at gmail.com>
 
-2010-04-01  Nikita Kitaev <nikitakit at gmail.com>
+	* synfig-core/src/synfig/valuenode_bline.cpp,
+	synfig-core/src/synfig/valuenode_bline.h: Give new parameter names
+	to make it more readable
 
-	* synfig-core/src/modules/mod_svg/svg_parser.cpp: Allow for
-	scientific notation in SVG path data
+2011-07-21  Carlos Lopez <genetita at gmail.com>
 
-2010-03-31  Nikita Kitaev <nikitakit at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h: Remove
+	homogeneous parameter from Advanced Outline Layer since it is only
+	an internal WPList optiion
 
-	* synfig-core/src/modules/mod_noise/valuenode_random.cpp,
-	synfig-core/src/synfig/valuenode.h,
-	synfig-core/src/synfig/valuenode_anglestring.cpp,
-	synfig-core/src/synfig/valuenode_animated.cpp,
-	synfig-core/src/synfig/valuenode_animated.h,
-	synfig-core/src/synfig/valuenode_atan2.cpp,
-	synfig-core/src/synfig/valuenode_const.cpp,
-	synfig-core/src/synfig/valuenode_cos.cpp,
-	synfig-core/src/synfig/valuenode_dotproduct.cpp,
-	synfig-core/src/synfig/valuenode_dynamiclist.cpp,
-	synfig-core/src/synfig/valuenode_exp.cpp,
-	synfig-core/src/synfig/valuenode_gradientcolor.cpp,
-	synfig-core/src/synfig/valuenode_gradientrotate.cpp,
-	synfig-core/src/synfig/valuenode_intstring.cpp,
-	synfig-core/src/synfig/valuenode_join.cpp,
-	synfig-core/src/synfig/valuenode_linear.cpp,
-	synfig-core/src/synfig/valuenode_range.cpp,
-	synfig-core/src/synfig/valuenode_realstring.cpp,
-	synfig-core/src/synfig/valuenode_sine.cpp,
-	synfig-core/src/synfig/valuenode_step.cpp,
-	synfig-core/src/synfig/valuenode_subtract.cpp,
-	synfig-core/src/synfig/valuenode_timedswap.cpp,
-	synfig-core/src/synfig/valuenode_timestring.cpp,
-	synfig-core/src/synfig/valuenode_twotone.cpp,
-	synfig-core/src/synfig/valuenode_vectorangle.cpp,
-	synfig-core/src/synfig/valuenode_vectorlength.cpp,
-	synfig-core/src/synfig/valuenode_vectorx.cpp,
-	synfig-core/src/synfig/valuenode_vectory.cpp: Remove dynamic cast
-	hack GCC 3.0.4 with broken casting is long outdated
+2011-07-21  Carlos Lopez <genetita at gmail.com>
 
-2010-03-12  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/savecanvas.cpp,
+	synfig-core/src/synfig/valuenode_wplist.cpp: Add actions to set and
+	unset the homogeneous option to the WPList
 
-	* synfig-core/AUTHORS: Add Bottero Ermanno copyright to the AUTHORS
-	files
+2011-07-21  Carlos Lopez <genetita at gmail.com>
 
-2010-03-12  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/valuenode_wplist.cpp,
+	synfig-core/src/synfig/valuenode_wplist.h: Return homogeneous as
+	internal parameter for the WPList and not a Value Node
 
-	* : commit c554611b986abfe0733b63260b19d99d3384edf0 Author: Carlos
-	Lopez <genetita at gmail.com> Date:   Fri Mar 12 17:43:05 2010 +0100
+2011-07-21  Carlos Lopez <genetita at gmail.com>
 
-2010-02-25  Diego Barrios Romero <eldruin at gmailcom>
+	* synfig-core/src/synfig/canvas.h: Write git SHA1 ID number on
+	canvas version change comment
 
-	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: libx264 codec
-	parameters fix
+2011-07-21  Carlos Lopez <genetita at gmail.com>
 
-2010-02-25  Diego Barrios Romero <eldruin at gmailcom>
+	* synfig-core/src/synfig/canvas.h,
+	synfig-core/src/synfig/loadcanvas.cpp: Increase canvas version and
+	allow open files created previously without the homogeneous link
+	defined. .
 
-	* synfig-core/src/modules/mod_ffmpeg/main.cpp,
-	synfig-core/src/tool/main.cpp: Taken out useless codecs.
+2011-07-21  Carlos Lopez <genetita at gmail.com>
 
-2010-02-24  Diego Barrios Romero <eldruin at gmailcom>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Give an
+	initial value to homogenous parameter
 
-	* synfig-core/src/synfig/Makefile.am: Added targetparam.h to
-	makefile.am
+2011-07-20  Carlos Lopez <genetita at gmail.com>
 
-2010-02-23  Diego Barrios Romero <eldruin at gmailcom>
+	* synfig-core/src/synfig/valuenode_bline.cpp: Consider trivial cases
+	in standard from/to homogeneous. It avoid a crash.
 
-	* synfig-core/src/modules/mod_ffmpeg/main.cpp,
-	synfig-core/src/tool/main.cpp: mod_ffmpeg target extensions update.
-	Added warning.
+2011-07-18  Carlos Lopez <genetita at gmail.com>
 
-2010-02-23  Diego Barrios Romero <eldruin at gmailcom>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h: Add
+	homogeneous parameter to Advanced Outline Layer. It is not
+	functional yet.
 
-	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: FFMPEG module
-	if needed parameter overriding.
+2011-07-18  Carlos Lopez <genetita at gmail.com>
 
-2010-02-23  Diego Barrios Romero <eldruin at gmailcom>
+	* synfig-core/src/synfig/valuenode_wplist.cpp,
+	synfig-core/src/synfig/valuenode_wplist.h: Use a value node to allow
+	make it animatable.
 
-	* synfig-core/src/synfig/targetparam.h: Default illegal parameters
-	in TargetParam.
+2011-07-18  Carlos Lopez <genetita at gmail.com>
 
-2010-02-23  Diego Barrios Romero <eldruin at gmailcom>
+	* synfig-core/src/synfig/valuenode_wplist.cpp,
+	synfig-core/src/synfig/valuenode_wplist.h: Add a member to set/get
+	homogeneous option for WPList
 
-	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: FFMPEG title
-	metadata parameter.
+2011-07-13  Carlos Lopez <genetita at gmail.com>
 
-2010-02-22  Diego Barrios Romero <eldruin at gmailcom>
+	* synfig-core/src/synfig/valuenode_blinecalctangent.cpp,
+	synfig-core/src/synfig/valuenode_blinecalctangent.h,
+	synfig-core/src/synfig/valuenode_blinecalcvertex.cpp,
+	synfig-core/src/synfig/valuenode_blinecalcvertex.h,
+	synfig-core/src/synfig/valuenode_blinecalcwidth.cpp,
+	synfig-core/src/synfig/valuenode_blinecalcwidth.h: Add support for
+	use of homogenous or standard index of the Link to Bline feature
 
-	* synfig-core/src/tool/main.cpp: Took out H.261 target video codec.
+2011-07-13  Carlos Lopez <genetita at gmail.com>
 
-2010-02-22  Diego Barrios Romero <eldruin at gmailcom>
+	* synfig-core/src/synfig/valuenode_bline.cpp,
+	synfig-core/src/synfig/valuenode_bline.h: Add functions to convert
+	from standard index to homogeneous index (consider the length as
+	basis of the index)
 
-	* synfig-core/src/tool/main.cpp: Added help for target video codecs.
+2011-07-04  Carlos Lopez <genetita at gmail.com>
 
-2010-02-22  Diego Barrios Romero <eldruin at gmailcom>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: If
+	tangent is zero and they are merged, then consider it as split to
+	make corners.
 
-	* synfig-core/src/tool/main.cpp: Allowed video codecs check and
-	improved parameters check.
+2011-06-26  Carlos Lopez <genetita at gmail.com>
 
-2010-02-22  Diego Barrios Romero <eldruin at gmailcom>
+	* synfig-core/src/synfig/valuenode_join.cpp: Allow use the Joined
+	List Convert type to file name parameter of the Import Image layers.
+	If possible any convert type shouldn't modify the original value of
+	the parameter.
 
-	* synfig-core/src/synfig/targetparam.h: TargetParam constructor with
-	parameters.
+2011-06-26  Carlos Lopez <genetita at gmail.com>
 
-2010-02-21  Diego Barrios Romero <eldruin at gmailcom>
+	* synfig-core/src/modules/lyr_std/supersample.cpp: Don't allow
+	supersample have zero or negative values in the height or width
+	parameters.It only causes problems.Fixes bug 3147736
 
-	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: Propper
-	bitrate FFMPEG parameter.
+2011-06-26  Carlos Lopez <genetita at gmail.com>
 
-2010-02-20  Diego Barrios Romero <eldruin at gmailcom>
+	* synfig-core/src/synfig/releases.h: Update the version in save file
+	dialog. Patch b Yu Chen (jcome)
 
-	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: Updated FFMPEG
-	parameters.
+2011-06-05  Carlos Lopez <genetita at gmail.com>
 
-2010-02-20  Diego Barrios Romero <eldruin at gmailcom>
+	* synfig-core/configure.ac: Release Synfig 0.63.00
 
-	* synfig-core/src/tool/main.cpp: Extract target function updated.
+2011-06-05  Carlos Lopez <genetita at gmail.com>
 
-2010-02-20  Diego Barrios Romero <eldruin at gmailcom>
+	* synfig-core/README: Update Readme files
 
-	* : commit ac82dc73a5ed08bd695c70a3ac70caaa3e546302 Author: Diego
-	Barrios Romero <eldruin at gmailcom> Date:   Sat Feb 20 16:34:31 2010
-	+0100
+2011-06-05  Carlos Lopez <genetita at gmail.com>
 
-2010-02-19  Diego Barrios Romero <eldruin at gmailcom>
-
-	* synfig-core/src/modules/mod_bmp/trgt_bmp.cpp,
-	synfig-core/src/modules/mod_bmp/trgt_bmp.h,
-	synfig-core/src/modules/mod_dv/trgt_dv.cpp,
-	synfig-core/src/modules/mod_dv/trgt_dv.h,
-	synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp,
-	synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.h,
-	synfig-core/src/modules/mod_gif/trgt_gif.cpp,
-	synfig-core/src/modules/mod_gif/trgt_gif.h,
-	synfig-core/src/modules/mod_imagemagick/trgt_imagemagick.cpp,
-	synfig-core/src/modules/mod_imagemagick/trgt_imagemagick.h,
-	synfig-core/src/modules/mod_jpeg/trgt_jpeg.cpp,
-	synfig-core/src/modules/mod_jpeg/trgt_jpeg.h,
-	synfig-core/src/modules/mod_libavcodec/trgt_av.cpp,
-	synfig-core/src/modules/mod_libavcodec/trgt_av.h,
-	synfig-core/src/modules/mod_magickpp/trgt_magickpp.h,
-	synfig-core/src/modules/mod_mng/trgt_mng.cpp,
-	synfig-core/src/modules/mod_mng/trgt_mng.h,
-	synfig-core/src/modules/mod_openexr/trgt_openexr.cpp,
-	synfig-core/src/modules/mod_openexr/trgt_openexr.h,
-	synfig-core/src/modules/mod_png/trgt_png.cpp,
-	synfig-core/src/modules/mod_png/trgt_png.h,
-	synfig-core/src/modules/mod_ppm/trgt_mpg.cpp,
-	synfig-core/src/modules/mod_ppm/trgt_mpg.h,
-	synfig-core/src/modules/mod_ppm/trgt_ppm.cpp,
-	synfig-core/src/modules/mod_ppm/trgt_ppm.h,
-	synfig-core/src/modules/mod_yuv420p/trgt_yuv.cpp,
-	synfig-core/src/modules/mod_yuv420p/trgt_yuv.h,
-	synfig-core/src/synfig/module.h, synfig-core/src/synfig/target.cpp,
-	synfig-core/src/synfig/target.h,
-	synfig-core/src/synfig/targetparam.h, synfig-core/src/tool/main.cpp: 
-	New targets parameters class. Tool accepts video codec and bitrate
-	parameters. All modules updated.
-
-2010-02-17  Diego Barrios Romero <eldruin at gmailcom>
-
-	* synfig-core/src/tool/main.cpp: Simplified forgotten loops
-	iterators.
-
-2010-02-17  Diego Barrios Romero <eldruin at gmailcom>
-
-	* synfig-core/src/tool/main.cpp: Simplified code.  New function to extract a parameter value.  Simplified iterators in
-	loops.
-
-2010-02-17  Diego Barrios Romero <eldruin at gmailcom>
-
-	* synfig-core/src/tool/Makefile.am,
-	synfig-core/src/tool/definitions.h, synfig-core/src/tool/job.h,
-	synfig-core/src/tool/main.cpp, synfig-core/src/tool/progress.h,
-	synfig-core/src/tool/renderprogress.h: Separated several classes
-	into header files from tool main.cpp
-
-2010-01-27  Diego Barrios Romero <eldruin at gmailcom>
-
-	* : commit dca591b6877a1bbe0639fbf206d6dd1ff9644c60 Merge: 91defb0
-	5dcab4f Author: Diego Barrios Romero <eldruin at gmailcom> Date:   Wed
-	Jan 27 18:33:26 2010 +0100
-
-2010-01-24  Carlos Lopez <genetita at gmail.com>
-
-	* : commit 79fe6f44b13cef34fcb3fc65a4c391b972300bc4 Author: Nikita
-	Kitaev <nikitakit at gmail.com> Date:   Sun Jan 24 00:28:57 2010 -0800
-
-2010-01-23  Carlos Lopez <genetita at gmail.com>
-
-	* : commit 111312670374e3ae85755fc11cda881558835131 Author:
-	Konstantin Dmitriev <ksee.zelgadis at gmail.com> Date:   Tue Jan 19
-	13:22:01 2010 +0600
-
-2009-12-22  Diego Barrios Romero <eldruin at gmail.com>
-
-	* synfig-core/src/synfig/module.h,
-	synfig-core/src/synfig/target.cpp, synfig-core/src/synfig/target.h,
-	synfig-core/src/tool/main.cpp: Changed target book map to have a
-	struct (BookEntry).
-
-2009-12-22  Diego Barrios Romero <eldruin at gmail.com>
-
-	* synfig-core/src/synfig/layer.h,
-	synfig-core/src/synfig/target.cpp, synfig-core/src/synfig/target.h,
-	synfig-core/src/synfig/valuenode.h: Added documentation for Factory
-	and Book typedefs.
-
-2009-12-08  Carlos Lopez <genetita at gmail.com>
-
-	* synfig-core/src/synfig/loadcanvas.cpp,
-	synfig-core/src/synfig/valuenode_composite.cpp: Add Nikita Kitaev's
-	copyright to files he modified.
-
-2009-12-08  Carlos Lopez <genetita at gmail.com>
-
-	* synfig-core/src/synfig/blinepoint.cpp,
-	synfig-core/src/synfig/blinepoint.h: Restore linefeed that doesn't
-	exists on the original files.
-
-2009-12-05  Nikita Kitaev <nikitakit at gmail.com>
-
-	* synfig-core/src/synfig/blinepoint.cpp,
-	synfig-core/src/synfig/blinepoint.h: Undo blinepoint changes, they
-	don't belong in this branch
-
-2009-12-01  Nikita Kitaev <nikitakit at gmail.com>
-
-	* synfig-core/src/modules/mod_svg/svg_parser.cpp,
-	synfig-core/src/modules/mod_svg/svg_parser.h: Give names to
-	automatically created inline canvases
-
-2009-12-01  Nikita Kitaev <nikitakit at gmail.com>
-
-	* synfig-core/src/modules/mod_svg/svg_parser.cpp: Bugfixing * Stroke always renders on top of fill * Fix gradient strokes * Comment out unused parameters * Work on reducing the number of Paste Canvases
-
-2009-11-28  Nikita Kitaev <nikitakit at gmail.com>
-
-	* : commit 8cbc3b87e82d66a5a9f42586459e76485534be50 Author: Nikita
-	Kitaev <nikitakit at gmail.com> Date:   Sun Nov 22 22:23:13 2009 -0800
-
-2009-10-11  Nikita Kitaev <nikitakit at gmail.com>
-
-	* synfig-core/src/synfig/blinepoint.cpp,
-	synfig-core/src/synfig/blinepoint.h: Change linking parameters in
-	BLine points Instead of the old split_tangent parameter, bline points now use
-	link_radius and link_theta. Old functions are retained for
-	compatibility.  Note: since get_split_tangent_flag() returns a pointer, the
-	split_tangent_ parameter must remain for now.
-
-2009-11-08  Nikita Kitaev <nikitakit at gmail.com>
-
-	* synfig-core/src/modules/mod_svg/svg_parser.cpp,
-	synfig-core/src/modules/mod_svg/svg_parser.h: Fix typos
-
-2009-11-07  Nikita Kitaev <nikitakit at gmail.com>
-
-	* synfig-core/src/modules/mod_svg/svg_parser.cpp,
-	synfig-core/src/modules/mod_svg/svg_parser.h: Refractor
-	Vertice->Vertex
-
-2009-11-07  Nikita Kitaev <nikitakit at gmail.com>
-
-	* synfig-core/src/modules/mod_svg/svg_parser.cpp,
-	synfig-core/src/modules/mod_svg/svg_parser.h: Path looping support
-
-2009-11-07  Nikita Kitaev <nikitakit at gmail.com>
-
-	* synfig-core/src/modules/mod_svg/svg_parser.cpp,
-	synfig-core/src/modules/mod_svg/svg_parser.h: Refractoring and code
-	clean-up
-
-2009-11-06  Nikita Kitaev <nikitakit at gmail.com>
+	* synfig-core/AUTHORS, synfig-core/NEWS: Update News and Authors
+	files and About dialogue
 
-	* synfig-core/src/modules/mod_svg/svg_parser.cpp,
-	synfig-core/src/modules/mod_svg/svg_parser.h: Gradient support * Linear gradients should convert properly in all circumstances.  * Radial gradients should convert properly when the focus and center
-	are the same.
+2011-06-05  Carlos Lopez <genetita at gmail.com>
 
-2009-11-03  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Typo
 
-	* synfig-core/configure.ac: Apply patch 2890548: Resolve issues with
-	libtool 1.5.26 and 2.2.4. Thanks to Ray Frederikson ( uranus-235 )
+2011-06-04  Carlos Lopez <genetita at gmail.com>
 
-2009-10-24  Nikita Kitaev <nikitakit at gmail.com>
+	* synfig-core/po/pt_BR.po: Fix missing \n characters
 
-	* synfig-core/src/modules/mod_svg/svg_parser.cpp: Fix closepath
-	problems The index is no longer incremented twice when encountering "z" Add
-	support for elements other than "M/m" after "z"
+2011-06-04  Carlos Lopez <genetita at gmail.com>
 
-2009-10-23  Nikita Kitaev <nikitakit at gmail.com>
+	* synfig-core/configure.ac, synfig-core/po/es.po,
+	synfig-core/po/fr.po, synfig-core/po/it.po,
+	synfig-core/po/pl_PL.po, synfig-core/po/pt_BR.po: Add support for
+	Polish (Poland) language and updates for Spanish, French, Italian
+	and Portuguese (Brazilian) for synfig core
 
-	* synfig-core/src/modules/mod_svg/svg_parser.cpp: Update Path Parser Parser now supports relative coordinates, as well as multiple sets
-	of arguments after a single command.
+2011-05-20  Carlos Lopez <genetita at gmail.com>
 
-2009-10-22  Nikita Kitaev <nikitakit at gmail.com>
+	* synfig-core/configure.ac: Bump for version RC2
 
-	* synfig-core/src/modules/mod_svg/svg_parser.cpp: Filter out
-	unparsable layers This avoids the creation of extraneous canvases
+2011-05-19  Carlos Lopez <genetita at gmail.com>
 
-2009-10-22  Nikita Kitaev <nikitakit at gmail.com>
+	* synfig-core/po/pt_BR.po: Fix some missing \n at some of the msgstr
 
-	* synfig-core/src/modules/mod_svg/svg_parser.cpp: Transformation
-	support in effects parser
+2011-05-19  Carlos Lopez <genetita at gmail.com>
 
-2009-10-21  Nikita Kitaev <nikitakit at gmail.com>
+	* synfig-core/configure.ac: Remove Persian language until missed \n
+	at the end of string is fixed.
 
-	* synfig-core/src/modules/mod_svg/svg_parser.cpp,
-	synfig-core/src/modules/mod_svg/svg_parser.h: Restructuring 1. Remove plans for converting objects to paths      These convertions are best done in Inkscape.  2. Add skeleton parser_effects      This parser will apply transformations, path effects, etc.  3. Make resolving path transformations optional
+2011-05-19  Carlos Lopez <genetita at gmail.com>
 
-2009-10-21  Nikita Kitaev <nikitakit at gmail.com>
+	* synfig-core/configure.ac, synfig-core/po/es.po,
+	synfig-core/po/fa_IR.po, synfig-core/po/pt_BR.po: New Languages:
+	Persian and Brasilian. Thanks to abtin and ricardograca. Spanish
+	updated. Thanks to carlos_tutor
 
-	* synfig-core/src/modules/mod_svg/svg_parser.cpp,
-	synfig-core/src/modules/mod_svg/svg_parser.h: Centralized parsing Old parser methods for paths and polygons have moved to
-	parser_graphics.
+2011-05-19  Carlos Lopez <genetita at gmail.com>
 
-2009-10-16  Nikita Kitaev <nikitakit at gmail.com>
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Remove
+	debug info
 
-	* synfig-core/src/modules/mod_svg/svg_parser.cpp: Implement generic
-	path parsing And fix some bugs introduced by mistakes in past few commits.
+2011-05-01  Carlos Lopez <genetita at gmail.com>
 
-2009-10-12  Nikita Kitaev <nikitakit at gmail.com>
+	* synfig-core/src/tool/main.cpp: Fix bug:2175043 Suit a better
+	handling and message for the case of path not writable or not exists
+	for the command line renderer.
 
-	* synfig-core/src/modules/mod_svg/svg_parser.cpp,
-	synfig-core/src/modules/mod_svg/svg_parser.h: test
+2011-04-30  Carlos Lopez <genetita at gmail.com>
 
-2009-10-12  Nikita Kitaev <nikitakit at gmail.com>
+	* synfig-core/configure.ac: Bump version for RC2
 
-	* synfig-core/src/modules/mod_svg/svg_parser.cpp,
-	synfig-core/src/modules/mod_svg/svg_parser.h: Parser restructuring Part 1
+2011-04-30  Carlos Lopez <genetita at gmail.com>
 
-2009-10-11  Nikita Kitaev <nikitakit at gmail.com>
+	* synfig-core/configure.ac, synfig-core/po/no_NO.po,
+	synfig-core/po/ro.po: Add support for Norwegian and Romanian
+	language for synfig core and Slovakian for synfig studio
 
-	* synfig-core/src/modules/mod_svg/svg_parser.cpp,
-	synfig-core/src/modules/mod_svg/svg_parser.h: Formatting Mostly translating variable names and comments into English.
+2011-04-27  Carlos Lopez <genetita at gmail.com>
 
-2009-10-25  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/src/synfig/layer_polygon.cpp: Suit better name for
+	Vertices parameter for Polygon layer. Patch thanks to Yu Chen
+	(jcome)
 
-	* synfig-core/src/synfig/valuenode_range.cpp,
-	synfig-core/src/synfig/valuenode_range.h: Enable duck reverse
-	manipulation for Range value node convert types.
+2011-04-27  Carlos Lopez <genetita at gmail.com>
 
-2009-10-25  Carlos Lopez <genetita at gmail.com>
+	* : commit 46ea83801b3b7f2f2389f7bced5c0da7da281da7 Author: Carlos
+	Lopez <genetita at gmail.com> Date:   Sun Apr 24 10:07:37 2011 +0200
 
-	* synfig-core/src/synfig/valuenode_range.cpp: Fix bug in value node
-	range. If link is smaller than minimum it was returned link.
+2011-04-24  Carlos Lopez <genetita at gmail.com>
 
-2009-10-12  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/po/es.po, synfig-core/po/fr.po: Updated Spanish and
+	French translations. Thanks to genete and animtim
 
-	* synfig-core/NEWS: Fix dates in NEWS files
+2011-04-22  Carlos Lopez <genetita at gmail.com>
 
-2009-10-12  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/configure.ac: Typo
 
-	* synfig-core/NEWS: fix date in synfig NEWS file.
+2011-04-22  Carlos Lopez <genetita at gmail.com>
 
-2009-10-12  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/configure.ac: Bump version for ETL
 
-	* synfig-core/NEWS: Tiny correction for NEWS files.
+2011-04-22  Carlos Lopez <genetita at gmail.com>
 
-2009-10-10  Carlos Lopez <genetita at gmail.com>
+	* synfig-core/NEWS: Update NEWS files
 
-	* synfig-core/README: Update README files with latest changes.
+2011-04-22  Carlos Lopez <genetita at gmail.com>
 
-2009-10-10  Carlos Lopez <genetita at gmail.com>
-
-	* synfig-core/NEWS: Update NEWS files properly.
+	* synfig-core/src/modules/lyr_std/clamp.cpp,
+	synfig-core/src/modules/lyr_std/curvewarp.cpp,
+	synfig-core/src/modules/lyr_std/import.cpp,
+	synfig-core/src/modules/lyr_std/sphere_distort.cpp,
+	synfig-core/src/modules/lyr_std/stretch.cpp,
+	synfig-core/src/modules/lyr_std/supersample.cpp,
+	synfig-core/src/modules/lyr_std/timeloop.cpp,
+	synfig-core/src/modules/lyr_std/twirl.cpp,
+	synfig-core/src/modules/lyr_std/warp.cpp,
+	synfig-core/src/modules/lyr_std/xorpattern.cpp,
+	synfig-core/src/modules/mod_example/filledrect.cpp,
+	synfig-core/src/modules/mod_example/simplecircle.cpp,
+	synfig-core/src/modules/mod_geometry/checkerboard.cpp,
+	synfig-core/src/modules/mod_geometry/circle.cpp,
+	synfig-core/src/modules/mod_geometry/outline.cpp,
+	synfig-core/src/modules/mod_geometry/rectangle.cpp,
+	synfig-core/src/modules/mod_geometry/region.cpp,
+	synfig-core/src/modules/mod_gradient/conicalgradient.cpp,
+	synfig-core/src/modules/mod_gradient/curvegradient.cpp,
+	synfig-core/src/modules/mod_gradient/lineargradient.cpp,
+	synfig-core/src/modules/mod_gradient/radialgradient.cpp,
+	synfig-core/src/modules/mod_gradient/spiralgradient.cpp,
+	synfig-core/src/modules/mod_noise/distort.cpp,
+	synfig-core/src/modules/mod_noise/noise.cpp,
+	synfig-core/src/modules/mod_noise/valuenode_random.cpp,
+	synfig-core/src/modules/mod_noise/valuenode_random.h,
+	synfig-core/src/modules/mod_particle/plant.cpp,
+	synfig-core/src/synfig/general.h, synfig-core/src/synfig/layer.cpp,
+	synfig-core/src/synfig/layer.h,
+	synfig-core/src/synfig/layer_composite.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_polygon.cpp,
+	synfig-core/src/synfig/layer_solidcolor.cpp,
+	synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/releases.h,
+	synfig-core/src/synfig/savecanvas.cpp,
+	synfig-core/src/synfig/value.cpp, synfig-core/src/synfig/value.h,
+	synfig-core/src/synfig/valuenode.cpp,
+	synfig-core/src/synfig/valuenode.h,
+	synfig-core/src/synfig/valuenode_add.cpp,
+	synfig-core/src/synfig/valuenode_add.h,
+	synfig-core/src/synfig/valuenode_and.cpp,
+	synfig-core/src/synfig/valuenode_and.h,
+	synfig-core/src/synfig/valuenode_anglestring.cpp,
+	synfig-core/src/synfig/valuenode_anglestring.h,
+	synfig-core/src/synfig/valuenode_atan2.cpp,
+	synfig-core/src/synfig/valuenode_atan2.h,
+	synfig-core/src/synfig/valuenode_bline.cpp,
+	synfig-core/src/synfig/valuenode_bline.h,
+	synfig-core/src/synfig/valuenode_blinecalctangent.cpp,
+	synfig-core/src/synfig/valuenode_blinecalctangent.h,
+	synfig-core/src/synfig/valuenode_blinecalcvertex.cpp,
+	synfig-core/src/synfig/valuenode_blinecalcvertex.h,
+	synfig-core/src/synfig/valuenode_blinecalcwidth.cpp,
+	synfig-core/src/synfig/valuenode_blinecalcwidth.h,
+	synfig-core/src/synfig/valuenode_blinereversetangent.cpp,
+	synfig-core/src/synfig/valuenode_blinereversetangent.h,
+	synfig-core/src/synfig/valuenode_compare.cpp,
+	synfig-core/src/synfig/valuenode_compare.h,
+	synfig-core/src/synfig/valuenode_composite.cpp,
+	synfig-core/src/synfig/valuenode_composite.h,
+	synfig-core/src/synfig/valuenode_cos.cpp,
+	synfig-core/src/synfig/valuenode_cos.h,
+	synfig-core/src/synfig/valuenode_dotproduct.cpp,
+	synfig-core/src/synfig/valuenode_dotproduct.h,
+	synfig-core/src/synfig/valuenode_duplicate.cpp,
+	synfig-core/src/synfig/valuenode_duplicate.h,
+	synfig-core/src/synfig/valuenode_dynamiclist.cpp,
+	synfig-core/src/synfig/valuenode_dynamiclist.h,
+	synfig-core/src/synfig/valuenode_exp.cpp,
+	synfig-core/src/synfig/valuenode_exp.h,
+	synfig-core/src/synfig/valuenode_gradientcolor.cpp,
+	synfig-core/src/synfig/valuenode_gradientcolor.h,
+	synfig-core/src/synfig/valuenode_gradientrotate.cpp,
+	synfig-core/src/synfig/valuenode_gradientrotate.h,
+	synfig-core/src/synfig/valuenode_greyed.cpp,
+	synfig-core/src/synfig/valuenode_greyed.h,
+	synfig-core/src/synfig/valuenode_integer.cpp,
+	synfig-core/src/synfig/valuenode_integer.h,
+	synfig-core/src/synfig/valuenode_intstring.cpp,
+	synfig-core/src/synfig/valuenode_intstring.h,
+	synfig-core/src/synfig/valuenode_join.cpp,
+	synfig-core/src/synfig/valuenode_join.h,
+	synfig-core/src/synfig/valuenode_linear.cpp,
+	synfig-core/src/synfig/valuenode_linear.h,
+	synfig-core/src/synfig/valuenode_log.cpp,
+	synfig-core/src/synfig/valuenode_log.h,
+	synfig-core/src/synfig/valuenode_not.cpp,
+	synfig-core/src/synfig/valuenode_not.h,
+	synfig-core/src/synfig/valuenode_or.cpp,
+	synfig-core/src/synfig/valuenode_or.h,
+	synfig-core/src/synfig/valuenode_pow.cpp,
+	synfig-core/src/synfig/valuenode_pow.h,
+	synfig-core/src/synfig/valuenode_radialcomposite.cpp,
+	synfig-core/src/synfig/valuenode_radialcomposite.h,
+	synfig-core/src/synfig/valuenode_range.cpp,
+	synfig-core/src/synfig/valuenode_range.h,
+	synfig-core/src/synfig/valuenode_realstring.cpp,
+	synfig-core/src/synfig/valuenode_realstring.h,
+	synfig-core/src/synfig/valuenode_reciprocal.cpp,
+	synfig-core/src/synfig/valuenode_reciprocal.h,
+	synfig-core/src/synfig/valuenode_reference.cpp,
+	synfig-core/src/synfig/valuenode_reference.h,
+	synfig-core/src/synfig/valuenode_repeat_gradient.cpp,
+	synfig-core/src/synfig/valuenode_repeat_gradient.h,
+	synfig-core/src/synfig/valuenode_scale.cpp,
+	synfig-core/src/synfig/valuenode_scale.h,
+	synfig-core/src/synfig/valuenode_segcalctangent.cpp,
+	synfig-core/src/synfig/valuenode_segcalctangent.h,
+	synfig-core/src/synfig/valuenode_segcalcvertex.cpp,
+	synfig-core/src/synfig/valuenode_segcalcvertex.h,
+	synfig-core/src/synfig/valuenode_sine.cpp,
+	synfig-core/src/synfig/valuenode_sine.h,
+	synfig-core/src/synfig/valuenode_step.cpp,
+	synfig-core/src/synfig/valuenode_step.h,
+	synfig-core/src/synfig/valuenode_stripes.cpp,
+	synfig-core/src/synfig/valuenode_stripes.h,
+	synfig-core/src/synfig/valuenode_subtract.cpp,
+	synfig-core/src/synfig/valuenode_subtract.h,
+	synfig-core/src/synfig/valuenode_switch.cpp,
+	synfig-core/src/synfig/valuenode_switch.h,
+	synfig-core/src/synfig/valuenode_timedswap.cpp,
+	synfig-core/src/synfig/valuenode_timedswap.h,
+	synfig-core/src/synfig/valuenode_timeloop.cpp,
+	synfig-core/src/synfig/valuenode_timeloop.h,
+	synfig-core/src/synfig/valuenode_timestring.cpp,
+	synfig-core/src/synfig/valuenode_timestring.h,
+	synfig-core/src/synfig/valuenode_twotone.cpp,
+	synfig-core/src/synfig/valuenode_twotone.h,
+	synfig-core/src/synfig/valuenode_vectorangle.cpp,
+	synfig-core/src/synfig/valuenode_vectorangle.h,
+	synfig-core/src/synfig/valuenode_vectorlength.cpp,
+	synfig-core/src/synfig/valuenode_vectorlength.h,
+	synfig-core/src/synfig/valuenode_vectorx.cpp,
+	synfig-core/src/synfig/valuenode_vectorx.h,
+	synfig-core/src/synfig/valuenode_vectory.cpp,
+	synfig-core/src/synfig/valuenode_vectory.h: Update Authors Copyright
 
-2009-10-10  Carlos Lopez <genetita at gmail.com>
+2011-04-22  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/configure.ac: Write the correct version in the
-	configure.ac files.
+	* : Merge commit 'origin/master' into zelgadis_master
 
-2009-10-09  Carlos Lopez <genetita at gmail.com>
+2011-04-20  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/po/ru.po: Update Russian translation. Thanks to
-	Alexandre Prokoudine
+	* synfig-core/po/POTFILES.in: Add missing files to translatable
+	files entries in core.
 
-2009-10-05  Carlos Lopez <genetita at gmail.com>
+2011-04-18  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/NEWS: Better redaction for NEWS files. Thanks to
-	muhkayoh
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: 
+	Calculate properly the decision to stay on a blinepoint or a width
+	point based on the relative position and the step taken.
 
-2009-10-05  Carlos Lopez <genetita at gmail.com>
+2011-04-18  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/NEWS: Fix some typos in the NEWS file.
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Add
+	documentation
 
-2009-10-05  Carlos Lopez <genetita at gmail.com>
+2011-04-18  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/po/fr.po: Update French translation.Thanks to Aurore
-	D. (rore)
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: 
+	Calculate properly the blinepoints position over the bline.
+	Previously using the sum of the bezier's size caused a floating
+	point error at the last blinepoint obtaining 0.99999999999999999
+	instead of 1.0 placing the blinepoint not exactly at the end of the
+	bline. This caused enless loops in some particular cases of number
+	of blinepoints.  Using multiplication instead of sum, solved the
+	problem.
 
-2009-10-03  Nikita Kitaev <nikitakit at gmail.com>
+2011-04-17  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/po/fr.po, synfig-core/po/ru.po,
-	synfig-core/src/synfig/loadcanvas.cpp,
-	synfig-core/src/synfig/valuenode_composite.cpp: Remove link
-	references by index when link name can be used
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix and
+	add some documentation
 
-2009-10-03  Carlos Lopez <genetita at gmail.com>
+2011-04-17  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/configure.ac: Bump versions in configure.ac file.
-	0.04.13 Release Candidate #1 0.62.00 Release Candidate #1
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Typo
 
-2009-10-03  Carlos Lopez <genetita at gmail.com>
+2011-04-14  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/NEWS: Update the NEWS with a summary of the features
-	added and bugs fixed.
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
+	typos in one of the previous commits that make the bug not be solved
+	for end tip.
 
-2009-10-02  Carlos Lopez <genetita at gmail.com>
+2011-04-13  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/AUTHORS, synfig-core/README: Forgot to add to Carlos
-	A.Sosa Navarro (SVG import module)
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Add
+	code to render rounded corners.
 
-2009-10-02  Carlos Lopez <genetita at gmail.com>
+2011-04-13  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/AUTHORS, synfig-core/README: Update authors for
-	synfig-core
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix bug
+	of bad render of start (end) tip when the first (last) widthpoint
+	has side type before (after) set to interpolate and it is at 0.0
+	(1.0).  User expects the tip to have the same type of the layer's
+	start (end) tip.
 
-2009-10-02  Carlos Lopez <genetita at gmail.com>
+2011-04-12  tux <tux at tux-desktop.(none)>
 
-	* synfig-core/po/es.po: Update Spanish translation for synfig-core
+	* : Merge commit 'origin/genete_advanced_outline' into
+	zelgadis_master
 
-2009-10-02  Carlos Lopez <genetita at gmail.com>
+2011-04-07  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/po/POTFILES.in, synfig-core/po/es.po: Add curve warp
-	files to be translated.
+	* : Merge commit 'origin/genete_advanced_outline' into
+	zelgadis_master
 
-2009-10-02  Carlos Lopez <genetita at gmail.com>
+2011-04-06  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/valuenode.cpp: Correct the release version
-	for those valuenodes.
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix bad
+	render of the first widthpoint.
 
-2009-10-02  Carlos Lopez <genetita at gmail.com>
+2011-04-04  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
 
-	* synfig-core/src/synfig/releases.h: Bump release version to 0_62_00
+	* : Merge commit 'origin/genete_advanced_outline' into
+	zelgadis_master
 
-2009-10-02  Carlos Lopez <genetita at gmail.com>
+2011-04-04  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/valuenode_bline.cpp: Avoid a warning for a
-	non used variable.
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Make
+	cusps like regular outlines. Fix last cusp not rendered previously.
+	Add some documentation.
 
-2009-10-02  Carlos Lopez <genetita at gmail.com>
+2011-04-04  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/synfig/valuenode_pow.cpp: Avoid some warning
-	asking for explicit brackets.
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Make
+	cusps like regular outlines. Fix last cusp not rendered previously.
+	Add some documentation.
 
-2009-10-02  Carlos Lopez <genetita at gmail.com>
+2011-04-03  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_png/mptr_png.cpp: Disable crop
-	imported images by default.  It is a very annoying behavior for most
-	of users and there is not easy option to diable it.  It can be
-	implemented in the next version after close 0.62.0 release.
+	* synfig-core/src/synfig/valuenode_wplist.cpp: Inserting new
+	widthpoint items now works correctly.
 
-2009-09-29  Carlos Lopez <genetita at gmail.com>
+2011-04-02  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/po/es.po: Better translation for 'Metaballs'
+	* synfig-core/src/synfig/valuenode_wplist.cpp,
+	synfig-core/src/synfig/valuenode_wplist.h: Partially fix create a
+	new widthpoint entry using the contextual menu.  TODO: when the
+	first widthpoint is used to insert, calculate the width correctly.
 
-2009-09-29  Carlos Lopez <genetita at gmail.com>
+2011-04-01  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/po/es.po: Update Spanish trasnslation
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix bad
+	tip render due to previous commit that fixed other render artifact.
+	Extra points not needed.
 
-2009-09-29  Carlos Lopez <genetita at gmail.com>
+2011-03-22  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/po/POTFILES.in: Enable 'example' module files for
-	translation because they are part of the code now.
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix bad
+	render in some special situations
 
-2009-09-22  Carlos Lopez <genetita at gmail.com>
+2011-03-22  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/po/fr.po: Updated French translation. Thanks to Aurore
-	D. (rore)
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: By
+	default, make the Advanced Outline look similar to the old Outline.
 
-2009-09-16  Carlos Lopez <carlos at pcnuevo.(none)>
+2011-03-20  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/po/ru.po: Russian translation update. Thanks to
-	Alexandre Prokoudine
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Use
+	expand parameter when rendering.
 
-2009-09-09  Chris Norman <pxegeek at users.sourceforge.net>
+2011-03-20  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/src/modules/mod_svg/layer_svg.cpp: Hide "Import SVG"
-	layer in menus, rather than listing it as "NotVisible"
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: 
+	Effectively use the start and end tips parameters when render the
+	outline.
 
-2009-09-03  Carlos Lopez <genetita at gmail.com>
+2011-03-20  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/po/es.po: Spanish translation for synfig-core and
-	synfig-studio
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h: Add
+	start_tip and end_tip parameters for the bline start and end
+	blinepoints and use the rounded type by default
 
-2009-08-31  Carlos Lopez <genetita at gmail.com>
+2011-03-20  Carlos Lopez <genetita at gmail.com>
 
-	* : commit 6017527745955570caee65d28f1c80b449a341e4 Author: Chris
-	Norman <pxegeek at users.sourceforge.net> Date:   Sun Aug 30 15:57:25
-	2009 -0700
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h: Remove
+	round tip parameter
 
-2009-08-28  Chris Norman <pxegeek at users.sourceforge.net>
+2011-03-20  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/win32inst.nsi.in: Updating Windows build script to
-	include mod_svg
+	* synfig-core/src/synfig/valuenode_wplist.cpp: Add documentation
 
-2009-08-19  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2011-03-20  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/configure.ac: Disable libavcodec by default, because
-	it's broken with recent versions.
+	* synfig-core/src/synfig/valuenode_wplist.cpp: Use new smooth
+	formulation. New one has first and second derivatives equal to zero
+	on both ends.  It approximates the old Homogeneous render when
+	smoothness is 0.5, giving more smooth result for 1.0
 
-2009-08-19  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2011-03-16  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/Makefile.am: Drop svn tags staff.  For information about tagging new release refer to
-	http://synfig.org/Release#Make_tags
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/synfig/valuenode_wplist.cpp,
+	synfig-core/src/synfig/valuenode_wplist.h: Effectively use the
+	smoothness when rendering.  Fix error done in the previous commit
+	where interpolation code was wrong.
 
-2009-08-19  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+2011-03-16  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/Makefile.am: Use git instead of svn to generate
-	ChangeLog.
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h: Replace
+	homogeneous width by smoothness. It controls the interpolation
+	between widthpoints
 
-2009-08-12  Carlos Lopez <carlos at pcnuevo.(none)>
+2011-03-16  Carlos Lopez <genetita at gmail.com>
 
-	* synfig-core/AUTHORS, synfig-core/ChangeLog.old,
-	synfig-core/Makefile.am, synfig-core/NEWS, synfig-core/README,
-	synfig-core/TODO, synfig-core/build_tools/Makefile.am,
-	synfig-core/build_tools/autorevision.sh,
-	synfig-core/config/ltmain.patch, synfig-core/config/package,
-	synfig-core/configure.ac, synfig-core/doc/hw-gfx-mapping.txt,
-	synfig-core/doxygen.cfg.in, synfig-core/examples/Makefile.am,
-	synfig-core/examples/walk/Makefile.am,
-	synfig-core/examples/walk/animation.lst, synfig-core/m4/ETL.m4,
-	synfig-core/m4/cxx_macros.m4, synfig-core/m4/freetype2.m4,
-	synfig-core/m4/libxml++.m4, synfig-core/m4/libxml.m4,
-	synfig-core/m4/pkgconfig.m4, synfig-core/m4/subs.m4,
-	synfig-core/m4/synfig.m4, synfig-core/macosxbuild.sh,
-	synfig-core/pkg-info/macosx/core-resources/License.txt,
-	synfig-core/pkg-info/macosx/core-resources/ReadMe.txt,
-	synfig-core/pkg-info/macosx/core-resources/Welcome.txt,
-	synfig-core/pkg-info/macosx/core-resources/install.sh,
-	synfig-core/pkg-info/macosx/core-resources/upgrade.sh,
-	synfig-core/pkg-info/macosx/synfig-core.info.in,
-	synfig-core/po/Makevars, synfig-core/po/POTFILES.in,
-	synfig-core/po/es.po, synfig-core/po/fr.po, synfig-core/po/ru.po,
-	synfig-core/src/Makefile.am, synfig-core/src/modules/Makefile.am,
-	synfig-core/src/modules/example/Makefile.am,
-	synfig-core/src/modules/example/filledrect.cpp,
-	synfig-core/src/modules/example/filledrect.h,
-	synfig-core/src/modules/example/main.cpp,
-	synfig-core/src/modules/example/metaballs.cpp,
-	synfig-core/src/modules/example/metaballs.h,
-	synfig-core/src/modules/example/simplecircle.cpp,
-	synfig-core/src/modules/example/simplecircle.h,
-	synfig-core/src/modules/lyr_freetype/Makefile.am,
-	synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp,
-	synfig-core/src/modules/lyr_freetype/lyr_freetype.h,
-	synfig-core/src/modules/lyr_freetype/lyr_freetype.nsh,
-	synfig-core/src/modules/lyr_freetype/main.cpp,
-	synfig-core/src/modules/lyr_freetype/unlyr_freetype.nsh,
-	synfig-core/src/modules/lyr_std/Makefile.am,
-	synfig-core/src/modules/lyr_std/bevel.cpp,
-	synfig-core/src/modules/lyr_std/bevel.h,
-	synfig-core/src/modules/lyr_std/booleancurve.cpp,
-	synfig-core/src/modules/lyr_std/booleancurve.h,
-	synfig-core/src/modules/lyr_std/clamp.cpp,
-	synfig-core/src/modules/lyr_std/clamp.h,
-	synfig-core/src/modules/lyr_std/curvewarp.cpp,
-	synfig-core/src/modules/lyr_std/curvewarp.h,
-	synfig-core/src/modules/lyr_std/import.cpp,
-	synfig-core/src/modules/lyr_std/import.h,
-	synfig-core/src/modules/lyr_std/insideout.cpp,
-	synfig-core/src/modules/lyr_std/insideout.h,
-	synfig-core/src/modules/lyr_std/julia.cpp,
-	synfig-core/src/modules/lyr_std/julia.h,
-	synfig-core/src/modules/lyr_std/lyr_std.nsh,
-	synfig-core/src/modules/lyr_std/main.cpp,
-	synfig-core/src/modules/lyr_std/mandelbrot.cpp,
-	synfig-core/src/modules/lyr_std/mandelbrot.h,
-	synfig-core/src/modules/lyr_std/rotate.cpp,
-	synfig-core/src/modules/lyr_std/rotate.h,
-	synfig-core/src/modules/lyr_std/shade.cpp,
-	synfig-core/src/modules/lyr_std/shade.h,
-	synfig-core/src/modules/lyr_std/sphere_distort.cpp,
-	synfig-core/src/modules/lyr_std/sphere_distort.h,
-	synfig-core/src/modules/lyr_std/stretch.cpp,
-	synfig-core/src/modules/lyr_std/stretch.h,
-	synfig-core/src/modules/lyr_std/supersample.cpp,
-	synfig-core/src/modules/lyr_std/supersample.h,
-	synfig-core/src/modules/lyr_std/timeloop.cpp,
-	synfig-core/src/modules/lyr_std/timeloop.h,
-	synfig-core/src/modules/lyr_std/translate.cpp,
-	synfig-core/src/modules/lyr_std/translate.h,
-	synfig-core/src/modules/lyr_std/twirl.cpp,
-	synfig-core/src/modules/lyr_std/twirl.h,
-	synfig-core/src/modules/lyr_std/unlyr_std.nsh,
-	synfig-core/src/modules/lyr_std/warp.cpp,
-	synfig-core/src/modules/lyr_std/warp.h,
-	synfig-core/src/modules/lyr_std/xorpattern.cpp,
-	synfig-core/src/modules/lyr_std/xorpattern.h,
-	synfig-core/src/modules/lyr_std/zoom.cpp,
-	synfig-core/src/modules/lyr_std/zoom.h,
-	synfig-core/src/modules/mod_bmp/Makefile.am,
-	synfig-core/src/modules/mod_bmp/main.cpp,
-	synfig-core/src/modules/mod_bmp/mod_bmp.nsh,
-	synfig-core/src/modules/mod_bmp/mptr_bmp.cpp,
-	synfig-core/src/modules/mod_bmp/mptr_bmp.h,
-	synfig-core/src/modules/mod_bmp/trgt_bmp.cpp,
-	synfig-core/src/modules/mod_bmp/trgt_bmp.h,
-	synfig-core/src/modules/mod_bmp/unmod_bmp.nsh,
-	synfig-core/src/modules/mod_dv/Makefile.am,
-	synfig-core/src/modules/mod_dv/main.cpp,
-	synfig-core/src/modules/mod_dv/mod_dv.nsh,
-	synfig-core/src/modules/mod_dv/trgt_dv.cpp,
-	synfig-core/src/modules/mod_dv/trgt_dv.h,
-	synfig-core/src/modules/mod_dv/unmod_dv.nsh,
-	synfig-core/src/modules/mod_ffmpeg/Makefile.am,
-	synfig-core/src/modules/mod_ffmpeg/main.cpp,
-	synfig-core/src/modules/mod_ffmpeg/mod_ffmpeg.nsh,
-	synfig-core/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp,
-	synfig-core/src/modules/mod_ffmpeg/mptr_ffmpeg.h,
-	synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp,
-	synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.h,
-	synfig-core/src/modules/mod_ffmpeg/unmod_ffmpeg.nsh,
-	synfig-core/src/modules/mod_filter/Makefile.am,
-	synfig-core/src/modules/mod_filter/blur.cpp,
-	synfig-core/src/modules/mod_filter/blur.h,
-	synfig-core/src/modules/mod_filter/colorcorrect.cpp,
-	synfig-core/src/modules/mod_filter/colorcorrect.h,
-	synfig-core/src/modules/mod_filter/halftone.cpp,
-	synfig-core/src/modules/mod_filter/halftone.h,
-	synfig-core/src/modules/mod_filter/halftone2.cpp,
-	synfig-core/src/modules/mod_filter/halftone2.h,
-	synfig-core/src/modules/mod_filter/halftone3.cpp,
-	synfig-core/src/modules/mod_filter/halftone3.h,
-	synfig-core/src/modules/mod_filter/lumakey.cpp,
-	synfig-core/src/modules/mod_filter/lumakey.h,
-	synfig-core/src/modules/mod_filter/main.cpp,
-	synfig-core/src/modules/mod_filter/mod_filter.nsh,
-	synfig-core/src/modules/mod_filter/radialblur.cpp,
-	synfig-core/src/modules/mod_filter/radialblur.h,
-	synfig-core/src/modules/mod_filter/unmod_filter.nsh,
-	synfig-core/src/modules/mod_geometry/Makefile.am,
-	synfig-core/src/modules/mod_geometry/checkerboard.cpp,
-	synfig-core/src/modules/mod_geometry/checkerboard.h,
-	synfig-core/src/modules/mod_geometry/circle.cpp,
-	synfig-core/src/modules/mod_geometry/circle.h,
-	synfig-core/src/modules/mod_geometry/main.cpp,
-	synfig-core/src/modules/mod_geometry/mod_geometry.nsh,
-	synfig-core/src/modules/mod_geometry/outline.cpp,
-	synfig-core/src/modules/mod_geometry/outline.h,
-	synfig-core/src/modules/mod_geometry/rectangle.cpp,
-	synfig-core/src/modules/mod_geometry/rectangle.h,
-	synfig-core/src/modules/mod_geometry/region.cpp,
-	synfig-core/src/modules/mod_geometry/region.h,
-	synfig-core/src/modules/mod_geometry/star.cpp,
-	synfig-core/src/modules/mod_geometry/star.h,
-	synfig-core/src/modules/mod_geometry/unmod_geometry.nsh,
-	synfig-core/src/modules/mod_gif/Makefile.am,
-	synfig-core/src/modules/mod_gif/main.cpp,
-	synfig-core/src/modules/mod_gif/mod_gif.nsh,
-	synfig-core/src/modules/mod_gif/trgt_gif.cpp,
-	synfig-core/src/modules/mod_gif/trgt_gif.h,
-	synfig-core/src/modules/mod_gif/unmod_gif.nsh,
-	synfig-core/src/modules/mod_gradient/Makefile.am,
-	synfig-core/src/modules/mod_gradient/conicalgradient.cpp,
-	synfig-core/src/modules/mod_gradient/conicalgradient.h,
-	synfig-core/src/modules/mod_gradient/curvegradient.cpp,
-	synfig-core/src/modules/mod_gradient/curvegradient.h,
-	synfig-core/src/modules/mod_gradient/lineargradient.cpp,
-	synfig-core/src/modules/mod_gradient/lineargradient.h,
-	synfig-core/src/modules/mod_gradient/main.cpp,
-	synfig-core/src/modules/mod_gradient/mod_gradient.nsh,
-	synfig-core/src/modules/mod_gradient/radialgradient.cpp,
-	synfig-core/src/modules/mod_gradient/radialgradient.h,
-	synfig-core/src/modules/mod_gradient/spiralgradient.cpp,
-	synfig-core/src/modules/mod_gradient/spiralgradient.h,
-	synfig-core/src/modules/mod_gradient/unmod_gradient.nsh,
-	synfig-core/src/modules/mod_imagemagick/Makefile.am,
-	synfig-core/src/modules/mod_imagemagick/main.cpp,
-	synfig-core/src/modules/mod_imagemagick/mod_imagemagick.nsh,
-	synfig-core/src/modules/mod_imagemagick/mptr_imagemagick.cpp,
-	synfig-core/src/modules/mod_imagemagick/mptr_imagemagick.h,
-	synfig-core/src/modules/mod_imagemagick/trgt_imagemagick.cpp,
-	synfig-core/src/modules/mod_imagemagick/trgt_imagemagick.h,
-	synfig-core/src/modules/mod_imagemagick/unmod_imagemagick.nsh,
-	synfig-core/src/modules/mod_jpeg/Makefile.am,
-	synfig-core/src/modules/mod_jpeg/main.cpp,
-	synfig-core/src/modules/mod_jpeg/mod_jpeg.nsh,
-	synfig-core/src/modules/mod_jpeg/mptr_jpeg.cpp,
-	synfig-core/src/modules/mod_jpeg/mptr_jpeg.h,
-	synfig-core/src/modules/mod_jpeg/trgt_jpeg.cpp,
-	synfig-core/src/modules/mod_jpeg/trgt_jpeg.h,
-	synfig-core/src/modules/mod_jpeg/unmod_jpeg.nsh,
-	synfig-core/src/modules/mod_libavcodec/Makefile.am,
-	synfig-core/src/modules/mod_libavcodec/main.cpp,
-	synfig-core/src/modules/mod_libavcodec/mod_libavcodec.nsh,
-	synfig-core/src/modules/mod_libavcodec/mptr.cpp,
-	synfig-core/src/modules/mod_libavcodec/mptr.h,
-	synfig-core/src/modules/mod_libavcodec/trgt_av.cpp,
-	synfig-core/src/modules/mod_libavcodec/trgt_av.h,
-	synfig-core/src/modules/mod_libavcodec/unmod_libavcodec.nsh,
-	synfig-core/src/modules/mod_magickpp/Makefile.am,
-	synfig-core/src/modules/mod_magickpp/main.cpp,
-	synfig-core/src/modules/mod_magickpp/mod_magickpp.nsh,
-	synfig-core/src/modules/mod_magickpp/trgt_magickpp.cpp,
-	synfig-core/src/modules/mod_magickpp/trgt_magickpp.h,
-	synfig-core/src/modules/mod_magickpp/unmod_magickpp.nsh,
-	synfig-core/src/modules/mod_mng/Makefile.am,
-	synfig-core/src/modules/mod_mng/main.cpp,
-	synfig-core/src/modules/mod_mng/mod_mng.nsh,
-	synfig-core/src/modules/mod_mng/trgt_mng.cpp,
-	synfig-core/src/modules/mod_mng/trgt_mng.h,
-	synfig-core/src/modules/mod_mng/unmod_mng.nsh,
-	synfig-core/src/modules/mod_noise/Makefile.am,
-	synfig-core/src/modules/mod_noise/distort.cpp,
-	synfig-core/src/modules/mod_noise/distort.h,
-	synfig-core/src/modules/mod_noise/main.cpp,
-	synfig-core/src/modules/mod_noise/mod_noise.nsh,
-	synfig-core/src/modules/mod_noise/noise.cpp,
-	synfig-core/src/modules/mod_noise/noise.h,
-	synfig-core/src/modules/mod_noise/random_noise.cpp,
-	synfig-core/src/modules/mod_noise/random_noise.h,
-	synfig-core/src/modules/mod_noise/unmod_noise.nsh,
-	synfig-core/src/modules/mod_noise/valuenode_random.cpp,
-	synfig-core/src/modules/mod_noise/valuenode_random.h,
-	synfig-core/src/modules/mod_openexr/Makefile.am,
-	synfig-core/src/modules/mod_openexr/main.cpp,
-	synfig-core/src/modules/mod_openexr/mod_openexr.nsh,
-	synfig-core/src/modules/mod_openexr/mptr_openexr.cpp,
-	synfig-core/src/modules/mod_openexr/mptr_openexr.h,
-	synfig-core/src/modules/mod_openexr/trgt_openexr.cpp,
-	synfig-core/src/modules/mod_openexr/trgt_openexr.h,
-	synfig-core/src/modules/mod_openexr/unmod_openexr.nsh,
-	synfig-core/src/modules/mod_particle/Makefile.am,
-	synfig-core/src/modules/mod_particle/main.cpp,
-	synfig-core/src/modules/mod_particle/mod_particle.nsh,
-	synfig-core/src/modules/mod_particle/plant.cpp,
-	synfig-core/src/modules/mod_particle/plant.h,
-	synfig-core/src/modules/mod_particle/random.cpp,
-	synfig-core/src/modules/mod_particle/random.h,
-	synfig-core/src/modules/mod_particle/unmod_particle.nsh,
-	synfig-core/src/modules/mod_png/Makefile.am,
-	synfig-core/src/modules/mod_png/main.cpp,
-	synfig-core/src/modules/mod_png/mod_png.nsh,
-	synfig-core/src/modules/mod_png/mptr_png.cpp,
-	synfig-core/src/modules/mod_png/mptr_png.h,
-	synfig-core/src/modules/mod_png/trgt_png.cpp,
-	synfig-core/src/modules/mod_png/trgt_png.h,
-	synfig-core/src/modules/mod_png/unmod_png.nsh,
-	synfig-core/src/modules/mod_ppm/Makefile.am,
-	synfig-core/src/modules/mod_ppm/main.cpp,
-	synfig-core/src/modules/mod_ppm/mod_ppm.nsh,
-	synfig-core/src/modules/mod_ppm/mptr_ppm.cpp,
-	synfig-core/src/modules/mod_ppm/mptr_ppm.h,
-	synfig-core/src/modules/mod_ppm/trgt_mpg.cpp,
-	synfig-core/src/modules/mod_ppm/trgt_mpg.h,
-	synfig-core/src/modules/mod_ppm/trgt_ppm.cpp,
-	synfig-core/src/modules/mod_ppm/trgt_ppm.h,
-	synfig-core/src/modules/mod_ppm/unmod_ppm.nsh,
-	synfig-core/src/modules/mod_svg/Makefile.am,
-	synfig-core/src/modules/mod_svg/layer_svg.cpp,
-	synfig-core/src/modules/mod_svg/layer_svg.h,
-	synfig-core/src/modules/mod_svg/main.cpp,
-	synfig-core/src/modules/mod_svg/mod_svg.nsh,
-	synfig-core/src/modules/mod_svg/svg_parser.cpp,
-	synfig-core/src/modules/mod_svg/svg_parser.h,
-	synfig-core/src/modules/mod_svg/unmod_svg.nsh,
-	synfig-core/src/modules/mod_yuv420p/Makefile.am,
-	synfig-core/src/modules/mod_yuv420p/main.cpp,
-	synfig-core/src/modules/mod_yuv420p/mod_yuv420p.nsh,
-	synfig-core/src/modules/mod_yuv420p/trgt_yuv.cpp,
-	synfig-core/src/modules/mod_yuv420p/trgt_yuv.h,
-	synfig-core/src/modules/mod_yuv420p/unmod_yuv420p.nsh,
-	synfig-core/src/modules/mptr_mplayer/Makefile.am,
-	synfig-core/src/modules/mptr_mplayer/main.cpp,
-	synfig-core/src/modules/mptr_mplayer/mptr_mplayer.cpp,
-	synfig-core/src/modules/mptr_mplayer/mptr_mplayer.h,
-	synfig-core/src/modules/synfig_modules.cfg.in,
-	synfig-core/src/modules/template.nsh,
-	synfig-core/src/modules/untemplate.nsh,
-	synfig-core/src/synfig/Makefile.am,
-	synfig-core/src/synfig/activepoint.cpp,
-	synfig-core/src/synfig/activepoint.h,
-	synfig-core/src/synfig/angle.h,
-	synfig-core/src/synfig/blinepoint.cpp,
-	synfig-core/src/synfig/blinepoint.h,
-	synfig-core/src/synfig/blur.cpp, synfig-core/src/synfig/blur.h,
-	synfig-core/src/synfig/canvas.cpp, synfig-core/src/synfig/canvas.h,
-	synfig-core/src/synfig/canvasbase.h,
-	synfig-core/src/synfig/color.cpp, synfig-core/src/synfig/color.h,
-	synfig-core/src/synfig/context.cpp,
-	synfig-core/src/synfig/context.h,
-	synfig-core/src/synfig/curve_helper.cpp,
-	synfig-core/src/synfig/curve_helper.h,
-	synfig-core/src/synfig/curveset.cpp,
-	synfig-core/src/synfig/curveset.h,
-	synfig-core/src/synfig/distance.cpp,
-	synfig-core/src/synfig/distance.h,
-	synfig-core/src/synfig/exception.cpp,
-	synfig-core/src/synfig/exception.h,
-	synfig-core/src/synfig/gamma.cpp, synfig-core/src/synfig/gamma.h,
-	synfig-core/src/synfig/general.h,
-	synfig-core/src/synfig/gradient.cpp,
-	synfig-core/src/synfig/gradient.h, synfig-core/src/synfig/guid.cpp,
-	synfig-core/src/synfig/guid.h, synfig-core/src/synfig/guidset.h,
-	synfig-core/src/synfig/importer.cpp,
-	synfig-core/src/synfig/importer.h,
-	synfig-core/src/synfig/interpolation.h,
-	synfig-core/src/synfig/keyframe.cpp,
-	synfig-core/src/synfig/keyframe.h,
-	synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h,
-	synfig-core/src/synfig/layer_bitmap.cpp,
-	synfig-core/src/synfig/layer_bitmap.h,
-	synfig-core/src/synfig/layer_composite.cpp,
-	synfig-core/src/synfig/layer_composite.h,
-	synfig-core/src/synfig/layer_duplicate.cpp,
-	synfig-core/src/synfig/layer_duplicate.h,
-	synfig-core/src/synfig/layer_mime.cpp,
-	synfig-core/src/synfig/layer_mime.h,
-	synfig-core/src/synfig/layer_motionblur.cpp,
-	synfig-core/src/synfig/layer_motionblur.h,
-	synfig-core/src/synfig/layer_pastecanvas.cpp,
-	synfig-core/src/synfig/layer_pastecanvas.h,
-	synfig-core/src/synfig/layer_polygon.cpp,
-	synfig-core/src/synfig/layer_polygon.h,
-	synfig-core/src/synfig/layer_shape.cpp,
-	synfig-core/src/synfig/layer_shape.h,
-	synfig-core/src/synfig/layer_solidcolor.cpp,
-	synfig-core/src/synfig/layer_solidcolor.h,
-	synfig-core/src/synfig/listimporter.cpp,
-	synfig-core/src/synfig/listimporter.h,
-	synfig-core/src/synfig/loadcanvas.cpp,
-	synfig-core/src/synfig/loadcanvas.h,
-	synfig-core/src/synfig/main.cpp, synfig-core/src/synfig/main.h,
-	synfig-core/src/synfig/matrix.h, synfig-core/src/synfig/module.cpp,
-	synfig-core/src/synfig/module.h, synfig-core/src/synfig/mutex.cpp,
-	synfig-core/src/synfig/mutex.h, synfig-core/src/synfig/node.cpp,
-	synfig-core/src/synfig/node.h, synfig-core/src/synfig/nodebase.h,
-	synfig-core/src/synfig/palette.cpp,
-	synfig-core/src/synfig/palette.h,
-	synfig-core/src/synfig/paramdesc.cpp,
-	synfig-core/src/synfig/paramdesc.h, synfig-core/src/synfig/pch.h,
-	synfig-core/src/synfig/polynomial_root.cpp,
-	synfig-core/src/synfig/polynomial_root.h,
-	synfig-core/src/synfig/protocol.h,
-	synfig-core/src/synfig/quick_rng.h, synfig-core/src/synfig/real.h,
-	synfig-core/src/synfig/rect.cpp, synfig-core/src/synfig/rect.h,
-	synfig-core/src/synfig/releases.h,
-	synfig-core/src/synfig/renddesc.cpp,
-	synfig-core/src/synfig/renddesc.h,
-	synfig-core/src/synfig/render.cpp, synfig-core/src/synfig/render.h,
-	synfig-core/src/synfig/savecanvas.cpp,
-	synfig-core/src/synfig/savecanvas.h,
-	synfig-core/src/synfig/segment.h,
-	synfig-core/src/synfig/smartfile.h,
-	synfig-core/src/synfig/string.h,
-	synfig-core/src/synfig/string_decl.h,
-	synfig-core/src/synfig/surface.cpp,
-	synfig-core/src/synfig/surface.h,
-	synfig-core/src/synfig/surfacenew.cpp,
-	synfig-core/src/synfig/surfacenew.h,
-	synfig-core/src/synfig/synfig.h, synfig-core/src/synfig/synfig.nsh,
-	synfig-core/src/synfig/target.cpp, synfig-core/src/synfig/target.h,
-	synfig-core/src/synfig/target_multi.cpp,
-	synfig-core/src/synfig/target_multi.h,
-	synfig-core/src/synfig/target_null.cpp,
-	synfig-core/src/synfig/target_null.h,
-	synfig-core/src/synfig/target_null_tile.cpp,
-	synfig-core/src/synfig/target_null_tile.h,
-	synfig-core/src/synfig/target_scanline.cpp,
-	synfig-core/src/synfig/target_scanline.h,
-	synfig-core/src/synfig/target_tile.cpp,
-	synfig-core/src/synfig/target_tile.h,
-	synfig-core/src/synfig/time.cpp, synfig-core/src/synfig/time.h,
-	synfig-core/src/synfig/timepointcollect.cpp,
-	synfig-core/src/synfig/timepointcollect.h,
-	synfig-core/src/synfig/transform.cpp,
-	synfig-core/src/synfig/transform.h, synfig-core/src/synfig/types.h,
-	synfig-core/src/synfig/uniqueid.cpp,
-	synfig-core/src/synfig/uniqueid.h,
-	synfig-core/src/synfig/value.cpp, synfig-core/src/synfig/value.h,
-	synfig-core/src/synfig/valuenode.cpp,
-	synfig-core/src/synfig/valuenode.h,
-	synfig-core/src/synfig/valuenode_add.cpp,
-	synfig-core/src/synfig/valuenode_add.h,
-	synfig-core/src/synfig/valuenode_and.cpp,
-	synfig-core/src/synfig/valuenode_and.h,
-	synfig-core/src/synfig/valuenode_anglestring.cpp,
-	synfig-core/src/synfig/valuenode_anglestring.h,
-	synfig-core/src/synfig/valuenode_animated.cpp,
-	synfig-core/src/synfig/valuenode_animated.h,
-	synfig-core/src/synfig/valuenode_atan2.cpp,
-	synfig-core/src/synfig/valuenode_atan2.h,
-	synfig-core/src/synfig/valuenode_bline.cpp,
-	synfig-core/src/synfig/valuenode_bline.h,
-	synfig-core/src/synfig/valuenode_blinecalctangent.cpp,
-	synfig-core/src/synfig/valuenode_blinecalctangent.h,
-	synfig-core/src/synfig/valuenode_blinecalcvertex.cpp,
-	synfig-core/src/synfig/valuenode_blinecalcvertex.h,
-	synfig-core/src/synfig/valuenode_blinecalcwidth.cpp,
-	synfig-core/src/synfig/valuenode_blinecalcwidth.h,
-	synfig-core/src/synfig/valuenode_blinereversetangent.cpp,
-	synfig-core/src/synfig/valuenode_blinereversetangent.h,
-	synfig-core/src/synfig/valuenode_compare.cpp,
-	synfig-core/src/synfig/valuenode_compare.h,
+	* synfig-core/src/synfig/valuenode_wplist.cpp,
+	synfig-core/src/synfig/valuenode_wplist.h: Add new parameter to
+	control the interpolation smoothness.
+
+2011-03-13  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Remove
+	unused headers and update my copyrights and description
+
+2011-03-13  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix one
+	more render artifact due to bad initialisation of position for
+	iteration cycle.
+
+2011-03-13  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
 	synfig-core/src/synfig/valuenode_composite.cpp,
-	synfig-core/src/synfig/valuenode_composite.h,
-	synfig-core/src/synfig/valuenode_const.cpp,
-	synfig-core/src/synfig/valuenode_const.h,
-	synfig-core/src/synfig/valuenode_cos.cpp,
-	synfig-core/src/synfig/valuenode_cos.h,
-	synfig-core/src/synfig/valuenode_dotproduct.cpp,
-	synfig-core/src/synfig/valuenode_dotproduct.h,
-	synfig-core/src/synfig/valuenode_duplicate.cpp,
-	synfig-core/src/synfig/valuenode_duplicate.h,
-	synfig-core/src/synfig/valuenode_dynamiclist.cpp,
-	synfig-core/src/synfig/valuenode_dynamiclist.h,
-	synfig-core/src/synfig/valuenode_exp.cpp,
-	synfig-core/src/synfig/valuenode_exp.h,
-	synfig-core/src/synfig/valuenode_gradientcolor.cpp,
-	synfig-core/src/synfig/valuenode_gradientcolor.h,
-	synfig-core/src/synfig/valuenode_gradientrotate.cpp,
-	synfig-core/src/synfig/valuenode_gradientrotate.h,
-	synfig-core/src/synfig/valuenode_greyed.cpp,
-	synfig-core/src/synfig/valuenode_greyed.h,
-	synfig-core/src/synfig/valuenode_integer.cpp,
-	synfig-core/src/synfig/valuenode_integer.h,
-	synfig-core/src/synfig/valuenode_intstring.cpp,
-	synfig-core/src/synfig/valuenode_intstring.h,
-	synfig-core/src/synfig/valuenode_join.cpp,
-	synfig-core/src/synfig/valuenode_join.h,
-	synfig-core/src/synfig/valuenode_linear.cpp,
-	synfig-core/src/synfig/valuenode_linear.h,
-	synfig-core/src/synfig/valuenode_log.cpp,
+	synfig-core/src/synfig/widthpoint.h: Add Flat tip type and use
+	rounded tips for the newly created bline
+
+2011-03-13  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Add
+	squared and peak tip types and fix some more render artifacts.
+
+2011-03-12  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
+	wrong cusp added when not needed.
+
+2011-03-12  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_wplist.cpp: Fix bad render for
+	the case of single widthpoint in a looped bline and one side not
+	interpolate
+
+2011-03-12  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix bad
+	render on after tip due to last commit changes
+
+2011-03-12  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/widthpoint.cpp,
+	synfig-core/src/synfig/widthpoint.h: Add member to compare two
+	withpoints
+
+2011-03-11  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix bad
+	render for first cusp when the bline is looped.
+
+2011-03-10  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Don't
+	avoid do the first cusp.
+
+2011-03-09  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: 
+	Increase the number of steps for better render quality.
+
+2011-03-09  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
+	various render artifacts for certain withpoints side type
+	interpolations and bline looped
+
+2011-03-09  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
+	white line on rounde tips
+
+2011-03-07  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix bad
+	render when ipos is exactly at the widhtpoint position. Also fix
+	endless loop due to a bad end iterator initialisation.
+
+2011-03-02  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
+	some render glitches. Still having unfixed ones.
+
+2011-03-02  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: First
+	attempt for the new render routine
+
+2011-02-28  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h: New add
+	cusp member
+
+2011-02-28  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
+	cusps render to use interpolated width.
+
+2011-02-28  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h: New add_tip
+	member for general tip render. Only rounded type at the moment.
+
+2011-02-28  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h: Add two new
+	functions to convert between bezier and bline positions
+
+2011-02-28  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Clean
+	up debug info and not used code.
+
+2011-02-16  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Avoid
+	endless loops when the increment is too small
+
+2011-02-16  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
+	wrong calculation of next width point in many cases.
+
+2011-02-16  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Initial
+	render routine draft. It has some glitches to be fixed
+
+2011-02-16  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Add
+	comments
+
+2011-02-09  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Add
+	code to collect the widthpoints that are in a bezier and insert two
+	fake width points at the bezier's blinepoints positions.  Later
+	those collected widthpoints and the two fake ones would be iterated
+	to produce the outline sections
+
+2011-02-09  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Sort
+	the wplist at start to get a last widthpoint for each bezier
+
+2011-02-06  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_wplist.cpp: Rewrite
+	widthpoint_interpolate member function to catch up all cases.
+
+2011-02-06  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/widthpoint.cpp: Fix normalised position
+	member to handle properly negative values
+
+2011-02-06  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: When
+	collecting widthpoints in a bezier, include the boundaries
+
+2011-02-05  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/widthpoint.cpp,
+	synfig-core/src/synfig/widthpoint.h: Use the normalised position to
+	compare width points
+
+2011-02-05  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Collect
+	width points between boundaries of each bezier and sort them
+
+2011-02-05  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: b_end
+	>> bend
+
+2011-02-05  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_wplist.cpp,
+	synfig-core/src/synfig/valuenode_wplist.h,
+	synfig-core/src/synfig/widthpoint.cpp,
+	synfig-core/src/synfig/widthpoint.h: Move the interpolate function
+	between width points outside width point list class
+
+2011-02-05  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Rename
+	iter to biter and next to bnext to distinguish from the iterators of
+	the wplist.
+
+2011-01-30  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h: Remove more
+	unused variables and parameters. Rename loop to blineloop.
+
+2011-01-30  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h: Remove
+	unused variable
+
+2011-01-28  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Avoid
+	that width points doesn't follow the bline when the origin of the
+	layer moves.
+
+2011-01-26  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/savecanvas.cpp,
+	synfig-core/src/synfig/valuenode_composite.cpp,
+	synfig-core/src/synfig/widthpoint.cpp,
+	synfig-core/src/synfig/widthpoint.h: Get ride of Hidden Vertex since
+	it is not longer needed.
+
+2011-01-26  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: If a
+	wplist is connected then try to connect the bline to it.
+
+2011-01-26  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_wplist.cpp,
+	synfig-core/src/synfig/valuenode_wplist.h: Avoid compiler complains
+
+2011-01-23  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/widthpoint.cpp: Avoid C++ warning
+
+2011-01-23  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/synfig/valuenode_wplist.cpp,
+	synfig-core/src/synfig/valuenode_wplist.h: Store the bline handle in
+	the ValueNode_WPList
+
+2011-01-21  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_wplist.cpp,
+	synfig-core/src/synfig/valuenode_wplist.h: When inserting new width
+	points by user action use the internal create_list_entry method.
+	Initially it is always created at position 0.0
+
+2011-01-19  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/loadcanvas.h,
+	synfig-core/src/synfig/savecanvas.cpp: Allow load and save non
+	composite width points.
+
+2011-01-19  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_wplist.cpp: Don't let create()
+	method allow convert blines to wplists. That will cause bad types
+	for the layer.
+
+2011-01-17  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h: Initial
+	draft to handle bline parameter connection at advanced outline layer
+
+2011-01-17  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h: Tidy up
+
+2011-01-17  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer.h: Change connect/disconnect dynamic
+	parameter to be virtual members.
+
+2011-01-17  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/widthpoint.h: Hidden Vertex is not mutable.
+
+2011-01-14  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Fix
+	wrong index when setting parameter
+
+2011-01-14  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_composite.cpp: Do not make not
+	critical the hidden vertex. It is needed to load the value node form
+	file.
+
+2011-01-14  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Don't
+	add width ducks from the bline of an advanced outline.
+
+2011-01-14  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h: Post
+	underscore private members and clean up not used and conditional
+	code.
+
+2011-01-14  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/advanced_outline.cpp: Insert
+	only two width points with custom values at constructor.
+
+2011-01-14  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/Makefile.am,
+	synfig-core/src/modules/mod_geometry/advanced_outline.cpp,
+	synfig-core/src/modules/mod_geometry/advanced_outline.h,
+	synfig-core/src/modules/mod_geometry/main.cpp: Initial version of
+	the Advanced Outline
+
+2011-01-13  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/savecanvas.cpp: Don't save to file not
+	critical subparameters
+
+2011-01-13  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_composite.cpp: Fix forgotten
+	assert check and nasty typo.
+
+2011-01-13  Carlos Lopez <genetita at gmail.com>
+
+	* : commit f112a004654c936c71ba284aebe16c35a6422799 Author: Carlos
+	Lopez <genetita at gmail.com> Date:   Thu Jan 13 11:24:34 2011 +0100
+
+2011-01-09  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_composite.cpp,
+	synfig-core/src/synfig/valuenode_wplist.cpp,
+	synfig-core/src/synfig/widthpoint.cpp,
+	synfig-core/src/synfig/widthpoint.h: Rename 'cup' to 'side' at Width
+	Point class and where it is used.
+
+2011-01-09  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/savecanvas.cpp: Make loadcanvas and
+	savecanvas understand ValueNode_WPList class
+
+2011-01-09  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/releases.h,
+	synfig-core/src/synfig/valuenode.cpp: Add ValueNode_WPList in the
+	Valuenode book
+
+2011-01-09  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_wplist.cpp: Use lower case letter
+	for value node names
+
+2011-01-09  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_composite.cpp,
+	synfig-core/src/synfig/valuenode_wplist.cpp: Let Composite Value
+	Node handle WidthPoint value type
+
+2011-01-09  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/value.h,
+	synfig-core/src/synfig/valuenode_dynamiclist.h,
+	synfig-core/src/synfig/valuenode_wplist.cpp,
+	synfig-core/src/synfig/valuenode_wplist.h,
+	synfig-core/src/synfig/widthpoint.cpp,
+	synfig-core/src/synfig/widthpoint.h: Fix compiler errors and include
+	valuenode_wplist in Makefile.am
+
+2011-01-08  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_wplist.cpp,
+	synfig-core/src/synfig/valuenode_wplist.h: Interpolation depends on
+	cup type. Use normalised positions in calculations
+
+2011-01-08  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/widthpoint.cpp,
+	synfig-core/src/synfig/widthpoint.h: Use normalised position [0,1]
+	to work and store the position as (-inf, inf)
+
+2011-01-08  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_wplist.cpp,
+	synfig-core/src/synfig/valuenode_wplist.h: Code find next and
+	previous valid entries by position ValueNode_WPList members.
+
+2011-01-08  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_wplist.cpp: End fixing
+	ValueNode_WPList
+
+2011-01-07  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_wplist.cpp,
+	synfig-core/src/synfig/valuenode_wplist.h: Minor corrections
+
+2011-01-04  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_wplist.cpp,
+	synfig-core/src/synfig/valuenode_wplist.h,
+	synfig-core/src/synfig/widthpoint.cpp,
+	synfig-core/src/synfig/widthpoint.h: Fix
+	ValueNode_WPList::operator(): work in progress
+
+2011-01-03  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_wplist.cpp,
+	synfig-core/src/synfig/valuenode_wplist.h,
+	synfig-core/src/synfig/widthpoint.cpp,
+	synfig-core/src/synfig/widthpoint.h: Fix create_new_entry member
+	function
+
+2011-01-02  Carlos Lopez <genetita at gmail.com>
+
+	* : commit 2b2950e88fb6c4bfa36ec91eb86de33c6c27fafe Author: Carlos
+	Lopez <genetita at gmail.com> Date:   Wed Dec 22 18:53:45 2010 +0100
+
+2010-12-22  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode.cpp,
+	synfig-core/src/synfig/valuenode.h: Use const qualifier for
+	set_children_vocab parameter
+
+2010-12-21  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_noise/valuenode_random.cpp,
+	synfig-core/src/synfig/valuenode.cpp,
+	synfig-core/src/synfig/valuenode.h,
+	synfig-core/src/synfig/valuenode_add.cpp,
+	synfig-core/src/synfig/valuenode_and.cpp,
+	synfig-core/src/synfig/valuenode_anglestring.cpp,
+	synfig-core/src/synfig/valuenode_atan2.cpp,
+	synfig-core/src/synfig/valuenode_blinecalctangent.cpp,
+	synfig-core/src/synfig/valuenode_blinecalcvertex.cpp,
+	synfig-core/src/synfig/valuenode_blinecalcwidth.cpp,
+	synfig-core/src/synfig/valuenode_blinereversetangent.cpp,
+	synfig-core/src/synfig/valuenode_compare.cpp,
+	synfig-core/src/synfig/valuenode_composite.cpp,
+	synfig-core/src/synfig/valuenode_cos.cpp,
+	synfig-core/src/synfig/valuenode_dotproduct.cpp,
+	synfig-core/src/synfig/valuenode_duplicate.cpp,
+	synfig-core/src/synfig/valuenode_exp.cpp,
+	synfig-core/src/synfig/valuenode_gradientcolor.cpp,
+	synfig-core/src/synfig/valuenode_gradientrotate.cpp,
+	synfig-core/src/synfig/valuenode_greyed.cpp,
+	synfig-core/src/synfig/valuenode_integer.cpp,
+	synfig-core/src/synfig/valuenode_intstring.cpp,
+	synfig-core/src/synfig/valuenode_join.cpp,
+	synfig-core/src/synfig/valuenode_linear.cpp,
+	synfig-core/src/synfig/valuenode_log.cpp,
+	synfig-core/src/synfig/valuenode_not.cpp,
+	synfig-core/src/synfig/valuenode_or.cpp,
+	synfig-core/src/synfig/valuenode_pow.cpp,
+	synfig-core/src/synfig/valuenode_radialcomposite.cpp,
+	synfig-core/src/synfig/valuenode_range.cpp,
+	synfig-core/src/synfig/valuenode_realstring.cpp,
+	synfig-core/src/synfig/valuenode_reciprocal.cpp,
+	synfig-core/src/synfig/valuenode_reference.cpp,
+	synfig-core/src/synfig/valuenode_repeat_gradient.cpp,
+	synfig-core/src/synfig/valuenode_scale.cpp,
+	synfig-core/src/synfig/valuenode_segcalctangent.cpp,
+	synfig-core/src/synfig/valuenode_segcalcvertex.cpp,
+	synfig-core/src/synfig/valuenode_sine.cpp,
+	synfig-core/src/synfig/valuenode_step.cpp,
+	synfig-core/src/synfig/valuenode_stripes.cpp,
+	synfig-core/src/synfig/valuenode_subtract.cpp,
+	synfig-core/src/synfig/valuenode_switch.cpp,
+	synfig-core/src/synfig/valuenode_timedswap.cpp,
+	synfig-core/src/synfig/valuenode_timeloop.cpp,
+	synfig-core/src/synfig/valuenode_timestring.cpp,
+	synfig-core/src/synfig/valuenode_twotone.cpp,
+	synfig-core/src/synfig/valuenode_vectorangle.cpp,
+	synfig-core/src/synfig/valuenode_vectorlength.cpp,
+	synfig-core/src/synfig/valuenode_vectorx.cpp,
+	synfig-core/src/synfig/valuenode_vectory.cpp: Use link_count from
+	children vocabulary and return the stored vocabulary if already was
+	set. Store the children vocabulary at construction time
+
+2010-12-21  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_noise/valuenode_random.cpp,
+	synfig-core/src/modules/mod_noise/valuenode_random.h,
+	synfig-core/src/synfig/valuenode.cpp,
+	synfig-core/src/synfig/valuenode.h,
+	synfig-core/src/synfig/valuenode_add.cpp,
+	synfig-core/src/synfig/valuenode_add.h,
+	synfig-core/src/synfig/valuenode_and.cpp,
+	synfig-core/src/synfig/valuenode_and.h,
+	synfig-core/src/synfig/valuenode_anglestring.cpp,
+	synfig-core/src/synfig/valuenode_anglestring.h,
+	synfig-core/src/synfig/valuenode_atan2.cpp,
+	synfig-core/src/synfig/valuenode_atan2.h,
+	synfig-core/src/synfig/valuenode_bline.cpp,
+	synfig-core/src/synfig/valuenode_bline.h,
+	synfig-core/src/synfig/valuenode_blinecalctangent.cpp,
+	synfig-core/src/synfig/valuenode_blinecalctangent.h,
+	synfig-core/src/synfig/valuenode_blinecalcvertex.cpp,
+	synfig-core/src/synfig/valuenode_blinecalcvertex.h,
+	synfig-core/src/synfig/valuenode_blinecalcwidth.cpp,
+	synfig-core/src/synfig/valuenode_blinecalcwidth.h,
+	synfig-core/src/synfig/valuenode_blinereversetangent.cpp,
+	synfig-core/src/synfig/valuenode_blinereversetangent.h,
+	synfig-core/src/synfig/valuenode_compare.cpp,
+	synfig-core/src/synfig/valuenode_compare.h,
+	synfig-core/src/synfig/valuenode_composite.cpp,
+	synfig-core/src/synfig/valuenode_composite.h,
+	synfig-core/src/synfig/valuenode_cos.cpp,
+	synfig-core/src/synfig/valuenode_cos.h,
+	synfig-core/src/synfig/valuenode_dotproduct.cpp,
+	synfig-core/src/synfig/valuenode_dotproduct.h,
+	synfig-core/src/synfig/valuenode_duplicate.cpp,
+	synfig-core/src/synfig/valuenode_duplicate.h,
+	synfig-core/src/synfig/valuenode_dynamiclist.cpp,
+	synfig-core/src/synfig/valuenode_dynamiclist.h,
+	synfig-core/src/synfig/valuenode_exp.cpp,
+	synfig-core/src/synfig/valuenode_exp.h,
+	synfig-core/src/synfig/valuenode_gradientcolor.cpp,
+	synfig-core/src/synfig/valuenode_gradientcolor.h,
+	synfig-core/src/synfig/valuenode_gradientrotate.cpp,
+	synfig-core/src/synfig/valuenode_gradientrotate.h,
+	synfig-core/src/synfig/valuenode_greyed.cpp,
+	synfig-core/src/synfig/valuenode_greyed.h,
+	synfig-core/src/synfig/valuenode_integer.cpp,
+	synfig-core/src/synfig/valuenode_integer.h,
+	synfig-core/src/synfig/valuenode_intstring.cpp,
+	synfig-core/src/synfig/valuenode_intstring.h,
+	synfig-core/src/synfig/valuenode_join.cpp,
+	synfig-core/src/synfig/valuenode_join.h,
+	synfig-core/src/synfig/valuenode_linear.cpp,
+	synfig-core/src/synfig/valuenode_linear.h,
+	synfig-core/src/synfig/valuenode_log.cpp,
+	synfig-core/src/synfig/valuenode_log.h,
+	synfig-core/src/synfig/valuenode_not.cpp,
+	synfig-core/src/synfig/valuenode_not.h,
+	synfig-core/src/synfig/valuenode_or.cpp,
+	synfig-core/src/synfig/valuenode_or.h,
+	synfig-core/src/synfig/valuenode_pow.cpp,
+	synfig-core/src/synfig/valuenode_pow.h,
+	synfig-core/src/synfig/valuenode_radialcomposite.cpp,
+	synfig-core/src/synfig/valuenode_radialcomposite.h,
+	synfig-core/src/synfig/valuenode_range.cpp,
+	synfig-core/src/synfig/valuenode_range.h,
+	synfig-core/src/synfig/valuenode_realstring.cpp,
+	synfig-core/src/synfig/valuenode_realstring.h,
+	synfig-core/src/synfig/valuenode_reciprocal.cpp,
+	synfig-core/src/synfig/valuenode_reciprocal.h,
+	synfig-core/src/synfig/valuenode_reference.cpp,
+	synfig-core/src/synfig/valuenode_reference.h,
+	synfig-core/src/synfig/valuenode_repeat_gradient.cpp,
+	synfig-core/src/synfig/valuenode_repeat_gradient.h,
+	synfig-core/src/synfig/valuenode_scale.cpp,
+	synfig-core/src/synfig/valuenode_scale.h,
+	synfig-core/src/synfig/valuenode_segcalctangent.cpp,
+	synfig-core/src/synfig/valuenode_segcalctangent.h,
+	synfig-core/src/synfig/valuenode_segcalcvertex.cpp,
+	synfig-core/src/synfig/valuenode_segcalcvertex.h,
+	synfig-core/src/synfig/valuenode_sine.cpp,
+	synfig-core/src/synfig/valuenode_sine.h,
+	synfig-core/src/synfig/valuenode_step.cpp,
+	synfig-core/src/synfig/valuenode_step.h,
+	synfig-core/src/synfig/valuenode_stripes.cpp,
+	synfig-core/src/synfig/valuenode_stripes.h,
+	synfig-core/src/synfig/valuenode_subtract.cpp,
+	synfig-core/src/synfig/valuenode_subtract.h,
+	synfig-core/src/synfig/valuenode_switch.cpp,
+	synfig-core/src/synfig/valuenode_switch.h,
+	synfig-core/src/synfig/valuenode_timedswap.cpp,
+	synfig-core/src/synfig/valuenode_timedswap.h,
+	synfig-core/src/synfig/valuenode_timeloop.cpp,
+	synfig-core/src/synfig/valuenode_timeloop.h,
+	synfig-core/src/synfig/valuenode_timestring.cpp,
+	synfig-core/src/synfig/valuenode_timestring.h,
+	synfig-core/src/synfig/valuenode_twotone.cpp,
+	synfig-core/src/synfig/valuenode_twotone.h,
+	synfig-core/src/synfig/valuenode_vectorangle.cpp,
+	synfig-core/src/synfig/valuenode_vectorangle.h,
+	synfig-core/src/synfig/valuenode_vectorlength.cpp,
+	synfig-core/src/synfig/valuenode_vectorlength.h,
+	synfig-core/src/synfig/valuenode_vectorx.cpp,
+	synfig-core/src/synfig/valuenode_vectorx.h,
+	synfig-core/src/synfig/valuenode_vectory.cpp,
+	synfig-core/src/synfig/valuenode_vectory.h: Rename get_param_vocab
+	to get_children_vocab and use a wrapper for the pure virtual
+	get_children_vocab_vfunc member
+
+2010-12-16  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_add.cpp,
+	synfig-core/src/synfig/valuenode_add.h,
+	synfig-core/src/synfig/valuenode_and.cpp,
+	synfig-core/src/synfig/valuenode_and.h,
+	synfig-core/src/synfig/valuenode_anglestring.cpp,
+	synfig-core/src/synfig/valuenode_anglestring.h: Use ancestor's
+	link_local_name(int i), link_name(i) and
+	get_link_index_from_name(String &name) member functions for some
+	value nodes
+
+2010-12-13  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode.cpp,
+	synfig-core/src/synfig/valuenode.h: Make link_name(),
+	link_local_name, and get_link_index_from_name non pure virtual
+	functions
+
+2010-12-13  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode.cpp,
+	synfig-core/src/synfig/valuenode.h: Do not use
+	get_param_vocab().size() as link counter. It is too slow.
+
+2010-12-10  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_noise/valuenode_random.cpp,
+	synfig-core/src/modules/mod_noise/valuenode_random.h,
+	synfig-core/src/synfig/valuenode.cpp,
+	synfig-core/src/synfig/valuenode.h,
+	synfig-core/src/synfig/valuenode_add.cpp,
+	synfig-core/src/synfig/valuenode_add.h,
+	synfig-core/src/synfig/valuenode_and.cpp,
+	synfig-core/src/synfig/valuenode_and.h,
+	synfig-core/src/synfig/valuenode_anglestring.cpp,
+	synfig-core/src/synfig/valuenode_anglestring.h,
+	synfig-core/src/synfig/valuenode_atan2.cpp,
+	synfig-core/src/synfig/valuenode_atan2.h,
+	synfig-core/src/synfig/valuenode_bline.cpp,
+	synfig-core/src/synfig/valuenode_bline.h,
+	synfig-core/src/synfig/valuenode_blinecalctangent.cpp,
+	synfig-core/src/synfig/valuenode_blinecalctangent.h,
+	synfig-core/src/synfig/valuenode_blinecalcvertex.cpp,
+	synfig-core/src/synfig/valuenode_blinecalcvertex.h,
+	synfig-core/src/synfig/valuenode_blinecalcwidth.cpp,
+	synfig-core/src/synfig/valuenode_blinecalcwidth.h,
+	synfig-core/src/synfig/valuenode_blinereversetangent.cpp,
+	synfig-core/src/synfig/valuenode_blinereversetangent.h,
+	synfig-core/src/synfig/valuenode_compare.cpp,
+	synfig-core/src/synfig/valuenode_compare.h,
+	synfig-core/src/synfig/valuenode_composite.cpp,
+	synfig-core/src/synfig/valuenode_composite.h,
+	synfig-core/src/synfig/valuenode_cos.cpp,
+	synfig-core/src/synfig/valuenode_cos.h,
+	synfig-core/src/synfig/valuenode_dotproduct.cpp,
+	synfig-core/src/synfig/valuenode_dotproduct.h,
+	synfig-core/src/synfig/valuenode_duplicate.cpp,
+	synfig-core/src/synfig/valuenode_duplicate.h,
+	synfig-core/src/synfig/valuenode_dynamiclist.cpp,
+	synfig-core/src/synfig/valuenode_dynamiclist.h,
+	synfig-core/src/synfig/valuenode_exp.cpp,
+	synfig-core/src/synfig/valuenode_exp.h,
+	synfig-core/src/synfig/valuenode_gradientcolor.cpp,
+	synfig-core/src/synfig/valuenode_gradientcolor.h,
+	synfig-core/src/synfig/valuenode_gradientrotate.cpp,
+	synfig-core/src/synfig/valuenode_gradientrotate.h,
+	synfig-core/src/synfig/valuenode_greyed.cpp,
+	synfig-core/src/synfig/valuenode_greyed.h,
+	synfig-core/src/synfig/valuenode_integer.cpp,
+	synfig-core/src/synfig/valuenode_integer.h,
+	synfig-core/src/synfig/valuenode_intstring.cpp,
+	synfig-core/src/synfig/valuenode_intstring.h,
+	synfig-core/src/synfig/valuenode_join.cpp,
+	synfig-core/src/synfig/valuenode_join.h,
+	synfig-core/src/synfig/valuenode_linear.cpp,
+	synfig-core/src/synfig/valuenode_linear.h,
+	synfig-core/src/synfig/valuenode_log.cpp,
+	synfig-core/src/synfig/valuenode_log.h,
+	synfig-core/src/synfig/valuenode_not.cpp,
+	synfig-core/src/synfig/valuenode_not.h,
+	synfig-core/src/synfig/valuenode_or.cpp,
+	synfig-core/src/synfig/valuenode_or.h,
+	synfig-core/src/synfig/valuenode_pow.cpp,
+	synfig-core/src/synfig/valuenode_pow.h,
+	synfig-core/src/synfig/valuenode_radialcomposite.cpp,
+	synfig-core/src/synfig/valuenode_radialcomposite.h,
+	synfig-core/src/synfig/valuenode_range.cpp,
+	synfig-core/src/synfig/valuenode_range.h,
+	synfig-core/src/synfig/valuenode_realstring.cpp,
+	synfig-core/src/synfig/valuenode_realstring.h,
+	synfig-core/src/synfig/valuenode_reciprocal.cpp,
+	synfig-core/src/synfig/valuenode_reciprocal.h,
+	synfig-core/src/synfig/valuenode_reference.cpp,
+	synfig-core/src/synfig/valuenode_reference.h,
+	synfig-core/src/synfig/valuenode_repeat_gradient.cpp,
+	synfig-core/src/synfig/valuenode_repeat_gradient.h,
+	synfig-core/src/synfig/valuenode_scale.cpp,
+	synfig-core/src/synfig/valuenode_scale.h,
+	synfig-core/src/synfig/valuenode_segcalctangent.cpp,
+	synfig-core/src/synfig/valuenode_segcalctangent.h,
+	synfig-core/src/synfig/valuenode_segcalcvertex.cpp,
+	synfig-core/src/synfig/valuenode_segcalcvertex.h,
+	synfig-core/src/synfig/valuenode_sine.cpp,
+	synfig-core/src/synfig/valuenode_sine.h,
+	synfig-core/src/synfig/valuenode_step.cpp,
+	synfig-core/src/synfig/valuenode_step.h,
+	synfig-core/src/synfig/valuenode_stripes.cpp,
+	synfig-core/src/synfig/valuenode_stripes.h,
+	synfig-core/src/synfig/valuenode_subtract.cpp,
+	synfig-core/src/synfig/valuenode_subtract.h,
+	synfig-core/src/synfig/valuenode_switch.cpp,
+	synfig-core/src/synfig/valuenode_switch.h,
+	synfig-core/src/synfig/valuenode_timedswap.cpp,
+	synfig-core/src/synfig/valuenode_timedswap.h,
+	synfig-core/src/synfig/valuenode_timeloop.cpp,
+	synfig-core/src/synfig/valuenode_timeloop.h,
+	synfig-core/src/synfig/valuenode_timestring.cpp,
+	synfig-core/src/synfig/valuenode_timestring.h,
+	synfig-core/src/synfig/valuenode_twotone.cpp,
+	synfig-core/src/synfig/valuenode_twotone.h,
+	synfig-core/src/synfig/valuenode_vectorangle.cpp,
+	synfig-core/src/synfig/valuenode_vectorangle.h,
+	synfig-core/src/synfig/valuenode_vectorlength.cpp,
+	synfig-core/src/synfig/valuenode_vectorlength.h,
+	synfig-core/src/synfig/valuenode_vectorx.cpp,
+	synfig-core/src/synfig/valuenode_vectorx.h,
+	synfig-core/src/synfig/valuenode_vectory.cpp,
+	synfig-core/src/synfig/valuenode_vectory.h: Enable Parameter
+	Description for Linkable Value Nodes using ParamDesc class.
+
+2010-12-16  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_anglestring.cpp: Avoid negative
+	precision to produce good strings always and add U+00B0 DEGREE SIGN
+
+2010-11-24  Nikita Kitaev <nikitakit at gmail.com>
+
+	* synfig-core/src/synfig/canvas.cpp: Change
+	sigc::connection::connection to sigc::connection
+
+2010-11-26  Nikita Kitaev <nikitakit at gmail.com>
+
+	* synfig-core/src/tool/Makefile.am: Fix whitespace error in
+	Makefile.am
+
+2010-12-12  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_wplist.cpp,
+	synfig-core/src/synfig/valuenode_wplist.h: Initial import of
+	ValueNode_WPList class
+
+2010-12-12  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/widthpoint.cpp,
+	synfig-core/src/synfig/widthpoint.h: Add some needed members to
+	WidthPoint class
+
+2010-11-28  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/value.cpp, synfig-core/src/synfig/value.h,
+	synfig-core/src/synfig/widthpoint.cpp,
+	synfig-core/src/synfig/widthpoint.h: Width Point class
+	initialisation
+
+2010-12-08  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/lyr_std/import.cpp,
+	synfig-core/src/modules/lyr_std/twirl.cpp,
+	synfig-core/src/modules/lyr_std/xorpattern.cpp,
+	synfig-core/src/modules/mod_example/filledrect.cpp,
+	synfig-core/src/modules/mod_example/simplecircle.cpp,
+	synfig-core/src/modules/mod_geometry/outline.cpp,
+	synfig-core/src/modules/mod_geometry/rectangle.cpp,
+	synfig-core/src/modules/mod_geometry/region.cpp,
+	synfig-core/src/modules/mod_gradient/radialgradient.cpp,
+	synfig-core/src/modules/mod_gradient/spiralgradient.cpp,
+	synfig-core/src/modules/mod_particle/plant.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_polygon.cpp,
+	synfig-core/src/synfig/layer_solidcolor.cpp: More descriptions for
+	layer parameters
+
+2010-12-07  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/lyr_std/clamp.cpp,
+	synfig-core/src/modules/lyr_std/curvewarp.cpp,
+	synfig-core/src/modules/lyr_std/sphere_distort.cpp,
+	synfig-core/src/modules/lyr_std/stretch.cpp,
+	synfig-core/src/modules/lyr_std/supersample.cpp,
+	synfig-core/src/modules/lyr_std/timeloop.cpp,
+	synfig-core/src/modules/lyr_std/warp.cpp,
+	synfig-core/src/modules/mod_example/filledrect.cpp,
+	synfig-core/src/modules/mod_geometry/checkerboard.cpp,
+	synfig-core/src/modules/mod_geometry/circle.cpp,
+	synfig-core/src/modules/mod_gradient/conicalgradient.cpp,
+	synfig-core/src/modules/mod_gradient/curvegradient.cpp,
+	synfig-core/src/modules/mod_gradient/lineargradient.cpp,
+	synfig-core/src/modules/mod_noise/distort.cpp,
+	synfig-core/src/modules/mod_noise/noise.cpp,
+	synfig-core/src/synfig/layer.cpp,
+	synfig-core/src/synfig/layer_composite.cpp: Set the description of
+	some parameters
+
+2010-11-28  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/general.h: Fix synfig::ChangleLocale class.
+	It wasn't backing up the old locale so it didn't restore it back
+	when the class destructor was called.
+
+2010-11-19  Nikita Kitaev <nikitakit at gmail.com>
+
+	* : commit 7a031b87fd179615caacc5ad4f30eec950efcd66 Author: Carlos
+	Lopez <genetita at gmail.com> Date:   Sat Nov 13 12:46:58 2010 +0100
+
+2010-11-13  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/po/es.po: Small update for Spanish translation
+
+2010-11-10  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/configure.ac, synfig-core/src/synfig/releases.h: 
+	Mofidy files to point to release 0.62.02
+
+2010-11-07  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_bmp/mptr_bmp.cpp,
+	synfig-core/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp,
+	synfig-core/src/modules/mod_jpeg/mptr_jpeg.cpp,
+	synfig-core/src/modules/mod_openexr/mptr_openexr.cpp,
+	synfig-core/src/modules/mod_png/mptr_png.cpp,
+	synfig-core/src/modules/mod_ppm/mptr_ppm.cpp: Avoid some warnings
+	for unused parameter.
+
+2010-11-03  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/README: Update Authors and Readme files.
+
+2010-11-03  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/NEWS: Update News files ready to release.
+
+2010-11-03  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/configure.ac: Bump configure files to support Release
+	Candidate #2
+
+2010-10-25  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/time.cpp: Assume frames when no unit
+	provided in a time field. Apply feature request ID: 2879693
+
+2010-10-24  Diego Barrios Romero <eldruin at gmail.com>
+
+	* : commit e8d46b44a053c18050bba5a5dcf051b353177998 Author: Diego
+	Barrios Romero <eldruin at gmail.com> Date:   Sun Oct 24 17:38:53 2010
+	+0200
+
+2010-10-23  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/po/zh_CN.po: Updated Simplified Chinese translation.
+	Yu Chen (jcome)
+
+2010-10-23  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/TODO, synfig-core/configure.ac,
+	synfig-core/po/Makevars: Update Bugs web address
+
+2010-10-20  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/po/es.po: Updated Spanish translation
+
+2010-10-14  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/configure.ac: Mark release candidate different way in
+	version number.
+
+2010-10-13  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/configure.ac: Bump version numbers for RC1
+
+2010-10-04  Diego Barrios Romero <eldruin at gmailcom>
+
+	* synfig-core/configure.ac,
+	synfig-core/src/modules/mod_png/mptr_png.cpp: PNG 1.4 library
+	support
+
+2010-10-04  Diego Barrios Romero <eldruin at gmailcom>
+
+	* synfig-core/src/tool/Makefile.am: Tiny autotools complain
+
+2010-09-17  Carlos Lopez <genetita at gmail.com>
+
+	* : commit b603ea1c4a4bf9749ed922c5f79af37c91132edf Merge: 633fda4
+	6f2a0d4 Author: Carlos Lopez <genetita at gmail.com> Date:   Fri Sep 17
+	18:19:36 2010 +0200
+
+2010-09-13  Nikita Kitaev <nikitakit at gmail.com>
+
+	* : commit d1041a413264492a5bba12ebfa7d0cbd67ce1cff Author: Carlos
+	Lopez <genetita at gmail.com> Date:   Sat Sep 11 17:38:43 2010 +0200
+
+2010-09-05  Nikita Kitaev <nikitakit at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_range.cpp,
+	synfig-core/src/synfig/valuenode_scale.cpp: Move reverse
+	manipulation code into ValueDescSet action Allows for changing ValueNodes previously manipulatable only via
+	ducks.
+
+2010-09-01  Carlos Lopez <genetita at gmail.com>
+
+	* : commit e8ab6948f86c6d6ad69378fcccd858b6cb5b45b2 Author: Carlos
+	Lopez <genetita at gmail.com> Date:   Sun Aug 29 17:31:45 2010 +0200
+
+2010-08-29  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/lyr_std/clamp.cpp,
+	synfig-core/src/modules/lyr_std/julia.cpp,
+	synfig-core/src/modules/lyr_std/mandelbrot.cpp,
+	synfig-core/src/modules/mod_filter/lumakey.cpp,
+	synfig-core/src/modules/mod_geometry/checkerboard.cpp,
+	synfig-core/src/modules/mod_geometry/outline.cpp,
+	synfig-core/src/modules/mod_geometry/rectangle.cpp,
+	synfig-core/src/synfig/layer_polygon.cpp,
+	synfig-core/src/synfig/layer_solidcolor.cpp: Add parameter static
+	option for more layers
+
+2010-08-29  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/lyr_std/insideout.cpp,
+	synfig-core/src/modules/lyr_std/sphere_distort.cpp,
+	synfig-core/src/modules/lyr_std/stretch.cpp,
+	synfig-core/src/modules/lyr_std/twirl.cpp,
+	synfig-core/src/modules/lyr_std/warp.cpp,
+	synfig-core/src/modules/mod_example/filledrect.cpp,
+	synfig-core/src/modules/mod_example/metaballs.cpp,
+	synfig-core/src/modules/mod_example/simplecircle.cpp,
+	synfig-core/src/modules/mod_filter/colorcorrect.cpp,
+	synfig-core/src/modules/mod_filter/halftone2.cpp,
+	synfig-core/src/modules/mod_filter/halftone3.cpp,
+	synfig-core/src/modules/mod_noise/distort.cpp: Add parameter static
+	option for various layers
+
+2010-08-29  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer.h: Fix IMPORT_AS macro to support
+	set/get static parameter option.
+
+2010-08-28  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/lyr_std/curvewarp.cpp,
+	synfig-core/src/modules/lyr_std/curvewarp.h,
+	synfig-core/src/modules/mod_filter/blur.cpp,
+	synfig-core/src/modules/mod_filter/blur.h,
+	synfig-core/src/modules/mod_filter/radialblur.cpp,
+	synfig-core/src/modules/mod_filter/radialblur.h,
+	synfig-core/src/modules/mod_geometry/circle.cpp,
+	synfig-core/src/modules/mod_geometry/circle.h,
+	synfig-core/src/synfig/layer_bitmap.cpp,
+	synfig-core/src/synfig/layer_bitmap.h,
+	synfig-core/src/synfig/layer_composite.cpp,
+	synfig-core/src/synfig/layer_composite.h,
+	synfig-core/src/synfig/layer_motionblur.cpp,
+	synfig-core/src/synfig/layer_motionblur.h: Remove set and get
+	parameter static members in inherited Layer classes since it is not
+	needed.
+
+2010-08-28  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/lyr_std/curvewarp.cpp,
+	synfig-core/src/modules/lyr_std/curvewarp.h,
+	synfig-core/src/modules/mod_filter/blur.cpp,
+	synfig-core/src/modules/mod_filter/blur.h,
+	synfig-core/src/modules/mod_filter/radialblur.cpp,
+	synfig-core/src/modules/mod_filter/radialblur.h,
+	synfig-core/src/modules/mod_geometry/circle.cpp,
+	synfig-core/src/modules/mod_geometry/circle.h,
+	synfig-core/src/synfig/layer.h,
+	synfig-core/src/synfig/layer_bitmap.cpp,
+	synfig-core/src/synfig/layer_bitmap.h,
+	synfig-core/src/synfig/layer_motionblur.cpp,
+	synfig-core/src/synfig/layer_motionblur.h,
+	synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h: Use map of static values
+	indexed by parameter name instead of the macros and the individual
+	static members.
+
+2010-08-28  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer_composite.cpp,
+	synfig-core/src/synfig/layer_composite.h: Use new method for static
+	options in Layer Composite
+
+2010-08-28  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h: 
+	Suit a better way to set/get static parameter option and to fill the
+	static option.
+
+2010-08-27  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h: 
+	Use a map of static values instead of hard coded names.  Get the
+	parameters names  from the layer parameter vocabulary.
+
+2010-08-26  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/lyr_std/curvewarp.cpp,
+	synfig-core/src/modules/lyr_std/curvewarp.h: Allow static option for
+	the Curve Warp Layer
+
+2010-08-26  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_filter/radialblur.cpp,
+	synfig-core/src/modules/mod_filter/radialblur.h: Allow static option
+	for the Radial Blur Layer
+
+2010-08-26  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_filter/blur.cpp,
+	synfig-core/src/modules/mod_filter/blur.h: Allow static option for
+	the Blur Layer parameters
+
+2010-08-26  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h: 
+	Remove under score from the z_depth parameter to allow use the
+	macros properly
+
+2010-08-26  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/circle.cpp: Include invert
+	static option I missed before.
+
+2010-08-26  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h: 
+	Rename z_depth_static to z_depth__static to make proper use of the
+	macros.  Fix load z_depth_ static option properly
+
+2010-08-26  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/lyr_std/stroboscope.cpp,
+	synfig-core/src/modules/lyr_std/stroboscope.h: Rename ratio to
+	frequency and don't use the frames per second because it is not
+	needed.  Frequency is more intuitive and allows to achieve steady
+	strobe (no movement) setting it to zero.  Using ratio it would need
+	to set it to infinite to obtain a steady strobe.
+
+2010-08-25  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/po/POTFILES.in,
+	synfig-core/src/modules/lyr_std/Makefile.am,
+	synfig-core/src/modules/lyr_std/main.cpp,
+	synfig-core/src/modules/lyr_std/stroboscope.cpp,
+	synfig-core/src/modules/lyr_std/stroboscope.h,
+	synfig-core/src/synfig/context.cpp: New Stroboscope layer. Patch
+	from Ray Frederikson
+
+2010-08-25  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/lyr_std/import.cpp,
+	synfig-core/src/modules/mod_bmp/mptr_bmp.cpp,
+	synfig-core/src/modules/mod_bmp/mptr_bmp.h,
+	synfig-core/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp,
+	synfig-core/src/modules/mod_ffmpeg/mptr_ffmpeg.h,
+	synfig-core/src/modules/mod_imagemagick/mptr_imagemagick.cpp,
+	synfig-core/src/modules/mod_imagemagick/mptr_imagemagick.h,
+	synfig-core/src/modules/mod_jpeg/mptr_jpeg.cpp,
+	synfig-core/src/modules/mod_jpeg/mptr_jpeg.h,
+	synfig-core/src/modules/mod_libavcodec/mptr.cpp,
+	synfig-core/src/modules/mod_libavcodec/mptr.h,
+	synfig-core/src/modules/mod_openexr/mptr_openexr.cpp,
+	synfig-core/src/modules/mod_openexr/mptr_openexr.h,
+	synfig-core/src/modules/mod_png/mptr_png.cpp,
+	synfig-core/src/modules/mod_png/mptr_png.h,
+	synfig-core/src/modules/mod_ppm/mptr_ppm.cpp,
+	synfig-core/src/modules/mod_ppm/mptr_ppm.h,
+	synfig-core/src/synfig/importer.h,
+	synfig-core/src/synfig/listimporter.cpp,
+	synfig-core/src/synfig/listimporter.h: Apply patch #2958077. Fix
+	incorrect FPS interpolation in ListImporter.  Thanks to Ray
+	Frederikson
+
+2010-08-24  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/savecanvas.cpp: Allow save and load the rest
+	of types except list and blinepoint
+
+2010-08-24  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.cpp: Missed
+	initialization
+
+2010-08-24  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h: Fix time offset
+	parameter static option
+
+2010-08-24  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/loadcanvas.cpp: Enable load static option
+	to the canvas parameter
+
+2010-08-24  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.cpp: As Paste Canvas
+	Layer doesn't use IMPORT macro it is needed to set the static option
+	manually.
+
+2010-08-24  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/savecanvas.cpp: Save static option for canvas
+	parameter
+
+2010-08-22  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/loadcanvas.h,
+	synfig-core/src/synfig/savecanvas.cpp: Load and save canvas now
+	understand load and save static option for real value base.  It is
+	pending all the rest of value base types.
+
+2010-08-22  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer.cpp: Set z depth static value to
+	false by default in Layer class.  Previously was unset and get
+	random values.  So this fix the "random static on zdepth" bug.
+
+2010-08-22  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer_composite.cpp: When setting a
+	parameter in Layer Composite keep the static values of the given
+	Value Base.
+
+2010-08-22  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer.cpp: Use macro to import z depth
+	parameter for homogeneity.
+
+2010-08-21  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h: Allow paste canvas layer
+	to have static parameters.  Children lock is static by default
+
+2010-08-21  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer_motionblur.cpp,
+	synfig-core/src/synfig/layer_motionblur.h: Allow motion blur layer
+	to have static parameters
+
+2010-08-21  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer_bitmap.cpp,
+	synfig-core/src/synfig/layer_bitmap.h: Make bitmap layer parameters
+	to be able set static
+
+2010-08-21  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/circle.cpp: Use macros for
+	circle layer
+
+2010-08-21  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h,
+	synfig-core/src/synfig/layer_composite.cpp: Use macros for the get
+	static and set static members
+
+2010-08-20  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_geometry/circle.cpp,
+	synfig-core/src/modules/mod_geometry/circle.h,
+	synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h,
+	synfig-core/src/synfig/layer_composite.cpp,
+	synfig-core/src/synfig/layer_composite.h,
+	synfig-core/src/synfig/value.cpp, synfig-core/src/synfig/value.h: 
+	Add LayerParamSetStatic and LayerParamUnSetStatic actions.  They
+	work only only on Layer, Layer_Composite and Circle classes.  It is
+	pending check its functionality and extend to rest of layers
+	parameters.  By default blend_method for Composite and invert and
+	falloff for circles are now static when creating a new layer.
+
+2010-08-19  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/value.cpp, synfig-core/src/synfig/value.h,
+	synfig-core/src/synfig/valuenode_const.cpp,
+	synfig-core/src/synfig/valuenode_const.h: Add Static option for
+	Constant Value Nodes and the corresponding action to set and unset
+	static.  Pending: Save and load static status.  Add static option
+	actions for layer parameters.
+
+2010-08-17  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/value.cpp, synfig-core/src/synfig/value.h: 
+	Documentation and code clean for value.h and value.cpp
+
+2010-08-17  Carlos Lopez <genetita at gmail.com>
+
+	* : commit 00e0a55636b3301ee532c6f5f5b7bd0acee05a00 Author: Carlos
+	Lopez <genetita at gmail.com> Date:   Tue Aug 17 15:21:21 2010 +0200
+
+2010-08-08  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/lyr_std/xorpattern.cpp,
+	synfig-core/src/modules/mod_example/filledrect.cpp,
+	synfig-core/src/modules/mod_example/metaballs.cpp,
+	synfig-core/src/modules/mod_example/simplecircle.cpp,
+	synfig-core/src/modules/mod_filter/blur.cpp,
+	synfig-core/src/modules/mod_filter/radialblur.cpp,
+	synfig-core/src/modules/mod_geometry/checkerboard.cpp,
+	synfig-core/src/modules/mod_geometry/circle.cpp,
+	synfig-core/src/modules/mod_geometry/rectangle.cpp,
+	synfig-core/src/modules/mod_gradient/conicalgradient.cpp,
+	synfig-core/src/modules/mod_gradient/curvegradient.cpp,
+	synfig-core/src/modules/mod_gradient/lineargradient.cpp,
+	synfig-core/src/modules/mod_gradient/radialgradient.cpp,
+	synfig-core/src/modules/mod_gradient/spiralgradient.cpp,
+	synfig-core/src/modules/mod_noise/noise.cpp,
+	synfig-core/src/synfig/color.h,
+	synfig-core/src/synfig/layer_polygon.cpp,
+	synfig-core/src/synfig/layer_solidcolor.cpp: Add "By Layer Default"
+	blend method to the Toolbox Defaults widget.  It allows the user let
+	the layer itself use the blend method defined by the layer by
+	default.  For example, blur layer uses Straight blend method by
+	default and Bevel uses Onto.  The default blend methods by layer can
+	be discussed or changed later.
+
+2010-08-05  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/configure.ac, synfig-core/po/zh_CN.po: Simplified
+	Chinese translation for Synfig Studio and Synfig Core. Thanks to Yu
+	Chen (jcome)
+
+2010-07-29  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/target_scanline.h,
+	synfig-core/src/synfig/target_tile.h: More documentation for target
+	tile renderer.
+
+2010-07-29  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/target_scanline.h: Documentation for
+	target_scanline.h
+
+2010-07-28  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/renddesc.cpp,
+	synfig-core/src/synfig/renddesc.h: Documentation for the renddesc.h
+	and clean up code for renddesc.cpp
+
+2010-07-28  Carlos Lopez <genetita at gmail.com>
+
+	* : commit eb5f6e771ae901ac25b9a00601cb6ebdbf0f7710 Author: Carlos
+	Lopez <genetita at gmail.com> Date:   Tue Jul 27 17:27:27 2010 +0200
+
+2010-07-27  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/importer.h: Reformat
+	SYNFIG_IMPORTER_MODULE_EXT to fit in a narrow space
+
+2010-07-26  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/savecanvas.cpp: Delete commented code and
+	add some documentation.
+
+2010-07-26  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/savecanvas.cpp: Remove unused code for
+	savecanvas.h and savecanvas.cpp
+
+2010-07-24  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/savecanvas.h: Partial documentation for the
+	savecanvas.h
+
+2010-07-24  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/loadcanvas.h: Complete documentation for
+	loadcanvas.h. Remove unused member declaration.
+
+2010-07-21  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/loadcanvas.h: Partial documentation for
+	loadcanvas.h
+
+2010-07-21  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/Makefile.am: Move not used header to extra
+	distribution section of make file.
+
+2010-07-20  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h: Documentation for the
+	Paste Canvas Layer
+
+2010-07-20  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer.h: Improve documentation for the
+	layer.h file
+
+2010-07-18  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.h: Partial documentation
+	for the paste canvas layer
+
+2010-07-18  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer_composite.cpp,
+	synfig-core/src/synfig/layer_composite.h: Documentation for the
+	layer composite
+
+2010-07-18  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/context.h: Typo
+
+2010-07-18  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/context.cpp,
+	synfig-core/src/synfig/context.h: Documentation for the context
+	class
+
+2010-07-16  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer_pastecanvas.cpp: Fix bug #3029832
+	Time Offset parameter fails for multiple times imported files.
+	canvas->set time not only sets the time but also calls the canvas's
+	context set_time.  There are bugs pending though. Live play produces
+	bad renders on canvas window.  Output render is fine now.
+
+2010-07-13  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/canvas.h: More documentation for canvas.h
+
+2010-07-12  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/configure.ac, synfig-core/po/en_GB.po: English Great
+	Britain translation of Synfig and Synfig Studio. Thanks to Robert
+	Readman
+
+2010-07-10  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/canvas.h: More documentation for canvas.h
+
+2010-07-09  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/canvas.h: Partial documentation for
+	canvas.h
+
+2010-07-09  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_animated.h: More documentation
+	for Value Node Animated
+
+2010-07-05  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_animated.h: Documentation for
+	Value Node Animated
+
+2010-07-05  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_animated.cpp: Remove unused code.  * binary_find is implemented in ETC/misc.h.  * Remove code that use old distance calculation.  * Remove code once the const cast is used for const members.
+
+2010-07-04  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/waypoint.cpp,
+	synfig-core/src/synfig/waypoint.h: Documentation for Waypoint class
+
+2010-06-30  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode.h: More Documentation
+
+2010-06-20  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode.h: Documentation
+
+2010-06-20  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode.cpp: Clean not used code. This
+	code has been disabled since 2005-04-19 so it is not being developed
+
+2010-06-20  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/node.h: More documentation
+
+2010-06-20  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/node.cpp: Documentation
+
+2010-06-20  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/node.cpp: Indentation for better reading
+
+2010-06-19  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/node.cpp: Tidy up
+
+2010-06-19  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/node.h: Documentation
+
+2010-06-16  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/node.h: Document node.h
+
+2010-06-16  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/module.h: Dcoument module.h
+
+2010-06-14  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode.h: Small documentation in the
+	valuenode.h
+
+2010-06-14  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/importer.h: Documentation typo
+
+2010-06-14  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/module.h: Some documentation in the
+	module.h file
+
+2010-06-13  Carlos Lopez <genetita at gmail.com>
+
+	* : commit 93fd70f57db7f3277d3a02f79ba6335173706294 Author: Carlos
+	Lopez <genetita at gmail.com> Date:   Sun Jun 13 21:25:57 2010 +0200
+
+2010-06-12  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer.h: Clean and document layer.h file
+
+2010-06-11  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_dv/trgt_dv.cpp,
+	synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp,
+	synfig-core/src/modules/mod_gif/trgt_gif.cpp,
+	synfig-core/src/modules/mod_imagemagick/trgt_imagemagick.cpp,
+	synfig-core/src/modules/mod_jpeg/trgt_jpeg.cpp,
+	synfig-core/src/modules/mod_magickpp/trgt_magickpp.cpp,
+	synfig-core/src/modules/mod_mng/trgt_mng.cpp,
+	synfig-core/src/modules/mod_openexr/trgt_openexr.cpp,
+	synfig-core/src/modules/mod_png/trgt_png.cpp,
+	synfig-core/src/modules/mod_ppm/trgt_mpg.cpp,
+	synfig-core/src/modules/mod_ppm/trgt_ppm.cpp,
+	synfig-core/src/modules/mod_yuv420p/trgt_yuv.cpp: Remove unused
+	define no longer used
+
+2010-06-11  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/lyr_std/stretch.cpp,
+	synfig-core/src/modules/mod_bmp/main.cpp,
+	synfig-core/src/modules/mod_bmp/mptr_bmp.cpp,
+	synfig-core/src/modules/mod_bmp/trgt_bmp.cpp,
+	synfig-core/src/modules/mod_libavcodec/main.cpp,
+	synfig-core/src/modules/mod_libavcodec/mptr.cpp,
+	synfig-core/src/modules/mod_libavcodec/trgt_av.cpp,
+	synfig-core/src/modules/mod_svg/main.cpp,
+	synfig-core/src/synfig/canvas.cpp, synfig-core/src/synfig/color.h,
+	synfig-core/src/synfig/importer.cpp,
+	synfig-core/src/synfig/layer.cpp,
+	synfig-core/src/synfig/layer_bitmap.cpp,
+	synfig-core/src/synfig/main.cpp, synfig-core/src/synfig/module.cpp,
+	synfig-core/src/synfig/render.cpp,
+	synfig-core/src/synfig/surface.cpp,
+	synfig-core/src/synfig/target.cpp, synfig-core/src/synfig/types.h,
+	synfig-core/src/synfig/value.h,
+	synfig-core/src/synfig/valuenode.cpp,
+	synfig-core/src/synfig/valuenode.h: Remove unused define, clean and
+	sort code.
+
+2010-06-11  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/Makefile.am: Remove synfig.h from sources
+	to build since it is deprecated and not used.
+
+2010-06-10  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/importer.cpp,
+	synfig-core/src/synfig/importer.h: More code comment
+
+2010-06-10  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/importer.h: Order, clean up and comment the
+	code
+
+2010-06-10  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/configure.ac, synfig-core/src/modules/Makefile.am,
+	synfig-core/src/modules/example/Makefile.am,
+	synfig-core/src/modules/example/filledrect.cpp,
+	synfig-core/src/modules/example/filledrect.h,
+	synfig-core/src/modules/example/main.cpp,
+	synfig-core/src/modules/example/metaballs.cpp,
+	synfig-core/src/modules/example/metaballs.h,
+	synfig-core/src/modules/example/simplecircle.cpp,
+	synfig-core/src/modules/example/simplecircle.h,
+	synfig-core/src/modules/mod_example/Makefile.am,
+	synfig-core/src/modules/mod_example/filledrect.cpp,
+	synfig-core/src/modules/mod_example/filledrect.h,
+	synfig-core/src/modules/mod_example/main.cpp,
+	synfig-core/src/modules/mod_example/metaballs.cpp,
+	synfig-core/src/modules/mod_example/metaballs.h,
+	synfig-core/src/modules/mod_example/mod_example.nsh,
+	synfig-core/src/modules/mod_example/simplecircle.cpp,
+	synfig-core/src/modules/mod_example/simplecircle.h,
+	synfig-core/src/modules/mod_example/unmod_example.nsh,
+	synfig-core/src/modules/synfig_modules.cfg.in: Enable NSIS support
+	for example module and rename it to mod_example
+
+2010-06-07  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/tool/main.cpp: Update copyrights
+
+2010-06-07  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/tool/renderprogress.h: Enable translation for
+	render progress information.
+
+2010-06-07  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/NEWS: News draft
+
+2010-06-07  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/palette.cpp: Update copyrights
+
+2010-06-07  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/palette.cpp: Use iostream operators for
+	load palette member instead of atof.
+
+2010-06-01  Nikita Kitaev <nikitakit at gmail.com>
+
+	* : commit 5455fd235a45b9a9274a6113555ec1f4688353e2 Author: Carlos
+	Lopez <genetita at gmail.com> Date:   Mon May 31 19:59:33 2010 +0200
+
+2010-05-31  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/configure.ac, synfig-core/po/de.po: Add German
+	translation for synfig-core. Thanks to Oliver Horn (oho)
+
+2010-05-30  Nikita Kitaev <nikitakit at gmail.com>
+
+	* : commit ca5756ccfd7018bf078426238e81b45beef06617 Author: Carlos
+	Lopez <genetita at gmail.com> Date:   Mon May 31 00:07:01 2010 +0200
+
+2010-05-28  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/releases.h: Add release version 0.62.01 for
+	the save file dialog.
+
+2010-05-26  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/tool/main.cpp: Remove libxvid codec (not working)
+	and replace the default by its real name. Update video MPEG-4 codec
+	name
+
+2010-05-24  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/configure.ac: Bump versions for RC4 (last one
+	hopefully)
+
+2010-05-20  Alexandre Prokoudine <alexandre.prokoudine at gmail.com>
+
+	* synfig-core/po/ru.po: Updated Russian translations, part 1
+
+2010-05-19  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/configure.ac: Bump versions for RC3
+
+2010-05-19  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/NEWS: Update News files
+
+2010-05-19  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/po/es.po: Update Spanish translation. Thanks to Carlos
+	López (genete)
+
+2010-05-19  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/po/fr.po: Update French translation. Thanks to Aurore
+	D. (rore)
+
+2010-05-15  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/configure.ac: Bump versions for RC2
+
+2010-05-09  Carlos Lopez <genetita at gmail.com>
+
+	* : commit fb6e5f95daa50b3b2ac495dda529d28d1553fa29 Author:
+	Konstantin Dmitriev <ksee.zelgadis at gmail.com> Date:   Sun May 9
+	16:26:07 2010 +0700
+
+2010-05-09  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/po/ru.po: Russian translation update.
+
+2010-05-05  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/AUTHORS: Update the AUTHORS files
+
+2010-05-05  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/README: Update the README files
+
+2010-05-05  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/NEWS: Update NEWS fiiles
+
+2010-05-03  Nikita Kitaev <nikitakit at gmail.com>
+
+	* synfig-core/src/synfig/palette.cpp: Enable save/load of palettes
+	(use extension .spal) Conflicts: 	synfig-studio/src/gui/modules/mod_palette/dock_paledit.cpp
+
+2010-04-15  Nikita Kitaev <nikitakit at gmail.com>
+
+	* : commit da2c3c1313524f14cd616a9bd31afecfb8f3abfb Author: Carlos
+	Lopez <genetita at gmail.com> Date:   Wed Apr 14 19:56:40 2010 +0200
+
+2010-04-14  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/layer_motionblur.cpp,
+	synfig-core/src/synfig/layer_motionblur.h: Add new parameters for
+	motionblur. Enable linear, constant and hyperbolic sub-samples.
+	Patch thanks to Brendon Higgins
+
+2010-04-01  Nikita Kitaev <nikitakit at gmail.com>
+
+	* synfig-core/src/modules/mod_svg/svg_parser.h: Increase maximum
+	length of gradient ids They are cut short when alloted memory runs out.  (It may be a good
+	idea to use strings instead of char arrays.)
+
+2010-04-01  Nikita Kitaev <nikitakit at gmail.com>
+
+	* synfig-core/src/modules/mod_svg/svg_parser.cpp,
+	synfig-core/src/modules/mod_svg/svg_parser.h: Add support for SVG
+	color keywords
+
+2010-04-01  Nikita Kitaev <nikitakit at gmail.com>
+
+	* synfig-core/src/modules/mod_svg/svg_parser.cpp: Make SVG import
+	parse 3-digit hex color values
+
+2010-04-01  Nikita Kitaev <nikitakit at gmail.com>
+
+	* synfig-core/src/modules/mod_svg/svg_parser.cpp: Allow for
+	scientific notation in SVG path data
+
+2010-03-31  Nikita Kitaev <nikitakit at gmail.com>
+
+	* synfig-core/src/modules/mod_noise/valuenode_random.cpp,
+	synfig-core/src/synfig/valuenode.h,
+	synfig-core/src/synfig/valuenode_anglestring.cpp,
+	synfig-core/src/synfig/valuenode_animated.cpp,
+	synfig-core/src/synfig/valuenode_animated.h,
+	synfig-core/src/synfig/valuenode_atan2.cpp,
+	synfig-core/src/synfig/valuenode_const.cpp,
+	synfig-core/src/synfig/valuenode_cos.cpp,
+	synfig-core/src/synfig/valuenode_dotproduct.cpp,
+	synfig-core/src/synfig/valuenode_dynamiclist.cpp,
+	synfig-core/src/synfig/valuenode_exp.cpp,
+	synfig-core/src/synfig/valuenode_gradientcolor.cpp,
+	synfig-core/src/synfig/valuenode_gradientrotate.cpp,
+	synfig-core/src/synfig/valuenode_intstring.cpp,
+	synfig-core/src/synfig/valuenode_join.cpp,
+	synfig-core/src/synfig/valuenode_linear.cpp,
+	synfig-core/src/synfig/valuenode_range.cpp,
+	synfig-core/src/synfig/valuenode_realstring.cpp,
+	synfig-core/src/synfig/valuenode_sine.cpp,
+	synfig-core/src/synfig/valuenode_step.cpp,
+	synfig-core/src/synfig/valuenode_subtract.cpp,
+	synfig-core/src/synfig/valuenode_timedswap.cpp,
+	synfig-core/src/synfig/valuenode_timestring.cpp,
+	synfig-core/src/synfig/valuenode_twotone.cpp,
+	synfig-core/src/synfig/valuenode_vectorangle.cpp,
+	synfig-core/src/synfig/valuenode_vectorlength.cpp,
+	synfig-core/src/synfig/valuenode_vectorx.cpp,
+	synfig-core/src/synfig/valuenode_vectory.cpp: Remove dynamic cast
+	hack GCC 3.0.4 with broken casting is long outdated
+
+2010-03-12  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/AUTHORS: Add Bottero Ermanno copyright to the AUTHORS
+	files
+
+2010-03-12  Carlos Lopez <genetita at gmail.com>
+
+	* : commit c554611b986abfe0733b63260b19d99d3384edf0 Author: Carlos
+	Lopez <genetita at gmail.com> Date:   Fri Mar 12 17:43:05 2010 +0100
+
+2010-02-25  Diego Barrios Romero <eldruin at gmailcom>
+
+	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: libx264 codec
+	parameters fix
+
+2010-02-25  Diego Barrios Romero <eldruin at gmailcom>
+
+	* synfig-core/src/modules/mod_ffmpeg/main.cpp,
+	synfig-core/src/tool/main.cpp: Taken out useless codecs.
+
+2010-02-24  Diego Barrios Romero <eldruin at gmailcom>
+
+	* synfig-core/src/synfig/Makefile.am: Added targetparam.h to
+	makefile.am
+
+2010-02-23  Diego Barrios Romero <eldruin at gmailcom>
+
+	* synfig-core/src/modules/mod_ffmpeg/main.cpp,
+	synfig-core/src/tool/main.cpp: mod_ffmpeg target extensions update.
+	Added warning.
+
+2010-02-23  Diego Barrios Romero <eldruin at gmailcom>
+
+	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: FFMPEG module
+	if needed parameter overriding.
+
+2010-02-23  Diego Barrios Romero <eldruin at gmailcom>
+
+	* synfig-core/src/synfig/targetparam.h: Default illegal parameters
+	in TargetParam.
+
+2010-02-23  Diego Barrios Romero <eldruin at gmailcom>
+
+	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: FFMPEG title
+	metadata parameter.
+
+2010-02-22  Diego Barrios Romero <eldruin at gmailcom>
+
+	* synfig-core/src/tool/main.cpp: Took out H.261 target video codec.
+
+2010-02-22  Diego Barrios Romero <eldruin at gmailcom>
+
+	* synfig-core/src/tool/main.cpp: Added help for target video codecs.
+
+2010-02-22  Diego Barrios Romero <eldruin at gmailcom>
+
+	* synfig-core/src/tool/main.cpp: Allowed video codecs check and
+	improved parameters check.
+
+2010-02-22  Diego Barrios Romero <eldruin at gmailcom>
+
+	* synfig-core/src/synfig/targetparam.h: TargetParam constructor with
+	parameters.
+
+2010-02-21  Diego Barrios Romero <eldruin at gmailcom>
+
+	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: Propper
+	bitrate FFMPEG parameter.
+
+2010-02-20  Diego Barrios Romero <eldruin at gmailcom>
+
+	* synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp: Updated FFMPEG
+	parameters.
+
+2010-02-20  Diego Barrios Romero <eldruin at gmailcom>
+
+	* synfig-core/src/tool/main.cpp: Extract target function updated.
+
+2010-02-20  Diego Barrios Romero <eldruin at gmailcom>
+
+	* : commit ac82dc73a5ed08bd695c70a3ac70caaa3e546302 Author: Diego
+	Barrios Romero <eldruin at gmailcom> Date:   Sat Feb 20 16:34:31 2010
+	+0100
+
+2010-02-19  Diego Barrios Romero <eldruin at gmailcom>
+
+	* synfig-core/src/modules/mod_bmp/trgt_bmp.cpp,
+	synfig-core/src/modules/mod_bmp/trgt_bmp.h,
+	synfig-core/src/modules/mod_dv/trgt_dv.cpp,
+	synfig-core/src/modules/mod_dv/trgt_dv.h,
+	synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp,
+	synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.h,
+	synfig-core/src/modules/mod_gif/trgt_gif.cpp,
+	synfig-core/src/modules/mod_gif/trgt_gif.h,
+	synfig-core/src/modules/mod_imagemagick/trgt_imagemagick.cpp,
+	synfig-core/src/modules/mod_imagemagick/trgt_imagemagick.h,
+	synfig-core/src/modules/mod_jpeg/trgt_jpeg.cpp,
+	synfig-core/src/modules/mod_jpeg/trgt_jpeg.h,
+	synfig-core/src/modules/mod_libavcodec/trgt_av.cpp,
+	synfig-core/src/modules/mod_libavcodec/trgt_av.h,
+	synfig-core/src/modules/mod_magickpp/trgt_magickpp.h,
+	synfig-core/src/modules/mod_mng/trgt_mng.cpp,
+	synfig-core/src/modules/mod_mng/trgt_mng.h,
+	synfig-core/src/modules/mod_openexr/trgt_openexr.cpp,
+	synfig-core/src/modules/mod_openexr/trgt_openexr.h,
+	synfig-core/src/modules/mod_png/trgt_png.cpp,
+	synfig-core/src/modules/mod_png/trgt_png.h,
+	synfig-core/src/modules/mod_ppm/trgt_mpg.cpp,
+	synfig-core/src/modules/mod_ppm/trgt_mpg.h,
+	synfig-core/src/modules/mod_ppm/trgt_ppm.cpp,
+	synfig-core/src/modules/mod_ppm/trgt_ppm.h,
+	synfig-core/src/modules/mod_yuv420p/trgt_yuv.cpp,
+	synfig-core/src/modules/mod_yuv420p/trgt_yuv.h,
+	synfig-core/src/synfig/module.h, synfig-core/src/synfig/target.cpp,
+	synfig-core/src/synfig/target.h,
+	synfig-core/src/synfig/targetparam.h, synfig-core/src/tool/main.cpp: 
+	New targets parameters class. Tool accepts video codec and bitrate
+	parameters. All modules updated.
+
+2010-02-17  Diego Barrios Romero <eldruin at gmailcom>
+
+	* synfig-core/src/tool/main.cpp: Simplified forgotten loops
+	iterators.
+
+2010-02-17  Diego Barrios Romero <eldruin at gmailcom>
+
+	* synfig-core/src/tool/main.cpp: Simplified code.  New function to extract a parameter value.  Simplified iterators in
+	loops.
+
+2010-02-17  Diego Barrios Romero <eldruin at gmailcom>
+
+	* synfig-core/src/tool/Makefile.am,
+	synfig-core/src/tool/definitions.h, synfig-core/src/tool/job.h,
+	synfig-core/src/tool/main.cpp, synfig-core/src/tool/progress.h,
+	synfig-core/src/tool/renderprogress.h: Separated several classes
+	into header files from tool main.cpp
+
+2010-01-27  Diego Barrios Romero <eldruin at gmailcom>
+
+	* : commit dca591b6877a1bbe0639fbf206d6dd1ff9644c60 Merge: 91defb0
+	5dcab4f Author: Diego Barrios Romero <eldruin at gmailcom> Date:   Wed
+	Jan 27 18:33:26 2010 +0100
+
+2010-01-24  Carlos Lopez <genetita at gmail.com>
+
+	* : commit 79fe6f44b13cef34fcb3fc65a4c391b972300bc4 Author: Nikita
+	Kitaev <nikitakit at gmail.com> Date:   Sun Jan 24 00:28:57 2010 -0800
+
+2010-01-23  Carlos Lopez <genetita at gmail.com>
+
+	* : commit 111312670374e3ae85755fc11cda881558835131 Author:
+	Konstantin Dmitriev <ksee.zelgadis at gmail.com> Date:   Tue Jan 19
+	13:22:01 2010 +0600
+
+2009-12-22  Diego Barrios Romero <eldruin at gmail.com>
+
+	* synfig-core/src/synfig/module.h,
+	synfig-core/src/synfig/target.cpp, synfig-core/src/synfig/target.h,
+	synfig-core/src/tool/main.cpp: Changed target book map to have a
+	struct (BookEntry).
+
+2009-12-22  Diego Barrios Romero <eldruin at gmail.com>
+
+	* synfig-core/src/synfig/layer.h,
+	synfig-core/src/synfig/target.cpp, synfig-core/src/synfig/target.h,
+	synfig-core/src/synfig/valuenode.h: Added documentation for Factory
+	and Book typedefs.
+
+2009-12-08  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/valuenode_composite.cpp: Add Nikita Kitaev's
+	copyright to files he modified.
+
+2009-12-08  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/blinepoint.cpp,
+	synfig-core/src/synfig/blinepoint.h: Restore linefeed that doesn't
+	exists on the original files.
+
+2009-12-05  Nikita Kitaev <nikitakit at gmail.com>
+
+	* synfig-core/src/synfig/blinepoint.cpp,
+	synfig-core/src/synfig/blinepoint.h: Undo blinepoint changes, they
+	don't belong in this branch
+
+2009-12-01  Nikita Kitaev <nikitakit at gmail.com>
+
+	* synfig-core/src/modules/mod_svg/svg_parser.cpp,
+	synfig-core/src/modules/mod_svg/svg_parser.h: Give names to
+	automatically created inline canvases
+
+2009-12-01  Nikita Kitaev <nikitakit at gmail.com>
+
+	* synfig-core/src/modules/mod_svg/svg_parser.cpp: Bugfixing * Stroke always renders on top of fill * Fix gradient strokes * Comment out unused parameters * Work on reducing the number of Paste Canvases
+
+2009-11-28  Nikita Kitaev <nikitakit at gmail.com>
+
+	* : commit 8cbc3b87e82d66a5a9f42586459e76485534be50 Author: Nikita
+	Kitaev <nikitakit at gmail.com> Date:   Sun Nov 22 22:23:13 2009 -0800
+
+2009-10-11  Nikita Kitaev <nikitakit at gmail.com>
+
+	* synfig-core/src/synfig/blinepoint.cpp,
+	synfig-core/src/synfig/blinepoint.h: Change linking parameters in
+	BLine points Instead of the old split_tangent parameter, bline points now use
+	link_radius and link_theta. Old functions are retained for
+	compatibility.  Note: since get_split_tangent_flag() returns a pointer, the
+	split_tangent_ parameter must remain for now.
+
+2009-11-08  Nikita Kitaev <nikitakit at gmail.com>
+
+	* synfig-core/src/modules/mod_svg/svg_parser.cpp,
+	synfig-core/src/modules/mod_svg/svg_parser.h: Fix typos
+
+2009-11-07  Nikita Kitaev <nikitakit at gmail.com>
+
+	* synfig-core/src/modules/mod_svg/svg_parser.cpp,
+	synfig-core/src/modules/mod_svg/svg_parser.h: Refractor
+	Vertice->Vertex
+
+2009-11-07  Nikita Kitaev <nikitakit at gmail.com>
+
+	* synfig-core/src/modules/mod_svg/svg_parser.cpp,
+	synfig-core/src/modules/mod_svg/svg_parser.h: Path looping support
+
+2009-11-07  Nikita Kitaev <nikitakit at gmail.com>
+
+	* synfig-core/src/modules/mod_svg/svg_parser.cpp,
+	synfig-core/src/modules/mod_svg/svg_parser.h: Refractoring and code
+	clean-up
+
+2009-11-06  Nikita Kitaev <nikitakit at gmail.com>
+
+	* synfig-core/src/modules/mod_svg/svg_parser.cpp,
+	synfig-core/src/modules/mod_svg/svg_parser.h: Gradient support * Linear gradients should convert properly in all circumstances.  * Radial gradients should convert properly when the focus and center
+	are the same.
+
+2009-11-03  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/configure.ac: Apply patch 2890548: Resolve issues with
+	libtool 1.5.26 and 2.2.4. Thanks to Ray Frederikson ( uranus-235 )
+
+2009-10-24  Nikita Kitaev <nikitakit at gmail.com>
+
+	* synfig-core/src/modules/mod_svg/svg_parser.cpp: Fix closepath
+	problems The index is no longer incremented twice when encountering "z" Add
+	support for elements other than "M/m" after "z"
+
+2009-10-23  Nikita Kitaev <nikitakit at gmail.com>
+
+	* synfig-core/src/modules/mod_svg/svg_parser.cpp: Update Path Parser Parser now supports relative coordinates, as well as multiple sets
+	of arguments after a single command.
+
+2009-10-22  Nikita Kitaev <nikitakit at gmail.com>
+
+	* synfig-core/src/modules/mod_svg/svg_parser.cpp: Filter out
+	unparsable layers This avoids the creation of extraneous canvases
+
+2009-10-22  Nikita Kitaev <nikitakit at gmail.com>
+
+	* synfig-core/src/modules/mod_svg/svg_parser.cpp: Transformation
+	support in effects parser
+
+2009-10-21  Nikita Kitaev <nikitakit at gmail.com>
+
+	* synfig-core/src/modules/mod_svg/svg_parser.cpp,
+	synfig-core/src/modules/mod_svg/svg_parser.h: Restructuring 1. Remove plans for converting objects to paths      These convertions are best done in Inkscape.  2. Add skeleton parser_effects      This parser will apply transformations, path effects, etc.  3. Make resolving path transformations optional
+
+2009-10-21  Nikita Kitaev <nikitakit at gmail.com>
+
+	* synfig-core/src/modules/mod_svg/svg_parser.cpp,
+	synfig-core/src/modules/mod_svg/svg_parser.h: Centralized parsing Old parser methods for paths and polygons have moved to
+	parser_graphics.
+
+2009-10-16  Nikita Kitaev <nikitakit at gmail.com>
+
+	* synfig-core/src/modules/mod_svg/svg_parser.cpp: Implement generic
+	path parsing And fix some bugs introduced by mistakes in past few commits.
+
+2009-10-12  Nikita Kitaev <nikitakit at gmail.com>
+
+	* synfig-core/src/modules/mod_svg/svg_parser.cpp,
+	synfig-core/src/modules/mod_svg/svg_parser.h: test
+
+2009-10-12  Nikita Kitaev <nikitakit at gmail.com>
+
+	* synfig-core/src/modules/mod_svg/svg_parser.cpp,
+	synfig-core/src/modules/mod_svg/svg_parser.h: Parser restructuring Part 1
+
+2009-10-11  Nikita Kitaev <nikitakit at gmail.com>
+
+	* synfig-core/src/modules/mod_svg/svg_parser.cpp,
+	synfig-core/src/modules/mod_svg/svg_parser.h: Formatting Mostly translating variable names and comments into English.
+
+2009-10-25  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_range.cpp,
+	synfig-core/src/synfig/valuenode_range.h: Enable duck reverse
+	manipulation for Range value node convert types.
+
+2009-10-25  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_range.cpp: Fix bug in value node
+	range. If link is smaller than minimum it was returned link.
+
+2009-10-12  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/NEWS: Fix dates in NEWS files
+
+2009-10-12  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/NEWS: fix date in synfig NEWS file.
+
+2009-10-12  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/NEWS: Tiny correction for NEWS files.
+
+2009-10-10  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/README: Update README files with latest changes.
+
+2009-10-10  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/NEWS: Update NEWS files properly.
+
+2009-10-10  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/configure.ac: Write the correct version in the
+	configure.ac files.
+
+2009-10-09  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/po/ru.po: Update Russian translation. Thanks to
+	Alexandre Prokoudine
+
+2009-10-05  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/NEWS: Better redaction for NEWS files. Thanks to
+	muhkayoh
+
+2009-10-05  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/NEWS: Fix some typos in the NEWS file.
+
+2009-10-05  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/po/fr.po: Update French translation.Thanks to Aurore
+	D. (rore)
+
+2009-10-03  Nikita Kitaev <nikitakit at gmail.com>
+
+	* synfig-core/po/fr.po, synfig-core/po/ru.po,
+	synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/valuenode_composite.cpp: Remove link
+	references by index when link name can be used
+
+2009-10-03  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/configure.ac: Bump versions in configure.ac file.
+	0.04.13 Release Candidate #1 0.62.00 Release Candidate #1
+
+2009-10-03  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/NEWS: Update the NEWS with a summary of the features
+	added and bugs fixed.
+
+2009-10-02  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/AUTHORS, synfig-core/README: Forgot to add to Carlos
+	A.Sosa Navarro (SVG import module)
+
+2009-10-02  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/AUTHORS, synfig-core/README: Update authors for
+	synfig-core
+
+2009-10-02  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/po/es.po: Update Spanish translation for synfig-core
+
+2009-10-02  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/po/POTFILES.in, synfig-core/po/es.po: Add curve warp
+	files to be translated.
+
+2009-10-02  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode.cpp: Correct the release version
+	for those valuenodes.
+
+2009-10-02  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/releases.h: Bump release version to 0_62_00
+
+2009-10-02  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_bline.cpp: Avoid a warning for a
+	non used variable.
+
+2009-10-02  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/synfig/valuenode_pow.cpp: Avoid some warning
+	asking for explicit brackets.
+
+2009-10-02  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/src/modules/mod_png/mptr_png.cpp: Disable crop
+	imported images by default.  It is a very annoying behavior for most
+	of users and there is not easy option to diable it.  It can be
+	implemented in the next version after close 0.62.0 release.
+
+2009-09-29  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/po/es.po: Better translation for 'Metaballs'
+
+2009-09-29  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/po/es.po: Update Spanish trasnslation
+
+2009-09-29  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/po/POTFILES.in: Enable 'example' module files for
+	translation because they are part of the code now.
+
+2009-09-22  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/po/fr.po: Updated French translation. Thanks to Aurore
+	D. (rore)
+
+2009-09-16  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/po/ru.po: Russian translation update. Thanks to
+	Alexandre Prokoudine
+
+2009-09-09  Chris Norman <pxegeek at users.sourceforge.net>
+
+	* synfig-core/src/modules/mod_svg/layer_svg.cpp: Hide "Import SVG"
+	layer in menus, rather than listing it as "NotVisible"
+
+2009-09-03  Carlos Lopez <genetita at gmail.com>
+
+	* synfig-core/po/es.po: Spanish translation for synfig-core and
+	synfig-studio
+
+2009-08-31  Carlos Lopez <genetita at gmail.com>
+
+	* : commit 6017527745955570caee65d28f1c80b449a341e4 Author: Chris
+	Norman <pxegeek at users.sourceforge.net> Date:   Sun Aug 30 15:57:25
+	2009 -0700
+
+2009-08-28  Chris Norman <pxegeek at users.sourceforge.net>
+
+	* synfig-core/win32inst.nsi.in: Updating Windows build script to
+	include mod_svg
+
+2009-08-19  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/configure.ac: Disable libavcodec by default, because
+	it's broken with recent versions.
+
+2009-08-19  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/Makefile.am: Drop svn tags staff.  For information about tagging new release refer to
+	http://synfig.org/Release#Make_tags
+
+2009-08-19  Konstantin Dmitriev <ksee.zelgadis at gmail.com>
+
+	* synfig-core/Makefile.am: Use git instead of svn to generate
+	ChangeLog.
+
+2009-08-12  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/AUTHORS, synfig-core/ChangeLog.old,
+	synfig-core/Makefile.am, synfig-core/NEWS, synfig-core/README,
+	synfig-core/TODO, synfig-core/build_tools/Makefile.am,
+	synfig-core/build_tools/autorevision.sh,
+	synfig-core/config/ltmain.patch, synfig-core/config/package,
+	synfig-core/configure.ac, synfig-core/doc/hw-gfx-mapping.txt,
+	synfig-core/doxygen.cfg.in, synfig-core/examples/Makefile.am,
+	synfig-core/examples/walk/Makefile.am,
+	synfig-core/examples/walk/animation.lst, synfig-core/m4/ETL.m4,
+	synfig-core/m4/cxx_macros.m4, synfig-core/m4/freetype2.m4,
+	synfig-core/m4/libxml++.m4, synfig-core/m4/libxml.m4,
+	synfig-core/m4/pkgconfig.m4, synfig-core/m4/subs.m4,
+	synfig-core/m4/synfig.m4, synfig-core/macosxbuild.sh,
+	synfig-core/pkg-info/macosx/core-resources/License.txt,
+	synfig-core/pkg-info/macosx/core-resources/ReadMe.txt,
+	synfig-core/pkg-info/macosx/core-resources/Welcome.txt,
+	synfig-core/pkg-info/macosx/core-resources/install.sh,
+	synfig-core/pkg-info/macosx/core-resources/upgrade.sh,
+	synfig-core/pkg-info/macosx/synfig-core.info.in,
+	synfig-core/po/Makevars, synfig-core/po/POTFILES.in,
+	synfig-core/po/es.po, synfig-core/po/fr.po, synfig-core/po/ru.po,
+	synfig-core/src/Makefile.am, synfig-core/src/modules/Makefile.am,
+	synfig-core/src/modules/example/Makefile.am,
+	synfig-core/src/modules/example/filledrect.cpp,
+	synfig-core/src/modules/example/filledrect.h,
+	synfig-core/src/modules/example/main.cpp,
+	synfig-core/src/modules/example/metaballs.cpp,
+	synfig-core/src/modules/example/metaballs.h,
+	synfig-core/src/modules/example/simplecircle.cpp,
+	synfig-core/src/modules/example/simplecircle.h,
+	synfig-core/src/modules/lyr_freetype/Makefile.am,
+	synfig-core/src/modules/lyr_freetype/lyr_freetype.cpp,
+	synfig-core/src/modules/lyr_freetype/lyr_freetype.h,
+	synfig-core/src/modules/lyr_freetype/lyr_freetype.nsh,
+	synfig-core/src/modules/lyr_freetype/main.cpp,
+	synfig-core/src/modules/lyr_freetype/unlyr_freetype.nsh,
+	synfig-core/src/modules/lyr_std/Makefile.am,
+	synfig-core/src/modules/lyr_std/bevel.cpp,
+	synfig-core/src/modules/lyr_std/bevel.h,
+	synfig-core/src/modules/lyr_std/booleancurve.cpp,
+	synfig-core/src/modules/lyr_std/booleancurve.h,
+	synfig-core/src/modules/lyr_std/clamp.cpp,
+	synfig-core/src/modules/lyr_std/clamp.h,
+	synfig-core/src/modules/lyr_std/curvewarp.cpp,
+	synfig-core/src/modules/lyr_std/curvewarp.h,
+	synfig-core/src/modules/lyr_std/import.cpp,
+	synfig-core/src/modules/lyr_std/import.h,
+	synfig-core/src/modules/lyr_std/insideout.cpp,
+	synfig-core/src/modules/lyr_std/insideout.h,
+	synfig-core/src/modules/lyr_std/julia.cpp,
+	synfig-core/src/modules/lyr_std/julia.h,
+	synfig-core/src/modules/lyr_std/lyr_std.nsh,
+	synfig-core/src/modules/lyr_std/main.cpp,
+	synfig-core/src/modules/lyr_std/mandelbrot.cpp,
+	synfig-core/src/modules/lyr_std/mandelbrot.h,
+	synfig-core/src/modules/lyr_std/rotate.cpp,
+	synfig-core/src/modules/lyr_std/rotate.h,
+	synfig-core/src/modules/lyr_std/shade.cpp,
+	synfig-core/src/modules/lyr_std/shade.h,
+	synfig-core/src/modules/lyr_std/sphere_distort.cpp,
+	synfig-core/src/modules/lyr_std/sphere_distort.h,
+	synfig-core/src/modules/lyr_std/stretch.cpp,
+	synfig-core/src/modules/lyr_std/stretch.h,
+	synfig-core/src/modules/lyr_std/supersample.cpp,
+	synfig-core/src/modules/lyr_std/supersample.h,
+	synfig-core/src/modules/lyr_std/timeloop.cpp,
+	synfig-core/src/modules/lyr_std/timeloop.h,
+	synfig-core/src/modules/lyr_std/translate.cpp,
+	synfig-core/src/modules/lyr_std/translate.h,
+	synfig-core/src/modules/lyr_std/twirl.cpp,
+	synfig-core/src/modules/lyr_std/twirl.h,
+	synfig-core/src/modules/lyr_std/unlyr_std.nsh,
+	synfig-core/src/modules/lyr_std/warp.cpp,
+	synfig-core/src/modules/lyr_std/warp.h,
+	synfig-core/src/modules/lyr_std/xorpattern.cpp,
+	synfig-core/src/modules/lyr_std/xorpattern.h,
+	synfig-core/src/modules/lyr_std/zoom.cpp,
+	synfig-core/src/modules/lyr_std/zoom.h,
+	synfig-core/src/modules/mod_bmp/Makefile.am,
+	synfig-core/src/modules/mod_bmp/main.cpp,
+	synfig-core/src/modules/mod_bmp/mod_bmp.nsh,
+	synfig-core/src/modules/mod_bmp/mptr_bmp.cpp,
+	synfig-core/src/modules/mod_bmp/mptr_bmp.h,
+	synfig-core/src/modules/mod_bmp/trgt_bmp.cpp,
+	synfig-core/src/modules/mod_bmp/trgt_bmp.h,
+	synfig-core/src/modules/mod_bmp/unmod_bmp.nsh,
+	synfig-core/src/modules/mod_dv/Makefile.am,
+	synfig-core/src/modules/mod_dv/main.cpp,
+	synfig-core/src/modules/mod_dv/mod_dv.nsh,
+	synfig-core/src/modules/mod_dv/trgt_dv.cpp,
+	synfig-core/src/modules/mod_dv/trgt_dv.h,
+	synfig-core/src/modules/mod_dv/unmod_dv.nsh,
+	synfig-core/src/modules/mod_ffmpeg/Makefile.am,
+	synfig-core/src/modules/mod_ffmpeg/main.cpp,
+	synfig-core/src/modules/mod_ffmpeg/mod_ffmpeg.nsh,
+	synfig-core/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp,
+	synfig-core/src/modules/mod_ffmpeg/mptr_ffmpeg.h,
+	synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp,
+	synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.h,
+	synfig-core/src/modules/mod_ffmpeg/unmod_ffmpeg.nsh,
+	synfig-core/src/modules/mod_filter/Makefile.am,
+	synfig-core/src/modules/mod_filter/blur.cpp,
+	synfig-core/src/modules/mod_filter/blur.h,
+	synfig-core/src/modules/mod_filter/colorcorrect.cpp,
+	synfig-core/src/modules/mod_filter/colorcorrect.h,
+	synfig-core/src/modules/mod_filter/halftone.cpp,
+	synfig-core/src/modules/mod_filter/halftone.h,
+	synfig-core/src/modules/mod_filter/halftone2.cpp,
+	synfig-core/src/modules/mod_filter/halftone2.h,
+	synfig-core/src/modules/mod_filter/halftone3.cpp,
+	synfig-core/src/modules/mod_filter/halftone3.h,
+	synfig-core/src/modules/mod_filter/lumakey.cpp,
+	synfig-core/src/modules/mod_filter/lumakey.h,
+	synfig-core/src/modules/mod_filter/main.cpp,
+	synfig-core/src/modules/mod_filter/mod_filter.nsh,
+	synfig-core/src/modules/mod_filter/radialblur.cpp,
+	synfig-core/src/modules/mod_filter/radialblur.h,
+	synfig-core/src/modules/mod_filter/unmod_filter.nsh,
+	synfig-core/src/modules/mod_geometry/Makefile.am,
+	synfig-core/src/modules/mod_geometry/checkerboard.cpp,
+	synfig-core/src/modules/mod_geometry/checkerboard.h,
+	synfig-core/src/modules/mod_geometry/circle.cpp,
+	synfig-core/src/modules/mod_geometry/circle.h,
+	synfig-core/src/modules/mod_geometry/main.cpp,
+	synfig-core/src/modules/mod_geometry/mod_geometry.nsh,
+	synfig-core/src/modules/mod_geometry/outline.cpp,
+	synfig-core/src/modules/mod_geometry/outline.h,
+	synfig-core/src/modules/mod_geometry/rectangle.cpp,
+	synfig-core/src/modules/mod_geometry/rectangle.h,
+	synfig-core/src/modules/mod_geometry/region.cpp,
+	synfig-core/src/modules/mod_geometry/region.h,
+	synfig-core/src/modules/mod_geometry/star.cpp,
+	synfig-core/src/modules/mod_geometry/star.h,
+	synfig-core/src/modules/mod_geometry/unmod_geometry.nsh,
+	synfig-core/src/modules/mod_gif/Makefile.am,
+	synfig-core/src/modules/mod_gif/main.cpp,
+	synfig-core/src/modules/mod_gif/mod_gif.nsh,
+	synfig-core/src/modules/mod_gif/trgt_gif.cpp,
+	synfig-core/src/modules/mod_gif/trgt_gif.h,
+	synfig-core/src/modules/mod_gif/unmod_gif.nsh,
+	synfig-core/src/modules/mod_gradient/Makefile.am,
+	synfig-core/src/modules/mod_gradient/conicalgradient.cpp,
+	synfig-core/src/modules/mod_gradient/conicalgradient.h,
+	synfig-core/src/modules/mod_gradient/curvegradient.cpp,
+	synfig-core/src/modules/mod_gradient/curvegradient.h,
+	synfig-core/src/modules/mod_gradient/lineargradient.cpp,
+	synfig-core/src/modules/mod_gradient/lineargradient.h,
+	synfig-core/src/modules/mod_gradient/main.cpp,
+	synfig-core/src/modules/mod_gradient/mod_gradient.nsh,
+	synfig-core/src/modules/mod_gradient/radialgradient.cpp,
+	synfig-core/src/modules/mod_gradient/radialgradient.h,
+	synfig-core/src/modules/mod_gradient/spiralgradient.cpp,
+	synfig-core/src/modules/mod_gradient/spiralgradient.h,
+	synfig-core/src/modules/mod_gradient/unmod_gradient.nsh,
+	synfig-core/src/modules/mod_imagemagick/Makefile.am,
+	synfig-core/src/modules/mod_imagemagick/main.cpp,
+	synfig-core/src/modules/mod_imagemagick/mod_imagemagick.nsh,
+	synfig-core/src/modules/mod_imagemagick/mptr_imagemagick.cpp,
+	synfig-core/src/modules/mod_imagemagick/mptr_imagemagick.h,
+	synfig-core/src/modules/mod_imagemagick/trgt_imagemagick.cpp,
+	synfig-core/src/modules/mod_imagemagick/trgt_imagemagick.h,
+	synfig-core/src/modules/mod_imagemagick/unmod_imagemagick.nsh,
+	synfig-core/src/modules/mod_jpeg/Makefile.am,
+	synfig-core/src/modules/mod_jpeg/main.cpp,
+	synfig-core/src/modules/mod_jpeg/mod_jpeg.nsh,
+	synfig-core/src/modules/mod_jpeg/mptr_jpeg.cpp,
+	synfig-core/src/modules/mod_jpeg/mptr_jpeg.h,
+	synfig-core/src/modules/mod_jpeg/trgt_jpeg.cpp,
+	synfig-core/src/modules/mod_jpeg/trgt_jpeg.h,
+	synfig-core/src/modules/mod_jpeg/unmod_jpeg.nsh,
+	synfig-core/src/modules/mod_libavcodec/Makefile.am,
+	synfig-core/src/modules/mod_libavcodec/main.cpp,
+	synfig-core/src/modules/mod_libavcodec/mod_libavcodec.nsh,
+	synfig-core/src/modules/mod_libavcodec/mptr.cpp,
+	synfig-core/src/modules/mod_libavcodec/mptr.h,
+	synfig-core/src/modules/mod_libavcodec/trgt_av.cpp,
+	synfig-core/src/modules/mod_libavcodec/trgt_av.h,
+	synfig-core/src/modules/mod_libavcodec/unmod_libavcodec.nsh,
+	synfig-core/src/modules/mod_magickpp/Makefile.am,
+	synfig-core/src/modules/mod_magickpp/main.cpp,
+	synfig-core/src/modules/mod_magickpp/mod_magickpp.nsh,
+	synfig-core/src/modules/mod_magickpp/trgt_magickpp.cpp,
+	synfig-core/src/modules/mod_magickpp/trgt_magickpp.h,
+	synfig-core/src/modules/mod_magickpp/unmod_magickpp.nsh,
+	synfig-core/src/modules/mod_mng/Makefile.am,
+	synfig-core/src/modules/mod_mng/main.cpp,
+	synfig-core/src/modules/mod_mng/mod_mng.nsh,
+	synfig-core/src/modules/mod_mng/trgt_mng.cpp,
+	synfig-core/src/modules/mod_mng/trgt_mng.h,
+	synfig-core/src/modules/mod_mng/unmod_mng.nsh,
+	synfig-core/src/modules/mod_noise/Makefile.am,
+	synfig-core/src/modules/mod_noise/distort.cpp,
+	synfig-core/src/modules/mod_noise/distort.h,
+	synfig-core/src/modules/mod_noise/main.cpp,
+	synfig-core/src/modules/mod_noise/mod_noise.nsh,
+	synfig-core/src/modules/mod_noise/noise.cpp,
+	synfig-core/src/modules/mod_noise/noise.h,
+	synfig-core/src/modules/mod_noise/random_noise.cpp,
+	synfig-core/src/modules/mod_noise/random_noise.h,
+	synfig-core/src/modules/mod_noise/unmod_noise.nsh,
+	synfig-core/src/modules/mod_noise/valuenode_random.cpp,
+	synfig-core/src/modules/mod_noise/valuenode_random.h,
+	synfig-core/src/modules/mod_openexr/Makefile.am,
+	synfig-core/src/modules/mod_openexr/main.cpp,
+	synfig-core/src/modules/mod_openexr/mod_openexr.nsh,
+	synfig-core/src/modules/mod_openexr/mptr_openexr.cpp,
+	synfig-core/src/modules/mod_openexr/mptr_openexr.h,
+	synfig-core/src/modules/mod_openexr/trgt_openexr.cpp,
+	synfig-core/src/modules/mod_openexr/trgt_openexr.h,
+	synfig-core/src/modules/mod_openexr/unmod_openexr.nsh,
+	synfig-core/src/modules/mod_particle/Makefile.am,
+	synfig-core/src/modules/mod_particle/main.cpp,
+	synfig-core/src/modules/mod_particle/mod_particle.nsh,
+	synfig-core/src/modules/mod_particle/plant.cpp,
+	synfig-core/src/modules/mod_particle/plant.h,
+	synfig-core/src/modules/mod_particle/random.cpp,
+	synfig-core/src/modules/mod_particle/random.h,
+	synfig-core/src/modules/mod_particle/unmod_particle.nsh,
+	synfig-core/src/modules/mod_png/Makefile.am,
+	synfig-core/src/modules/mod_png/main.cpp,
+	synfig-core/src/modules/mod_png/mod_png.nsh,
+	synfig-core/src/modules/mod_png/mptr_png.cpp,
+	synfig-core/src/modules/mod_png/mptr_png.h,
+	synfig-core/src/modules/mod_png/trgt_png.cpp,
+	synfig-core/src/modules/mod_png/trgt_png.h,
+	synfig-core/src/modules/mod_png/unmod_png.nsh,
+	synfig-core/src/modules/mod_ppm/Makefile.am,
+	synfig-core/src/modules/mod_ppm/main.cpp,
+	synfig-core/src/modules/mod_ppm/mod_ppm.nsh,
+	synfig-core/src/modules/mod_ppm/mptr_ppm.cpp,
+	synfig-core/src/modules/mod_ppm/mptr_ppm.h,
+	synfig-core/src/modules/mod_ppm/trgt_mpg.cpp,
+	synfig-core/src/modules/mod_ppm/trgt_mpg.h,
+	synfig-core/src/modules/mod_ppm/trgt_ppm.cpp,
+	synfig-core/src/modules/mod_ppm/trgt_ppm.h,
+	synfig-core/src/modules/mod_ppm/unmod_ppm.nsh,
+	synfig-core/src/modules/mod_svg/Makefile.am,
+	synfig-core/src/modules/mod_svg/layer_svg.cpp,
+	synfig-core/src/modules/mod_svg/layer_svg.h,
+	synfig-core/src/modules/mod_svg/main.cpp,
+	synfig-core/src/modules/mod_svg/mod_svg.nsh,
+	synfig-core/src/modules/mod_svg/svg_parser.cpp,
+	synfig-core/src/modules/mod_svg/svg_parser.h,
+	synfig-core/src/modules/mod_svg/unmod_svg.nsh,
+	synfig-core/src/modules/mod_yuv420p/Makefile.am,
+	synfig-core/src/modules/mod_yuv420p/main.cpp,
+	synfig-core/src/modules/mod_yuv420p/mod_yuv420p.nsh,
+	synfig-core/src/modules/mod_yuv420p/trgt_yuv.cpp,
+	synfig-core/src/modules/mod_yuv420p/trgt_yuv.h,
+	synfig-core/src/modules/mod_yuv420p/unmod_yuv420p.nsh,
+	synfig-core/src/modules/mptr_mplayer/Makefile.am,
+	synfig-core/src/modules/mptr_mplayer/main.cpp,
+	synfig-core/src/modules/mptr_mplayer/mptr_mplayer.cpp,
+	synfig-core/src/modules/mptr_mplayer/mptr_mplayer.h,
+	synfig-core/src/modules/synfig_modules.cfg.in,
+	synfig-core/src/modules/template.nsh,
+	synfig-core/src/modules/untemplate.nsh,
+	synfig-core/src/synfig/Makefile.am,
+	synfig-core/src/synfig/activepoint.cpp,
+	synfig-core/src/synfig/activepoint.h,
+	synfig-core/src/synfig/angle.h,
+	synfig-core/src/synfig/blinepoint.cpp,
+	synfig-core/src/synfig/blinepoint.h,
+	synfig-core/src/synfig/blur.cpp, synfig-core/src/synfig/blur.h,
+	synfig-core/src/synfig/canvas.cpp, synfig-core/src/synfig/canvas.h,
+	synfig-core/src/synfig/canvasbase.h,
+	synfig-core/src/synfig/color.cpp, synfig-core/src/synfig/color.h,
+	synfig-core/src/synfig/context.cpp,
+	synfig-core/src/synfig/context.h,
+	synfig-core/src/synfig/curve_helper.cpp,
+	synfig-core/src/synfig/curve_helper.h,
+	synfig-core/src/synfig/curveset.cpp,
+	synfig-core/src/synfig/curveset.h,
+	synfig-core/src/synfig/distance.cpp,
+	synfig-core/src/synfig/distance.h,
+	synfig-core/src/synfig/exception.cpp,
+	synfig-core/src/synfig/exception.h,
+	synfig-core/src/synfig/gamma.cpp, synfig-core/src/synfig/gamma.h,
+	synfig-core/src/synfig/general.h,
+	synfig-core/src/synfig/gradient.cpp,
+	synfig-core/src/synfig/gradient.h, synfig-core/src/synfig/guid.cpp,
+	synfig-core/src/synfig/guid.h, synfig-core/src/synfig/guidset.h,
+	synfig-core/src/synfig/importer.cpp,
+	synfig-core/src/synfig/importer.h,
+	synfig-core/src/synfig/interpolation.h,
+	synfig-core/src/synfig/keyframe.cpp,
+	synfig-core/src/synfig/keyframe.h,
+	synfig-core/src/synfig/layer.cpp, synfig-core/src/synfig/layer.h,
+	synfig-core/src/synfig/layer_bitmap.cpp,
+	synfig-core/src/synfig/layer_bitmap.h,
+	synfig-core/src/synfig/layer_composite.cpp,
+	synfig-core/src/synfig/layer_composite.h,
+	synfig-core/src/synfig/layer_duplicate.cpp,
+	synfig-core/src/synfig/layer_duplicate.h,
+	synfig-core/src/synfig/layer_mime.cpp,
+	synfig-core/src/synfig/layer_mime.h,
+	synfig-core/src/synfig/layer_motionblur.cpp,
+	synfig-core/src/synfig/layer_motionblur.h,
+	synfig-core/src/synfig/layer_pastecanvas.cpp,
+	synfig-core/src/synfig/layer_pastecanvas.h,
+	synfig-core/src/synfig/layer_polygon.cpp,
+	synfig-core/src/synfig/layer_polygon.h,
+	synfig-core/src/synfig/layer_shape.cpp,
+	synfig-core/src/synfig/layer_shape.h,
+	synfig-core/src/synfig/layer_solidcolor.cpp,
+	synfig-core/src/synfig/layer_solidcolor.h,
+	synfig-core/src/synfig/listimporter.cpp,
+	synfig-core/src/synfig/listimporter.h,
+	synfig-core/src/synfig/loadcanvas.cpp,
+	synfig-core/src/synfig/loadcanvas.h,
+	synfig-core/src/synfig/main.cpp, synfig-core/src/synfig/main.h,
+	synfig-core/src/synfig/matrix.h, synfig-core/src/synfig/module.cpp,
+	synfig-core/src/synfig/module.h, synfig-core/src/synfig/mutex.cpp,
+	synfig-core/src/synfig/mutex.h, synfig-core/src/synfig/node.cpp,
+	synfig-core/src/synfig/node.h, synfig-core/src/synfig/nodebase.h,
+	synfig-core/src/synfig/palette.cpp,
+	synfig-core/src/synfig/palette.h,
+	synfig-core/src/synfig/paramdesc.cpp,
+	synfig-core/src/synfig/paramdesc.h, synfig-core/src/synfig/pch.h,
+	synfig-core/src/synfig/polynomial_root.cpp,
+	synfig-core/src/synfig/polynomial_root.h,
+	synfig-core/src/synfig/protocol.h,
+	synfig-core/src/synfig/quick_rng.h, synfig-core/src/synfig/real.h,
+	synfig-core/src/synfig/rect.cpp, synfig-core/src/synfig/rect.h,
+	synfig-core/src/synfig/releases.h,
+	synfig-core/src/synfig/renddesc.cpp,
+	synfig-core/src/synfig/renddesc.h,
+	synfig-core/src/synfig/render.cpp, synfig-core/src/synfig/render.h,
+	synfig-core/src/synfig/savecanvas.cpp,
+	synfig-core/src/synfig/savecanvas.h,
+	synfig-core/src/synfig/segment.h,
+	synfig-core/src/synfig/smartfile.h,
+	synfig-core/src/synfig/string.h,
+	synfig-core/src/synfig/string_decl.h,
+	synfig-core/src/synfig/surface.cpp,
+	synfig-core/src/synfig/surface.h,
+	synfig-core/src/synfig/surfacenew.cpp,
+	synfig-core/src/synfig/surfacenew.h,
+	synfig-core/src/synfig/synfig.h, synfig-core/src/synfig/synfig.nsh,
+	synfig-core/src/synfig/target.cpp, synfig-core/src/synfig/target.h,
+	synfig-core/src/synfig/target_multi.cpp,
+	synfig-core/src/synfig/target_multi.h,
+	synfig-core/src/synfig/target_null.cpp,
+	synfig-core/src/synfig/target_null.h,
+	synfig-core/src/synfig/target_null_tile.cpp,
+	synfig-core/src/synfig/target_null_tile.h,
+	synfig-core/src/synfig/target_scanline.cpp,
+	synfig-core/src/synfig/target_scanline.h,
+	synfig-core/src/synfig/target_tile.cpp,
+	synfig-core/src/synfig/target_tile.h,
+	synfig-core/src/synfig/time.cpp, synfig-core/src/synfig/time.h,
+	synfig-core/src/synfig/timepointcollect.cpp,
+	synfig-core/src/synfig/timepointcollect.h,
+	synfig-core/src/synfig/transform.cpp,
+	synfig-core/src/synfig/transform.h, synfig-core/src/synfig/types.h,
+	synfig-core/src/synfig/uniqueid.cpp,
+	synfig-core/src/synfig/uniqueid.h,
+	synfig-core/src/synfig/value.cpp, synfig-core/src/synfig/value.h,
+	synfig-core/src/synfig/valuenode.cpp,
+	synfig-core/src/synfig/valuenode.h,
+	synfig-core/src/synfig/valuenode_add.cpp,
+	synfig-core/src/synfig/valuenode_add.h,
+	synfig-core/src/synfig/valuenode_and.cpp,
+	synfig-core/src/synfig/valuenode_and.h,
+	synfig-core/src/synfig/valuenode_anglestring.cpp,
+	synfig-core/src/synfig/valuenode_anglestring.h,
+	synfig-core/src/synfig/valuenode_animated.cpp,
+	synfig-core/src/synfig/valuenode_animated.h,
+	synfig-core/src/synfig/valuenode_atan2.cpp,
+	synfig-core/src/synfig/valuenode_atan2.h,
+	synfig-core/src/synfig/valuenode_bline.cpp,
+	synfig-core/src/synfig/valuenode_bline.h,
+	synfig-core/src/synfig/valuenode_blinecalctangent.cpp,
+	synfig-core/src/synfig/valuenode_blinecalctangent.h,
+	synfig-core/src/synfig/valuenode_blinecalcvertex.cpp,
+	synfig-core/src/synfig/valuenode_blinecalcvertex.h,
+	synfig-core/src/synfig/valuenode_blinecalcwidth.cpp,
+	synfig-core/src/synfig/valuenode_blinecalcwidth.h,
+	synfig-core/src/synfig/valuenode_blinereversetangent.cpp,
+	synfig-core/src/synfig/valuenode_blinereversetangent.h,
+	synfig-core/src/synfig/valuenode_compare.cpp,
+	synfig-core/src/synfig/valuenode_compare.h,
+	synfig-core/src/synfig/valuenode_composite.cpp,
+	synfig-core/src/synfig/valuenode_composite.h,
+	synfig-core/src/synfig/valuenode_const.cpp,
+	synfig-core/src/synfig/valuenode_const.h,
+	synfig-core/src/synfig/valuenode_cos.cpp,
+	synfig-core/src/synfig/valuenode_cos.h,
+	synfig-core/src/synfig/valuenode_dotproduct.cpp,
+	synfig-core/src/synfig/valuenode_dotproduct.h,
+	synfig-core/src/synfig/valuenode_duplicate.cpp,
+	synfig-core/src/synfig/valuenode_duplicate.h,
+	synfig-core/src/synfig/valuenode_dynamiclist.cpp,
+	synfig-core/src/synfig/valuenode_dynamiclist.h,
+	synfig-core/src/synfig/valuenode_exp.cpp,
+	synfig-core/src/synfig/valuenode_exp.h,
+	synfig-core/src/synfig/valuenode_gradientcolor.cpp,
+	synfig-core/src/synfig/valuenode_gradientcolor.h,
+	synfig-core/src/synfig/valuenode_gradientrotate.cpp,
+	synfig-core/src/synfig/valuenode_gradientrotate.h,
+	synfig-core/src/synfig/valuenode_greyed.cpp,
+	synfig-core/src/synfig/valuenode_greyed.h,
+	synfig-core/src/synfig/valuenode_integer.cpp,
+	synfig-core/src/synfig/valuenode_integer.h,
+	synfig-core/src/synfig/valuenode_intstring.cpp,
+	synfig-core/src/synfig/valuenode_intstring.h,
+	synfig-core/src/synfig/valuenode_join.cpp,
+	synfig-core/src/synfig/valuenode_join.h,
+	synfig-core/src/synfig/valuenode_linear.cpp,
+	synfig-core/src/synfig/valuenode_linear.h,
+	synfig-core/src/synfig/valuenode_log.cpp,
 	synfig-core/src/synfig/valuenode_log.h,
 	synfig-core/src/synfig/valuenode_not.cpp,
 	synfig-core/src/synfig/valuenode_not.h,
@@ -15362,125 +17235,2147 @@
 	synfig-core/tags/synfig_0_61_07_rc3/win32inst.nsi.in: Delete svn
 	tags. We don't need them in git
 
-2009-05-05  pabs3 <pabs3 at 1f10aa63-cdf2-0310-b900-c93c546f37ac>
+2009-05-05  pabs3 <pabs3 at 1f10aa63-cdf2-0310-b900-c93c546f37ac>
+
+	* synfig-core/trunk/src/synfig/quick_rng.h,
+	synfig-core/trunk/src/synfig/valuenode_repeat_gradient.cpp,
+	synfig-core/trunk/src/synfig/valuenode_repeat_gradient.h: Fix some
+	SVN $Id$ keywords that got missed somehow.  git-svn-id: https://synfig.svn.sourceforge.net/svnroot/synfig@2369
+	1f10aa63-cdf2-0310-b900-c93c546f37ac
+
+2009-05-05  pabs3 <pabs3 at 1f10aa63-cdf2-0310-b900-c93c546f37ac>
+
+	* synfig-core/trunk/configure.ac: Check for big endian systems
+	instead of relying on the ETL defines.  git-svn-id: https://synfig.svn.sourceforge.net/svnroot/synfig@2368
+	1f10aa63-cdf2-0310-b900-c93c546f37ac
+
+2009-05-03  pabs3 <pabs3 at 1f10aa63-cdf2-0310-b900-c93c546f37ac>
+
+	* synfig-core/trunk/AUTHORS, synfig-core/trunk/README,
+	synfig-core/trunk/po/POTFILES.in,
+	synfig-core/trunk/src/synfig/Makefile.am,
+	synfig-core/trunk/src/synfig/valuenode.cpp,
+	synfig-core/trunk/src/synfig/valuenode_and.cpp,
+	synfig-core/trunk/src/synfig/valuenode_and.h,
+	synfig-core/trunk/src/synfig/valuenode_compare.cpp,
+	synfig-core/trunk/src/synfig/valuenode_compare.h,
+	synfig-core/trunk/src/synfig/valuenode_not.cpp,
+	synfig-core/trunk/src/synfig/valuenode_not.h,
+	synfig-core/trunk/src/synfig/valuenode_or.cpp,
+	synfig-core/trunk/src/synfig/valuenode_or.h: Apply patch #21: add
+	boolean ValueNode conversions. Thanks to nikitakit.  git-svn-id: https://synfig.svn.sourceforge.net/svnroot/synfig@2364
+	1f10aa63-cdf2-0310-b900-c93c546f37ac
+
+2009-05-03  pabs3 <pabs3 at 1f10aa63-cdf2-0310-b900-c93c546f37ac>
+
+	* synfig-core/trunk/src/modules/lyr_std/Makefile.am: Fix make
+	distcheck, which has been broken since the introduction of CurveWarp
+	in SVN r2164 by dooglus.  git-svn-id: https://synfig.svn.sourceforge.net/svnroot/synfig@2363
+	1f10aa63-cdf2-0310-b900-c93c546f37ac
+
+2009-04-22  genete <genete at 1f10aa63-cdf2-0310-b900-c93c546f37ac>
+
+	* synfig-core/trunk/src/synfig/Makefile.am,
+	synfig-core/trunk/src/synfig/valuenode.cpp,
+	synfig-core/trunk/src/synfig/valuenode_pow.cpp,
+	synfig-core/trunk/src/synfig/valuenode_pow.h: Apply patch #18:
+	Valuenode Type Power. Thanks to nikitakit.  git-svn-id: https://synfig.svn.sourceforge.net/svnroot/synfig@2362
+	1f10aa63-cdf2-0310-b900-c93c546f37ac
+
+2009-04-12  pabs3 <pabs3 at 1f10aa63-cdf2-0310-b900-c93c546f37ac>
+
+	* synfig-core/trunk/Makefile.am,
+	synfig-core/trunk/examples/Makefile.am,
+	synfig-core/trunk/examples/walk/Makefile.am,
+	synfig-core/trunk/src/Makefile.am,
+	synfig-core/trunk/src/modules/Makefile.am,
+	synfig-core/trunk/src/modules/example/Makefile.am,
+	synfig-core/trunk/src/modules/lyr_freetype/Makefile.am,
+	synfig-core/trunk/src/modules/lyr_std/Makefile.am,
+	synfig-core/trunk/src/modules/mod_bmp/Makefile.am,
+	synfig-core/trunk/src/modules/mod_dv/Makefile.am,
+	synfig-core/trunk/src/modules/mod_ffmpeg/Makefile.am,
+	synfig-core/trunk/src/modules/mod_filter/Makefile.am,
+	synfig-core/trunk/src/modules/mod_geometry/Makefile.am,
+	synfig-core/trunk/src/modules/mod_gif/Makefile.am,
+	synfig-core/trunk/src/modules/mod_gradient/Makefile.am,
+	synfig-core/trunk/src/modules/mod_imagemagick/Makefile.am,
+	synfig-core/trunk/src/modules/mod_jpeg/Makefile.am,
+	synfig-core/trunk/src/modules/mod_libavcodec/Makefile.am,
+	synfig-core/trunk/src/modules/mod_magickpp/Makefile.am,
+	synfig-core/trunk/src/modules/mod_mng/Makefile.am,
+	synfig-core/trunk/src/modules/mod_noise/Makefile.am,
+	synfig-core/trunk/src/modules/mod_openexr/Makefile.am,
+	synfig-core/trunk/src/modules/mod_particle/Makefile.am,
+	synfig-core/trunk/src/modules/mod_png/Makefile.am,
+	synfig-core/trunk/src/modules/mod_ppm/Makefile.am,
+	synfig-core/trunk/src/modules/mod_yuv420p/Makefile.am,
+	synfig-core/trunk/src/modules/mptr_mplayer/Makefile.am,
+	synfig-core/trunk/src/synfig/Makefile.am,
+	synfig-core/trunk/src/tool/Makefile.am: Reformat and clean up the
+	automake files git-svn-id: https://synfig.svn.sourceforge.net/svnroot/synfig@2358
+	1f10aa63-cdf2-0310-b900-c93c546f37ac
+
+2009-02-26  pabs3 <pabs3 at 1f10aa63-cdf2-0310-b900-c93c546f37ac>
+
+	* synfig-core/trunk/configure.ac: Switch to a version of
+	po/Makefile.in.in that does not ignore --datarootdir git-svn-id: https://synfig.svn.sourceforge.net/svnroot/synfig@2351
+	1f10aa63-cdf2-0310-b900-c93c546f37ac
+
+2009-02-21  gballintijn <gballintijn at 1f10aa63-cdf2-0310-b900-c93c546f37ac>
+
+	* synfig-core/trunk/src/modules/Makefile.am: Revert the accidental
+	removal of mod_libavcodec in r2286.  git-svn-id: https://synfig.svn.sourceforge.net/svnroot/synfig@2346
+	1f10aa63-cdf2-0310-b900-c93c546f37ac
+
+2009-02-14  gballintijn <gballintijn at 1f10aa63-cdf2-0310-b900-c93c546f37ac>
+
+	* synfig-core/trunk/src/tool/main.cpp: #2513683: Fix misuse of
+	constructor.  * Don't abuse the constructor of class Argument as a mere function.  * Don't use an integer value as a boolean flag.  git-svn-id: https://synfig.svn.sourceforge.net/svnroot/synfig@2344
+	1f10aa63-cdf2-0310-b900-c93c546f37ac
+
+2009-01-13  dooglus <dooglus at 1f10aa63-cdf2-0310-b900-c93c546f37ac>
+
+	* synfig-core/trunk/src/synfig/layer_bitmap.cpp,
+	synfig-core/trunk/src/synfig/layer_bitmap.h: Fix 2502818: Noise when
+	refresh an imported image layer.  git-svn-id: https://synfig.svn.sourceforge.net/svnroot/synfig@2329
+	1f10aa63-cdf2-0310-b900-c93c546f37ac
+
+2009-01-13  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/layer_bitmap.cpp,
+	synfig-core/trunk/src/synfig/layer_bitmap.h: Fix 2502818: Noise when
+	refresh an imported image layer.
+
+2009-01-13  pabs3 <pabs3 at 1f10aa63-cdf2-0310-b900-c93c546f37ac>
+
+	* synfig-core/trunk/AUTHORS, synfig-core/trunk/src/synfig/main.cpp,
+	synfig-core/trunk/src/tool/main.cpp: Fix strange characters and
+	pango warnings with LC_ALL=fr at euro. Patch & testing by Cyril
+	Brulebois (KiBi).  git-svn-id: https://synfig.svn.sourceforge.net/svnroot/synfig@2328
+	1f10aa63-cdf2-0310-b900-c93c546f37ac
+
+2009-01-13  pabs3 <pabs3 at 1f10aa63-cdf2-0310-b900-c93c546f37ac>
+
+	* synfig-core/trunk/AUTHORS, synfig-core/trunk/po/fr.po: Add some
+	French translation fixes from Cyril Brulebois (KiBi) git-svn-id: https://synfig.svn.sourceforge.net/svnroot/synfig@2325
+	1f10aa63-cdf2-0310-b900-c93c546f37ac
+
+2009-01-06  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/value.cpp: Does this fix #27?  Does
+	it cause any messages like "error: 1 canvases not yet deleted!" to
+	appear?  I'm not happy with this fix, but it does appear to stop the
+	crash.
+
+2009-01-04  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/loadcanvas.cpp,
+	synfig-core/trunk/src/synfig/valuenode_animated.cpp,
+	synfig-core/trunk/src/synfig/valuenode_animated.h: Renamed one of
+	the ValueNode_Animated::waypoint_list() members to
+	editable_waypoint_list() to make it clearer which code is able to
+	modify the returned list.
+
+2009-01-04  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_animated.cpp,
+	synfig-core/trunk/src/synfig/valuenode_animated.h,
+	synfig-core/trunk/src/synfig/waypoint.cpp: Remove the child-parent
+	relationship when removing waypoints from an animated valuenode.
+
+2009-01-04  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/node.cpp: Improve node debugging.
+
+2009-01-04  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/waypoint.cpp: Remove unused variable.
+
+2009-01-04  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/waypoint.cpp,
+	synfig-core/trunk/src/synfig/waypoint.h: Fix #26?  This seems to
+	cover most cases - but is there still some way to break it?
+
+2009-01-01  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp: Default
+	to using the simple tangent transformation.  export
+	SYNFIG_COMPLEX_TANGENT_BONE_INFLUENCE=1 to switch to genete's more
+	complex method.
+
+2008-12-31  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bline.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bline.h: No real changes.
+	Return sooner from get_blinepoint() if the boned bool isn't set.
+	Change the function name, swap the argument order.
+
+2008-12-31  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp: Fix
+	damaged printf().
+
+2008-12-31  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp: An
+	alternative way of transforming tangents.
+
+2008-12-29  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bline.cpp: Only if the
+	tangent is split then compensate the rotation by the variation of
+	the vertex in relation to the mid-point of the next and previous
+	vertexes.
+
+2008-12-29  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp: Clean
+	uneeded code
+
+2008-12-29  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bline.cpp: New formulation
+	to produce calculated tangents. It woks reasonabely well now.
+	Removed debug code.
+
+2008-12-28  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bline.cpp: Added a
+	perpendicular angle i the formula. Still don't render properly.
+
+2008-12-28  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bline.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bline.h: Use
+	get_boned_blinepoint member where applicable. Fix an error in its
+	formula.  It works but needs some inprovements on the calculation of
+	alpha.
+
+2008-12-27  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/blinepoint.h,
+	synfig-core/trunk/src/synfig/valuenode_bline.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bline.h,
+	synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp: Add
+	vertex_setup value to blinepoint to know the vertex position before
+	modified by bone influence.  Add a member to ValueNode_BLine to
+	retrieve a blinepoint with its tangents properly calculated.  Not
+	used yet.
+
+2008-12-27  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/blinepoint.h,
+	synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp: Fix a
+	missing ; and , and remove some commented lines that are needed for
+	the moment. Will be removed later.
+
+2008-12-27  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp: Don't
+	transform tangents for BoneInfluenced BlinePoints. Tangents will be
+	calculated by the bline according to the boned_vertex flag
+
+2008-12-27  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/blinepoint.h: Add a flag for vertexes
+	influenced by bones. Default false.
+
+2008-12-26  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/doc/tangentproblem.txt: Current, Next and
+	Previous are BoneInfluence convert types and return a Vector value
+
+2008-12-26  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/doc/tangentproblem.txt: Reworked the concept of
+	calculated tangents based on neighbour vertices.
+
+2008-12-26  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp: Add
+	default case for operator() member
+
+2008-12-26  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp,
+	synfig-core/trunk/src/synfig/valuenode_const.cpp: Fix a crash in the
+	bline tool.  Only convert blinepoints to composite in boneinfluence
+	nodes.
+
+2008-12-25  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_const.cpp: Automatically
+	convert blinepoints to composite.
+
+2008-12-25  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bline.cpp: Pass the canvas
+	parameter on to various create() functions.
+
+2008-12-25  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp: Added
+	debug code
+
+2008-12-24  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp: 
+	BlinePoints can be converted to BoneInfluence
+
+2008-12-24  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/transform.cpp: More debug.
+
+2008-12-24  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/modules/lyr_std/insideout.cpp,
+	synfig-core/trunk/src/modules/lyr_std/rotate.cpp,
+	synfig-core/trunk/src/modules/lyr_std/sphere_distort.cpp,
+	synfig-core/trunk/src/modules/lyr_std/stretch.cpp,
+	synfig-core/trunk/src/modules/lyr_std/translate.cpp,
+	synfig-core/trunk/src/modules/lyr_std/twirl.cpp,
+	synfig-core/trunk/src/modules/lyr_std/warp.cpp,
+	synfig-core/trunk/src/modules/lyr_std/zoom.cpp,
+	synfig-core/trunk/src/synfig/transform.cpp,
+	synfig-core/trunk/src/synfig/transform.h: Add debugging for
+	transform stacks (export SYNFIG_DEBUG_TRANSFORM_STACK=1).
+
+2008-12-24  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/canvas.cpp,
+	synfig-core/trunk/src/synfig/canvas.h,
+	synfig-core/trunk/src/synfig/loadcanvas.cpp,
+	synfig-core/trunk/src/synfig/valuenode.cpp,
+	synfig-core/trunk/src/synfig/valuenode.h: Some calls to
+	find_value_node() don't expect it to raise an exception.  To debug
+	this, I've arranged for ValueNode::breakpoint() to be called
+	whenever an unexpected exception is raised.
+
+2008-12-24  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/value.cpp: Fix the format strings in
+	ValueBase::get_string().
+
+2008-12-23  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/doc/tangentproblem.txt: Replace spaces by tabs
+
+2008-12-23  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/doc/tangentproblem.txt: Added some comments on
+	the tangent problem.
+
+2008-12-22  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/doc/tangentbyvertex.txt,
+	synfig-core/trunk/doc/tangentproblem.txt: Renamed
+	tangentbyvertex.txt to tangentproblem.txt for a wider discussion.
+
+2008-12-23  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.h,
+	synfig-core/trunk/src/synfig/matrix.cpp,
+	synfig-core/trunk/src/synfig/matrix.h,
+	synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp: Hopefully
+	this mostly fixes the duck positioning.  The purple width duck is
+	sometimes still misaligned.
+
+2008-12-23  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/matrix.cpp,
+	synfig-core/trunk/src/synfig/matrix.h: Make Matrix::get_string()
+	const.
+
+2008-12-23  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/matrix.cpp: Fix a silly bug in
+	Matrix::invert().
+
+2008-12-22  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/doc/tangentbyvertex.txt: Add first proposal to
+	solve tangents problem under bone influence.  Alternatives needed.
+	Fix the convert type here before start coding.
+
+2008-12-22  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.h,
+	synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.h,
+	synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp: Don't
+	include the local scale in the animated matrix; store it separately
+	instead.
+
+2008-12-21  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/layer_skeleton.cpp: Default to only
+	creating a single bone in a new skeleton.
+
+2008-12-21  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_staticlist.cpp: When
+	inserting (smart) a new bone to a skeleton, set its parent to be the
+	bone we clicked on, and set its origin and origin0 to be just past
+	the tip of the bone we clicked on.
+
+2008-12-21  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/layer_motionblur.cpp,
+	synfig-core/trunk/src/synfig/layer_motionblur.h: Remove motionblur
+	debug.
+
+2008-12-20  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_const.cpp: When destroying
+	a ValueNode_Const that holds a TYPE_VALUENODE_BONE, remove the const
+	node from the bone's parent set.
+
+2008-12-20  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/node.cpp: Add optional debug.
+
+2008-12-20  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp,
+	synfig-core/trunk/src/synfig/bone.h,
+	synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.h,
+	synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp: Disable
+	the boneinfluence transforms when viewing skeleton setup.
+
+2008-12-20  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/matrix.cpp: Comment debugging.
+
+2008-12-20  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/matrix.cpp,
+	synfig-core/trunk/src/synfig/matrix.h: Define
+	Matrix::get_transformed() to be const.
+
+2008-12-20  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp: Fix Bone::is_root().
+
+2008-12-19  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp: If the
+	total of the weights in the bone weight pair list is zero, don't
+	transform the point at all - just use the identity matrix.
+
+2008-12-19  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp,
+	synfig-core/trunk/src/synfig/valuenode_boneinfluence.h: Switch the
+	order of the two parameters.  The list will be expanded more often
+	than the link, so keep it closer.
+
+2008-12-19  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_boneweightpair.cpp: Add
+	bone_map debugging when making a new bwp.
+
+2008-12-19  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_staticlist.cpp: When
+	inserting a new bwp into a bwp list, copy the weight from the bwp we
+	right-clicked on to cause the insert to happen.
+
+2008-12-19  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/matrix.cpp: Allow for a rounding
+	error when checking for a zero determinant.
+
+2008-12-19  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/Makefile.am,
+	synfig-core/trunk/src/synfig/matrix.cpp,
+	synfig-core/trunk/src/synfig/matrix.h: Move the code from matrix.h
+	to new file matrix.cpp to make rebuilds quicker after editing the
+	code.
+
+2008-12-19  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp,
+	synfig-core/trunk/src/synfig/valuenode_boneinfluence.h: Allow
+	interactive manipulation of boneinfluence points.
+
+2008-12-19  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/matrix.h: Add is_invertible() and
+	invert().
+
+2008-12-19  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Small changes.
+	The only significant one is that we should insert a newly created
+	bone into the map before setting its canvas.
+
+2008-12-19  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Comment debug.
+
+2008-12-19  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp,
+	synfig-core/trunk/src/synfig/bone.h,
+	synfig-core/trunk/src/synfig/loadcanvas.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.h: Add another parameter
+	to scale the width of just the current bone.  Rename and reorder the
+	parameters.
+
+2008-12-19  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp: Be more
+	verbal about the line that needs removing soon.
+
+2008-12-19  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/matrix.h,
+	synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.h: Hook up the scalel
+	local length scale.  Remove the non-default matrix constructors and
+	use set_scale() etc. explicitly for clarity.  Fix some debug.
+
+2008-12-19  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/loadcanvas.cpp: Typo.
+
+2008-12-19  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp,
+	synfig-core/trunk/src/synfig/bone.h,
+	synfig-core/trunk/src/synfig/loadcanvas.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.h: Add 'scalel'
+	parameter.  It's not used yet.
+
+2008-12-19  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/loadcanvas.cpp: Fix a crash when a
+	link of a valuenode_bone is missing.  Improve optional debug.
+
+2008-12-19  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp,
+	synfig-core/trunk/src/synfig/valuenode_boneinfluence.h: Get rid of
+	the 'vertex_free' and rename 'vertex_setup' to 'link'.
+
+2008-12-18  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/canvas.cpp,
+	synfig-core/trunk/src/synfig/valuenode.cpp,
+	synfig-core/trunk/src/synfig/valuenode.h: I saw a couple of crashes
+	from a valuenode not being found.  This code allows me to breakpoint
+	on the exception when it's not expected.
+
+2008-12-18  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Improve the
+	matrix debugging.  Put the parent parameter next to the name
+	parameter rather than at the end.
+
+2008-12-18  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp,
+	synfig-core/trunk/src/synfig/bone.h,
+	synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.h: Add parameter
+	'scaley'.  Rename 'scale' to 'scalex'.
+
+2008-12-18  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/node.cpp: Improve optional debug for
+	on_changed().
+
+2008-12-18  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/context.cpp: Improved the (commented)
+	debug.
+
+2008-12-18  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_const.cpp: Editing bone
+	parameters wasn't causing the display to update immediately.  This
+	was because the ValueNode_Const holding the ValueNode_Bone in the
+	ValueNode_BoneWeightPair wasn't habing the ValueNode_Bone in its
+	parent list.
+
+2008-12-18  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/loadcanvas.cpp: 
+	SYNFIG_ALLOW_MISSING_BONE_LINKS was only temporary.  We won't be
+	saving bones without their parameters any more.
+
+2008-12-17  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: The 'scale'
+	parameter is only supposed to scale a bone lengthways, not widthways
+	as well.
+
+2008-12-17  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bline.cpp: Don't set the
+	parent canvas too early, or it ends up being destroyed by the
+
+	"get_parent_canvas()->signal_value_node_child_added()(this,value_node)" call due to the refcount going up and back to zero before we have created a permanent handle to it.
+
+2008-12-17  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bline.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bline.h: Add optional
+	refcount debugging for blines.
+
+2008-12-17  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/loadcanvas.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bline.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bline.h,
+	synfig-core/trunk/src/synfig/valuenode_composite.cpp,
+	synfig-core/trunk/src/synfig/valuenode_composite.h,
+	synfig-core/trunk/src/synfig/valuenode_dynamiclist.cpp,
+	synfig-core/trunk/src/synfig/valuenode_dynamiclist.h: Adding points
+	to a loaded outline, converting to bone_influence and trying to
+	select an existing bone wasn't showing the old bone list.
+
+2008-12-17  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/savecanvas.cpp: Remove more debug.
+
+2008-12-17  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/savecanvas.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.cpp: More silencing...
+
+2008-12-17  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/loadcanvas.cpp,
+	synfig-core/trunk/src/synfig/valuenode.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_staticlist.cpp: Make
+	everything quieter by default.
+
+2008-12-17  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Tidy the debug.
+
+2008-12-17  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_staticlist.cpp: Deleted
+	case for BONE type - it's not needed?
+
+2008-12-17  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_staticlist.cpp: Fix #20.
+
+2008-12-17  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/matrix.h: No change.  Just edited the
+	layout a little and comments a lot.
+
+2008-12-17  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: When calculating
+	matrices, work through the bones in the opposite order.
+
+2008-12-16  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp: Typo.
+
+2008-12-16  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp: Fix a
+	bug - we need to start accumulating with a zero matrix.
+
+2008-12-16  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp: Add more
+	optional debug, this time for the matrix stuff.
+
+2008-12-16  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/matrix.h: Add some more formatting to
+	the get_string().
+
+2008-12-16  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/matrix.h: Format the matrix on
+	multiple lines for clarity.
+
+2008-12-16  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/loadcanvas.cpp: If
+	SYNFIG_ALLOW_MISSING_BONE_LINKS is set, we accept bones in .sifz
+	files which don't have their numeric parameters set.  This is the
+	case for .sifz files created during testing.
+
+2008-12-16  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Stop hiding the
+	bone fields - it seems stable enough to play with now to test the
+	matrix transformations.  Allow for placeholder valuenodes to be in
+	the structure when searching for loops.  This happens while loading.
+
+2008-12-16  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp,
+	synfig-core/trunk/src/synfig/valuenode_staticlist.cpp,
+	synfig-core/trunk/src/synfig/valuenode_staticlist.h: Fix #13.
+
+2008-12-16  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode.cpp,
+	synfig-core/trunk/src/synfig/valuenode.h,
+	synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.h,
+	synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp,
+	synfig-core/trunk/src/synfig/valuenode_boneinfluence.h,
+	synfig-core/trunk/src/synfig/valuenode_boneweightpair.cpp,
+	synfig-core/trunk/src/synfig/valuenode_boneweightpair.h,
+	synfig-core/trunk/src/synfig/valuenode_const.cpp,
+	synfig-core/trunk/src/synfig/valuenode_const.h,
+	synfig-core/trunk/src/synfig/valuenode_staticlist.cpp: This
+	hopefully fixes bugs caused by not having the parent canvas set in
+	valuenodes.
+
+2008-12-16  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/loadcanvas.cpp,
+	synfig-core/trunk/src/synfig/valuenode.cpp,
+	synfig-core/trunk/src/synfig/valuenode.h: Lots of ValueNodes don't
+	know which canvas they're in.  This change is a step towards letting
+	them know it.
+
+2008-12-16  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_boneweightpair.cpp: The
+	bone in a boneweightpair is actually a ValueNode_Bone::Handle.
+
+2008-12-16  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_const.cpp: Show debug for
+	forced converts.
+
+2008-12-16  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_dynamiclist.cpp,
+	synfig-core/trunk/src/synfig/valuenode_staticlist.cpp: Show debug
+	when we can't find the parent canvas.
+
+2008-12-16  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode.cpp,
+	synfig-core/trunk/src/synfig/valuenode.h: New debugging option:
+	SYNFIG_DEBUG_GET_PARENT_CANVAS.
+
+2008-12-16  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.cpp: The user isn't
+	allowed to convert to Duplicate or Root Bone types.  The code
+	stopping it was in 2 different places.  Move them to the same place.
+
+2008-12-16  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/value.cpp: Typo: close paren in wrong
+	place.
+
+2008-12-16  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/boneweightpair.h: get_string() needs
+	to be declared const.
+
+2008-12-16  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_staticlist.cpp: Fix #15.
+
+2008-12-16  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.h: Add
+	ValueNode_Bone_Root::operator().
+
+2008-12-16  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/waypoint.cpp: Remove debug.
+
+2008-12-16  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_animated.cpp: Remove debug.
+
+2008-12-16  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/loadcanvas.cpp: Was failing to render
+	synfig_icon.sif before.
+
+2008-12-15  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode.cpp: Make the debugging of
+	set_parent_canvas() etc. conditional on
+	SYNFIG_DEBUG_SET_PARENT_CANVAS.
+
+2008-12-15  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode.cpp: Don't have
+	ValueNode::get_non_inline_ancestor_canvas() crash if the parent
+	canvas is NULL.
+
+2008-12-15  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/savecanvas.cpp: Check for a zero
+	canvas when encoding a valuenode.  Pass the canvas when encoding a
+	value.
+
+2008-12-15  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/savecanvas.cpp: Save <bones> before
+	<defs> in case any bones are exported.  XOR the guid with the canvas
+	guid.
+
+2008-12-15  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/savecanvas.cpp: Remove a bad assert.
+
+2008-12-15  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_const.cpp: Add comments.
+
+2008-12-15  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Fixed elsewhere
+	now.
+
+2008-12-15  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.h: We can't just return
+	false for the root's check_type() - it stops .sifz files loading.
+
+2008-12-15  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_const.cpp: Seems some of
+	the previous change wasn't needed.
+
+2008-12-15  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.h: Don't show 'Root
+	Bone' as a convert type.
+
+2008-12-15  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Fix warnings.
+
+2008-12-15  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: This bit of code
+	isn't needed.
+
+2008-12-15  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Fix the problem
+	of saving bones in the wrong order.
+
+2008-12-15  Chris Moore <chris at chrislap.local>
+
+	* synfig-core/trunk/src/synfig/loadcanvas.cpp,
+	synfig-core/trunk/src/synfig/savecanvas.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.h: save/load almost
+	works now.
+
+2008-12-15  Chris Moore <chris at chrislap.local>
+
+	* synfig-core/trunk/src/synfig/canvas.h,
+	synfig-core/trunk/src/synfig/loadcanvas.cpp,
+	synfig-core/trunk/src/synfig/loadcanvas.h,
+	synfig-core/trunk/src/synfig/savecanvas.cpp,
+	synfig-core/trunk/src/synfig/value.cpp,
+	synfig-core/trunk/src/synfig/valuenode.cpp,
+	synfig-core/trunk/src/synfig/valuenode_animated.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.h,
+	synfig-core/trunk/src/synfig/valuenode_const.cpp,
+	synfig-core/trunk/src/synfig/waypoint.cpp: Checkpoint.  It's still
+	not working, but it's better than it was.
+
+2008-12-14  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.h: Added debugging.
+	Still crashes, but now I can see why.  The Root vn is being
+	destroyed before canvastreestore.cpp gets to use it.
+
+2008-12-14  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/loadcanvas.cpp,
+	synfig-core/trunk/src/synfig/matrix.h,
+	synfig-core/trunk/src/synfig/valuenode.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.h: WARNING: this commit
+	breaks bones.  Don't rebase to it.  Made a bunch of changes.  Mostly
+	to do with having the 'root' of the bone tree be a real
+	ValueNode_Bone_Root rather than a NULL pointer.  This lets us
+	re-write the matrix functions to not have to do if(parent)recurse -
+	since the root node can simply return identity matrices for the
+	transforms.  Also added a couple of new matrix constructors so we
+	can make the matrix functions in valuenode_bone.cpp into single line
+	functions.
+
+2008-12-14  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/savecanvas.cpp: Save the type when
+	the parent is 'root' too.
+
+2008-12-14  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/savecanvas.cpp: When saving a bone
+	and just specifying its guid, we also should provide the valuenode
+	type and value type.
+
+2008-12-13  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/canvas.h,
+	synfig-core/trunk/src/synfig/loadcanvas.cpp,
+	synfig-core/trunk/src/synfig/loadcanvas.h,
+	synfig-core/trunk/src/synfig/savecanvas.cpp,
+	synfig-core/trunk/src/synfig/valuenode.cpp,
+	synfig-core/trunk/src/synfig/valuenode.h,
+	synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.h: Saving looks OK now.
+	Loading still needs to be able to deal with seeing the guids out of
+	order.
+
+2008-12-13  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode.h,
+	synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.h,
+	synfig-core/trunk/src/synfig/valuenode_staticlist.cpp,
+	synfig-core/trunk/src/synfig/valuenode_staticlist.h: Use one
+	bone_map per root canvas rather that a single bone_map.  Track bones
+	from canvas to canvas as they move.
+
+2008-12-13  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp,
+	synfig-core/trunk/src/synfig/bone.h,
+	synfig-core/trunk/src/synfig/loadcanvas.cpp,
+	synfig-core/trunk/src/synfig/loadcanvas.h,
+	synfig-core/trunk/src/synfig/savecanvas.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.h: Don't use the
+	bone_map and find() to look up bone parents.  Instead of storing the
+	GUID, store a pointer to the ValueNode_Bone object in the Bone
+	object.  Some changes to load/save too, but not ready yet.
+
+2008-12-13  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp,
+	synfig-core/trunk/src/synfig/bone.h,
+	synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.h: Move the code that
+	calculates transformation matrices from Bone to ValueNode_Bone.
+	This can be improved to cache the parent values in the parent,
+	rather than recursive up to the root for each bone.
+
+2008-12-13  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Let's show all
+	the fields now that things are a little more stable.
+
+2008-12-13  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_const.cpp: Automatically
+	convert new boneweightpair const nodes to ValueNode_BoneWeightPair.
+
+2008-12-13  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/boneweightpair.h: Show "(weight)
+	bone_name" instead of "UNKNOWN" as a boneweightpair's value in the
+	param panel.
+
+2008-12-13  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp: Fix #13.
+
+2008-12-13  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/value.h: Remove unneeded #includes to
+	keep the dependencies smaller.
+
+2008-12-13  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_boneweightpair.cpp: Fix
+	dooglus copyright year
+
+2008-12-13  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp,
+	synfig-core/trunk/src/synfig/bone.h: Add dooglus and mine copyrights
+
+2008-12-13  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/matrix.h: Remove Darco and Adrian
+	copyrights and add dooglus one
+
+2008-12-13  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_boneweightpair.h: Add my
+	copyright and fix Chris copyright year.
+
+2008-12-12  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/boneweightpair.h,
+	synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp: Fix
+	boneinfluence to divide by the total weight.
+
+2008-12-12  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp: Allow
+	vertices to be converted to boneinfluence again.  The previous
+	commit broke it.
+
+2008-12-12  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/Makefile.am,
+	synfig-core/trunk/src/synfig/boneweightpair.h,
+	synfig-core/trunk/src/synfig/value.cpp,
+	synfig-core/trunk/src/synfig/value.h,
+	synfig-core/trunk/src/synfig/valuenode_boneweightpair.cpp: A first
+	attempt at adding the BONE_WEIGHT_PAIR type.  Barely checked.
+
+2008-12-12  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Add commented
+	debug.
+
+2008-12-12  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.h: Prevent the formation
+	of parent loops by 'connect'ing.
+
+2008-12-12  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Comment
+	debugging.
+
+2008-12-12  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.h: Move all the loop
+	prevention code from widget_bonechooser.cpp into valuenode_bone.cpp.
+
+2008-12-12  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.h: Rename parameter
+	'value' to 'value_node'.
+
+2008-12-12  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: export
+	SYNFIG_DEBUG_BONE_CONSTRUCTORS=1 to see banners when bone valuenodes
+	are made or destroyed.
+
+2008-12-12  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.h: When cloning a
+	ValueNode_Bone, make the names of the new bones unique.
+
+2008-12-12  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.h: Rename get_bones() to
+	get_bones_referenced_by().
+
+2008-12-12  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.h: Rename
+	get_affected_bones to get_bones_affected_by.
+
+2008-12-12  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.h: Use the BoneSet
+	typedef.
+
+2008-12-12  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.h: Move the code that
+	gets affecting bones into the ValueNode_Bone class.
+
+2008-12-12  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode.cpp: Show the type of a
+	linkable valuenode.
+
+2008-12-12  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/layer.cpp: Show a non-empty
+	description for a layer - ie. if the user didn't provide a name,
+	show the generic name.
+
+2008-12-12  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_animated.cpp,
+	synfig-core/trunk/src/synfig/valuenode_animated.h,
+	synfig-core/trunk/src/synfig/valuenode_const.cpp,
+	synfig-core/trunk/src/synfig/valuenode_const.h: Make get_string()
+	show whether a node is const or animated.
+
+2008-12-12  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/value.cpp: Fix #10: implement
+	ValueBase::operator== for TYPE_VALUENODE_BONE.
+
+2008-12-11  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp: Various
+	fixes.  Seems to work now.
+
+2008-12-11  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp: Tidying.
+
+2008-12-11  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp,
+	synfig-core/trunk/src/synfig/valuenode_boneinfluence.h: A first
+	attempt at ValueNode_BoneInfluence.  It doesn't work, but at least
+	it builds.
+
+2008-12-11  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode.cpp,
+	synfig-core/trunk/src/synfig/valuenode_boneweightpair.cpp: Show the
+	words as separate in "Bone Weight Pair".
+
+2008-12-11  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/canvas.cpp,
+	synfig-core/trunk/src/synfig/canvas.h,
+	synfig-core/trunk/src/synfig/layer.cpp,
+	synfig-core/trunk/src/synfig/layer.h,
+	synfig-core/trunk/src/synfig/node.h,
+	synfig-core/trunk/src/synfig/valuenode.cpp,
+	synfig-core/trunk/src/synfig/valuenode.h: Add Node::get_string()
+	which attempts to return some kind of string representation of
+	whatever the Node is.
+
+2008-12-11  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_staticlist.cpp,
+	synfig-core/trunk/src/synfig/valuenode_staticlist.h: Fix bug #9.
+	The ValueNode_StaticList destructor wasn't calling unlink_all() for
+	some reason.
+
+2008-12-11  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: When showing the
+	bone_map, show the bone's id if it's exported.
+
+2008-12-11  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/node.h,
+	synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.h: Allow
+	Node::set_guid() to be overridden.  Override it in ValueNode_Bone to
+	allow us to keep the bone_map up to date when guids change.
+
+2008-12-11  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_staticlist.cpp: Show the
+	bone map when deleting a staticlist.
+
+2008-12-11  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/layer_skeleton.cpp: Remove debug.
+
+2008-12-11  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_staticlist.cpp: Show bone
+	map before and after cloning a static list.
+
+2008-12-11  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/layer_skeleton.cpp: Use "export
+	SYNFIG_NUMBER_OF_BONES_IN_SKELETON=10" to set the number of bones in
+	a new skeleton.
+
+2008-12-11  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Show a message
+	when a bone is constructed.
+
+2008-12-11  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.h: Make show_bone_map()
+	a static member function so it can be called from other source
+	files.
+
+2008-12-11  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Improve the
+	compare_bones code so it doesn't consider 2 bones with the same name
+	as being equal.
+
+2008-12-11  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/canvas.cpp,
+	synfig-core/trunk/src/synfig/canvas.h,
+	synfig-core/trunk/src/synfig/valuenode.cpp,
+	synfig-core/trunk/src/synfig/valuenode.h,
+	synfig-core/trunk/src/synfig/valuenode_dynamiclist.cpp,
+	synfig-core/trunk/src/synfig/valuenode_staticlist.cpp: Another
+	attempt at fixing 1420091.
+
+2008-12-11  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_boneweightpair.cpp: Tidying
+
+2008-12-10  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/modules/mod_noise/valuenode_random.cpp,
+	synfig-core/trunk/src/modules/mod_noise/valuenode_random.h,
+	synfig-core/trunk/src/synfig/canvas.cpp,
+	synfig-core/trunk/src/synfig/canvas.h,
+	synfig-core/trunk/src/synfig/layer.cpp,
+	synfig-core/trunk/src/synfig/layer.h,
+	synfig-core/trunk/src/synfig/layer_duplicate.cpp,
+	synfig-core/trunk/src/synfig/layer_duplicate.h,
+	synfig-core/trunk/src/synfig/loadcanvas.cpp,
+	synfig-core/trunk/src/synfig/valuenode.cpp,
+	synfig-core/trunk/src/synfig/valuenode.h,
+	synfig-core/trunk/src/synfig/valuenode_animated.cpp,
+	synfig-core/trunk/src/synfig/valuenode_const.cpp,
+	synfig-core/trunk/src/synfig/valuenode_const.h,
+	synfig-core/trunk/src/synfig/valuenode_dynamiclist.cpp,
+	synfig-core/trunk/src/synfig/valuenode_dynamiclist.h,
+	synfig-core/trunk/src/synfig/valuenode_staticlist.cpp,
+	synfig-core/trunk/src/synfig/valuenode_staticlist.h,
+	synfig-core/trunk/src/synfig/waypoint.cpp,
+	synfig-core/trunk/src/synfig/waypoint.h,
+	synfig-core/trunk/src/tool/main.cpp: Finally fix 1420091?  Checking
+	it for testing.  Tidy up the DEBUG_INVOKE_SVNCR nonsense at the end
+	of canvas.cpp before merging to the master branch.
+
+2008-12-10  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/Makefile.am,
+	synfig-core/trunk/src/synfig/valuenode.cpp,
+	synfig-core/trunk/src/synfig/valuenode_boneweightpair.cpp,
+	synfig-core/trunk/src/synfig/valuenode_boneweightpair.h: Add
+	ValueNode::BoneWeightPair
+
+2008-12-09  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/value.cpp,
+	synfig-core/trunk/src/synfig/value.h: Add Matrix ValueBase
+
+2008-12-09  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bline.cpp,
+	synfig-core/trunk/src/synfig/valuenode_const.cpp,
+	synfig-core/trunk/src/synfig/valuenode_const.h: Fix bug #6.  Never
+	create a ValueNode_Const Bone - always convert to ValueNode_Bone
+	instead.
+
+2008-12-09  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.h: Add a comment.
+
+2008-12-09  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode.cpp: Improve the
+	get_description() string for LinkableValueNode.
+
+2008-12-09  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Check all bone
+	fields for loops, not just parent.
+
+2008-12-09  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Fix bug #4.
+
+2008-12-09  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/value.h: When failing in get() show
+	why.
+
+2008-12-09  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Try to fix bug
+	#3.
+
+2008-12-09  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Remove debugging.
+
+2008-12-09  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.h: Move a function.
+
+2008-12-08  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Hide the fields
+	which aren't name or parent for now.
+
+2008-12-07  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.h: Remove unused
+	member.
+
+2008-12-07  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/exception.cpp: Don't show the 'bad
+	type' exception when it's raised.  It happens all the time for the
+	curves widget.
+
+2008-12-07  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/layer_skeleton.cpp: Only add 3 bones
+	in a skeleton when it's first created.
+
+2008-12-07  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_animated.cpp: Allow
+	animation of ValueNode_Bone.
+
+2008-12-07  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/savecanvas.cpp: Store ValueNode_Bone
+	objects for Bone parents not GUIDs.
+
+2008-12-07  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/value.cpp: Store ValueNode_Bone
+	objects for Bone parents not GUIDs.
+
+2008-12-07  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/value.h: Store ValueNode_Bone objects
+	for Bone parents not GUIDs.
+
+2008-12-07  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_animated.cpp: Store
+	ValueNode_Bone objects for Bone parents not GUIDs.
+
+2008-12-07  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Store
+	ValueNode_Bone objects for Bone parents not GUIDs.
+
+2008-12-07  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_staticlist.cpp: Implement
+	clone() for static lists.
+
+2008-12-07  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_staticlist.h: Implement
+	clone() for static lists.
+
+2008-12-07  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bline.cpp: Remove unused
+	variable.
+
+2008-12-07  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/layer_motionblur.cpp: Typo.
+
+2008-12-07  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/layer_motionblur.h: Debug.
+
+2008-12-07  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/layer_motionblur.cpp: Debug.
+
+2008-12-07  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/layer_skeleton.cpp: Debug.
+
+2008-12-07  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/layer_skeleton.h: Debug.
+
+2008-12-07  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Use loose handles
+	in the bone map.  Delete unreferenced bones from the bone map.
+
+2008-12-07  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.h: Use a loose handle
+	for the bone map.
+
+2008-12-07  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_staticlist.cpp: Debug.
+
+2008-12-07  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_staticlist.h: Debug.
+
+2008-12-05  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Add debugging.
+	Show ref counts as well as rref counts.
+
+2008-12-05  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: I'm trying to
+	understand why the destructor isn't being called.  Overriding ref()
+	and unref().
+
+2008-12-05  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.h: Declare ref() and
+	unref().
+
+2008-12-05  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Don't show bones
+	with no references.
+
+2008-12-05  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: When displaying
+	the list of bones, sort by the bones' names at time 0.
+
+2008-12-05  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Keep parent_node_
+	up to date.
+
+2008-12-05  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.h: Add a member to
+	store the parent valuenode.  Needed to make the reference counting
+	work.
+
+2008-12-05  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_animated.cpp: Allow bones
+	to be animated too.
+
+2008-12-05  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/node.cpp: Include the header for
+	getenv().
+
+2008-12-05  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Add on_changed().
+
+2008-12-05  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.h: Add on_changed().
+
+2008-12-05  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_animated.cpp: Add debug.
+
+2008-12-05  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/node.cpp: Add debug.
+
+2008-12-05  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode.cpp: Add debug.
+
+2008-12-05  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/layer_skeleton.cpp: Make 5 bones.
+
+2008-12-05  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/layer.cpp: Add debug.
+
+2008-12-05  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/canvas.cpp: Add debugging.
+
+2008-12-04  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.h: Fix the ancestry
+	check.  Several other changes too.
+
+2008-12-04  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Fix the ancestry
+	check.  Several other changes too.
+
+2008-12-04  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_bone.h: This tries to avoid
+	to construct a bad bone (with loops) at a certain time. It builds
+	but when you edit the parent with the canvas chooser for the trird
+	time it crases. Still crashing with a null valuenode_bone object.
+
+2008-12-04  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode.h: Only pass the arguments
+	that are used.
+
+2008-12-04  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode.h: Split
+	CHECK_TYPE_AND_SET_VALUE() so it can be called as two individual
+	halves.
+
+2008-12-03  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_staticlist.cpp: Debugging
+	code for bone refcounts.
+
+2008-12-03  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_staticlist.cpp: Be more
+	careful about when to use rhandles.
+
+2008-12-03  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_staticlist.h: Be more
+	careful about when to use rhandles.
+
+2008-12-03  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Code to debug
+	bone refcounts.
+
+2008-12-03  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.h: Code to debug bone
+	refcounts.
+
+2008-12-03  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/loadcanvas.cpp: The bone object now
+	saves as 'bone_object'.
+
+2008-12-03  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Show the rcount()
+	in the list of bones.
+
+2008-12-03  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/value.cpp: Provide default localized
+	names of the types.
+
+2008-12-03  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp: Make bone constructor
+	printf's conditional.
+
+2008-12-03  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp,
+	synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp,
+	synfig-core/trunk/src/synfig/valuenode_staticlist.cpp: Add optional
+	debugging for calls to ValueNode_*::operator().
+
+2008-12-03  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_staticlist.cpp: Remove the
+	previous attempt at showing the bone's name.  It didn't work very
+	well.
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Oops.  The
+	previous commit truncated the wrong string.
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Show a prefix of
+	the GUID hex string.
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp: Show a prefix of the GUID
+	string.
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.h: Define GUID_PREFIX_LEN to set
+	how much of the GUID hex strings to show.
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Remove debug.
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/waypoint.cpp: Remove debugging.
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp: Don't auto-name bone
+	objects - do it at the valuenode level.
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Auto-name bones
+	with no name.
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_staticlist.cpp: Adding new
+	bones to a static list adds them as ValueNode_Bones.
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/value.cpp: Use "bone_object" for the
+	ValueBase's type name so as not to clash with "bone" for the
+	valuenode type name.
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_staticlist.cpp: I tried
+	getting the list entries to show the bone's name, but it doesn't
+	update in real time.
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/loadcanvas.cpp,
+	synfig-core/trunk/src/synfig/loadcanvas.h,
+	synfig-core/trunk/src/synfig/savecanvas.cpp: Still a work in
+	progress.
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/layer_skeleton.cpp: Only create 2
+	bones.
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.h: Use GUID instead of a pointer
+	for parent_.
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp: Had to comment out the code
+	which recurses through the parent.  I think it needs to be moved to
+	the valuenode_bones.
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/value.cpp: Add type GUID.
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/value.h: Add type GUID.
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode.cpp: Add ValueNode_Bone.
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_animated.cpp: GUID values
+	can have waypoints too.
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_composite.cpp: Revert to a
+	pre-bones version.
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_composite.h: Switch back to
+	6 links.  We don't use composite for bones now.
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
 
-	* synfig-core/trunk/src/synfig/quick_rng.h,
-	synfig-core/trunk/src/synfig/valuenode_repeat_gradient.cpp,
-	synfig-core/trunk/src/synfig/valuenode_repeat_gradient.h: Fix some
-	SVN $Id$ keywords that got missed somehow.  git-svn-id: https://synfig.svn.sourceforge.net/svnroot/synfig@2369
-	1f10aa63-cdf2-0310-b900-c93c546f37ac
+	* synfig-core/trunk/src/synfig/waypoint.cpp: Debugging.
 
-2009-05-05  pabs3 <pabs3 at 1f10aa63-cdf2-0310-b900-c93c546f37ac>
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
 
-	* synfig-core/trunk/configure.ac: Check for big endian systems
-	instead of relying on the ETL defines.  git-svn-id: https://synfig.svn.sourceforge.net/svnroot/synfig@2368
-	1f10aa63-cdf2-0310-b900-c93c546f37ac
+	* synfig-core/trunk/src/synfig/valuenode_staticlist.cpp: Convert
+	bones to valuenode_bones in staticlist.
 
-2009-05-03  pabs3 <pabs3 at 1f10aa63-cdf2-0310-b900-c93c546f37ac>
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
 
-	* synfig-core/trunk/AUTHORS, synfig-core/trunk/README,
-	synfig-core/trunk/po/POTFILES.in,
-	synfig-core/trunk/src/synfig/Makefile.am,
+	* synfig-core/trunk/src/synfig/valuenode_bone.h: Initial revision.
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_bone.cpp: Initial revision.
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/Makefile.am: Add valuenode_bone.*
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/savecanvas.cpp: Save bones' names
+	too.
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/loadcanvas.h: Start parse_bone() by
+	copying from parse_bline_point.
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/loadcanvas.cpp: Start parse_bone() by
+	copying from parse_bline_point.
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/savecanvas.cpp: Only save the parent
+	if the bone has a parent.
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.h: Add Bone::has_parent()
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/matrix.h: Include string.h.
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/value.h: I don't like this special
+	case, but it crashes otherwise.  Perhaps we need a special 'null
+	bone' object rather than using a NULL pointer?
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/savecanvas.cpp: An attempt at
+	encode_bone() for saving non-converted bones to .sif files.  Crashes
+	though.
+
+2008-12-02  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/matrix.h: Corrected the proper
+	namespace for strprintf in matrix.h
+
+2008-12-02  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp: Improvements?
+
+2008-12-02  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/matrix.h: Add get_string() member to
+	retrieve a string representation of the matrix.
+
+2008-12-01  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp,
+	synfig-core/trunk/src/synfig/bone.h: Add get_string() to retrieve a
+	representation of the bone as a string.
+
+2008-12-01  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/value.h: Allow valuebase values to be
+	cast to Bone.
+
+2008-12-01  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/layer_skeleton.cpp: Modify for bones.
+
+2008-12-01  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/layer_skeleton.h: Modify for bones.
+
+2008-12-01  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/layer.cpp: Add layer_skeleton.
+
+2008-12-01  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/matrix.h: Define a macro to output
+	the matrix content to cout.
+
+2008-12-01  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.h: #defines have to be on one
+	line - use \ to join lines.
+
+2008-12-01  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.h: Add proper header for i/o
+	streams.
+
+2008-12-01  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.h: Add a macro to print the
+	bone's components in cout. Just for testing porpouses.
+
+2008-12-01  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.h: Add a name member.
+
+2008-12-01  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp: Add name to the
+	constructor.
+
+2008-12-01  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/test/Makefile.am: Remove the -DONE.  Didn't mean
+	to commit that.
+
+2008-12-01  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp,
+	synfig-core/trunk/src/synfig/bone.h: Die parent_tree die! and also
+	modify the get_animated_matrix to be recursive.
+
+2008-12-01  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/test/bone.cpp: Use the template structure for
+	tests.
+
+2008-12-01  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/layer_skeleton.h: Initial revision -
+	it's a copy of metaballs.
+
+2008-12-01  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/layer_skeleton.cpp: Initial revision
+	- it's a copy of metaballs.
+
+2008-12-01  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/Makefile.am: Add layer_skeleton.*.
+
+2008-12-01  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/test/Makefile.am: Initial revision.
+
+2008-12-01  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/test/bone.cpp: Initial revision.
+
+2008-12-01  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/configure.ac: Add test/Makefile.
+
+2008-12-01  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/Makefile.am: Add 'test'.
+
+2008-12-01  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_composite.cpp: Uncomment
+	the line that sets the parent, now the parent is const.
+
+2008-12-01  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.h: Use const for the parent.
+
+2008-12-01  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp: Use const for the parent.
+
+2008-12-01  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/Makefile.am,
+	synfig-core/trunk/src/synfig/bone.h,
+	synfig-core/trunk/src/synfig/loadcanvas.cpp,
+	synfig-core/trunk/src/synfig/loadcanvas.h,
+	synfig-core/trunk/src/synfig/savecanvas.cpp,
 	synfig-core/trunk/src/synfig/valuenode.cpp,
-	synfig-core/trunk/src/synfig/valuenode_and.cpp,
-	synfig-core/trunk/src/synfig/valuenode_and.h,
-	synfig-core/trunk/src/synfig/valuenode_compare.cpp,
-	synfig-core/trunk/src/synfig/valuenode_compare.h,
-	synfig-core/trunk/src/synfig/valuenode_not.cpp,
-	synfig-core/trunk/src/synfig/valuenode_not.h,
-	synfig-core/trunk/src/synfig/valuenode_or.cpp,
-	synfig-core/trunk/src/synfig/valuenode_or.h: Apply patch #21: add
-	boolean ValueNode conversions. Thanks to nikitakit.  git-svn-id: https://synfig.svn.sourceforge.net/svnroot/synfig@2364
-	1f10aa63-cdf2-0310-b900-c93c546f37ac
+	synfig-core/trunk/src/synfig/valuenode_staticlist.cpp,
+	synfig-core/trunk/src/synfig/valuenode_staticlist.h: Added
+	ValueNode_StaticList.  Squashed commit of the following: commit ce56f49690b27371b298816ad3436d77fd8421f4 Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 16:08:57 2008 +0100     Remove debugging.  commit 650cbf4e4c486b10731301ed31c4b21f9fc8f2c2 Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 16:08:45 2008 +0100     Change how it checks list types.  commit 4c6bfd0f02debc37ce0237cdc699d68b41eedc96 Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 16:07:50 2008 +0100     Undo printf stuff.  commit c3ef0d57b7f332c1c3ddd26c7f3cc88651b43fb2 Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 15:51:24 2008 +0100     Fix results of copy/pasting from dynamiclist version.  commit 7535054335787183ef94e5fed1e88cccbe2c6cd3 Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 15:51:17 2008 +0100     Add the staticlist actions.  commit e287cc4a266c64f0aa405270ad077ce2b288d1ee Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 15:51:00 2008 +0100     Add missing functions.  commit d0d16e87e545a0d817c4780bfc437aa9284661a9 Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 15:50:40 2008 +0100     Add some missing functions.  commit dc2bac93af4491ebdf892c683ba7846989c727e3 Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 14:07:55 2008 +0100     Add actions for staticlist.  commit f1d924cbce714991cf6847866869ac249c93a392 Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 14:07:39 2008 +0100     Include actions for staticlist.  commit 59e1a834d1fe9dada8b1bdbe339888005b523bb3 Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 14:07:23 2008 +0100     Rename list to staticlist.  commit d9b47cb4b8777d168eb6c65d8db9aa52fbaa81e2 Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 14:07:10 2008 +0100     Remove headers we don't need to re-include.  commit c749c4ae006cb3168df3fc5e844a798a0eb07002 Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 14:06:42 2008 +0100     Show ducks for the staticlist type.  commit 5aa1fa207c7b54aff6f2c1dbf8c3ef269c81615a Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 14:06:19 2008 +0100     Rename list to staticlist.  commit c38b4e4fc66a98203abda1f2264841e8dbfd9960 Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 14:06:04 2008 +0100     Rename list to staticlist.  commit 56cf5905261d6bb143338445fe2586188c8be53b Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 13:35:36 2008 +0100     Use static lists, not dynamic.  commit 564c58f01908c014c5e86e684bf33efbc84a86c5 Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 13:06:29 2008 +0100     And the new prototype.  commit a5dfb5dc73ed4f6e12cef704a5e2af938ffc608d Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 13:06:12 2008 +0100     How to load a staticlist.  commit bba52e304fa66f3b3eb9cb0cf4fe0d6bbfa04a30 Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 13:05:59 2008 +0100     Rename list to staticlist.  commit ff55392b0b42d4f1b9c27690bfab77ba26185ab9 Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 13:00:35 2008 +0100     Rename files.  commit 7d751098e25b1c97a287a6e539c7c27f09d327b1 Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 12:59:32 2008 +0100     Rename 'list' to 'static_list'.  commit a583c7a7f2d0f1801959ef77a9d6c0e530cd4432 Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 12:43:21 2008 +0100     How to save a valuenode_list.  commit d67c3e5dee5ab7c02c4e99961de56e14eacc5ede Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 12:43:08 2008 +0100     Add valuenode_list.  commit a8a08e9d0d65c72b6da0b01bf0202cd16545742c Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 12:42:47 2008 +0100     First try at valuenode_list.  commit 04e5a9fa842d51e36eaec76affb3339093fba000 Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 11:45:38 2008 +0100     Add valuenode_list.* commit 1d75c7881270ae1622335776f81661338275927b Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 11:43:38 2008 +0100     Merge the two ADD_VALUENODE* macros.  commit 80d798354d1290575044ca61f86c7bcf04cce93c Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 10:59:56 2008 +0100     English.  commit 8de477968278445668edda5ce37dd240d8774cfe Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 10:59:00 2008 +0100     Typo.  commit 88f51269f1f1edcbb6c091e2daf3f5095d894990 Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 10:58:51 2008 +0100     I missed a couple.  commit b612fb9ad0306c1d0b49532d4410ab1928f109d8 Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 10:58:23 2008 +0100     Try to be more precise about type names.  commit 1acba129e3af5fb73ebb52447b7a4e332b270d4e Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 10:48:41 2008 +0100     Fix ValueNode capitalisation.  commit 383950c7302bb07baa42873887c04af5c95ac234 Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 10:48:10 2008 +0100     Fix whitespace.  commit 3c1cdedc127a4582a76486b947f71bd5473dc681 Author: Chris Moore
+	<chris at pcnuevo.(none)> Date:   Mon Dec 1 10:47:57 2008 +0100     Fix for typos.
 
-2009-05-03  pabs3 <pabs3 at 1f10aa63-cdf2-0310-b900-c93c546f37ac>
+2008-12-01  Carlos Lopez <carlos at pcnuevo.(none)>
 
-	* synfig-core/trunk/src/modules/lyr_std/Makefile.am: Fix make
-	distcheck, which has been broken since the introduction of CurveWarp
-	in SVN r2164 by dooglus.  git-svn-id: https://synfig.svn.sourceforge.net/svnroot/synfig@2363
-	1f10aa63-cdf2-0310-b900-c93c546f37ac
+	* synfig-core/trunk/src/synfig/bone.h: Insert coments for a new
+	aproaching of the concept of Bone *parent_
 
-2009-04-22  genete <genete at 1f10aa63-cdf2-0310-b900-c93c546f37ac>
+2008-11-30  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_composite.cpp: Still not
+	sure what to do about the 'parent' component.
+
+2008-11-30  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/value.h: Don't include bone.h - it's
+	not needed, and causes everything to be rebuilt every time we touch
+	bone.h.
+
+2008-11-30  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.h: Remove the const from the
+	parent and parent_tree because Bone::get_setup_matrix() modifies the
+	parents recursively.
+
+2008-11-30  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp: Use a reverse iterator to
+	go through a vector in reverse order.  Accessing *iter isn't allowed
+	when iter=vector.end().
+
+2008-11-30  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp: It's called parent_tree not
+	parent_list.
+
+2008-11-30  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp: Can use *= now I've written
+	it.
+
+2008-11-30  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/matrix.h: Write operator*= for
+	multiplying two matrices.
+
+2008-11-30  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/matrix.h: Remove spaces after
+	'operator'.
+
+2008-11-30  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/matrix.h: Improve the indentation.
+
+2008-11-30  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/matrix.h: Add version of
+	set_scale(Real) for scaling x and y by the same.
+
+2008-11-30  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp,
+	synfig-core/trunk/src/synfig/bone.h: Fix some errors. It sitill not
+	compiling completely.
+
+2008-11-30  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.h: This modifcations doesn't
+	build and I don't know why.  The previous one compiled but
+	valuenode_composite.cpp complains.
+
+2008-11-30  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp,
+	synfig-core/trunk/src/synfig/bone.h: Fix some errors to allow
+	compilation.
+
+2008-11-30  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.h: Bone's parent pointer is not
+	a const value. It can be modified!.
+
+2008-11-30  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp: Procedure push_front() is
+	not a member of std::vectors
+
+2008-11-30  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.h: Need to include <vector> if
+	we use vectors...
+
+2008-11-30  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp: We put the class name:: in
+	front of the method name.
+
+2008-11-30  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp: We put the return type on a
+	separate line.
+
+2008-11-30  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp: Fix indentation.
+
+2008-11-30  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp,
+	synfig-core/trunk/src/synfig/bone.h: Fill Animated Transformation
+	Matrix procedure.
+
+2008-11-30  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp,
+	synfig-core/trunk/src/synfig/bone.h: Add Animated Transformation
+	Matrix. WIP
+
+2008-11-30  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp: Small typo in comments
+
+2008-11-30  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp: Remove ret in get_tip
+	fucntion. It was never used.
+
+2008-11-30  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp,
+	synfig-core/trunk/src/synfig/bone.h: Add Setup Matrix procedure
+
+2008-11-30  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode.cpp: Typo.
+
+2008-11-30  Chris Moore <chris at pcnuevo.(none)>
 
 	* synfig-core/trunk/src/synfig/Makefile.am,
 	synfig-core/trunk/src/synfig/valuenode.cpp,
-	synfig-core/trunk/src/synfig/valuenode_pow.cpp,
-	synfig-core/trunk/src/synfig/valuenode_pow.h: Apply patch #18:
-	Valuenode Type Power. Thanks to nikitakit.  git-svn-id: https://synfig.svn.sourceforge.net/svnroot/synfig@2362
-	1f10aa63-cdf2-0310-b900-c93c546f37ac
+	synfig-core/trunk/src/synfig/valuenode_boneinfluence.cpp,
+	synfig-core/trunk/src/synfig/valuenode_boneinfluence.h: Add a
+	template for boneinfluence valuenode.
 
-2009-04-12  pabs3 <pabs3 at 1f10aa63-cdf2-0310-b900-c93c546f37ac>
+2008-11-30  Chris Moore <chris at pcnuevo.(none)>
 
-	* synfig-core/trunk/Makefile.am,
-	synfig-core/trunk/examples/Makefile.am,
-	synfig-core/trunk/examples/walk/Makefile.am,
-	synfig-core/trunk/src/Makefile.am,
-	synfig-core/trunk/src/modules/Makefile.am,
-	synfig-core/trunk/src/modules/example/Makefile.am,
-	synfig-core/trunk/src/modules/lyr_freetype/Makefile.am,
-	synfig-core/trunk/src/modules/lyr_std/Makefile.am,
-	synfig-core/trunk/src/modules/mod_bmp/Makefile.am,
-	synfig-core/trunk/src/modules/mod_dv/Makefile.am,
-	synfig-core/trunk/src/modules/mod_ffmpeg/Makefile.am,
-	synfig-core/trunk/src/modules/mod_filter/Makefile.am,
-	synfig-core/trunk/src/modules/mod_geometry/Makefile.am,
-	synfig-core/trunk/src/modules/mod_gif/Makefile.am,
-	synfig-core/trunk/src/modules/mod_gradient/Makefile.am,
-	synfig-core/trunk/src/modules/mod_imagemagick/Makefile.am,
-	synfig-core/trunk/src/modules/mod_jpeg/Makefile.am,
-	synfig-core/trunk/src/modules/mod_libavcodec/Makefile.am,
-	synfig-core/trunk/src/modules/mod_magickpp/Makefile.am,
-	synfig-core/trunk/src/modules/mod_mng/Makefile.am,
-	synfig-core/trunk/src/modules/mod_noise/Makefile.am,
-	synfig-core/trunk/src/modules/mod_openexr/Makefile.am,
-	synfig-core/trunk/src/modules/mod_particle/Makefile.am,
-	synfig-core/trunk/src/modules/mod_png/Makefile.am,
-	synfig-core/trunk/src/modules/mod_ppm/Makefile.am,
-	synfig-core/trunk/src/modules/mod_yuv420p/Makefile.am,
-	synfig-core/trunk/src/modules/mptr_mplayer/Makefile.am,
-	synfig-core/trunk/src/synfig/Makefile.am,
-	synfig-core/trunk/src/tool/Makefile.am: Reformat and clean up the
-	automake files git-svn-id: https://synfig.svn.sourceforge.net/svnroot/synfig@2358
-	1f10aa63-cdf2-0310-b900-c93c546f37ac
+	* synfig-core/trunk/src/synfig/bone.h,
+	synfig-core/trunk/src/synfig/value.h,
+	synfig-core/trunk/src/synfig/valuenode_composite.cpp: Changes to use
+	with ValueNode_Composite.
 
-2009-02-26  pabs3 <pabs3 at 1f10aa63-cdf2-0310-b900-c93c546f37ac>
+2008-11-30  Chris Moore <chris at pcnuevo.(none)>
 
-	* synfig-core/trunk/configure.ac: Switch to a version of
-	po/Makefile.in.in that does not ignore --datarootdir git-svn-id: https://synfig.svn.sourceforge.net/svnroot/synfig@2351
-	1f10aa63-cdf2-0310-b900-c93c546f37ac
+	* synfig-core/trunk/src/synfig/bone.cpp: Typo.
 
-2009-02-21  gballintijn <gballintijn at 1f10aa63-cdf2-0310-b900-c93c546f37ac>
+2008-11-30  Chris Moore <chris at pcnuevo.(none)>
 
-	* synfig-core/trunk/src/modules/Makefile.am: Revert the accidental
-	removal of mod_libavcodec in r2286.  git-svn-id: https://synfig.svn.sourceforge.net/svnroot/synfig@2346
-	1f10aa63-cdf2-0310-b900-c93c546f37ac
+	* synfig-core/trunk/src/synfig/bone.cpp,
+	synfig-core/trunk/src/synfig/bone.h: Add strength_.
 
-2009-02-14  gballintijn <gballintijn at 1f10aa63-cdf2-0310-b900-c93c546f37ac>
+2008-11-30  Chris Moore <chris at pcnuevo.(none)>
 
-	* synfig-core/trunk/src/tool/main.cpp: #2513683: Fix misuse of
-	constructor.  * Don't abuse the constructor of class Argument as a mere function.  * Don't use an integer value as a boolean flag.  git-svn-id: https://synfig.svn.sourceforge.net/svnroot/synfig@2344
-	1f10aa63-cdf2-0310-b900-c93c546f37ac
+	* synfig-core/trunk/src/synfig/bone.h: Typo.
 
-2009-01-13  dooglus <dooglus at 1f10aa63-cdf2-0310-b900-c93c546f37ac>
+2008-11-30  Chris Moore <chris at pcnuevo.(none)>
 
-	* synfig-core/trunk/src/synfig/layer_bitmap.cpp,
-	synfig-core/trunk/src/synfig/layer_bitmap.h: Fix 2502818: Noise when
-	refresh an imported image layer.  git-svn-id: https://synfig.svn.sourceforge.net/svnroot/synfig@2329
-	1f10aa63-cdf2-0310-b900-c93c546f37ac
+	* synfig-core/trunk/src/synfig/bone.h: Fix a typo.
 
-2009-01-13  pabs3 <pabs3 at 1f10aa63-cdf2-0310-b900-c93c546f37ac>
+2008-11-30  Chris Moore <chris at pcnuevo.(none)>
 
-	* synfig-core/trunk/AUTHORS, synfig-core/trunk/src/synfig/main.cpp,
-	synfig-core/trunk/src/tool/main.cpp: Fix strange characters and
-	pango warnings with LC_ALL=fr at euro. Patch & testing by Cyril
-	Brulebois (KiBi).  git-svn-id: https://synfig.svn.sourceforge.net/svnroot/synfig@2328
-	1f10aa63-cdf2-0310-b900-c93c546f37ac
+	* synfig-core/trunk/src/synfig/bone.h: Space things out a little.
 
-2009-01-13  pabs3 <pabs3 at 1f10aa63-cdf2-0310-b900-c93c546f37ac>
+2008-11-30  Chris Moore <chris at pcnuevo.(none)>
 
-	* synfig-core/trunk/AUTHORS, synfig-core/trunk/po/fr.po: Add some
-	French translation fixes from Cyril Brulebois (KiBi) git-svn-id: https://synfig.svn.sourceforge.net/svnroot/synfig@2325
-	1f10aa63-cdf2-0310-b900-c93c546f37ac
+	* synfig-core/trunk/src/synfig/valuenode_composite.h: Increase
+	MAX_LINKS to 8 for bones.
+
+2008-11-30  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.h: Spelling mistake.
+
+2008-11-30  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/valuenode_composite.h: Use MAX_LINES
+	instead of hard-coded 6 for the array size.
+
+2008-11-30  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/value.cpp: Changes for TYPE_BONE.
+
+2008-11-30  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/value.h: Add TYPE_BONE.
+
+2008-11-30  Chris Moore <chris at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/Makefile.am: Tidying.
+
+2008-11-29  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp: Remove void commented line
+
+2008-11-29  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp,
+	synfig-core/trunk/src/synfig/bone.h: Fix some syntax errors on
+	bone.h and bone.cpp
+
+2008-11-29  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp,
+	synfig-core/trunk/src/synfig/bone.h: Continue filling the bone class
+
+2008-11-29  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.h: Fix the names and types of
+	the private bone class members.
+
+2008-11-29  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/configure.ac: Stash configure.ac again
+
+2008-11-27  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.h: Added class Bone.  WIP.
+
+2008-11-27  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/configure.ac: Fix for libtool 2.
+
+2008-11-27  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/bone.cpp,
+	synfig-core/trunk/src/synfig/matrix.h: Correct some errors
+
+2008-11-27  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/Makefile.am,
+	synfig-core/trunk/src/synfig/bone.cpp,
+	synfig-core/trunk/src/synfig/bone.h: Add bone.h and bone.cpp files.
+
+2008-11-27  Carlos Lopez <carlos at pcnuevo.(none)>
+
+	* synfig-core/trunk/src/synfig/Makefile.am,
+	synfig-core/trunk/src/synfig/matrix.h: Add matrix.h. Matrix
+	implementation for bones.
 
 2008-12-26  dooglus <dooglus at 1f10aa63-cdf2-0310-b900-c93c546f37ac>
 
diff --git a/INSTALL b/INSTALL
index a1e89e1..6e90e07 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,7 +1,7 @@
 Installation Instructions
 *************************
 
-Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation,
+Copyright (C) 1994-1996, 1999-2002, 2004-2012 Free Software Foundation,
 Inc.
 
    Copying and distribution of this file, with or without modification,
@@ -309,9 +309,10 @@ causes the specified `gcc' to be used as the C compiler (unless it is
 overridden in the site shell script).
 
 Unfortunately, this technique does not work for `CONFIG_SHELL' due to
-an Autoconf bug.  Until the bug is fixed you can use this workaround:
+an Autoconf limitation.  Until the limitation is lifted, you can use
+this workaround:
 
-     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
+     CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
 
 `configure' Invocation
 ======================
@@ -367,4 +368,3 @@ operates.
 
 `configure' also accepts some other, not widely useful, options.  Run
 `configure --help' for more details.
-
diff --git a/Makefile.am b/Makefile.am
index 45a34d8..fb072d0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -46,7 +46,8 @@ SUBDIRS = \
 	build_tools \
 	src \
 	examples \
-	po
+	po \
+	test
 
 
 # Install the pkg-config file:
@@ -63,9 +64,7 @@ EXTRA_DIST = \
 	m4/subs.m4 \
 	config/package \
 	doc/hw-gfx-mapping.txt \
-	win32build.sh \
 	macosxbuild.sh \
-	win32inst.nsi.in \
 	COPYING \
 	config/depcomp \
 	m4/synfig.m4 \
@@ -145,21 +144,12 @@ install-bin:
 
 RMDIR=rm -fr
 
-if WIN32_PKG	
-package: all win32inst.nsi
-	cp -fu `which libHalf-6.dll` src/modules/mod_openexr/.libs/
-	cp -fu `which libIlmImf-6.dll` src/modules/mod_openexr/.libs/
-	cp -fu `which libIlmThread-6.dll` src/modules/mod_openexr/.libs/
-	cp -fu `which libIex-6.dll` src/modules/mod_openexr/.libs/
-	makensis win32inst.nsi
-else
 if MACOSX_PKG
 package: all pkg-info/macosx/synfig-core.info
 	[ -d pkg_root ] && $(RMDIR) pkg_root || true
 	make install-strip prefix="`pwd`/pkg_root"
 	$(srcdir)/config/package pkg_root pkg-info/macosx/synfig-core.info -r $(srcdir)/pkg-info/macosx/core-resources
 endif
-endif
 
 run: check
 
diff --git a/Makefile.in b/Makefile.in
index d7e6b33..3201481 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -58,8 +57,11 @@ subdir = .
 DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in $(srcdir)/config.h.in \
 	$(srcdir)/doxygen.cfg.in $(srcdir)/synfig-config.in \
-	$(srcdir)/synfig.pc.in $(srcdir)/win32inst.nsi.in \
-	$(top_srcdir)/configure \
+	$(srcdir)/synfig.pc.in $(top_srcdir)/config/config.guess \
+	$(top_srcdir)/config/config.rpath \
+	$(top_srcdir)/config/config.sub \
+	$(top_srcdir)/config/install-sh $(top_srcdir)/config/ltmain.sh \
+	$(top_srcdir)/config/missing $(top_srcdir)/configure \
 	$(top_srcdir)/pkg-info/macosx/synfig-core.info.in ABOUT-NLS \
 	AUTHORS COPYING ChangeLog INSTALL NEWS TODO \
 	config/config.guess config/config.rpath config/config.sub \
@@ -84,7 +86,7 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
  configure.lineno config.status.lineno
 mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES = synfig-config synfig.pc doxygen.cfg win32inst.nsi \
+CONFIG_CLEAN_FILES = synfig-config synfig.pc doxygen.cfg \
 	pkg-info/macosx/synfig-core.info
 CONFIG_CLEAN_VPATH_FILES =
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -135,9 +137,10 @@ RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
   distclean-recursive maintainer-clean-recursive
 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
 	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-	distdir dist dist-all distcheck
+	cscope distdir dist dist-all distcheck
 ETAGS = etags
 CTAGS = ctags
+CSCOPE = cscope
 DIST_SUBDIRS = $(SUBDIRS)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
@@ -148,6 +151,7 @@ am__remove_distdir = \
       && rm -rf "$(distdir)" \
       || { sleep 5 && rm -rf "$(distdir)"; }; \
   else :; fi
+am__post_remove_distdir = $(am__remove_distdir)
 am__relativize = \
   dir0=`pwd`; \
   sed_first='s,^\([^/]*\)/.*$$,\1,'; \
@@ -175,6 +179,7 @@ am__relativize = \
   reldir="$$dir2"
 DIST_ARCHIVES = $(distdir).tar.gz
 GZIP_ENV = --best
+DIST_TARGETS = dist-gzip
 distuninstallcheck_listfiles = find . -type f -print
 am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
   | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
@@ -271,6 +276,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -418,7 +424,8 @@ SUBDIRS = \
 	build_tools \
 	src \
 	examples \
-	po
+	po \
+	test
 
 
 # Install the pkg-config file:
@@ -432,9 +439,7 @@ EXTRA_DIST = \
 	m4/subs.m4 \
 	config/package \
 	doc/hw-gfx-mapping.txt \
-	win32build.sh \
 	macosxbuild.sh \
-	win32inst.nsi.in \
 	COPYING \
 	config/depcomp \
 	m4/synfig.m4 \
@@ -517,8 +522,6 @@ synfig.pc: $(top_builddir)/config.status $(srcdir)/synfig.pc.in
 	cd $(top_builddir) && $(SHELL) ./config.status $@
 doxygen.cfg: $(top_builddir)/config.status $(srcdir)/doxygen.cfg.in
 	cd $(top_builddir) && $(SHELL) ./config.status $@
-win32inst.nsi: $(top_builddir)/config.status $(srcdir)/win32inst.nsi.in
-	cd $(top_builddir) && $(SHELL) ./config.status $@
 pkg-info/macosx/synfig-core.info: $(top_builddir)/config.status $(top_srcdir)/pkg-info/macosx/synfig-core.info.in
 	cd $(top_builddir) && $(SHELL) ./config.status $@
 install-binSCRIPTS: $(bin_SCRIPTS)
@@ -588,12 +591,12 @@ uninstall-pkgconfigDATA:
 	dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS):
 	@fail= failcom='exit 1'; \
 	for f in x $$MAKEFLAGS; do \
 	  case $$f in \
@@ -603,7 +606,11 @@ $(RECURSIVE_TARGETS):
 	done; \
 	dot_seen=no; \
 	target=`echo $@ | sed s/-recursive//`; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	for subdir in $$list; do \
 	  echo "Making $$target in $$subdir"; \
 	  if test "$$subdir" = "."; then \
 	    dot_seen=yes; \
@@ -617,37 +624,6 @@ $(RECURSIVE_TARGETS):
 	if test "$$dot_seen" = "no"; then \
 	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
 	fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-	@fail= failcom='exit 1'; \
-	for f in x $$MAKEFLAGS; do \
-	  case $$f in \
-	    *=* | --[!k]*);; \
-	    *k*) failcom='fail=yes';; \
-	  esac; \
-	done; \
-	dot_seen=no; \
-	case "$@" in \
-	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-	  *) list='$(SUBDIRS)' ;; \
-	esac; \
-	rev=''; for subdir in $$list; do \
-	  if test "$$subdir" = "."; then :; else \
-	    rev="$$subdir $$rev"; \
-	  fi; \
-	done; \
-	rev="$$rev ."; \
-	target=`echo $@ | sed s/-recursive//`; \
-	for subdir in $$rev; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	  || eval $$failcom; \
-	done && test -z "$$fail"
 tags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
 	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
@@ -656,6 +632,10 @@ ctags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
 	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
 	done
+cscopelist-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
+	done
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -719,8 +699,32 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscope: cscope.files
+	test ! -s cscope.files \
+	  || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
+
+clean-cscope:
+	-rm -f cscope.files
+
+cscope.files: clean-cscope cscopelist-recursive cscopelist
+
+cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+	-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
 
 distdir: $(DISTFILES)
 	$(am__remove_distdir)
@@ -788,40 +792,36 @@ distdir: $(DISTFILES)
 	|| chmod -R a+r "$(distdir)"
 dist-gzip: distdir
 	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-	$(am__remove_distdir)
+	$(am__post_remove_distdir)
 
 dist-bzip2: distdir
 	tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
-	$(am__remove_distdir)
+	$(am__post_remove_distdir)
 
 dist-lzip: distdir
 	tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
-	$(am__remove_distdir)
-
-dist-lzma: distdir
-	tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
-	$(am__remove_distdir)
+	$(am__post_remove_distdir)
 
 dist-xz: distdir
 	tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
-	$(am__remove_distdir)
+	$(am__post_remove_distdir)
 
 dist-tarZ: distdir
 	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-	$(am__remove_distdir)
+	$(am__post_remove_distdir)
 
 dist-shar: distdir
 	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
-	$(am__remove_distdir)
+	$(am__post_remove_distdir)
 
 dist-zip: distdir
 	-rm -f $(distdir).zip
 	zip -rq $(distdir).zip $(distdir)
-	$(am__remove_distdir)
+	$(am__post_remove_distdir)
 
-dist dist-all: distdir
-	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-	$(am__remove_distdir)
+dist dist-all:
+	$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
+	$(am__post_remove_distdir)
 
 # This target untars the dist file and tries a VPATH configuration.  Then
 # it guarantees that the distribution is self-contained by making another
@@ -832,8 +832,6 @@ distcheck: dist
 	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
 	*.tar.bz2*) \
 	  bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
-	*.tar.lzma*) \
-	  lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
 	*.tar.lz*) \
 	  lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
 	*.tar.xz*) \
@@ -879,7 +877,7 @@ distcheck: dist
 	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
 	  && cd "$$am__cwd" \
 	  || exit 1
-	$(am__remove_distdir)
+	$(am__post_remove_distdir)
 	@(echo "$(distdir) archives ready for distribution: "; \
 	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
 	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
@@ -1017,12 +1015,14 @@ ps-am:
 uninstall-am: uninstall-binSCRIPTS uninstall-pkgconfigDATA
 
 .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
-	ctags-recursive install-am install-strip tags-recursive
+	cscopelist-recursive ctags-recursive install-am install-strip \
+	tags-recursive
 
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-	all all-am am--refresh check check-am clean clean-generic \
-	clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
-	dist-gzip dist-lzip dist-lzma dist-shar dist-tarZ dist-xz \
+	all all-am am--refresh check check-am clean clean-cscope \
+	clean-generic clean-libtool cscope cscopelist \
+	cscopelist-recursive ctags ctags-recursive dist dist-all \
+	dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ dist-xz \
 	dist-zip distcheck distclean distclean-generic distclean-hdr \
 	distclean-libtool distclean-tags distcleancheck distdir \
 	distuninstallcheck dvi dvi-am html html-am info info-am \
@@ -1089,16 +1089,10 @@ listwritemes:
 install-bin:
 	make -C src/synfig install-libLTLIBRARIES
 
- at WIN32_PKG_TRUE@package: all win32inst.nsi
- at WIN32_PKG_TRUE@	cp -fu `which libHalf-6.dll` src/modules/mod_openexr/.libs/
- at WIN32_PKG_TRUE@	cp -fu `which libIlmImf-6.dll` src/modules/mod_openexr/.libs/
- at WIN32_PKG_TRUE@	cp -fu `which libIlmThread-6.dll` src/modules/mod_openexr/.libs/
- at WIN32_PKG_TRUE@	cp -fu `which libIex-6.dll` src/modules/mod_openexr/.libs/
- at WIN32_PKG_TRUE@	makensis win32inst.nsi
- at MACOSX_PKG_TRUE@@WIN32_PKG_FALSE at package: all pkg-info/macosx/synfig-core.info
- at MACOSX_PKG_TRUE@@WIN32_PKG_FALSE@	[ -d pkg_root ] && $(RMDIR) pkg_root || true
- at MACOSX_PKG_TRUE@@WIN32_PKG_FALSE@	make install-strip prefix="`pwd`/pkg_root"
- at MACOSX_PKG_TRUE@@WIN32_PKG_FALSE@	$(srcdir)/config/package pkg_root pkg-info/macosx/synfig-core.info -r $(srcdir)/pkg-info/macosx/core-resources
+ at MACOSX_PKG_TRUE@package: all pkg-info/macosx/synfig-core.info
+ at MACOSX_PKG_TRUE@	[ -d pkg_root ] && $(RMDIR) pkg_root || true
+ at MACOSX_PKG_TRUE@	make install-strip prefix="`pwd`/pkg_root"
+ at MACOSX_PKG_TRUE@	$(srcdir)/config/package pkg_root pkg-info/macosx/synfig-core.info -r $(srcdir)/pkg-info/macosx/core-resources
 
 run: check
 
diff --git a/NEWS b/NEWS
index 8e29857..b4f3628 100644
--- a/NEWS
+++ b/NEWS
@@ -4,6 +4,15 @@ More detailed notes are available on the news page:
 
 http://synfig.org/cms/en/news/
 
+ 0.64.1 (git tag "0.64.1") - November 4, 2013 - Features, bug fixes.
+  
+  * Parameters are stored as ValueBase now.
+  * Core Bones implementation / Skeleton layer.
+  * Implement Cairo rendering for all layers.
+  * Default interpolation could be defined specifically for parameter.
+  * Option to exclude layers from rendering.
+  * Fix ffmpeg target in Windows build (bug #118).
+ 
  0.64.0 (git tag "synfig-0.64.0") - May 06 2013 - Major features, bug fixes.
  
   * New CLI based on boost libraries. 
diff --git a/README b/README
index 8fe65aa..23f5949 100644
--- a/README
+++ b/README
@@ -41,6 +41,7 @@ Copyright 2010 Brendon Higgins
 Copyright 2010 Ray Frederic
 Copyright 2011-2013 Diego Barrios
 Copyright 2012 Bertrand Greorie
+Copyright 2013 Ivan Mahonin
 
 Licence
 
diff --git a/aclocal.m4 b/aclocal.m4
index 8cb4aa0..c62d07e 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,8 +1,7 @@
-# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
+# generated automatically by aclocal 1.12.2 -*- Autoconf -*-
+
+# Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
-# Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -18,16 +17,15 @@ m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
 [m4_warning([this file was generated for autoconf 2.69.
 You have another version of autoconf.  It may work, but is not guaranteed to.
 If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
+To do so, use the procedure documented by the package, typically 'autoreconf'.])])
 
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 2002-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
+# serial 8
 
 # AM_AUTOMAKE_VERSION(VERSION)
 # ----------------------------
@@ -35,10 +33,10 @@ To do so, use the procedure documented by the package, typically `autoreconf'.])
 # generated from the m4 files accompanying Automake X.Y.
 # (This private macro should not be called outside this file.)
 AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.11'
+[am__api_version='1.12'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.11.6], [],
+m4_if([$1], [1.12.2], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -54,24 +52,24 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.6])dnl
+[AM_AUTOMAKE_VERSION([1.12.2])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
+# serial 2
 
 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+# $ac_aux_dir to '$srcdir/foo'.  In other projects, it is set to
+# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
 #
 # Of course, Automake must honor this variable whenever it calls a
 # tool from the auxiliary directory.  The problem is that $srcdir (and
@@ -90,7 +88,7 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 #
 # The reason of the latter failure is that $top_srcdir and $ac_aux_dir
 # are both prefixed by $srcdir.  In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
+# harmless because $srcdir is '.', but things will broke when you
 # start a VPATH build or use an absolute $srcdir.
 #
 # So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
@@ -116,22 +114,21 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
+# serial 10
 
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -150,16 +147,15 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
-# 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 1999-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 12
+# serial 17
 
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
 # written in clear, in which case automake, when reading aclocal.m4,
 # will think it sees a *use*, and therefore will trigger all it's
 # C support machinery.  Also note that it means that autoscan, seeing
@@ -169,7 +165,7 @@ fi])])
 # _AM_DEPENDENCIES(NAME)
 # ----------------------
 # See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
 # We try a few techniques and use that to set a single cache variable.
 #
 # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
@@ -182,12 +178,13 @@ AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
 AC_REQUIRE([AM_MAKE_INCLUDE])dnl
 AC_REQUIRE([AM_DEP_TRACK])dnl
 
-ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
-       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
-       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
-       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
-       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
-                   [depcc="$$1"   am_compiler_list=])
+m4_if([$1], [CC],   [depcc="$CC"   am_compiler_list=],
+      [$1], [CXX],  [depcc="$CXX"  am_compiler_list=],
+      [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+      [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
+      [$1], [UPC],  [depcc="$UPC"  am_compiler_list=],
+      [$1], [GCJ],  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                    [depcc="$$1"   am_compiler_list=])
 
 AC_CACHE_CHECK([dependency style of $depcc],
                [am_cv_$1_dependencies_compiler_type],
@@ -195,8 +192,8 @@ AC_CACHE_CHECK([dependency style of $depcc],
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
   # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
   rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
@@ -236,16 +233,16 @@ AC_CACHE_CHECK([dependency style of $depcc],
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
     # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
     am__obj=sub/conftest.${OBJEXT-o}
     am__minus_obj="-o $am__obj"
     case $depmode in
@@ -254,8 +251,8 @@ AC_CACHE_CHECK([dependency style of $depcc],
       test "$am__universal" = false || continue
       ;;
     nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
       if test "x$enable_dependency_tracking" = xyes; then
 	continue
       else
@@ -263,7 +260,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
       fi
       ;;
     msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
+      # This compiler won't grok '-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
       am__obj=conftest.${OBJEXT-o}
@@ -311,7 +308,7 @@ AM_CONDITIONAL([am__fastdep$1], [
 # AM_SET_DEPDIR
 # -------------
 # Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
 AC_DEFUN([AM_SET_DEPDIR],
 [AC_REQUIRE([AM_SET_LEADING_DOT])dnl
 AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
@@ -321,9 +318,13 @@ AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
 # AM_DEP_TRACK
 # ------------
 AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors])
+[AC_ARG_ENABLE([dependency-tracking], [dnl
+AS_HELP_STRING(
+  [--enable-dependency-tracking],
+  [do not reject slow dependency extractors])
+AS_HELP_STRING(
+  [--disable-dependency-tracking],
+  [speeds up one-time build])])
 if test "x$enable_dependency_tracking" != xno; then
   am_depcomp="$ac_aux_dir/depcomp"
   AMDEPBACKSLASH='\'
@@ -338,14 +339,13 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1999-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-#serial 5
+# serial 6
 
 # _AM_OUTPUT_DEPENDENCY_COMMANDS
 # ------------------------------
@@ -364,7 +364,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
     # Strip MF so we end up with the name of the file.
     mf=`echo "$mf" | sed -e 's/:.*$//'`
     # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
+    # We used to match only the files named 'Makefile.in', but
     # some people rename them; so instead we look at the file content.
     # Grep'ing the first line is not enough: some people post-process
     # each Makefile.in and add a new line on top of each file to say so.
@@ -376,21 +376,19 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
       continue
     fi
     # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
+    # from the Makefile without running 'make'.
     DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
     test -z "$DEPDIR" && continue
     am__include=`sed -n 's/^am__include = //p' < "$mf"`
     test -z "am__include" && continue
     am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
     # Find all dependency output files, they are included files with
     # $(DEPDIR) in their names.  We invoke sed twice because it is the
     # simplest approach to changing $(DEPDIR) to its actual value in the
     # expansion.
     for file in `sed -n "
       s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
       # Make sure the directory exists.
       test -f "$dirpart/$file" && continue
       fdir=`AS_DIRNAME(["$file"])`
@@ -408,7 +406,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
 # This macro should only be invoked once -- use via AC_REQUIRE.
 #
 # This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each `.P' file that we will
+# is enabled.  FIXME.  This creates each '.P' file that we will
 # need in order to bootstrap the dependency handling code.
 AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 [AC_CONFIG_COMMANDS([depfiles],
@@ -418,14 +416,13 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 1996-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 16
+# serial 19
 
 # This macro actually does too much.  Some checks are only needed if
 # your package does certain things.  But this isn't really a big deal.
@@ -471,31 +468,41 @@ AC_SUBST([CYGPATH_W])
 # Define the identity of the package.
 dnl Distinguish between old-style and new-style calls.
 m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+[AC_DIAGNOSE([obsolete],
+[$0: two- and three-arguments forms are deprecated.  For more info, see:
+http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_INIT_AUTOMAKE-invocation])
+m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
  AC_SUBST([PACKAGE], [$1])dnl
  AC_SUBST([VERSION], [$2])],
 [_AM_SET_OPTIONS([$1])dnl
 dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+m4_if(
+  m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
+  [ok:ok],,
   [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
  AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
  AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
 
 _AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
+ AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
 
 # Some tools Automake needs.
 AC_REQUIRE([AM_SANITY_CHECK])dnl
 AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
+AM_MISSING_PROG([AUTOCONF], [autoconf])
+AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
+AM_MISSING_PROG([AUTOHEADER], [autoheader])
+AM_MISSING_PROG([MAKEINFO], [makeinfo])
 AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
 AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+# For better backward compatibility.  To be removed once Automake 1.9.x
+# dies out for good.  For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
 AC_REQUIRE([AC_PROG_AWK])dnl
@@ -506,28 +513,35 @@ _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
 			     [_AM_PROG_TAR([v7])])])
 _AM_IF_OPTION([no-dependencies],,
 [AC_PROVIDE_IFELSE([AC_PROG_CC],
-		  [_AM_DEPENDENCIES(CC)],
-		  [define([AC_PROG_CC],
-			  defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+		  [_AM_DEPENDENCIES([CC])],
+		  [m4_define([AC_PROG_CC],
+			     m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_CXX],
-		  [_AM_DEPENDENCIES(CXX)],
-		  [define([AC_PROG_CXX],
-			  defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+		  [_AM_DEPENDENCIES([CXX])],
+		  [m4_define([AC_PROG_CXX],
+			     m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-		  [_AM_DEPENDENCIES(OBJC)],
-		  [define([AC_PROG_OBJC],
-			  defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+		  [_AM_DEPENDENCIES([OBJC])],
+		  [m4_define([AC_PROG_OBJC],
+			     m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
+dnl Support for Objective C++ was only introduced in Autoconf 2.65,
+dnl but we still cater to Autoconf 2.62.
+m4_ifdef([AC_PROG_OBJCXX],
+[AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+		  [_AM_DEPENDENCIES([OBJCXX])],
+		  [m4_define([AC_PROG_OBJCXX],
+			     m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])])dnl
 ])
 _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
+dnl The 'parallel-tests' driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
 dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
 AC_CONFIG_COMMANDS_PRE(dnl
 [m4_provide_if([_AM_COMPILER_EXEEXT],
   [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
 ])
 
-dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
+dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
 dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
 dnl mangled by Autoconf and run in a shell conditional statement.
 m4_define([_AC_COMPILER_EXEEXT],
@@ -555,14 +569,13 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation,
-# Inc.
+# Copyright (C) 2001-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
+# serial 8
 
 # AM_PROG_INSTALL_SH
 # ------------------
@@ -577,9 +590,9 @@ if test x"${install_sh}" != xset; then
     install_sh="\${SHELL} $am_aux_dir/install-sh"
   esac
 fi
-AC_SUBST(install_sh)])
+AC_SUBST([install_sh])])
 
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2003-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -603,20 +616,19 @@ AC_SUBST([am__leading_dot])])
 # Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
 # From Jim Meyering
 
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008,
-# 2011 Free Software Foundation, Inc.
+# Copyright (C) 1996-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
+# serial 7
 
 # AM_MAINTAINER_MODE([DEFAULT-MODE])
 # ----------------------------------
 # Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless `enable' is passed literally.
-# For symmetry, `disable' may be passed as well.  Anyway, the user
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well.  Anyway, the user
 # can override the default with the --enable/--disable switch.
 AC_DEFUN([AM_MAINTAINER_MODE],
 [m4_case(m4_default([$1], [disable]),
@@ -627,10 +639,11 @@ AC_DEFUN([AM_MAINTAINER_MODE],
 AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
   dnl maintainer-mode's default is 'disable' unless 'enable' is passed
   AC_ARG_ENABLE([maintainer-mode],
-[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer],
-      [USE_MAINTAINER_MODE=$enableval],
-      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+      am_maintainer_other[ make rules and dependencies not useful
+      (and sometimes confusing) to the casual installer])],
+    [USE_MAINTAINER_MODE=$enableval],
+    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
   AC_MSG_RESULT([$USE_MAINTAINER_MODE])
   AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
   MAINT=$MAINTAINER_MODE_TRUE
@@ -642,13 +655,13 @@ AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
 
 # Check to see how 'make' treats includes.	            -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
+# Copyright (C) 2001-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 4
+# serial 5
 
 # AM_MAKE_INCLUDE()
 # -----------------
@@ -667,7 +680,7 @@ am__quote=
 _am_result=none
 # First try GNU make style include.
 echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
+# Ignore all kinds of additional output from 'make'.
 case `$am_make -s -f confmf 2> /dev/null` in #(
 *the\ am__doit\ target*)
   am__include=include
@@ -694,14 +707,13 @@ rm -f confinc confmf
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 6
+# serial 7
 
 # AM_MISSING_PROG(NAME, PROGRAM)
 # ------------------------------
@@ -731,25 +743,29 @@ if eval "$MISSING --run true"; then
   am_missing_run="$MISSING --run "
 else
   am_missing_run=
-  AC_MSG_WARN([`missing' script is too old or missing])
+  AC_MSG_WARN(['missing' script is too old or missing])
 fi
 ])
 
-# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation,
-# Inc.
+# Copyright (C) 2003-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
+# serial 3
 
 # AM_PROG_MKDIR_P
 # ---------------
-# Check for `mkdir -p'.
+# Check for 'mkdir -p'.
 AC_DEFUN([AM_PROG_MKDIR_P],
 [AC_PREREQ([2.60])dnl
 AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl FIXME to be removed in Automake 1.13.
+AC_DIAGNOSE([obsolete],
+[$0: this macro is deprecated, and will soon be removed.
+You should use the Autoconf-provided 'AC][_PROG_MKDIR_P' macro instead,
+and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files.])
 dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
 dnl while keeping a definition of mkdir_p for backward compatibility.
 dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
@@ -766,14 +782,13 @@ esac
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software
-# Foundation, Inc.
+# Copyright (C) 2001-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
+# serial 6
 
 # _AM_MANGLE_OPTION(NAME)
 # -----------------------
@@ -784,7 +799,7 @@ AC_DEFUN([_AM_MANGLE_OPTION],
 # --------------------
 # Set option NAME.  Presently that only means defining a flag for this option.
 AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
 
 # _AM_SET_OPTIONS(OPTIONS)
 # ------------------------
@@ -800,22 +815,18 @@ AC_DEFUN([_AM_IF_OPTION],
 
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
+# serial 9
 
 # AM_SANITY_CHECK
 # ---------------
 AC_DEFUN([AM_SANITY_CHECK],
 [AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
 # Reject unsafe characters in $srcdir or the absolute working directory
 # name.  Accept space and tab only in the latter.
 am_lf='
@@ -826,32 +837,40 @@ case `pwd` in
 esac
 case $srcdir in
   *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
-    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+    AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
 esac
 
-# Do `set' in a subshell so we don't clobber the current shell's
+# Do 'set' in a subshell so we don't clobber the current shell's
 # arguments.  Must try -L first in case configure is actually a
 # symlink; some systems play weird games with the mod time of symlinks
 # (eg FreeBSD returns the mod time of the symlink's containing
 # directory).
 if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$[*]" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$[*]" != "X $srcdir/configure conftest.file" \
-      && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
-alias in your environment])
-   fi
-
+   am_has_slept=no
+   for am_try in 1 2; do
+     echo "timestamp, slept: $am_has_slept" > conftest.file
+     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+     if test "$[*]" = "X"; then
+	# -L didn't work.
+	set X `ls -t "$srcdir/configure" conftest.file`
+     fi
+     if test "$[*]" != "X $srcdir/configure conftest.file" \
+	&& test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+	# If neither matched, then we have a broken ls.  This can happen
+	# if, for instance, CONFIG_SHELL is bash and it inherits a
+	# broken ls alias from the environment.  This has actually
+	# happened.  Such a system could not be considered "sane".
+	AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+  alias in your environment])
+     fi
+     if test "$[2]" = conftest.file || test $am_try -eq 2; then
+       break
+     fi
+     # Just in case.
+     sleep 1
+     am_has_slept=yes
+   done
    test "$[2]" = conftest.file
    )
 then
@@ -861,39 +880,55 @@ else
    AC_MSG_ERROR([newly created file is older than distributed files!
 Check your system clock])
 fi
-AC_MSG_RESULT(yes)])
+AC_MSG_RESULT([yes])
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+  ( sleep 1 ) &
+  am_sleep_pid=$!
+fi
+AC_CONFIG_COMMANDS_PRE(
+  [AC_MSG_CHECKING([that generated files are newer than configure])
+   if test -n "$am_sleep_pid"; then
+     # Hide warnings about reused PIDs.
+     wait $am_sleep_pid 2>/dev/null
+   fi
+   AC_MSG_RESULT([done])])
+rm -f conftest.file
+])
 
-# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
+# serial 2
 
 # AM_PROG_INSTALL_STRIP
 # ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
+# One issue with vendor 'install' (even GNU) is that you can't
 # specify the program used to strip binaries.  This is especially
 # annoying in cross-compiling environments, where the build's strip
 # is unlikely to handle the host's binaries.
 # Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
+# always use install-sh in "make install-strip", and initialize
 # STRIPPROG with the value of the STRIP variable (set by the user).
 AC_DEFUN([AM_PROG_INSTALL_STRIP],
 [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
 # tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+# will honor the 'STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
 if test "$cross_compiling" != no; then
   AC_CHECK_TOOL([STRIP], [strip], :)
 fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2006-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -914,18 +949,18 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc.
+# Copyright (C) 2004-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
+# serial 3
 
 # _AM_PROG_TAR(FORMAT)
 # --------------------
 # Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
+# FORMAT should be one of 'v7', 'ustar', or 'pax'.
 #
 # Substitute a variable $(am__tar) that is a command
 # writing to stdout a FORMAT-tarball containing the directory
@@ -948,7 +983,7 @@ AC_MSG_CHECKING([how to create a $1 tar archive])
 _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
 _am_tools=${am_cv_prog_tar_$1-$_am_tools}
 # Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
+# Solaris sh will not grok spaces in the rhs of '-'.
 for _am_tool in $_am_tools
 do
   case $_am_tool in
diff --git a/build_tools/Makefile.in b/build_tools/Makefile.in
index ceaca9e..e80ed2a 100644
--- a/build_tools/Makefile.in
+++ b/build_tools/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -174,6 +173,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -322,6 +322,8 @@ TAGS:
 ctags: CTAGS
 CTAGS:
 
+cscope cscopelist:
+
 
 distdir: $(DISTFILES)
 	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
diff --git a/config.h.in b/config.h.in
index 968aaee..c03c12d 100644
--- a/config.h.in
+++ b/config.h.in
@@ -186,12 +186,6 @@
 /* Define to 1 if you have the <mach-o/dyld.h> header file. */
 #undef HAVE_MACH_O_DYLD_H
 
-/* Define if Magick++ library is available */
-#undef HAVE_MAGICKPP
-
-/* Define if Magick++ defines OptimizeImageTransparency() */
-#undef HAVE_MAGICK_OPTIMIZE
-
 /* Define to 1 if you have the <memory.h> header file. */
 #undef HAVE_MEMORY_H
 
diff --git a/config/config.guess b/config/config.guess
index d622a44..c0adba9 100755
--- a/config/config.guess
+++ b/config/config.guess
@@ -4,7 +4,7 @@
 #   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
 #   2011, 2012 Free Software Foundation, Inc.
 
-timestamp='2012-02-10'
+timestamp='2012-06-10'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -1256,7 +1256,7 @@ EOF
     NEO-?:NONSTOP_KERNEL:*:*)
 	echo neo-tandem-nsk${UNAME_RELEASE}
 	exit ;;
-    NSE-?:NONSTOP_KERNEL:*:*)
+    NSE-*:NONSTOP_KERNEL:*:*)
 	echo nse-tandem-nsk${UNAME_RELEASE}
 	exit ;;
     NSR-?:NONSTOP_KERNEL:*:*)
diff --git a/config/depcomp b/config/depcomp
index 25a39e6..debb6ff 100755
--- a/config/depcomp
+++ b/config/depcomp
@@ -3,8 +3,7 @@
 
 scriptversion=2012-03-27.16; # UTC
 
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
-# 2011, 2012 Free Software Foundation, Inc.
+# Copyright (C) 1999-2012 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/config/install-sh b/config/install-sh
index a9244eb..377bb86 100755
--- a/config/install-sh
+++ b/config/install-sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2011-01-19.21; # UTC
+scriptversion=2011-11-20.07; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -35,7 +35,7 @@ scriptversion=2011-01-19.21; # UTC
 # FSF changes to this file are in the public domain.
 #
 # Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
+# 'make' implicit rules from creating a file called install from it
 # when there is no Makefile.
 #
 # This script is compatible with the BSD install script, but was written
@@ -156,7 +156,7 @@ while test $# -ne 0; do
     -s) stripcmd=$stripprog;;
 
     -t) dst_arg=$2
-	# Protect names problematic for `test' and other utilities.
+	# Protect names problematic for 'test' and other utilities.
 	case $dst_arg in
 	  -* | [=\(\)!]) dst_arg=./$dst_arg;;
 	esac
@@ -190,7 +190,7 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
     fi
     shift # arg
     dst_arg=$arg
-    # Protect names problematic for `test' and other utilities.
+    # Protect names problematic for 'test' and other utilities.
     case $dst_arg in
       -* | [=\(\)!]) dst_arg=./$dst_arg;;
     esac
@@ -202,7 +202,7 @@ if test $# -eq 0; then
     echo "$0: no input file specified." >&2
     exit 1
   fi
-  # It's OK to call `install-sh -d' without argument.
+  # It's OK to call 'install-sh -d' without argument.
   # This can happen when creating conditional directories.
   exit 0
 fi
@@ -240,7 +240,7 @@ fi
 
 for src
 do
-  # Protect names problematic for `test' and other utilities.
+  # Protect names problematic for 'test' and other utilities.
   case $src in
     -* | [=\(\)!]) src=./$src;;
   esac
@@ -354,7 +354,7 @@ do
 	      if test -z "$dir_arg" || {
 		   # Check for POSIX incompatibilities with -m.
 		   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
-		   # other-writeable bit of parent directory when it shouldn't.
+		   # other-writable bit of parent directory when it shouldn't.
 		   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
 		   ls_ld_tmpdir=`ls -ld "$tmpdir"`
 		   case $ls_ld_tmpdir in
diff --git a/config/ltmain.sh b/config/ltmain.sh
index 0096fe6..63ae69d 100644
--- a/config/ltmain.sh
+++ b/config/ltmain.sh
@@ -70,7 +70,7 @@
 #         compiler:		$LTCC
 #         compiler flags:		$LTCFLAGS
 #         linker:		$LD (gnu? $with_gnu_ld)
-#         $progname:	(GNU libtool) 2.4.2 Debian-2.4.2-1ubuntu2
+#         $progname:	(GNU libtool) 2.4.2
 #         automake:	$automake_version
 #         autoconf:	$autoconf_version
 #
@@ -80,7 +80,7 @@
 
 PROGRAM=libtool
 PACKAGE=libtool
-VERSION="2.4.2 Debian-2.4.2-1ubuntu2"
+VERSION=2.4.2
 TIMESTAMP=""
 package_revision=1.3337
 
@@ -6124,10 +6124,7 @@ func_mode_link ()
 	case $pass in
 	dlopen) libs="$dlfiles" ;;
 	dlpreopen) libs="$dlprefiles" ;;
-	link)
-	  libs="$deplibs %DEPLIBS%"
-	  test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
-	  ;;
+	link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
 	esac
       fi
       if test "$linkmode,$pass" = "lib,dlpreopen"; then
@@ -6447,19 +6444,19 @@ func_mode_link ()
 	    # It is a libtool convenience library, so add in its objects.
 	    func_append convenience " $ladir/$objdir/$old_library"
 	    func_append old_convenience " $ladir/$objdir/$old_library"
-	    tmp_libs=
-	    for deplib in $dependency_libs; do
-	      deplibs="$deplib $deplibs"
-	      if $opt_preserve_dup_deps ; then
-		case "$tmp_libs " in
-		*" $deplib "*) func_append specialdeplibs " $deplib" ;;
-		esac
-	      fi
-	      func_append tmp_libs " $deplib"
-	    done
 	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
 	    func_fatal_error "\`$lib' is not a convenience library"
 	  fi
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    deplibs="$deplib $deplibs"
+	    if $opt_preserve_dup_deps ; then
+	      case "$tmp_libs " in
+	      *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+	      esac
+	    fi
+	    func_append tmp_libs " $deplib"
+	  done
 	  continue
 	fi # $pass = conv
 
@@ -7352,9 +7349,6 @@ func_mode_link ()
 	    revision="$number_minor"
 	    lt_irix_increment=no
 	    ;;
-	  *)
-	    func_fatal_configuration "$modename: unknown library version type \`$version_type'"
-	    ;;
 	  esac
 	  ;;
 	no)
diff --git a/config/missing b/config/missing
index 86a8fc3..9a55648 100755
--- a/config/missing
+++ b/config/missing
@@ -1,10 +1,9 @@
 #! /bin/sh
 # Common stub for a few missing GNU programs while installing.
 
-scriptversion=2012-01-06.13; # UTC
+scriptversion=2012-01-06.18; # UTC
 
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
-# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+# Copyright (C) 1996-2012 Free Software Foundation, Inc.
 # Originally by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
@@ -26,7 +25,7 @@ scriptversion=2012-01-06.13; # UTC
 # the same distribution terms that you use for the rest of that program.
 
 if test $# -eq 0; then
-  echo 1>&2 "Try \`$0 --help' for more information"
+  echo 1>&2 "Try '$0 --help' for more information"
   exit 1
 fi
 
@@ -34,7 +33,7 @@ run=:
 sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
 sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
 
-# In the cases where this matters, `missing' is being run in the
+# In the cases where this matters, 'missing' is being run in the
 # srcdir already.
 if test -f configure.ac; then
   configure_ac=configure.ac
@@ -65,7 +64,7 @@ case $1 in
     echo "\
 $0 [OPTION]... PROGRAM [ARGUMENT]...
 
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+Handle 'PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
 error status if there is no known handling for PROGRAM.
 
 Options:
@@ -74,20 +73,20 @@ Options:
   --run           try to run the given command, and emulate it if it fails
 
 Supported PROGRAM values:
-  aclocal      touch file \`aclocal.m4'
-  autoconf     touch file \`configure'
-  autoheader   touch file \`config.h.in'
+  aclocal      touch file 'aclocal.m4'
+  autoconf     touch file 'configure'
+  autoheader   touch file 'config.h.in'
   autom4te     touch the output file, or create a stub one
-  automake     touch all \`Makefile.in' files
-  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
-  flex         create \`lex.yy.c', if possible, from existing .c
+  automake     touch all 'Makefile.in' files
+  bison        create 'y.tab.[ch]', if possible, from existing .[ch]
+  flex         create 'lex.yy.c', if possible, from existing .c
   help2man     touch the output file
-  lex          create \`lex.yy.c', if possible, from existing .c
+  lex          create 'lex.yy.c', if possible, from existing .c
   makeinfo     touch the output file
-  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
+  yacc         create 'y.tab.[ch]', if possible, from existing .[ch]
 
-Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
-\`g' are ignored when checking the name.
+Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
+'g' are ignored when checking the name.
 
 Send bug reports to <bug-automake at gnu.org>."
     exit $?
@@ -99,8 +98,8 @@ Send bug reports to <bug-automake at gnu.org>."
     ;;
 
   -*)
-    echo 1>&2 "$0: Unknown \`$1' option"
-    echo 1>&2 "Try \`$0 --help' for more information"
+    echo 1>&2 "$0: Unknown '$1' option"
+    echo 1>&2 "Try '$0 --help' for more information"
     exit 1
     ;;
 
@@ -127,7 +126,7 @@ case $1 in
        exit 1
     elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
        # Could not run --version or --help.  This is probably someone
-       # running `$TOOL --version' or `$TOOL --help' to check whether
+       # running '$TOOL --version' or '$TOOL --help' to check whether
        # $TOOL exists and not knowing $TOOL uses missing.
        exit 1
     fi
@@ -139,27 +138,27 @@ esac
 case $program in
   aclocal*)
     echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
-         to install the \`Automake' and \`Perl' packages.  Grab them from
+WARNING: '$1' is $msg.  You should only need it if
+         you modified 'acinclude.m4' or '${configure_ac}'.  You might want
+         to install the Automake and Perl packages.  Grab them from
          any GNU archive site."
     touch aclocal.m4
     ;;
 
   autoconf*)
     echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`${configure_ac}'.  You might want to install the
-         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
+WARNING: '$1' is $msg.  You should only need it if
+         you modified '${configure_ac}'.  You might want to install the
+         Autoconf and GNU m4 packages.  Grab them from any GNU
          archive site."
     touch configure
     ;;
 
   autoheader*)
     echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
-         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
+WARNING: '$1' is $msg.  You should only need it if
+         you modified 'acconfig.h' or '${configure_ac}'.  You might want
+         to install the Autoconf and GNU m4 packages.  Grab them
          from any GNU archive site."
     files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
     test -z "$files" && files="config.h"
@@ -176,9 +175,9 @@ WARNING: \`$1' is $msg.  You should only need it if
 
   automake*)
     echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
-         You might want to install the \`Automake' and \`Perl' packages.
+WARNING: '$1' is $msg.  You should only need it if
+         you modified 'Makefile.am', 'acinclude.m4' or '${configure_ac}'.
+         You might want to install the Automake and Perl packages.
          Grab them from any GNU archive site."
     find . -type f -name Makefile.am -print |
 	   sed 's/\.am$/.in/' |
@@ -187,10 +186,10 @@ WARNING: \`$1' is $msg.  You should only need it if
 
   autom4te*)
     echo 1>&2 "\
-WARNING: \`$1' is needed, but is $msg.
+WARNING: '$1' is needed, but is $msg.
          You might have modified some files without having the
          proper tools for further handling them.
-         You can get \`$1' as part of \`Autoconf' from any GNU
+         You can get '$1' as part of Autoconf from any GNU
          archive site."
 
     file=`echo "$*" | sed -n "$sed_output"`
@@ -210,10 +209,10 @@ WARNING: \`$1' is needed, but is $msg.
 
   bison*|yacc*)
     echo 1>&2 "\
-WARNING: \`$1' $msg.  You should only need it if
-         you modified a \`.y' file.  You may need the \`Bison' package
+WARNING: '$1' $msg.  You should only need it if
+         you modified a '.y' file.  You may need the Bison package
          in order for those modifications to take effect.  You can get
-         \`Bison' from any GNU archive site."
+         Bison from any GNU archive site."
     rm -f y.tab.c y.tab.h
     if test $# -ne 1; then
         eval LASTARG=\${$#}
@@ -240,10 +239,10 @@ WARNING: \`$1' $msg.  You should only need it if
 
   lex*|flex*)
     echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified a \`.l' file.  You may need the \`Flex' package
+WARNING: '$1' is $msg.  You should only need it if
+         you modified a '.l' file.  You may need the Flex package
          in order for those modifications to take effect.  You can get
-         \`Flex' from any GNU archive site."
+         Flex from any GNU archive site."
     rm -f lex.yy.c
     if test $# -ne 1; then
         eval LASTARG=\${$#}
@@ -263,10 +262,10 @@ WARNING: \`$1' is $msg.  You should only need it if
 
   help2man*)
     echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
+WARNING: '$1' is $msg.  You should only need it if
 	 you modified a dependency of a manual page.  You may need the
-	 \`Help2man' package in order for those modifications to take
-	 effect.  You can get \`Help2man' from any GNU archive site."
+	 Help2man package in order for those modifications to take
+	 effect.  You can get Help2man from any GNU archive site."
 
     file=`echo "$*" | sed -n "$sed_output"`
     test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
@@ -281,12 +280,12 @@ WARNING: \`$1' is $msg.  You should only need it if
 
   makeinfo*)
     echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified a \`.texi' or \`.texinfo' file, or any other file
+WARNING: '$1' is $msg.  You should only need it if
+         you modified a '.texi' or '.texinfo' file, or any other file
          indirectly affecting the aspect of the manual.  The spurious
-         call might also be the consequence of using a buggy \`make' (AIX,
-         DU, IRIX).  You might want to install the \`Texinfo' package or
-         the \`GNU make' package.  Grab either from any GNU archive site."
+         call might also be the consequence of using a buggy 'make' (AIX,
+         DU, IRIX).  You might want to install the Texinfo package or
+         the GNU make package.  Grab either from any GNU archive site."
     # The file to touch is that specified with -o ...
     file=`echo "$*" | sed -n "$sed_output"`
     test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
@@ -310,12 +309,12 @@ WARNING: \`$1' is $msg.  You should only need it if
 
   *)
     echo 1>&2 "\
-WARNING: \`$1' is needed, and is $msg.
+WARNING: '$1' is needed, and is $msg.
          You might have modified some files without having the
-         proper tools for further handling them.  Check the \`README' file,
+         proper tools for further handling them.  Check the 'README' file,
          it often tells you about the needed prerequisites for installing
          this package.  You may also peek at any GNU archive site, in case
-         some other package would contain this missing \`$1' program."
+         some other package would contain this missing '$1' program."
     exit 1
     ;;
 esac
diff --git a/configure b/configure
index 7b6098f..cce948a 100755
--- a/configure
+++ b/configure
@@ -1,7 +1,7 @@
 #! /bin/sh
 # From configure.ac .
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for Synfig Core 0.64.0.
+# Generated by GNU Autoconf 2.69 for Synfig Core 0.64.1.
 #
 # Report bugs to <http://www.synfig.org/issues/thebuggenie/synfig>.
 #
@@ -595,8 +595,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='Synfig Core'
 PACKAGE_TARNAME='synfig'
-PACKAGE_VERSION='0.64.0'
-PACKAGE_STRING='Synfig Core 0.64.0'
+PACKAGE_VERSION='0.64.1'
+PACKAGE_STRING='Synfig Core 0.64.1'
 PACKAGE_BUGREPORT='http://www.synfig.org/issues/thebuggenie/synfig'
 PACKAGE_URL=''
 
@@ -733,18 +733,17 @@ WITH_LIBAVCODEC_FALSE
 WITH_LIBAVCODEC_TRUE
 LIBAVCODEC_LIBS
 LIBAVCODEC_CFLAGS
-PKG_CONFIG
 WITH_LIBDV_FALSE
 WITH_LIBDV_TRUE
 WITH_VIMAGE_FALSE
 WITH_VIMAGE_TRUE
 WITH_FFMPEG_FALSE
 WITH_FFMPEG_TRUE
-HAVE_MAGICK_OPTIMIZE_FALSE
-HAVE_MAGICK_OPTIMIZE_TRUE
 HAVE_LIBMAGICKPP_FALSE
 HAVE_LIBMAGICKPP_TRUE
 MAGICKPP_LIBS
+MAGICKPP_CFLAGS
+PKG_CONFIG
 WITH_IMAGEMAGICK_FALSE
 WITH_IMAGEMAGICK_TRUE
 imagemagick_convert
@@ -1471,7 +1470,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Synfig Core 0.64.0 to adapt to many kinds of systems.
+\`configure' configures Synfig Core 0.64.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1541,7 +1540,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Synfig Core 0.64.0:";;
+     short | recursive ) echo "Configuration of Synfig Core 0.64.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1549,10 +1548,13 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer
-  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors
+  --enable-maintainer-mode
+                          enable make rules and dependencies not useful (and
+                          sometimes confusing) to the casual installer
+  --enable-dependency-tracking
+                          do not reject slow dependency extractors
+  --disable-dependency-tracking
+                          speeds up one-time build
   --enable-debug           Build in debugging mode
   --enable-optimization=[0,1,2,3,4] Select optimization level (default=2)
   --enable-warnings=[none|minimum|maximum|hardcore]
@@ -1706,7 +1708,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Synfig Core configure 0.64.0
+Synfig Core configure 0.64.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2573,7 +2575,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Synfig Core $as_me 0.64.0, which was
+It was created by Synfig Core $as_me 0.64.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3026,7 +3028,7 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
 
 
 
-am__api_version='1.11'
+am__api_version='1.12'
 
 # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
@@ -3123,9 +3125,6 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
 $as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
 # Reject unsafe characters in $srcdir or the absolute working directory
 # name.  Accept space and tab only in the latter.
 am_lf='
@@ -3136,32 +3135,40 @@ case `pwd` in
 esac
 case $srcdir in
   *[\\\"\#\$\&\'\`$am_lf\ \	]*)
-    as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+    as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
 esac
 
-# Do `set' in a subshell so we don't clobber the current shell's
+# Do 'set' in a subshell so we don't clobber the current shell's
 # arguments.  Must try -L first in case configure is actually a
 # symlink; some systems play weird games with the mod time of symlinks
 # (eg FreeBSD returns the mod time of the symlink's containing
 # directory).
 if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$*" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$*" != "X $srcdir/configure conftest.file" \
-      && test "$*" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" "$LINENO" 5
-   fi
-
+   am_has_slept=no
+   for am_try in 1 2; do
+     echo "timestamp, slept: $am_has_slept" > conftest.file
+     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+     if test "$*" = "X"; then
+	# -L didn't work.
+	set X `ls -t "$srcdir/configure" conftest.file`
+     fi
+     if test "$*" != "X $srcdir/configure conftest.file" \
+	&& test "$*" != "X conftest.file $srcdir/configure"; then
+
+	# If neither matched, then we have a broken ls.  This can happen
+	# if, for instance, CONFIG_SHELL is bash and it inherits a
+	# broken ls alias from the environment.  This has actually
+	# happened.  Such a system could not be considered "sane".
+	as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
+  alias in your environment" "$LINENO" 5
+     fi
+     if test "$2" = conftest.file || test $am_try -eq 2; then
+       break
+     fi
+     # Just in case.
+     sleep 1
+     am_has_slept=yes
+   done
    test "$2" = conftest.file
    )
 then
@@ -3173,6 +3180,16 @@ Check your system clock" "$LINENO" 5
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+  ( sleep 1 ) &
+  am_sleep_pid=$!
+fi
+
+rm -f conftest.file
+
 test "$program_prefix" != NONE &&
   program_transform_name="s&^&$program_prefix&;$program_transform_name"
 # Use a double $ so make ignores it.
@@ -3199,8 +3216,8 @@ if eval "$MISSING --run true"; then
   am_missing_run="$MISSING --run "
 else
   am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
 fi
 
 if test x"${install_sh}" != xset; then
@@ -3212,10 +3229,10 @@ if test x"${install_sh}" != xset; then
   esac
 fi
 
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
 # tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
+# will honor the 'STRIP' environment variable to overrule this program.
 if test "$cross_compiling" != no; then
   if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
@@ -3354,12 +3371,6 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
 $as_echo "$MKDIR_P" >&6; }
 
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
-  [\\/$]* | ?:[\\/]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
 for ac_prog in gawk mawk nawk awk
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
@@ -3464,7 +3475,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='synfig'
- VERSION='0.64.0'
+ VERSION='0.64.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3492,6 +3503,12 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
 
 MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 
+# For better backward compatibility.  To be removed once Automake 1.9.x
+# dies out for good.  For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+mkdir_p='$(MKDIR_P)'
+
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
 # Always define AMTAR for backward compatibility.  Yes, it's still used
@@ -4378,7 +4395,7 @@ am__quote=
 _am_result=none
 # First try GNU make style include.
 echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
+# Ignore all kinds of additional output from 'make'.
 case `$am_make -s -f confmf 2> /dev/null` in #(
 *the\ am__doit\ target*)
   am__include=include
@@ -4434,8 +4451,8 @@ else
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
   # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
   rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
@@ -4470,16 +4487,16 @@ else
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
     # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
     am__obj=sub/conftest.${OBJEXT-o}
     am__minus_obj="-o $am__obj"
     case $depmode in
@@ -4488,8 +4505,8 @@ else
       test "$am__universal" = false || continue
       ;;
     nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
       if test "x$enable_dependency_tracking" = xyes; then
 	continue
       else
@@ -4497,7 +4514,7 @@ else
       fi
       ;;
     msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
+      # This compiler won't grok '-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
       am__obj=conftest.${OBJEXT-o}
@@ -5279,8 +5296,8 @@ else
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
   # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
   rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
@@ -5315,16 +5332,16 @@ else
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
     # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
     am__obj=sub/conftest.${OBJEXT-o}
     am__minus_obj="-o $am__obj"
     case $depmode in
@@ -5333,8 +5350,8 @@ else
       test "$am__universal" = false || continue
       ;;
     nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
       if test "x$enable_dependency_tracking" = xyes; then
 	continue
       else
@@ -5342,7 +5359,7 @@ else
       fi
       ;;
     msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
+      # This compiler won't grok '-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
       am__obj=conftest.${OBJEXT-o}
@@ -6153,12 +6170,12 @@ $as_echo "compiler is cygwin stock, adding -mno-cygwin" >&6; }
 } ; fi
 
     LTCC="gcc"
-    CXXFLAGS="$CXXFLAGS -LC:/GTK/lib"
+    CXXFLAGS="$CXXFLAGS -Wno-cpp -LC:/GTK/lib"
     CFLAGS="$CFLAGS -LC:/GTK/lib"
-    LDFLAGS="$LDFLAGS -lole32 -no-undefined -Wl,--export-all-symbols -Wl,--subsystem=console -Wl,--enable-runtime-pseudo-reloc"
+    LDFLAGS="$LDFLAGS -lole32 -Wl,-no-undefined -Wl,--export-all-symbols -Wl,--subsystem=console -Wl,--enable-runtime-pseudo-reloc"
     ;;
   *cygwin*)
-    LDFLAGS="$LDFLAGS -lole32 -no-undefined -Wl,--export-all-symbols"
+    LDFLAGS="$LDFLAGS -lole32 -Wl,-no-undefined -Wl,--export-all-symbols"
     CXXFLAGS="$CXXFLAGS -I/target/include"
     CFLAGS="$CFLAGS -I/target/include"
     ;;
@@ -7678,7 +7695,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-netbsd* | netbsdelf*-gnu)
+netbsd*)
   if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
     lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
   else
@@ -10754,9 +10771,6 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
   openbsd*)
     with_gnu_ld=no
     ;;
-  linux* | k*bsd*-gnu | gnu*)
-    link_all_deplibs=no
-    ;;
   esac
 
   ld_shlibs=yes
@@ -10978,7 +10992,7 @@ _LT_EOF
       fi
       ;;
 
-    netbsd* | netbsdelf*-gnu)
+    netbsd*)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
 	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
@@ -11155,7 +11169,6 @@ _LT_EOF
 	if test "$aix_use_runtimelinking" = yes; then
 	  shared_flag="$shared_flag "'${wl}-G'
 	fi
-	link_all_deplibs=no
       else
 	# not using gcc
 	if test "$host_cpu" = ia64; then
@@ -11609,7 +11622,7 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
       link_all_deplibs=yes
       ;;
 
-    netbsd* | netbsdelf*-gnu)
+    netbsd*)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
 	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
@@ -12622,10 +12635,14 @@ fi
   # before this can be enabled.
   hardcode_into_libs=yes
 
+  # Add ABI-specific directories to the system library path.
+  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
+
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
+
   fi
 
   # We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -12637,18 +12654,6 @@ fi
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
-  ;;
-
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -15484,7 +15489,7 @@ lt_prog_compiler_static_CXX=
 	    ;;
 	esac
 	;;
-      netbsd* | netbsdelf*-gnu)
+      netbsd*)
 	;;
       *qnx* | *nto*)
         # QNX uses GNU C++, but need to define -shared option too, otherwise
@@ -15855,9 +15860,6 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
       ;;
     esac
     ;;
-  linux* | k*bsd*-gnu | gnu*)
-    link_all_deplibs_CXX=no
-    ;;
   *)
     export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
     ;;
@@ -16468,10 +16470,14 @@ fi
   # before this can be enabled.
   hardcode_into_libs=yes
 
+  # Add ABI-specific directories to the system library path.
+  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
+
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
+
   fi
 
   # We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -16483,18 +16489,6 @@ fi
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
-  ;;
-
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -17056,95 +17050,100 @@ fi
 
 if test $with_magickpp = "yes" ; then {
 
-ac_fn_cxx_check_header_mongrel "$LINENO" "Magick++.h" "ac_cv_header_Magickpp_h" "$ac_includes_default"
-if test "x$ac_cv_header_Magickpp_h" = xyes; then :
-
-  	MAGICKPP_LIBS="-lMagick++"
-
-$as_echo "#define HAVE_MAGICKPP /**/" >>confdefs.h
-
-
-  	 if true; then
-  HAVE_LIBMAGICKPP_TRUE=
-  HAVE_LIBMAGICKPP_FALSE='#'
-else
-  HAVE_LIBMAGICKPP_TRUE='#'
-  HAVE_LIBMAGICKPP_FALSE=
-fi
+  succeeded=no
 
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for OptimizeImageTransparency in -lMagick" >&5
-$as_echo_n "checking for OptimizeImageTransparency in -lMagick... " >&6; }
-if ${ac_cv_lib_Magick_OptimizeImageTransparency+:} false; then :
+  if test -z "$PKG_CONFIG"; then
+    # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PKG_CONFIG+:} false; then :
   $as_echo_n "(cached) " >&6
 else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lMagick  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
+  case $PKG_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char OptimizeImageTransparency ();
-int
-main ()
-{
-return OptimizeImageTransparency ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-  ac_cv_lib_Magick_OptimizeImageTransparency=yes
-else
-  ac_cv_lib_Magick_OptimizeImageTransparency=no
+  test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
+  ;;
+esac
 fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Magick_OptimizeImageTransparency" >&5
-$as_echo "$ac_cv_lib_Magick_OptimizeImageTransparency" >&6; }
-if test "x$ac_cv_lib_Magick_OptimizeImageTransparency" = xyes; then :
 
 
-$as_echo "#define HAVE_MAGICK_OPTIMIZE /**/" >>confdefs.h
+  fi
 
-		 if true; then
-  HAVE_MAGICK_OPTIMIZE_TRUE=
-  HAVE_MAGICK_OPTIMIZE_FALSE='#'
-else
-  HAVE_MAGICK_OPTIMIZE_TRUE='#'
-  HAVE_MAGICK_OPTIMIZE_FALSE=
-fi
+  if test "$PKG_CONFIG" = "no" ; then
+     echo "*** The pkg-config script could not be found. Make sure it is"
+     echo "*** in your path, or set the PKG_CONFIG environment variable"
+     echo "*** to the full path to pkg-config."
+     echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config."
+  else
+     PKG_CONFIG_MIN_VERSION=0.9.0
+     if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Magick++ >= 6.4.2" >&5
+$as_echo_n "checking for Magick++ >= 6.4.2... " >&6; }
 
+        if $PKG_CONFIG --exists "Magick++ >= 6.4.2" ; then
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+            succeeded=yes
 
-else
+            { $as_echo "$as_me:${as_lineno-$LINENO}: checking MAGICKPP_CFLAGS" >&5
+$as_echo_n "checking MAGICKPP_CFLAGS... " >&6; }
+            MAGICKPP_CFLAGS=`$PKG_CONFIG --cflags "Magick++ >= 6.4.2"`
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGICKPP_CFLAGS" >&5
+$as_echo "$MAGICKPP_CFLAGS" >&6; }
+
+            { $as_echo "$as_me:${as_lineno-$LINENO}: checking MAGICKPP_LIBS" >&5
+$as_echo_n "checking MAGICKPP_LIBS... " >&6; }
+            MAGICKPP_LIBS=`$PKG_CONFIG --libs "Magick++ >= 6.4.2"`
+            { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGICKPP_LIBS" >&5
+$as_echo "$MAGICKPP_LIBS" >&6; }
+        else
+            MAGICKPP_CFLAGS=""
+            MAGICKPP_LIBS=""
+            ## If we have a custom action on failure, don't print errors, but
+            ## do set a variable so people can do so.
+            MAGICKPP_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "Magick++ >= 6.4.2"`
 
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: result:  *** OptimizeImageTransparency() not available - need ImageMagick 6.3 or newer " >&5
-$as_echo " *** OptimizeImageTransparency() not available - need ImageMagick 6.3 or newer " >&6; }
-		 if false; then
-  HAVE_MAGICK_OPTIMIZE_TRUE=
-  HAVE_MAGICK_OPTIMIZE_FALSE='#'
-else
-  HAVE_MAGICK_OPTIMIZE_TRUE='#'
-  HAVE_MAGICK_OPTIMIZE_FALSE=
-fi
+        fi
 
 
-fi
 
+     else
+        echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer."
+        echo "*** See http://www.freedesktop.org/software/pkgconfig"
+     fi
+  fi
 
-else
+  if test $succeeded = yes; then
 
-	with_magickpp="no"
-  	{ $as_echo "$as_me:${as_lineno-$LINENO}: result:  *** Magick++ Output target disabled" >&5
-$as_echo " *** Magick++ Output target disabled" >&6; }
-  	TARGET_MAGICKPP="no"
-  	 if false; then
+		with_magickpp="yes"
+                 if true; then
   HAVE_LIBMAGICKPP_TRUE=
   HAVE_LIBMAGICKPP_FALSE='#'
 else
@@ -17152,20 +17151,13 @@ else
   HAVE_LIBMAGICKPP_FALSE=
 fi
 
-	 if false; then
-  HAVE_MAGICK_OPTIMIZE_TRUE=
-  HAVE_MAGICK_OPTIMIZE_FALSE='#'
-else
-  HAVE_MAGICK_OPTIMIZE_TRUE='#'
-  HAVE_MAGICK_OPTIMIZE_FALSE=
-fi
-
-
-fi
 
+  else
 
-} else {
-	 if false; then
+                with_magickpp="no"
+                { $as_echo "$as_me:${as_lineno-$LINENO}: result:  *** Magick++ Output target disabled" >&5
+$as_echo " *** Magick++ Output target disabled" >&6; }
+                 if false; then
   HAVE_LIBMAGICKPP_TRUE=
   HAVE_LIBMAGICKPP_FALSE='#'
 else
@@ -17173,13 +17165,8 @@ else
   HAVE_LIBMAGICKPP_FALSE=
 fi
 
-	 if false; then
-  HAVE_MAGICK_OPTIMIZE_TRUE=
-  HAVE_MAGICK_OPTIMIZE_FALSE='#'
-else
-  HAVE_MAGICK_OPTIMIZE_TRUE='#'
-  HAVE_MAGICK_OPTIMIZE_FALSE=
-fi
+
+  fi
 
 } ; fi
 
@@ -17437,7 +17424,8 @@ if test $with_libavcodec = "yes" ; then {
 	ac_save_CFLAGS="$CFLAGS"
 	CPPFLAGS="${CPPFLAGS} ${LIBAVCODEC_CFLAGS}"
 	CFLAGS="${CFLAGS} ${LIBAVCODEC_CFLAGS}"
-	for ac_header in libavformat/avformat.h avformat.h ffmpeg/avformat.h
+
+for ac_header in libavformat/avformat.h avformat.h ffmpeg/avformat.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
@@ -18825,7 +18813,7 @@ else
     # at 6.2 and later dlopen does load deplibs.
     lt_cv_sys_dlopen_deplibs=yes
     ;;
-  netbsd* | netbsdelf*-gnu)
+  netbsd*)
     lt_cv_sys_dlopen_deplibs=yes
     ;;
   openbsd*)
@@ -19294,7 +19282,16 @@ eval "LTDLOPEN=\"$libname_spec\""
 
 
 
-ALL_LINGUAS="es fr it ru de en_GB zh_CN ro no_NO pt_BR pl_PL fa_IR nl sk_SK lt el_GR cs hu ja_JP"
+# Languages list (alphabetical order, please!)
+ALL_LINGUAS="ca cs da de el_GR en_GB es eu eu_ES fa_IR fr hu it ja_JP lt nl no_NO pl_PL pt_BR ro ru si sk_SK sv_SE tr zh_CN"
+
+
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+  [\\/$]* | ?:[\\/]*) ;;
+  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
 $as_echo_n "checking whether NLS is requested... " >&6; }
@@ -21007,23 +21004,23 @@ fi
   else
      PKG_CONFIG_MIN_VERSION=0.9.0
      if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ETL >= 0.04.16" >&5
-$as_echo_n "checking for ETL >= 0.04.16... " >&6; }
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ETL >= 0.04.17" >&5
+$as_echo_n "checking for ETL >= 0.04.17... " >&6; }
 
-        if $PKG_CONFIG --exists "ETL >= 0.04.16" ; then
+        if $PKG_CONFIG --exists "ETL >= 0.04.17" ; then
             { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
             succeeded=yes
 
             { $as_echo "$as_me:${as_lineno-$LINENO}: checking ETL_CFLAGS" >&5
 $as_echo_n "checking ETL_CFLAGS... " >&6; }
-            ETL_CFLAGS=`$PKG_CONFIG --cflags "ETL >= 0.04.16"`
+            ETL_CFLAGS=`$PKG_CONFIG --cflags "ETL >= 0.04.17"`
             { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ETL_CFLAGS" >&5
 $as_echo "$ETL_CFLAGS" >&6; }
 
             { $as_echo "$as_me:${as_lineno-$LINENO}: checking ETL_LIBS" >&5
 $as_echo_n "checking ETL_LIBS... " >&6; }
-            ETL_LIBS=`$PKG_CONFIG --libs "ETL >= 0.04.16"`
+            ETL_LIBS=`$PKG_CONFIG --libs "ETL >= 0.04.17"`
             { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ETL_LIBS" >&5
 $as_echo "$ETL_LIBS" >&6; }
         else
@@ -21031,7 +21028,7 @@ $as_echo "$ETL_LIBS" >&6; }
             ETL_LIBS=""
             ## If we have a custom action on failure, don't print errors, but
             ## do set a variable so people can do so.
-            ETL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "ETL >= 0.04.16"`
+            ETL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "ETL >= 0.04.17"`
 
         fi
 
@@ -21047,7 +21044,7 @@ $as_echo "$ETL_LIBS" >&6; }
      :
   else
 
-	as_fn_error $? " ** You need to install the ETL (version 0.04.16 or greater)." "$LINENO" 5
+	as_fn_error $? " ** You need to install the ETL (version 0.04.17 or greater)." "$LINENO" 5
 
   fi
 
@@ -21616,9 +21613,11 @@ $as_echo_n "checking for boostlib >= $boost_lib_version_req... " >&6; }
 
                         libsubdirs="lib"
     ax_arch=`uname -m`
-    if test $ax_arch = x86_64 -o $ax_arch = ppc64 -o $ax_arch = s390x -o $ax_arch = sparc64; then
+    case $ax_arch in
+      x86_64|ppc64|s390x|sparc64|aarch64)
         libsubdirs="lib64 lib lib64"
-    fi
+        ;;
+    esac
 
                 if test "$ac_boost_path" != ""; then
         BOOST_CPPFLAGS="-I$ac_boost_path/include"
@@ -22924,8 +22923,8 @@ CONFIG_CFLAGS="$CONFIG_CFLAGS"
 
 
 
-SYNFIG_LIBS="$VIMAGE_LIBS $LIBXMLPP_LIBS $LIBCAIRO_LIBS $LIBCAIROMM_LIBS $LIBPANGO_LIBS $ETL_LIBS $LIBSIGC_LIBS $LTLIBINTL"
-SYNFIG_CFLAGS="$LIBXMLPP_CFLAGS $LIBCAIRO_CFLAGS $LIBCAIROMM_CFLAGS $LIBPANGO_CFLAGS $ETL_CFLAGS $LIBSIGC_CFLAGS $CONFIG_CFLAGS -DSYNFIG_NO_DEPRECATED -DLOCALEDIR=\\\"$localedir\\\""
+SYNFIG_LIBS="$VIMAGE_LIBS $LIBXMLPP_LIBS $MAGICKPP_LIBS $LIBCAIRO_LIBS $LIBCAIROMM_LIBS $LIBPANGO_LIBS $ETL_LIBS $LIBSIGC_LIBS $LTLIBINTL"
+SYNFIG_CFLAGS="$LIBXMLPP_CFLAGS $MAGICKPP_CFLAGS $LIBCAIRO_CFLAGS $LIBCAIROMM_CFLAGS $LIBPANGO_CFLAGS $ETL_CFLAGS $LIBSIGC_CFLAGS $CONFIG_CFLAGS -DSYNFIG_NO_DEPRECATED -DLOCALEDIR=\\\"$localedir\\\""
 
 CONFIG_CFLAGS="`echo $CONFIG_CFLAGS | sed s/-mno-cygwin//g | sed s/-mwindows//g`"
 SYNFIG_CFLAGS="`echo $SYNFIG_CFLAGS | sed s/-mno-cygwin//g | sed s/-mwindows//g`"
@@ -22942,7 +22941,7 @@ SYNFIG_LIBS="`echo $SYNFIG_LIBS | sed s/-mno-cygwin//g | sed s/-mwindows//g`"
 synfigincludedir=$includedir/synfig-$API_VERSION
 
 
-ac_config_files="$ac_config_files synfig-config build_tools/Makefile synfig.pc doxygen.cfg Makefile po/Makefile.in src/Makefile src/synfig/Makefile src/modules/Makefile src/modules/lyr_freetype/Makefile src/modules/lyr_std/Makefile src/modules/mod_bmp/Makefile src/modules/mod_dv/Makefile src/modules/mod_ffmpeg/Makefile src/modules/mod_filter/Makefile src/modules/mod_geometry/Makefile src/modules/mod_gif/Makefile src/modules/mod_gradient/Makefile src/modules/mod_imagemagick/Makefile src/modules/mod_jpeg/Makefile src/modules/mod_libavcodec/Makefile src/modules/mod_magickpp/Makefile src/modules/mod_mng/Makefile src/modules/mod_noise/Makefile src/modules/mod_openexr/Makefile src/modules/mod_particle/Makefile src/modules/mod_png/Makefile src/modules/mod_ppm/Makefile src/modules/mod_yuv420p/Makefile src/modules/mod_svg/Makefile src/modules/mod_example/Makefile src/tool/Makefile src/modules/synfig_modules.cfg examples/walk/Makefile examples/Makefile win32inst.nsi pkg-info/macosx/synfig-core.info"
+ac_config_files="$ac_config_files synfig-config build_tools/Makefile synfig.pc doxygen.cfg Makefile po/Makefile.in src/Makefile src/synfig/Makefile src/modules/Makefile src/modules/lyr_freetype/Makefile src/modules/lyr_std/Makefile src/modules/mod_bmp/Makefile src/modules/mod_dv/Makefile src/modules/mod_ffmpeg/Makefile src/modules/mod_filter/Makefile src/modules/mod_geometry/Makefile src/modules/mod_gif/Makefile src/modules/mod_gradient/Makefile src/modules/mod_imagemagick/Makefile src/modules/mod_jpeg/Makefile src/modules/mod_libavcodec/Makefile src/modules/mod_magickpp/Makefile src/modules/mod_mng/Makefile src/modules/mod_noise/Makefile src/modules/mod_openexr/Makefile src/modules/mod_particle/Makefile src/modules/mod_png/Makefile src/modules/mod_ppm/Makefile src/modules/mod_yuv420p/Makefile src/modules/mod_svg/Makefile src/modules/mod_example/Makefile src/tool/Makefile src/modules/synfig_modules.cfg test/Makefile examples/walk/Makefile examples/Makefile pkg-info/macosx/synfig-core.info"
 
 ## src/modules/trgt_mpg/Makefile
 ## src/modules/mptr_mplayer/Makefile
@@ -23055,6 +23054,14 @@ LIBOBJS=$ac_libobjs
 LTLIBOBJS=$ac_ltlibobjs
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
+$as_echo_n "checking that generated files are newer than configure... " >&6; }
+   if test -n "$am_sleep_pid"; then
+     # Hide warnings about reused PIDs.
+     wait $am_sleep_pid 2>/dev/null
+   fi
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
+$as_echo "done" >&6; }
  if test -n "$EXEEXT"; then
   am__EXEEXT_TRUE=
   am__EXEEXT_FALSE='#'
@@ -23092,30 +23099,10 @@ if test -z "${HAVE_LIBMAGICKPP_TRUE}" && test -z "${HAVE_LIBMAGICKPP_FALSE}"; th
   as_fn_error $? "conditional \"HAVE_LIBMAGICKPP\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${HAVE_MAGICK_OPTIMIZE_TRUE}" && test -z "${HAVE_MAGICK_OPTIMIZE_FALSE}"; then
-  as_fn_error $? "conditional \"HAVE_MAGICK_OPTIMIZE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${HAVE_MAGICK_OPTIMIZE_TRUE}" && test -z "${HAVE_MAGICK_OPTIMIZE_FALSE}"; then
-  as_fn_error $? "conditional \"HAVE_MAGICK_OPTIMIZE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${HAVE_LIBMAGICKPP_TRUE}" && test -z "${HAVE_LIBMAGICKPP_FALSE}"; then
-  as_fn_error $? "conditional \"HAVE_LIBMAGICKPP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${HAVE_MAGICK_OPTIMIZE_TRUE}" && test -z "${HAVE_MAGICK_OPTIMIZE_FALSE}"; then
-  as_fn_error $? "conditional \"HAVE_MAGICK_OPTIMIZE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 if test -z "${HAVE_LIBMAGICKPP_TRUE}" && test -z "${HAVE_LIBMAGICKPP_FALSE}"; then
   as_fn_error $? "conditional \"HAVE_LIBMAGICKPP\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${HAVE_MAGICK_OPTIMIZE_TRUE}" && test -z "${HAVE_MAGICK_OPTIMIZE_FALSE}"; then
-  as_fn_error $? "conditional \"HAVE_MAGICK_OPTIMIZE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
 if test -z "${WITH_FFMPEG_TRUE}" && test -z "${WITH_FFMPEG_FALSE}"; then
   as_fn_error $? "conditional \"WITH_FFMPEG\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -23682,7 +23669,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Synfig Core $as_me 0.64.0, which was
+This file was extended by Synfig Core $as_me 0.64.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -23748,7 +23735,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-Synfig Core config.status 0.64.0
+Synfig Core config.status 0.64.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -24298,9 +24285,9 @@ do
     "src/modules/mod_example/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/mod_example/Makefile" ;;
     "src/tool/Makefile") CONFIG_FILES="$CONFIG_FILES src/tool/Makefile" ;;
     "src/modules/synfig_modules.cfg") CONFIG_FILES="$CONFIG_FILES src/modules/synfig_modules.cfg" ;;
+    "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
     "examples/walk/Makefile") CONFIG_FILES="$CONFIG_FILES examples/walk/Makefile" ;;
     "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
-    "win32inst.nsi") CONFIG_FILES="$CONFIG_FILES win32inst.nsi" ;;
     "pkg-info/macosx/synfig-core.info") CONFIG_FILES="$CONFIG_FILES pkg-info/macosx/synfig-core.info" ;;
 
   *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
@@ -24911,7 +24898,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
     # Strip MF so we end up with the name of the file.
     mf=`echo "$mf" | sed -e 's/:.*$//'`
     # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
+    # We used to match only the files named 'Makefile.in', but
     # some people rename them; so instead we look at the file content.
     # Grep'ing the first line is not enough: some people post-process
     # each Makefile.in and add a new line on top of each file to say so.
@@ -24945,21 +24932,19 @@ $as_echo X"$mf" |
       continue
     fi
     # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
+    # from the Makefile without running 'make'.
     DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
     test -z "$DEPDIR" && continue
     am__include=`sed -n 's/^am__include = //p' < "$mf"`
     test -z "am__include" && continue
     am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
     # Find all dependency output files, they are included files with
     # $(DEPDIR) in their names.  We invoke sed twice because it is the
     # simplest approach to changing $(DEPDIR) to its actual value in the
     # expansion.
     for file in `sed -n "
       s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
       # Make sure the directory exists.
       test -f "$dirpart/$file" && continue
       fdir=`$as_dirname -- "$file" ||
diff --git a/configure.ac b/configure.ac
index 9613304..ea18b96 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@
 
 # -- I N I T --------------------------------------------------
 
-AC_INIT([Synfig Core],[0.64.0],[http://www.synfig.org/issues/thebuggenie/synfig],[synfig])
+AC_INIT([Synfig Core],[0.64.1],[http://www.synfig.org/issues/thebuggenie/synfig],[synfig])
 AC_REVISION
 
 AC_CONFIG_AUX_DIR(config)
@@ -159,28 +159,14 @@ AC_ARG_WITH(magickpp,[
 	with_magickpp="yes"
 ])
 if test $with_magickpp = "yes" ; then {
-  AC_CHECK_HEADER([Magick++.h],[
-  	MAGICKPP_LIBS="-lMagick++"
-  	AC_DEFINE(HAVE_MAGICKPP,[], [ Define if Magick++ library is available ] )
-  	AC_SUBST(MAGICKPP_LIBS)
-  	AM_CONDITIONAL(HAVE_LIBMAGICKPP,true)
-	AC_CHECK_LIB(Magick,OptimizeImageTransparency,[
-		AC_DEFINE(HAVE_MAGICK_OPTIMIZE,[], [ Define if Magick++ defines OptimizeImageTransparency() ] )
-		AM_CONDITIONAL(HAVE_MAGICK_OPTIMIZE,true)
+	PKG_CHECK_MODULES(MAGICKPP, Magick++ >= 6.4.2,[
+		with_magickpp="yes"
+                AM_CONDITIONAL(HAVE_LIBMAGICKPP,true)
 	],[
-		AC_MSG_RESULT([ *** OptimizeImageTransparency() not available - need ImageMagick 6.3 or newer ])
-		AM_CONDITIONAL(HAVE_MAGICK_OPTIMIZE,false)
+                with_magickpp="no"
+                AC_MSG_RESULT([ *** Magick++ Output target disabled])
+                AM_CONDITIONAL(HAVE_LIBMAGICKPP,false)
 	])
-  ],[
-	with_magickpp="no"
-  	AC_MSG_RESULT([ *** Magick++ Output target disabled])
-  	TARGET_MAGICKPP="no"
-  	AM_CONDITIONAL(HAVE_LIBMAGICKPP,false)
-	AM_CONDITIONAL(HAVE_MAGICK_OPTIMIZE,false)
-  ])
-} else {
-	AM_CONDITIONAL(HAVE_LIBMAGICKPP,false)
-	AM_CONDITIONAL(HAVE_MAGICK_OPTIMIZE,false)
 } ; fi
 
 
@@ -395,14 +381,16 @@ if test $with_jpeg = "no" ; then {
 
 AC_LIB_LTDL
 
-ALL_LINGUAS="es fr it ru de en_GB zh_CN ro no_NO pt_BR pl_PL fa_IR nl sk_SK lt el_GR cs hu ja_JP"
+# Languages list (alphabetical order, please!)
+ALL_LINGUAS="ca cs da de el_GR en_GB es eu eu_ES fa_IR fr hu it ja_JP lt nl no_NO pl_PL pt_BR ro ru si sk_SK sv_SE tr zh_CN"
+
 AM_GNU_GETTEXT([external])
 # This is here so autoreconf will run autopoint
 AM_GNU_GETTEXT_VERSION([0.15])
 localedir="$datadir/locale"
 
-PKG_CHECK_MODULES(ETL, [ETL >= 0.04.16],,[
-	AC_MSG_ERROR([ ** You need to install the ETL (version 0.04.16 or greater).])
+PKG_CHECK_MODULES(ETL, [ETL >= 0.04.17],,[
+	AC_MSG_ERROR([ ** You need to install the ETL (version 0.04.17 or greater).])
 ])
 CONFIG_DEPS="$CONFIG_DEPS ETL"
 
@@ -665,8 +653,8 @@ AC_SUBST(CONFIG_CFLAGS)
 AC_SUBST(CONFIG_DEPS)
 AC_SUBST(ETL_CFLAGS)
 
-SYNFIG_LIBS="$VIMAGE_LIBS $LIBXMLPP_LIBS $LIBCAIRO_LIBS $LIBCAIROMM_LIBS $LIBPANGO_LIBS $ETL_LIBS $LIBSIGC_LIBS $LTLIBINTL"
-SYNFIG_CFLAGS="$LIBXMLPP_CFLAGS $LIBCAIRO_CFLAGS $LIBCAIROMM_CFLAGS $LIBPANGO_CFLAGS $ETL_CFLAGS $LIBSIGC_CFLAGS $CONFIG_CFLAGS -DSYNFIG_NO_DEPRECATED -DLOCALEDIR=\\\"$localedir\\\""
+SYNFIG_LIBS="$VIMAGE_LIBS $LIBXMLPP_LIBS $MAGICKPP_LIBS $LIBCAIRO_LIBS $LIBCAIROMM_LIBS $LIBPANGO_LIBS $ETL_LIBS $LIBSIGC_LIBS $LTLIBINTL"
+SYNFIG_CFLAGS="$LIBXMLPP_CFLAGS $MAGICKPP_CFLAGS $LIBCAIRO_CFLAGS $LIBCAIROMM_CFLAGS $LIBPANGO_CFLAGS $ETL_CFLAGS $LIBSIGC_CFLAGS $CONFIG_CFLAGS -DSYNFIG_NO_DEPRECATED -DLOCALEDIR=\\\"$localedir\\\""
 
 CONFIG_CFLAGS="`echo $CONFIG_CFLAGS | sed s/-mno-cygwin//g | sed s/-mwindows//g`"
 SYNFIG_CFLAGS="`echo $SYNFIG_CFLAGS | sed s/-mno-cygwin//g | sed s/-mwindows//g`"
@@ -716,9 +704,9 @@ src/modules/mod_svg/Makefile
 src/modules/mod_example/Makefile
 src/tool/Makefile
 src/modules/synfig_modules.cfg
+test/Makefile
 examples/walk/Makefile
 examples/Makefile
-win32inst.nsi
 pkg-info/macosx/synfig-core.info
 ])
 ## src/modules/trgt_mpg/Makefile
diff --git a/doxygen.cfg b/doxygen.cfg
index 408148f..872ce14 100644
--- a/doxygen.cfg
+++ b/doxygen.cfg
@@ -23,7 +23,7 @@ PROJECT_NAME           = synfig
 # This could be handy for archiving the generated documentation or 
 # if some version control system is used.
 
-PROJECT_NUMBER         = 0.64.0
+PROJECT_NUMBER         = 0.64.1
 
 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
 # base path where the generated documentation will be put. 
diff --git a/examples/Makefile.in b/examples/Makefile.in
index fc5966f..aa3ab64 100644
--- a/examples/Makefile.in
+++ b/examples/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -211,6 +210,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -391,12 +391,12 @@ clean-libtool:
 	-rm -rf .libs _libs
 
 # This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS):
 	@fail= failcom='exit 1'; \
 	for f in x $$MAKEFLAGS; do \
 	  case $$f in \
@@ -406,7 +406,11 @@ $(RECURSIVE_TARGETS):
 	done; \
 	dot_seen=no; \
 	target=`echo $@ | sed s/-recursive//`; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	for subdir in $$list; do \
 	  echo "Making $$target in $$subdir"; \
 	  if test "$$subdir" = "."; then \
 	    dot_seen=yes; \
@@ -420,37 +424,6 @@ $(RECURSIVE_TARGETS):
 	if test "$$dot_seen" = "no"; then \
 	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
 	fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-	@fail= failcom='exit 1'; \
-	for f in x $$MAKEFLAGS; do \
-	  case $$f in \
-	    *=* | --[!k]*);; \
-	    *k*) failcom='fail=yes';; \
-	  esac; \
-	done; \
-	dot_seen=no; \
-	case "$@" in \
-	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-	  *) list='$(SUBDIRS)' ;; \
-	esac; \
-	rev=''; for subdir in $$list; do \
-	  if test "$$subdir" = "."; then :; else \
-	    rev="$$subdir $$rev"; \
-	  fi; \
-	done; \
-	rev="$$rev ."; \
-	target=`echo $@ | sed s/-recursive//`; \
-	for subdir in $$rev; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	  || eval $$failcom; \
-	done && test -z "$$fail"
 tags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
 	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
@@ -459,6 +432,10 @@ ctags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
 	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
 	done
+cscopelist-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
+	done
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -522,6 +499,20 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -682,22 +673,23 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
-	install-am install-strip tags-recursive
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) \
+	cscopelist-recursive ctags-recursive install-am install-strip \
+	tags-recursive
 
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
 	all all-am check check-am clean clean-generic clean-libtool \
-	ctags ctags-recursive distclean distclean-generic \
-	distclean-libtool distclean-tags distdir dvi dvi-am html \
-	html-am info info-am install install-am install-data \
-	install-data-am install-dvi install-dvi-am install-exec \
-	install-exec-am install-html install-html-am install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs installdirs-am maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
-	uninstall uninstall-am
+	cscopelist cscopelist-recursive ctags ctags-recursive \
+	distclean distclean-generic distclean-libtool distclean-tags \
+	distdir dvi dvi-am html html-am info info-am install \
+	install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	installdirs-am maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+	ps ps-am tags tags-recursive uninstall uninstall-am
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/examples/walk/Makefile.in b/examples/walk/Makefile.in
index 350e9db..db175eb 100644
--- a/examples/walk/Makefile.in
+++ b/examples/walk/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -171,6 +170,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -329,6 +329,8 @@ TAGS:
 ctags: CTAGS
 CTAGS:
 
+cscope cscopelist:
+
 
 distdir: $(DISTFILES)
 	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
diff --git a/examples/walk/walk.sifz b/examples/walk/walk.sifz
index 673ca7a..6a6dd58 100644
Binary files a/examples/walk/walk.sifz and b/examples/walk/walk.sifz differ
diff --git a/libltdl/Makefile.in b/libltdl/Makefile.in
index 73678a1..cd37393 100644
--- a/libltdl/Makefile.in
+++ b/libltdl/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -61,10 +60,14 @@ subdir = .
 DIST_COMMON = README $(am__configure_deps) $(am__include_HEADERS_DIST) \
 	$(am__ltdlinclude_HEADERS_DIST) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in $(srcdir)/config-h.in \
-	$(top_srcdir)/configure COPYING.LIB argz.c config/compile \
-	config/config.guess config/config.sub config/depcomp \
-	config/install-sh config/ltmain.sh  \
-	config/missing  lt__dirent.c lt__strl.c
+	$(top_srcdir)/config/config.guess \
+	$(top_srcdir)/config/config.sub $(top_srcdir)/config/depcomp \
+	$(top_srcdir)/config/install-sh $(top_srcdir)/config/ltmain.sh \
+	$(top_srcdir)/config/missing $(top_srcdir)/configure \
+	COPYING.LIB argz.c config/compile config/config.guess \
+	config/config.sub config/depcomp config/install-sh \
+	config/ltmain.sh  config/missing \
+	 lt__dirent.c lt__strl.c
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltdl.m4 \
@@ -195,6 +198,8 @@ am__ltdlinclude_HEADERS_DIST = libltdl/lt_system.h libltdl/lt_error.h \
 HEADERS = $(include_HEADERS) $(ltdlinclude_HEADERS)
 ETAGS = etags
 CTAGS = ctags
+CSCOPE = cscope
+AM_RECURSIVE_TARGETS = cscope
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
@@ -204,8 +209,10 @@ am__remove_distdir = \
       && rm -rf "$(distdir)" \
       || { sleep 5 && rm -rf "$(distdir)"; }; \
   else :; fi
+am__post_remove_distdir = $(am__remove_distdir)
 DIST_ARCHIVES = $(distdir).tar.gz
 GZIP_ENV = --best
+DIST_TARGETS = dist-gzip
 distuninstallcheck_listfiles = find . -type f -print
 am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
   | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
@@ -481,21 +488,25 @@ uninstall-libLTLIBRARIES:
 
 clean-libLTLIBRARIES:
 	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
-	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(lib_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 
 clean-noinstLTLIBRARIES:
 	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(noinst_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 dld_link.la: $(dld_link_la_OBJECTS) $(dld_link_la_DEPENDENCIES) $(EXTRA_dld_link_la_DEPENDENCIES) 
 	$(dld_link_la_LINK)  $(dld_link_la_OBJECTS) $(dld_link_la_LIBADD) $(LIBS)
 dlopen.la: $(dlopen_la_OBJECTS) $(dlopen_la_DEPENDENCIES) $(EXTRA_dlopen_la_DEPENDENCIES) 
@@ -788,8 +799,32 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscope: cscope.files
+	test ! -s cscope.files \
+	  || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
+
+clean-cscope:
+	-rm -f cscope.files
+
+cscope.files: clean-cscope  cscopelist
+
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+	-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
 
 distdir: $(DISTFILES)
 	$(am__remove_distdir)
@@ -832,40 +867,36 @@ distdir: $(DISTFILES)
 	|| chmod -R a+r "$(distdir)"
 dist-gzip: distdir
 	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-	$(am__remove_distdir)
+	$(am__post_remove_distdir)
 
 dist-bzip2: distdir
 	tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
-	$(am__remove_distdir)
+	$(am__post_remove_distdir)
 
 dist-lzip: distdir
 	tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
-	$(am__remove_distdir)
-
-dist-lzma: distdir
-	tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
-	$(am__remove_distdir)
+	$(am__post_remove_distdir)
 
 dist-xz: distdir
 	tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
-	$(am__remove_distdir)
+	$(am__post_remove_distdir)
 
 dist-tarZ: distdir
 	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-	$(am__remove_distdir)
+	$(am__post_remove_distdir)
 
 dist-shar: distdir
 	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
-	$(am__remove_distdir)
+	$(am__post_remove_distdir)
 
 dist-zip: distdir
 	-rm -f $(distdir).zip
 	zip -rq $(distdir).zip $(distdir)
-	$(am__remove_distdir)
+	$(am__post_remove_distdir)
 
-dist dist-all: distdir
-	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-	$(am__remove_distdir)
+dist dist-all:
+	$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
+	$(am__post_remove_distdir)
 
 # This target untars the dist file and tries a VPATH configuration.  Then
 # it guarantees that the distribution is self-contained by making another
@@ -876,8 +907,6 @@ distcheck: dist
 	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
 	*.tar.bz2*) \
 	  bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
-	*.tar.lzma*) \
-	  lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
 	*.tar.lz*) \
 	  lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
 	*.tar.xz*) \
@@ -923,7 +952,7 @@ distcheck: dist
 	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
 	  && cd "$$am__cwd" \
 	  || exit 1
-	$(am__remove_distdir)
+	$(am__post_remove_distdir)
 	@(echo "$(distdir) archives ready for distribution: "; \
 	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
 	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
@@ -1073,9 +1102,9 @@ uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES \
 .MAKE: all check install install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
-	clean-generic clean-libLTLIBRARIES clean-libtool \
-	clean-noinstLTLIBRARIES ctags dist dist-all dist-bzip2 \
-	dist-gzip dist-lzip dist-lzma dist-shar dist-tarZ dist-xz \
+	clean-cscope clean-generic clean-libLTLIBRARIES clean-libtool \
+	clean-noinstLTLIBRARIES cscope cscopelist ctags dist dist-all \
+	dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ dist-xz \
 	dist-zip distcheck distclean distclean-compile \
 	distclean-generic distclean-hdr distclean-libtool \
 	distclean-tags distcleancheck distdir distuninstallcheck dvi \
diff --git a/libltdl/aclocal.m4 b/libltdl/aclocal.m4
index 9fbf602..12e16d9 100644
--- a/libltdl/aclocal.m4
+++ b/libltdl/aclocal.m4
@@ -1,8 +1,7 @@
-# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
+# generated automatically by aclocal 1.12.2 -*- Autoconf -*-
+
+# Copyright (C) 1996-2012 Free Software Foundation, Inc.
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
-# Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -18,16 +17,15 @@ m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
 [m4_warning([this file was generated for autoconf 2.69.
 You have another version of autoconf.  It may work, but is not guaranteed to.
 If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
+To do so, use the procedure documented by the package, typically 'autoreconf'.])])
 
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 2002-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
+# serial 8
 
 # AM_AUTOMAKE_VERSION(VERSION)
 # ----------------------------
@@ -35,10 +33,10 @@ To do so, use the procedure documented by the package, typically `autoreconf'.])
 # generated from the m4 files accompanying Automake X.Y.
 # (This private macro should not be called outside this file.)
 AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.11'
+[am__api_version='1.12'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.11.6], [],
+m4_if([$1], [1.12.2], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -54,24 +52,24 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.6])dnl
+[AM_AUTOMAKE_VERSION([1.12.2])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
+# serial 2
 
 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+# $ac_aux_dir to '$srcdir/foo'.  In other projects, it is set to
+# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
 #
 # Of course, Automake must honor this variable whenever it calls a
 # tool from the auxiliary directory.  The problem is that $srcdir (and
@@ -90,7 +88,7 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 #
 # The reason of the latter failure is that $top_srcdir and $ac_aux_dir
 # are both prefixed by $srcdir.  In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
+# harmless because $srcdir is '.', but things will broke when you
 # start a VPATH build or use an absolute $srcdir.
 #
 # So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
@@ -116,22 +114,21 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 9
+# serial 10
 
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
 # Define a conditional.
 AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
 AC_SUBST([$1_TRUE])dnl
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
@@ -150,16 +147,15 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
-# 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 1999-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 12
+# serial 17
 
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
 # written in clear, in which case automake, when reading aclocal.m4,
 # will think it sees a *use*, and therefore will trigger all it's
 # C support machinery.  Also note that it means that autoscan, seeing
@@ -169,7 +165,7 @@ fi])])
 # _AM_DEPENDENCIES(NAME)
 # ----------------------
 # See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
 # We try a few techniques and use that to set a single cache variable.
 #
 # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
@@ -182,12 +178,13 @@ AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
 AC_REQUIRE([AM_MAKE_INCLUDE])dnl
 AC_REQUIRE([AM_DEP_TRACK])dnl
 
-ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
-       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
-       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
-       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
-       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
-                   [depcc="$$1"   am_compiler_list=])
+m4_if([$1], [CC],   [depcc="$CC"   am_compiler_list=],
+      [$1], [CXX],  [depcc="$CXX"  am_compiler_list=],
+      [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+      [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
+      [$1], [UPC],  [depcc="$UPC"  am_compiler_list=],
+      [$1], [GCJ],  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                    [depcc="$$1"   am_compiler_list=])
 
 AC_CACHE_CHECK([dependency style of $depcc],
                [am_cv_$1_dependencies_compiler_type],
@@ -195,8 +192,8 @@ AC_CACHE_CHECK([dependency style of $depcc],
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
   # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
   rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
@@ -236,16 +233,16 @@ AC_CACHE_CHECK([dependency style of $depcc],
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
     # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
     am__obj=sub/conftest.${OBJEXT-o}
     am__minus_obj="-o $am__obj"
     case $depmode in
@@ -254,8 +251,8 @@ AC_CACHE_CHECK([dependency style of $depcc],
       test "$am__universal" = false || continue
       ;;
     nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
       if test "x$enable_dependency_tracking" = xyes; then
 	continue
       else
@@ -263,7 +260,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
       fi
       ;;
     msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
+      # This compiler won't grok '-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
       am__obj=conftest.${OBJEXT-o}
@@ -311,7 +308,7 @@ AM_CONDITIONAL([am__fastdep$1], [
 # AM_SET_DEPDIR
 # -------------
 # Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
 AC_DEFUN([AM_SET_DEPDIR],
 [AC_REQUIRE([AM_SET_LEADING_DOT])dnl
 AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
@@ -321,9 +318,13 @@ AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
 # AM_DEP_TRACK
 # ------------
 AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors])
+[AC_ARG_ENABLE([dependency-tracking], [dnl
+AS_HELP_STRING(
+  [--enable-dependency-tracking],
+  [do not reject slow dependency extractors])
+AS_HELP_STRING(
+  [--disable-dependency-tracking],
+  [speeds up one-time build])])
 if test "x$enable_dependency_tracking" != xno; then
   am_depcomp="$ac_aux_dir/depcomp"
   AMDEPBACKSLASH='\'
@@ -338,14 +339,13 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1999-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-#serial 5
+# serial 6
 
 # _AM_OUTPUT_DEPENDENCY_COMMANDS
 # ------------------------------
@@ -364,7 +364,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
     # Strip MF so we end up with the name of the file.
     mf=`echo "$mf" | sed -e 's/:.*$//'`
     # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
+    # We used to match only the files named 'Makefile.in', but
     # some people rename them; so instead we look at the file content.
     # Grep'ing the first line is not enough: some people post-process
     # each Makefile.in and add a new line on top of each file to say so.
@@ -376,21 +376,19 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
       continue
     fi
     # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
+    # from the Makefile without running 'make'.
     DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
     test -z "$DEPDIR" && continue
     am__include=`sed -n 's/^am__include = //p' < "$mf"`
     test -z "am__include" && continue
     am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
     # Find all dependency output files, they are included files with
     # $(DEPDIR) in their names.  We invoke sed twice because it is the
     # simplest approach to changing $(DEPDIR) to its actual value in the
     # expansion.
     for file in `sed -n "
       s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
       # Make sure the directory exists.
       test -f "$dirpart/$file" && continue
       fdir=`AS_DIRNAME(["$file"])`
@@ -408,7 +406,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
 # This macro should only be invoked once -- use via AC_REQUIRE.
 #
 # This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each `.P' file that we will
+# is enabled.  FIXME.  This creates each '.P' file that we will
 # need in order to bootstrap the dependency handling code.
 AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 [AC_CONFIG_COMMANDS([depfiles],
@@ -418,14 +416,13 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 1996-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 16
+# serial 19
 
 # This macro actually does too much.  Some checks are only needed if
 # your package does certain things.  But this isn't really a big deal.
@@ -471,31 +468,41 @@ AC_SUBST([CYGPATH_W])
 # Define the identity of the package.
 dnl Distinguish between old-style and new-style calls.
 m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+[AC_DIAGNOSE([obsolete],
+[$0: two- and three-arguments forms are deprecated.  For more info, see:
+http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_INIT_AUTOMAKE-invocation])
+m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
  AC_SUBST([PACKAGE], [$1])dnl
  AC_SUBST([VERSION], [$2])],
 [_AM_SET_OPTIONS([$1])dnl
 dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+m4_if(
+  m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
+  [ok:ok],,
   [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
  AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
  AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
 
 _AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
+ AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
 
 # Some tools Automake needs.
 AC_REQUIRE([AM_SANITY_CHECK])dnl
 AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
+AM_MISSING_PROG([AUTOCONF], [autoconf])
+AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
+AM_MISSING_PROG([AUTOHEADER], [autoheader])
+AM_MISSING_PROG([MAKEINFO], [makeinfo])
 AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
 AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+# For better backward compatibility.  To be removed once Automake 1.9.x
+# dies out for good.  For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
 AC_REQUIRE([AC_PROG_AWK])dnl
@@ -506,28 +513,35 @@ _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
 			     [_AM_PROG_TAR([v7])])])
 _AM_IF_OPTION([no-dependencies],,
 [AC_PROVIDE_IFELSE([AC_PROG_CC],
-		  [_AM_DEPENDENCIES(CC)],
-		  [define([AC_PROG_CC],
-			  defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+		  [_AM_DEPENDENCIES([CC])],
+		  [m4_define([AC_PROG_CC],
+			     m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_CXX],
-		  [_AM_DEPENDENCIES(CXX)],
-		  [define([AC_PROG_CXX],
-			  defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+		  [_AM_DEPENDENCIES([CXX])],
+		  [m4_define([AC_PROG_CXX],
+			     m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-		  [_AM_DEPENDENCIES(OBJC)],
-		  [define([AC_PROG_OBJC],
-			  defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+		  [_AM_DEPENDENCIES([OBJC])],
+		  [m4_define([AC_PROG_OBJC],
+			     m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
+dnl Support for Objective C++ was only introduced in Autoconf 2.65,
+dnl but we still cater to Autoconf 2.62.
+m4_ifdef([AC_PROG_OBJCXX],
+[AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+		  [_AM_DEPENDENCIES([OBJCXX])],
+		  [m4_define([AC_PROG_OBJCXX],
+			     m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])])dnl
 ])
 _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
+dnl The 'parallel-tests' driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
 dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
 AC_CONFIG_COMMANDS_PRE(dnl
 [m4_provide_if([_AM_COMPILER_EXEEXT],
   [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
 ])
 
-dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
+dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
 dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
 dnl mangled by Autoconf and run in a shell conditional statement.
 m4_define([_AC_COMPILER_EXEEXT],
@@ -555,14 +569,13 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation,
-# Inc.
+# Copyright (C) 2001-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
+# serial 8
 
 # AM_PROG_INSTALL_SH
 # ------------------
@@ -577,9 +590,9 @@ if test x"${install_sh}" != xset; then
     install_sh="\${SHELL} $am_aux_dir/install-sh"
   esac
 fi
-AC_SUBST(install_sh)])
+AC_SUBST([install_sh])])
 
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2003-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -602,13 +615,13 @@ AC_SUBST([am__leading_dot])])
 
 # Check to see how 'make' treats includes.	            -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
+# Copyright (C) 2001-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 4
+# serial 5
 
 # AM_MAKE_INCLUDE()
 # -----------------
@@ -627,7 +640,7 @@ am__quote=
 _am_result=none
 # First try GNU make style include.
 echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
+# Ignore all kinds of additional output from 'make'.
 case `$am_make -s -f confmf 2> /dev/null` in #(
 *the\ am__doit\ target*)
   am__include=include
@@ -654,14 +667,13 @@ rm -f confinc confmf
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1997-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 6
+# serial 7
 
 # AM_MISSING_PROG(NAME, PROGRAM)
 # ------------------------------
@@ -691,49 +703,19 @@ if eval "$MISSING --run true"; then
   am_missing_run="$MISSING --run "
 else
   am_missing_run=
-  AC_MSG_WARN([`missing' script is too old or missing])
+  AC_MSG_WARN(['missing' script is too old or missing])
 fi
 ])
 
-# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation,
-# Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 1
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check for `mkdir -p'.
-AC_DEFUN([AM_PROG_MKDIR_P],
-[AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
-  [[\\/$]]* | ?:[[\\/]]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
-
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software
-# Foundation, Inc.
+# Copyright (C) 2001-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
+# serial 6
 
 # _AM_MANGLE_OPTION(NAME)
 # -----------------------
@@ -744,7 +726,7 @@ AC_DEFUN([_AM_MANGLE_OPTION],
 # --------------------
 # Set option NAME.  Presently that only means defining a flag for this option.
 AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
 
 # _AM_SET_OPTIONS(OPTIONS)
 # ------------------------
@@ -760,22 +742,18 @@ AC_DEFUN([_AM_IF_OPTION],
 
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
-# Free Software Foundation, Inc.
+# Copyright (C) 1996-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 5
+# serial 9
 
 # AM_SANITY_CHECK
 # ---------------
 AC_DEFUN([AM_SANITY_CHECK],
 [AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
 # Reject unsafe characters in $srcdir or the absolute working directory
 # name.  Accept space and tab only in the latter.
 am_lf='
@@ -786,32 +764,40 @@ case `pwd` in
 esac
 case $srcdir in
   *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
-    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+    AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
 esac
 
-# Do `set' in a subshell so we don't clobber the current shell's
+# Do 'set' in a subshell so we don't clobber the current shell's
 # arguments.  Must try -L first in case configure is actually a
 # symlink; some systems play weird games with the mod time of symlinks
 # (eg FreeBSD returns the mod time of the symlink's containing
 # directory).
 if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$[*]" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$[*]" != "X $srcdir/configure conftest.file" \
-      && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
-alias in your environment])
-   fi
-
+   am_has_slept=no
+   for am_try in 1 2; do
+     echo "timestamp, slept: $am_has_slept" > conftest.file
+     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+     if test "$[*]" = "X"; then
+	# -L didn't work.
+	set X `ls -t "$srcdir/configure" conftest.file`
+     fi
+     if test "$[*]" != "X $srcdir/configure conftest.file" \
+	&& test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+	# If neither matched, then we have a broken ls.  This can happen
+	# if, for instance, CONFIG_SHELL is bash and it inherits a
+	# broken ls alias from the environment.  This has actually
+	# happened.  Such a system could not be considered "sane".
+	AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+  alias in your environment])
+     fi
+     if test "$[2]" = conftest.file || test $am_try -eq 2; then
+       break
+     fi
+     # Just in case.
+     sleep 1
+     am_has_slept=yes
+   done
    test "$[2]" = conftest.file
    )
 then
@@ -821,39 +807,55 @@ else
    AC_MSG_ERROR([newly created file is older than distributed files!
 Check your system clock])
 fi
-AC_MSG_RESULT(yes)])
+AC_MSG_RESULT([yes])
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+  ( sleep 1 ) &
+  am_sleep_pid=$!
+fi
+AC_CONFIG_COMMANDS_PRE(
+  [AC_MSG_CHECKING([that generated files are newer than configure])
+   if test -n "$am_sleep_pid"; then
+     # Hide warnings about reused PIDs.
+     wait $am_sleep_pid 2>/dev/null
+   fi
+   AC_MSG_RESULT([done])])
+rm -f conftest.file
+])
 
-# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
+# Copyright (C) 2001-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
+# serial 2
 
 # AM_PROG_INSTALL_STRIP
 # ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
+# One issue with vendor 'install' (even GNU) is that you can't
 # specify the program used to strip binaries.  This is especially
 # annoying in cross-compiling environments, where the build's strip
 # is unlikely to handle the host's binaries.
 # Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
+# always use install-sh in "make install-strip", and initialize
 # STRIPPROG with the value of the STRIP variable (set by the user).
 AC_DEFUN([AM_PROG_INSTALL_STRIP],
 [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
 # tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+# will honor the 'STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
 if test "$cross_compiling" != no; then
   AC_CHECK_TOOL([STRIP], [strip], :)
 fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2006-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -874,18 +876,18 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc.
+# Copyright (C) 2004-2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
+# serial 3
 
 # _AM_PROG_TAR(FORMAT)
 # --------------------
 # Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
+# FORMAT should be one of 'v7', 'ustar', or 'pax'.
 #
 # Substitute a variable $(am__tar) that is a command
 # writing to stdout a FORMAT-tarball containing the directory
@@ -908,7 +910,7 @@ AC_MSG_CHECKING([how to create a $1 tar archive])
 _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
 _am_tools=${am_cv_prog_tar_$1-$_am_tools}
 # Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
+# Solaris sh will not grok spaces in the rhs of '-'.
 for _am_tool in $_am_tools
 do
   case $_am_tool in
diff --git a/libltdl/config/compile b/libltdl/config/compile
index 862a14e..7b4a9a7 100755
--- a/libltdl/config/compile
+++ b/libltdl/config/compile
@@ -3,8 +3,7 @@
 
 scriptversion=2012-03-05.13; # UTC
 
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009, 2010, 2012 Free
-# Software Foundation, Inc.
+# Copyright (C) 1999-2012 Free Software Foundation, Inc.
 # Written by Tom Tromey <tromey at cygnus.com>.
 #
 # This program is free software; you can redistribute it and/or modify
diff --git a/libltdl/config/config.guess b/libltdl/config/config.guess
index d622a44..c0adba9 100755
--- a/libltdl/config/config.guess
+++ b/libltdl/config/config.guess
@@ -4,7 +4,7 @@
 #   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
 #   2011, 2012 Free Software Foundation, Inc.
 
-timestamp='2012-02-10'
+timestamp='2012-06-10'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -1256,7 +1256,7 @@ EOF
     NEO-?:NONSTOP_KERNEL:*:*)
 	echo neo-tandem-nsk${UNAME_RELEASE}
 	exit ;;
-    NSE-?:NONSTOP_KERNEL:*:*)
+    NSE-*:NONSTOP_KERNEL:*:*)
 	echo nse-tandem-nsk${UNAME_RELEASE}
 	exit ;;
     NSR-?:NONSTOP_KERNEL:*:*)
diff --git a/libltdl/config/depcomp b/libltdl/config/depcomp
index 25a39e6..debb6ff 100755
--- a/libltdl/config/depcomp
+++ b/libltdl/config/depcomp
@@ -3,8 +3,7 @@
 
 scriptversion=2012-03-27.16; # UTC
 
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
-# 2011, 2012 Free Software Foundation, Inc.
+# Copyright (C) 1999-2012 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/libltdl/config/install-sh b/libltdl/config/install-sh
index a9244eb..377bb86 100755
--- a/libltdl/config/install-sh
+++ b/libltdl/config/install-sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2011-01-19.21; # UTC
+scriptversion=2011-11-20.07; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -35,7 +35,7 @@ scriptversion=2011-01-19.21; # UTC
 # FSF changes to this file are in the public domain.
 #
 # Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
+# 'make' implicit rules from creating a file called install from it
 # when there is no Makefile.
 #
 # This script is compatible with the BSD install script, but was written
@@ -156,7 +156,7 @@ while test $# -ne 0; do
     -s) stripcmd=$stripprog;;
 
     -t) dst_arg=$2
-	# Protect names problematic for `test' and other utilities.
+	# Protect names problematic for 'test' and other utilities.
 	case $dst_arg in
 	  -* | [=\(\)!]) dst_arg=./$dst_arg;;
 	esac
@@ -190,7 +190,7 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
     fi
     shift # arg
     dst_arg=$arg
-    # Protect names problematic for `test' and other utilities.
+    # Protect names problematic for 'test' and other utilities.
     case $dst_arg in
       -* | [=\(\)!]) dst_arg=./$dst_arg;;
     esac
@@ -202,7 +202,7 @@ if test $# -eq 0; then
     echo "$0: no input file specified." >&2
     exit 1
   fi
-  # It's OK to call `install-sh -d' without argument.
+  # It's OK to call 'install-sh -d' without argument.
   # This can happen when creating conditional directories.
   exit 0
 fi
@@ -240,7 +240,7 @@ fi
 
 for src
 do
-  # Protect names problematic for `test' and other utilities.
+  # Protect names problematic for 'test' and other utilities.
   case $src in
     -* | [=\(\)!]) src=./$src;;
   esac
@@ -354,7 +354,7 @@ do
 	      if test -z "$dir_arg" || {
 		   # Check for POSIX incompatibilities with -m.
 		   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
-		   # other-writeable bit of parent directory when it shouldn't.
+		   # other-writable bit of parent directory when it shouldn't.
 		   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
 		   ls_ld_tmpdir=`ls -ld "$tmpdir"`
 		   case $ls_ld_tmpdir in
diff --git a/libltdl/config/ltmain.sh b/libltdl/config/ltmain.sh
index 0096fe6..63ae69d 100644
--- a/libltdl/config/ltmain.sh
+++ b/libltdl/config/ltmain.sh
@@ -70,7 +70,7 @@
 #         compiler:		$LTCC
 #         compiler flags:		$LTCFLAGS
 #         linker:		$LD (gnu? $with_gnu_ld)
-#         $progname:	(GNU libtool) 2.4.2 Debian-2.4.2-1ubuntu2
+#         $progname:	(GNU libtool) 2.4.2
 #         automake:	$automake_version
 #         autoconf:	$autoconf_version
 #
@@ -80,7 +80,7 @@
 
 PROGRAM=libtool
 PACKAGE=libtool
-VERSION="2.4.2 Debian-2.4.2-1ubuntu2"
+VERSION=2.4.2
 TIMESTAMP=""
 package_revision=1.3337
 
@@ -6124,10 +6124,7 @@ func_mode_link ()
 	case $pass in
 	dlopen) libs="$dlfiles" ;;
 	dlpreopen) libs="$dlprefiles" ;;
-	link)
-	  libs="$deplibs %DEPLIBS%"
-	  test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
-	  ;;
+	link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
 	esac
       fi
       if test "$linkmode,$pass" = "lib,dlpreopen"; then
@@ -6447,19 +6444,19 @@ func_mode_link ()
 	    # It is a libtool convenience library, so add in its objects.
 	    func_append convenience " $ladir/$objdir/$old_library"
 	    func_append old_convenience " $ladir/$objdir/$old_library"
-	    tmp_libs=
-	    for deplib in $dependency_libs; do
-	      deplibs="$deplib $deplibs"
-	      if $opt_preserve_dup_deps ; then
-		case "$tmp_libs " in
-		*" $deplib "*) func_append specialdeplibs " $deplib" ;;
-		esac
-	      fi
-	      func_append tmp_libs " $deplib"
-	    done
 	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
 	    func_fatal_error "\`$lib' is not a convenience library"
 	  fi
+	  tmp_libs=
+	  for deplib in $dependency_libs; do
+	    deplibs="$deplib $deplibs"
+	    if $opt_preserve_dup_deps ; then
+	      case "$tmp_libs " in
+	      *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+	      esac
+	    fi
+	    func_append tmp_libs " $deplib"
+	  done
 	  continue
 	fi # $pass = conv
 
@@ -7352,9 +7349,6 @@ func_mode_link ()
 	    revision="$number_minor"
 	    lt_irix_increment=no
 	    ;;
-	  *)
-	    func_fatal_configuration "$modename: unknown library version type \`$version_type'"
-	    ;;
 	  esac
 	  ;;
 	no)
diff --git a/libltdl/config/missing b/libltdl/config/missing
index 86a8fc3..9a55648 100755
--- a/libltdl/config/missing
+++ b/libltdl/config/missing
@@ -1,10 +1,9 @@
 #! /bin/sh
 # Common stub for a few missing GNU programs while installing.
 
-scriptversion=2012-01-06.13; # UTC
+scriptversion=2012-01-06.18; # UTC
 
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
-# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+# Copyright (C) 1996-2012 Free Software Foundation, Inc.
 # Originally by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
@@ -26,7 +25,7 @@ scriptversion=2012-01-06.13; # UTC
 # the same distribution terms that you use for the rest of that program.
 
 if test $# -eq 0; then
-  echo 1>&2 "Try \`$0 --help' for more information"
+  echo 1>&2 "Try '$0 --help' for more information"
   exit 1
 fi
 
@@ -34,7 +33,7 @@ run=:
 sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
 sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
 
-# In the cases where this matters, `missing' is being run in the
+# In the cases where this matters, 'missing' is being run in the
 # srcdir already.
 if test -f configure.ac; then
   configure_ac=configure.ac
@@ -65,7 +64,7 @@ case $1 in
     echo "\
 $0 [OPTION]... PROGRAM [ARGUMENT]...
 
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+Handle 'PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
 error status if there is no known handling for PROGRAM.
 
 Options:
@@ -74,20 +73,20 @@ Options:
   --run           try to run the given command, and emulate it if it fails
 
 Supported PROGRAM values:
-  aclocal      touch file \`aclocal.m4'
-  autoconf     touch file \`configure'
-  autoheader   touch file \`config.h.in'
+  aclocal      touch file 'aclocal.m4'
+  autoconf     touch file 'configure'
+  autoheader   touch file 'config.h.in'
   autom4te     touch the output file, or create a stub one
-  automake     touch all \`Makefile.in' files
-  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
-  flex         create \`lex.yy.c', if possible, from existing .c
+  automake     touch all 'Makefile.in' files
+  bison        create 'y.tab.[ch]', if possible, from existing .[ch]
+  flex         create 'lex.yy.c', if possible, from existing .c
   help2man     touch the output file
-  lex          create \`lex.yy.c', if possible, from existing .c
+  lex          create 'lex.yy.c', if possible, from existing .c
   makeinfo     touch the output file
-  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
+  yacc         create 'y.tab.[ch]', if possible, from existing .[ch]
 
-Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
-\`g' are ignored when checking the name.
+Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
+'g' are ignored when checking the name.
 
 Send bug reports to <bug-automake at gnu.org>."
     exit $?
@@ -99,8 +98,8 @@ Send bug reports to <bug-automake at gnu.org>."
     ;;
 
   -*)
-    echo 1>&2 "$0: Unknown \`$1' option"
-    echo 1>&2 "Try \`$0 --help' for more information"
+    echo 1>&2 "$0: Unknown '$1' option"
+    echo 1>&2 "Try '$0 --help' for more information"
     exit 1
     ;;
 
@@ -127,7 +126,7 @@ case $1 in
        exit 1
     elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
        # Could not run --version or --help.  This is probably someone
-       # running `$TOOL --version' or `$TOOL --help' to check whether
+       # running '$TOOL --version' or '$TOOL --help' to check whether
        # $TOOL exists and not knowing $TOOL uses missing.
        exit 1
     fi
@@ -139,27 +138,27 @@ esac
 case $program in
   aclocal*)
     echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
-         to install the \`Automake' and \`Perl' packages.  Grab them from
+WARNING: '$1' is $msg.  You should only need it if
+         you modified 'acinclude.m4' or '${configure_ac}'.  You might want
+         to install the Automake and Perl packages.  Grab them from
          any GNU archive site."
     touch aclocal.m4
     ;;
 
   autoconf*)
     echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`${configure_ac}'.  You might want to install the
-         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
+WARNING: '$1' is $msg.  You should only need it if
+         you modified '${configure_ac}'.  You might want to install the
+         Autoconf and GNU m4 packages.  Grab them from any GNU
          archive site."
     touch configure
     ;;
 
   autoheader*)
     echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
-         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
+WARNING: '$1' is $msg.  You should only need it if
+         you modified 'acconfig.h' or '${configure_ac}'.  You might want
+         to install the Autoconf and GNU m4 packages.  Grab them
          from any GNU archive site."
     files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
     test -z "$files" && files="config.h"
@@ -176,9 +175,9 @@ WARNING: \`$1' is $msg.  You should only need it if
 
   automake*)
     echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
-         You might want to install the \`Automake' and \`Perl' packages.
+WARNING: '$1' is $msg.  You should only need it if
+         you modified 'Makefile.am', 'acinclude.m4' or '${configure_ac}'.
+         You might want to install the Automake and Perl packages.
          Grab them from any GNU archive site."
     find . -type f -name Makefile.am -print |
 	   sed 's/\.am$/.in/' |
@@ -187,10 +186,10 @@ WARNING: \`$1' is $msg.  You should only need it if
 
   autom4te*)
     echo 1>&2 "\
-WARNING: \`$1' is needed, but is $msg.
+WARNING: '$1' is needed, but is $msg.
          You might have modified some files without having the
          proper tools for further handling them.
-         You can get \`$1' as part of \`Autoconf' from any GNU
+         You can get '$1' as part of Autoconf from any GNU
          archive site."
 
     file=`echo "$*" | sed -n "$sed_output"`
@@ -210,10 +209,10 @@ WARNING: \`$1' is needed, but is $msg.
 
   bison*|yacc*)
     echo 1>&2 "\
-WARNING: \`$1' $msg.  You should only need it if
-         you modified a \`.y' file.  You may need the \`Bison' package
+WARNING: '$1' $msg.  You should only need it if
+         you modified a '.y' file.  You may need the Bison package
          in order for those modifications to take effect.  You can get
-         \`Bison' from any GNU archive site."
+         Bison from any GNU archive site."
     rm -f y.tab.c y.tab.h
     if test $# -ne 1; then
         eval LASTARG=\${$#}
@@ -240,10 +239,10 @@ WARNING: \`$1' $msg.  You should only need it if
 
   lex*|flex*)
     echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified a \`.l' file.  You may need the \`Flex' package
+WARNING: '$1' is $msg.  You should only need it if
+         you modified a '.l' file.  You may need the Flex package
          in order for those modifications to take effect.  You can get
-         \`Flex' from any GNU archive site."
+         Flex from any GNU archive site."
     rm -f lex.yy.c
     if test $# -ne 1; then
         eval LASTARG=\${$#}
@@ -263,10 +262,10 @@ WARNING: \`$1' is $msg.  You should only need it if
 
   help2man*)
     echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
+WARNING: '$1' is $msg.  You should only need it if
 	 you modified a dependency of a manual page.  You may need the
-	 \`Help2man' package in order for those modifications to take
-	 effect.  You can get \`Help2man' from any GNU archive site."
+	 Help2man package in order for those modifications to take
+	 effect.  You can get Help2man from any GNU archive site."
 
     file=`echo "$*" | sed -n "$sed_output"`
     test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
@@ -281,12 +280,12 @@ WARNING: \`$1' is $msg.  You should only need it if
 
   makeinfo*)
     echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified a \`.texi' or \`.texinfo' file, or any other file
+WARNING: '$1' is $msg.  You should only need it if
+         you modified a '.texi' or '.texinfo' file, or any other file
          indirectly affecting the aspect of the manual.  The spurious
-         call might also be the consequence of using a buggy \`make' (AIX,
-         DU, IRIX).  You might want to install the \`Texinfo' package or
-         the \`GNU make' package.  Grab either from any GNU archive site."
+         call might also be the consequence of using a buggy 'make' (AIX,
+         DU, IRIX).  You might want to install the Texinfo package or
+         the GNU make package.  Grab either from any GNU archive site."
     # The file to touch is that specified with -o ...
     file=`echo "$*" | sed -n "$sed_output"`
     test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
@@ -310,12 +309,12 @@ WARNING: \`$1' is $msg.  You should only need it if
 
   *)
     echo 1>&2 "\
-WARNING: \`$1' is needed, and is $msg.
+WARNING: '$1' is needed, and is $msg.
          You might have modified some files without having the
-         proper tools for further handling them.  Check the \`README' file,
+         proper tools for further handling them.  Check the 'README' file,
          it often tells you about the needed prerequisites for installing
          this package.  You may also peek at any GNU archive site, in case
-         some other package would contain this missing \`$1' program."
+         some other package would contain this missing '$1' program."
     exit 1
     ;;
 esac
diff --git a/libltdl/configure b/libltdl/configure
index cde6653..3474be4 100755
--- a/libltdl/configure
+++ b/libltdl/configure
@@ -1403,8 +1403,10 @@ Optional Features:
   --enable-static[=PKGS]  build static libraries [default=yes]
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
-  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors
+  --enable-dependency-tracking
+                          do not reject slow dependency extractors
+  --disable-dependency-tracking
+                          speeds up one-time build
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-ltdl-install   install libltdl
 
@@ -2264,7 +2266,7 @@ ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
 ## Automake Initialisation. ##
 ## ------------------------ ##
 
-am__api_version='1.11'
+am__api_version='1.12'
 
 # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
@@ -2361,9 +2363,6 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
 $as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
 # Reject unsafe characters in $srcdir or the absolute working directory
 # name.  Accept space and tab only in the latter.
 am_lf='
@@ -2374,32 +2373,40 @@ case `pwd` in
 esac
 case $srcdir in
   *[\\\"\#\$\&\'\`$am_lf\ \	]*)
-    as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+    as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
 esac
 
-# Do `set' in a subshell so we don't clobber the current shell's
+# Do 'set' in a subshell so we don't clobber the current shell's
 # arguments.  Must try -L first in case configure is actually a
 # symlink; some systems play weird games with the mod time of symlinks
 # (eg FreeBSD returns the mod time of the symlink's containing
 # directory).
 if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$*" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$*" != "X $srcdir/configure conftest.file" \
-      && test "$*" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" "$LINENO" 5
-   fi
-
+   am_has_slept=no
+   for am_try in 1 2; do
+     echo "timestamp, slept: $am_has_slept" > conftest.file
+     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+     if test "$*" = "X"; then
+	# -L didn't work.
+	set X `ls -t "$srcdir/configure" conftest.file`
+     fi
+     if test "$*" != "X $srcdir/configure conftest.file" \
+	&& test "$*" != "X conftest.file $srcdir/configure"; then
+
+	# If neither matched, then we have a broken ls.  This can happen
+	# if, for instance, CONFIG_SHELL is bash and it inherits a
+	# broken ls alias from the environment.  This has actually
+	# happened.  Such a system could not be considered "sane".
+	as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
+  alias in your environment" "$LINENO" 5
+     fi
+     if test "$2" = conftest.file || test $am_try -eq 2; then
+       break
+     fi
+     # Just in case.
+     sleep 1
+     am_has_slept=yes
+   done
    test "$2" = conftest.file
    )
 then
@@ -2411,6 +2418,16 @@ Check your system clock" "$LINENO" 5
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+  ( sleep 1 ) &
+  am_sleep_pid=$!
+fi
+
+rm -f conftest.file
+
 test "$program_prefix" != NONE &&
   program_transform_name="s&^&$program_prefix&;$program_transform_name"
 # Use a double $ so make ignores it.
@@ -2437,8 +2454,8 @@ if eval "$MISSING --run true"; then
   am_missing_run="$MISSING --run "
 else
   am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
 fi
 
 if test x"${install_sh}" != xset; then
@@ -2450,10 +2467,10 @@ if test x"${install_sh}" != xset; then
   esac
 fi
 
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip".  However 'strip' might not be the right
 # tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
+# will honor the 'STRIP' environment variable to overrule this program.
 if test "$cross_compiling" != no; then
   if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
@@ -2592,12 +2609,6 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
 $as_echo "$MKDIR_P" >&6; }
 
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
-  [\\/$]* | ?:[\\/]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
 for ac_prog in gawk mawk nawk awk
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
@@ -2730,6 +2741,12 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
 
 MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 
+# For better backward compatibility.  To be removed once Automake 1.9.x
+# dies out for good.  For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+mkdir_p='$(MKDIR_P)'
+
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
 # Always define AMTAR for backward compatibility.  Yes, it's still used
@@ -2937,7 +2954,7 @@ am__quote=
 _am_result=none
 # First try GNU make style include.
 echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
+# Ignore all kinds of additional output from 'make'.
 case `$am_make -s -f confmf 2> /dev/null` in #(
 *the\ am__doit\ target*)
   am__include=include
@@ -3781,8 +3798,8 @@ else
   # We make a subdir and do the tests there.  Otherwise we can end up
   # making bogus files that we don't know about and never remove.  For
   # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
+  # making a dummy file named 'D' -- because '-MD' means "put the output
+  # in D".
   rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
@@ -3817,16 +3834,16 @@ else
     : > sub/conftest.c
     for i in 1 2 3 4 5 6; do
       echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
+      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+      # Solaris 10 /bin/sh.
+      echo '/* dummy */' > sub/conftst$i.h
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # We check with '-c' and '-o' for the sake of the "dashmstdout"
     # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
+    # handle '-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs.
     am__obj=sub/conftest.${OBJEXT-o}
     am__minus_obj="-o $am__obj"
     case $depmode in
@@ -3835,8 +3852,8 @@ else
       test "$am__universal" = false || continue
       ;;
     nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
+      # After this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested.
       if test "x$enable_dependency_tracking" = xyes; then
 	continue
       else
@@ -3844,7 +3861,7 @@ else
       fi
       ;;
     msvc7 | msvc7msys | msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
+      # This compiler won't grok '-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
       am__obj=conftest.${OBJEXT-o}
@@ -5062,7 +5079,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-netbsd* | netbsdelf*-gnu)
+netbsd*)
   if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
     lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
   else
@@ -8757,9 +8774,6 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
   openbsd*)
     with_gnu_ld=no
     ;;
-  linux* | k*bsd*-gnu | gnu*)
-    link_all_deplibs=no
-    ;;
   esac
 
   ld_shlibs=yes
@@ -8981,7 +8995,7 @@ _LT_EOF
       fi
       ;;
 
-    netbsd* | netbsdelf*-gnu)
+    netbsd*)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
 	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
@@ -9158,7 +9172,6 @@ _LT_EOF
 	if test "$aix_use_runtimelinking" = yes; then
 	  shared_flag="$shared_flag "'${wl}-G'
 	fi
-	link_all_deplibs=no
       else
 	# not using gcc
 	if test "$host_cpu" = ia64; then
@@ -9612,7 +9625,7 @@ $as_echo "$lt_cv_irix_exported_symbol" >&6; }
       link_all_deplibs=yes
       ;;
 
-    netbsd* | netbsdelf*-gnu)
+    netbsd*)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
 	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
@@ -10625,10 +10638,14 @@ fi
   # before this can be enabled.
   hardcode_into_libs=yes
 
+  # Add ABI-specific directories to the system library path.
+  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
+
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
+
   fi
 
   # We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -10640,18 +10657,6 @@ fi
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
-  ;;
-
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -12232,7 +12237,7 @@ else
     # at 6.2 and later dlopen does load deplibs.
     lt_cv_sys_dlopen_deplibs=yes
     ;;
-  netbsd* | netbsdelf*-gnu)
+  netbsd*)
     lt_cv_sys_dlopen_deplibs=yes
     ;;
   openbsd*)
@@ -12640,6 +12645,14 @@ LIBOBJS=$ac_libobjs
 LTLIBOBJS=$ac_ltlibobjs
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
+$as_echo_n "checking that generated files are newer than configure... " >&6; }
+   if test -n "$am_sleep_pid"; then
+     # Hide warnings about reused PIDs.
+     wait $am_sleep_pid 2>/dev/null
+   fi
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
+$as_echo "done" >&6; }
  if test -n "$EXEEXT"; then
   am__EXEEXT_TRUE=
   am__EXEEXT_FALSE='#'
@@ -14149,7 +14162,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
     # Strip MF so we end up with the name of the file.
     mf=`echo "$mf" | sed -e 's/:.*$//'`
     # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
+    # We used to match only the files named 'Makefile.in', but
     # some people rename them; so instead we look at the file content.
     # Grep'ing the first line is not enough: some people post-process
     # each Makefile.in and add a new line on top of each file to say so.
@@ -14183,21 +14196,19 @@ $as_echo X"$mf" |
       continue
     fi
     # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
+    # from the Makefile without running 'make'.
     DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
     test -z "$DEPDIR" && continue
     am__include=`sed -n 's/^am__include = //p' < "$mf"`
     test -z "am__include" && continue
     am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
     # Find all dependency output files, they are included files with
     # $(DEPDIR) in their names.  We invoke sed twice because it is the
     # simplest approach to changing $(DEPDIR) to its actual value in the
     # expansion.
     for file in `sed -n "
       s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
       # Make sure the directory exists.
       test -f "$dirpart/$file" && continue
       fdir=`$as_dirname -- "$file" ||
diff --git a/libltdl/m4/libtool.m4 b/libltdl/m4/libtool.m4
index 828104c..56666f0 100644
--- a/libltdl/m4/libtool.m4
+++ b/libltdl/m4/libtool.m4
@@ -2669,10 +2669,14 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   # before this can be enabled.
   hardcode_into_libs=yes
 
+  # Add ABI-specific directories to the system library path.
+  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
+
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
+
   fi
 
   # We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -2684,18 +2688,6 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
-  ;;
-
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -3301,7 +3293,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-netbsd* | netbsdelf*-gnu)
+netbsd*)
   if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
   else
@@ -4113,7 +4105,7 @@ m4_if([$1], [CXX], [
 	    ;;
 	esac
 	;;
-      netbsd* | netbsdelf*-gnu)
+      netbsd*)
 	;;
       *qnx* | *nto*)
         # QNX uses GNU C++, but need to define -shared option too, otherwise
@@ -4590,9 +4582,6 @@ m4_if([$1], [CXX], [
       ;;
     esac
     ;;
-  linux* | k*bsd*-gnu | gnu*)
-    _LT_TAGVAR(link_all_deplibs, $1)=no
-    ;;
   *)
     _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
     ;;
@@ -4655,9 +4644,6 @@ dnl Note also adjust exclude_expsyms for C++ above.
   openbsd*)
     with_gnu_ld=no
     ;;
-  linux* | k*bsd*-gnu | gnu*)
-    _LT_TAGVAR(link_all_deplibs, $1)=no
-    ;;
   esac
 
   _LT_TAGVAR(ld_shlibs, $1)=yes
@@ -4879,7 +4865,7 @@ _LT_EOF
       fi
       ;;
 
-    netbsd* | netbsdelf*-gnu)
+    netbsd*)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
 	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
@@ -5056,7 +5042,6 @@ _LT_EOF
 	if test "$aix_use_runtimelinking" = yes; then
 	  shared_flag="$shared_flag "'${wl}-G'
 	fi
-	_LT_TAGVAR(link_all_deplibs, $1)=no
       else
 	# not using gcc
 	if test "$host_cpu" = ia64; then
@@ -5361,7 +5346,7 @@ _LT_EOF
       _LT_TAGVAR(link_all_deplibs, $1)=yes
       ;;
 
-    netbsd* | netbsdelf*-gnu)
+    netbsd*)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
 	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
diff --git a/libltdl/m4/ltdl.m4 b/libltdl/m4/ltdl.m4
index 1ef84a5..ea76f4d 100644
--- a/libltdl/m4/ltdl.m4
+++ b/libltdl/m4/ltdl.m4
@@ -493,7 +493,7 @@ AC_CACHE_CHECK([whether deplibs are loaded by dlopen],
     # at 6.2 and later dlopen does load deplibs.
     lt_cv_sys_dlopen_deplibs=yes
     ;;
-  netbsd* | netbsdelf*-gnu)
+  netbsd*)
     lt_cv_sys_dlopen_deplibs=yes
     ;;
   openbsd*)
diff --git a/m4/ax_boost_base.m4 b/m4/ax_boost_base.m4
index 54a2a1b..57d14fe 100644
--- a/m4/ax_boost_base.m4
+++ b/m4/ax_boost_base.m4
@@ -33,7 +33,7 @@
 #   and this notice are preserved. This file is offered as-is, without any
 #   warranty.
 
-#serial 20
+#serial 21
 
 AC_DEFUN([AX_BOOST_BASE],
 [
@@ -91,9 +91,11 @@ if test "x$want_boost" = "xyes"; then
     dnl are found, e.g. when only header-only libraries are installed!
     libsubdirs="lib"
     ax_arch=`uname -m`
-    if test $ax_arch = x86_64 -o $ax_arch = ppc64 -o $ax_arch = s390x -o $ax_arch = sparc64; then
+    case $ax_arch in
+      x86_64|ppc64|s390x|sparc64|aarch64)
         libsubdirs="lib64 lib lib64"
-    fi
+        ;;
+    esac
 
     dnl first we check the system location for boost libraries
     dnl this location ist chosen if boost libraries are installed with the --layout=system option
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index 828104c..56666f0 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -2669,10 +2669,14 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   # before this can be enabled.
   hardcode_into_libs=yes
 
+  # Add ABI-specific directories to the system library path.
+  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
+
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
     lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
+
   fi
 
   # We used to test for /lib/ld.so.1 and disable shared libraries on
@@ -2684,18 +2688,6 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   dynamic_linker='GNU/Linux ld.so'
   ;;
 
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
-  ;;
-
 netbsd*)
   version_type=sunos
   need_lib_prefix=no
@@ -3301,7 +3293,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-netbsd* | netbsdelf*-gnu)
+netbsd*)
   if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
   else
@@ -4113,7 +4105,7 @@ m4_if([$1], [CXX], [
 	    ;;
 	esac
 	;;
-      netbsd* | netbsdelf*-gnu)
+      netbsd*)
 	;;
       *qnx* | *nto*)
         # QNX uses GNU C++, but need to define -shared option too, otherwise
@@ -4590,9 +4582,6 @@ m4_if([$1], [CXX], [
       ;;
     esac
     ;;
-  linux* | k*bsd*-gnu | gnu*)
-    _LT_TAGVAR(link_all_deplibs, $1)=no
-    ;;
   *)
     _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
     ;;
@@ -4655,9 +4644,6 @@ dnl Note also adjust exclude_expsyms for C++ above.
   openbsd*)
     with_gnu_ld=no
     ;;
-  linux* | k*bsd*-gnu | gnu*)
-    _LT_TAGVAR(link_all_deplibs, $1)=no
-    ;;
   esac
 
   _LT_TAGVAR(ld_shlibs, $1)=yes
@@ -4879,7 +4865,7 @@ _LT_EOF
       fi
       ;;
 
-    netbsd* | netbsdelf*-gnu)
+    netbsd*)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
 	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
@@ -5056,7 +5042,6 @@ _LT_EOF
 	if test "$aix_use_runtimelinking" = yes; then
 	  shared_flag="$shared_flag "'${wl}-G'
 	fi
-	_LT_TAGVAR(link_all_deplibs, $1)=no
       else
 	# not using gcc
 	if test "$host_cpu" = ia64; then
@@ -5361,7 +5346,7 @@ _LT_EOF
       _LT_TAGVAR(link_all_deplibs, $1)=yes
       ;;
 
-    netbsd* | netbsdelf*-gnu)
+    netbsd*)
       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
 	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
       else
diff --git a/m4/ltdl.m4 b/m4/ltdl.m4
index 1ef84a5..ea76f4d 100644
--- a/m4/ltdl.m4
+++ b/m4/ltdl.m4
@@ -493,7 +493,7 @@ AC_CACHE_CHECK([whether deplibs are loaded by dlopen],
     # at 6.2 and later dlopen does load deplibs.
     lt_cv_sys_dlopen_deplibs=yes
     ;;
-  netbsd* | netbsdelf*-gnu)
+  netbsd*)
     lt_cv_sys_dlopen_deplibs=yes
     ;;
   openbsd*)
diff --git a/m4/subs.m4 b/m4/subs.m4
index 9421a8c..69044bf 100644
--- a/m4/subs.m4
+++ b/m4/subs.m4
@@ -210,14 +210,14 @@ case "$host" in
 } ; fi
 
     LTCC="gcc"
-    CXXFLAGS="$CXXFLAGS -LC:/GTK/lib"
+    CXXFLAGS="$CXXFLAGS -Wno-cpp -LC:/GTK/lib"
     CFLAGS="$CFLAGS -LC:/GTK/lib"
-    LDFLAGS="$LDFLAGS -lole32 -no-undefined -Wl,--export-all-symbols -Wl,--subsystem=console -Wl,--enable-runtime-pseudo-reloc" 
-dnl    LDFLAGS="$LDFLAGS -lole32 -no-undefined -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--subsystem=console -Wl,--enable-runtime-pseudo-reloc"
+    LDFLAGS="$LDFLAGS -lole32 -Wl,-no-undefined -Wl,--export-all-symbols -Wl,--subsystem=console -Wl,--enable-runtime-pseudo-reloc" 
+dnl    LDFLAGS="$LDFLAGS -lole32 -Wl,-no-undefined -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--subsystem=console -Wl,--enable-runtime-pseudo-reloc"
     ;;
   *cygwin*)
-    LDFLAGS="$LDFLAGS -lole32 -no-undefined -Wl,--export-all-symbols"
-dnl    LDFLAGS="$LDFLAGS -lole32 -no-undefined -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--subsystem=console"
+    LDFLAGS="$LDFLAGS -lole32 -Wl,-no-undefined -Wl,--export-all-symbols"
+dnl    LDFLAGS="$LDFLAGS -lole32 -Wl,-no-undefined -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--subsystem=console"
     CXXFLAGS="$CXXFLAGS -I/target/include"
     CFLAGS="$CFLAGS -I/target/include"
     ;;
diff --git a/po/POTFILES.in b/po/POTFILES.in
index f222100..e9e3477 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -172,6 +172,8 @@ src/synfig/blur.cpp
 src/synfig/blur.h
 src/synfig/cairoimporter.cpp
 src/synfig/cairoimporter.h
+src/synfig/cairolistimporter.cpp
+src/synfig/cairolistimporter.h
 src/synfig/canvas.cpp
 src/synfig/canvas.h
 src/synfig/canvasbase.h
diff --git a/po/ca.gmo b/po/ca.gmo
new file mode 100644
index 0000000..f6522a4
Binary files /dev/null and b/po/ca.gmo differ
diff --git a/po/el_GR.po b/po/ca.po
similarity index 68%
copy from po/el_GR.po
copy to po/ca.po
index c7d51db..d4e8bc8 100644
--- a/po/el_GR.po
+++ b/po/ca.po
@@ -1,98 +1,96 @@
-# translation of es.po to Greek
-# Greek translations for Synfig Core package
-# Copyright (C) 2012 Synfig Contributors
-# This file is distributed under the same license as
+# Translation file for Synfig Core package.
+# Copyright (C) 2013 Synfig Contributors
+# This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
-# Γιάννης Κασκαμανίδης <kiolalis at gmail.com>, 2011
-# Γιάννης Κασκαμανίδης <kiolalis at gmail.com>, 2011, 2012
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2013-05-09 18:34+0200\n"
-"PO-Revision-Date: 2013-05-02 12:39+0000\n"
-"Last-Translator: genete <genetita at gmail.com>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
-"Language: el_GR\n"
+"POT-Creation-Date: 2013-10-25 17:57+0700\n"
+"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
+"Language-Team: Catalan (http://www.transifex.com/projects/p/synfig/language/"
+"ca/)\n"
+"Language: ca\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:58
+#: src/modules/mod_example/filledrect.cpp:59
 msgid "Filled Rectangle"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:59
+#: src/modules/mod_example/filledrect.cpp:60
 #: src/modules/mod_example/metaballs.cpp:58
 #: src/modules/mod_example/simplecircle.cpp:58
 msgid "Example"
-msgstr "Παράδειγμα"
+msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:120
+#: src/modules/mod_example/filledrect.cpp:131
 #: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:523
-#: src/modules/lyr_std/shade.cpp:564
-#: src/modules/mod_geometry/checkerboard.cpp:122
-#: src/modules/mod_geometry/circle.cpp:128
-#: src/modules/mod_geometry/rectangle.cpp:125 src/synfig/layer_shape.cpp:1193
-#: src/synfig/layer_solidcolor.cpp:102 src/synfig/paramdesc.cpp:79
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:620
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
 msgid "Color"
-msgstr "Χρώμα"
+msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:121
+#: src/modules/mod_example/filledrect.cpp:132
 #: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:129
-#: src/modules/mod_geometry/rectangle.cpp:126
-#: src/synfig/layer_solidcolor.cpp:103
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
 msgid "Fill color of the layer"
-msgstr "Χρώμα γεμίσματος της στρώσης"
+msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:125
-#: src/modules/mod_geometry/rectangle.cpp:130
-#: src/modules/mod_gradient/lineargradient.cpp:190
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:185
 msgid "Point 1"
-msgstr "Σημείο 1"
+msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:126
-#: src/modules/mod_geometry/rectangle.cpp:132
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
 msgid "First corner of the rectangle"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_geometry/rectangle.cpp:136
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:190
 msgid "Point 2"
-msgstr "Σημείο 2"
+msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_geometry/rectangle.cpp:137
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
 msgid "Second corner of the rectangle"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_example/filledrect.cpp:147
 msgid "Feather X"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:140
+#: src/modules/mod_example/filledrect.cpp:152
 msgid "Feather Y"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:144 src/modules/lyr_std/bevel.cpp:68
-#: src/modules/mod_geometry/advanced_outline.cpp:1161
+#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
 msgid "Bevel"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:145
+#: src/modules/mod_example/filledrect.cpp:158
 msgid "Use Bevel for the corners"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:149
+#: src/modules/mod_example/filledrect.cpp:163
 msgid "Keep Bevel Circular"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:150
+#: src/modules/mod_example/filledrect.cpp:164
 msgid "When checked the bevel is circular"
 msgstr ""
 
@@ -100,39 +98,39 @@ msgstr ""
 msgid "Metaballs"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:135
+#: src/modules/mod_example/metaballs.cpp:129
 #: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:552
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:194
 #: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:112
-#: src/modules/mod_noise/noise.cpp:259 src/modules/mod_particle/plant.cpp:403
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
 #: src/synfig/valuenode_gradientrotate.cpp:164
 #: src/synfig/valuenode_repeat_gradient.cpp:203
 msgid "Gradient"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:139
+#: src/modules/mod_example/metaballs.cpp:133
 msgid "Balls"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:143
+#: src/modules/mod_example/metaballs.cpp:137
 msgid "Radii"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:147
+#: src/modules/mod_example/metaballs.cpp:141
 msgid "Weights"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:151
+#: src/modules/mod_example/metaballs.cpp:145
 msgid "Gradient Left"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:155
+#: src/modules/mod_example/metaballs.cpp:149
 msgid "Gradient Right"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:159
+#: src/modules/mod_example/metaballs.cpp:153
 msgid "Positive Only"
 msgstr ""
 
@@ -144,288 +142,288 @@ msgstr ""
 #: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
 #: src/modules/mod_gradient/conicalgradient.cpp:114
 #: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:117
+#: src/modules/mod_gradient/spiralgradient.cpp:118
 msgid "Center"
-msgstr "Κέντρο"
+msgstr ""
 
 #: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:144
+#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
 msgid "Center of the circle"
-msgstr "Κέντρο του κύκλου"
+msgstr ""
 
 #: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:151
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:132
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
 #: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:122
-#: src/modules/mod_noise/valuenode_random.cpp:269
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/valuenode_radialcomposite.cpp:272
 msgid "Radius"
-msgstr "Ακτίνα"
+msgstr ""
 
 #: src/modules/mod_example/simplecircle.cpp:118
 #: src/modules/lyr_std/twirl.cpp:118
 #: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:124
 msgid "This is the radius of the circle"
-msgstr "Αυτή είναι η ακτίνα του κύκλου"
+msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
-#: src/modules/lyr_freetype/lyr_freetype.cpp:517
+#: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
-msgstr "Κείμενο"
+msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
 #: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
-#: src/modules/lyr_std/supersample.cpp:57 src/modules/lyr_std/timeloop.cpp:60
-#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:70
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:79
+#: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
+#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
 msgid "Other"
-msgstr "Άλλο"
+msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:97
 msgid "Text Layer"
-msgstr "Στρώση κειμένου"
+msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:390
+#: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
-msgstr "αδυναμία αρχικοποίησης"
+msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:409
+#: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:518
+#: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:524
+#: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:528
+#: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:533
+#: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
-msgstr "Στυλ"
+msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:535
-#: src/modules/lyr_freetype/lyr_freetype.cpp:545
+#: src/modules/lyr_freetype/lyr_freetype.cpp:587
+#: src/modules/lyr_freetype/lyr_freetype.cpp:597
 msgid "Normal"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:536
+#: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:537
+#: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:541
+#: src/modules/lyr_freetype/lyr_freetype.cpp:593
 msgid "Weight"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:543
+#: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:544
+#: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:546
+#: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:547
+#: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:548
+#: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:551
+#: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:552
+#: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:556
+#: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:557
+#: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:561
-#: src/modules/lyr_std/shade.cpp:570 src/modules/lyr_std/xorpattern.cpp:129
-#: src/modules/mod_filter/blur.cpp:372
+#: src/modules/lyr_freetype/lyr_freetype.cpp:613
+#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:413
 #: src/modules/mod_filter/radialblur.cpp:115
-#: src/modules/mod_geometry/checkerboard.cpp:130
-#: src/modules/mod_noise/distort.cpp:222 src/modules/mod_noise/noise.cpp:267
+#: src/modules/mod_geometry/checkerboard.cpp:154
+#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:562
+#: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:569
+#: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:570
+#: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/insideout.cpp:143 src/modules/lyr_std/rotate.cpp:116
-#: src/modules/lyr_std/shade.cpp:567 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:389
-#: src/modules/lyr_std/xorpattern.cpp:125 src/modules/lyr_std/zoom.cpp:104
+#: src/modules/lyr_freetype/lyr_freetype.cpp:627
+#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
+#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
+#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
-#: src/modules/mod_geometry/checkerboard.cpp:126
-#: src/modules/mod_geometry/circle.cpp:143
-#: src/modules/mod_gradient/curvegradient.cpp:537
-#: src/modules/mod_particle/plant.cpp:398 src/synfig/layer_pastecanvas.cpp:133
-#: src/synfig/layer_shape.cpp:1197 src/synfig/valuenode_composite.cpp:518
+#: src/modules/mod_geometry/checkerboard.cpp:150
+#: src/modules/mod_geometry/circle.cpp:161
+#: src/modules/mod_gradient/curvegradient.cpp:550
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
+#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
 msgid "Origin"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:576
+#: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:580
+#: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:581
+#: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:588
+#: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:589
+#: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:594
+#: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:597
-#: src/modules/lyr_std/shade.cpp:587 src/modules/mod_geometry/circle.cpp:147
-#: src/synfig/layer_shape.cpp:1200
+#: src/modules/lyr_freetype/lyr_freetype.cpp:649
+#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1228
 msgid "Invert"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:654
+#: src/modules/lyr_freetype/lyr_freetype.cpp:714
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:680
+#: src/modules/lyr_freetype/lyr_freetype.cpp:740
 msgid "Text too small, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:704
+#: src/modules/lyr_freetype/lyr_freetype.cpp:764
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:747
+#: src/modules/lyr_freetype/lyr_freetype.cpp:807
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:754
+#: src/modules/lyr_freetype/lyr_freetype.cpp:814
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:69 src/modules/lyr_std/shade.cpp:68
+#: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:570 src/modules/lyr_std/shade.cpp:576
-#: src/modules/mod_filter/blur.cpp:376
-#: src/modules/mod_filter/halftone2.cpp:170
+#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
+#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:571 src/modules/lyr_std/shade.cpp:577
-#: src/modules/mod_filter/blur.cpp:377
+#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
+#: src/modules/mod_filter/blur.cpp:418
 msgid "Type of blur to use"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:573 src/modules/lyr_std/shade.cpp:579
-#: src/modules/mod_filter/blur.cpp:379 src/synfig/layer_shape.cpp:1213
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:574 src/modules/lyr_std/shade.cpp:580
-#: src/modules/mod_filter/blur.cpp:380 src/synfig/layer_shape.cpp:1214
+#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
+#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
 msgid "Fast Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:575 src/modules/lyr_std/shade.cpp:581
-#: src/modules/mod_filter/blur.cpp:381 src/synfig/layer_shape.cpp:1215
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
 msgid "Cross-Hatch Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:576 src/modules/lyr_std/shade.cpp:582
-#: src/modules/mod_filter/blur.cpp:382 src/synfig/layer_shape.cpp:1216
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
 msgid "Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:577 src/modules/lyr_std/shade.cpp:583
-#: src/modules/mod_filter/blur.cpp:383 src/synfig/layer_shape.cpp:1217
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:581
+#: src/modules/lyr_std/bevel.cpp:635
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:584
+#: src/modules/lyr_std/bevel.cpp:638
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:587
+#: src/modules/lyr_std/bevel.cpp:641
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:591
+#: src/modules/lyr_std/bevel.cpp:645
 msgid "Depth of Bevel"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:595
+#: src/modules/lyr_std/bevel.cpp:649
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:598
+#: src/modules/lyr_std/bevel.cpp:652
 msgid "Use Luma"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:601
+#: src/modules/lyr_std/bevel.cpp:655
 msgid "Solid"
 msgstr ""
 
-#: src/modules/lyr_std/booleancurve.cpp:104
+#: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
 msgstr ""
 
-#: src/modules/lyr_std/booleancurve.cpp:105
+#: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
 msgstr ""
 
@@ -433,38 +431,38 @@ msgstr ""
 msgid "Clamp"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:56
-#: src/modules/mod_filter/halftone2.cpp:59
-#: src/modules/mod_filter/halftone3.cpp:59
-#: src/modules/mod_filter/lumakey.cpp:59
+#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:57
+#: src/modules/mod_filter/halftone2.cpp:60
+#: src/modules/mod_filter/halftone3.cpp:60
+#: src/modules/mod_filter/lumakey.cpp:60
 msgid "Filters"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:158
+#: src/modules/lyr_std/clamp.cpp:162
 msgid "Invert Negative"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:162
+#: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:163
+#: src/modules/lyr_std/clamp.cpp:167
 msgid "When checked the Ceiling value is used"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:167
+#: src/modules/lyr_std/clamp.cpp:171
 msgid "Ceiling"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:168
+#: src/modules/lyr_std/clamp.cpp:172
 msgid "Upper boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:172
+#: src/modules/lyr_std/clamp.cpp:176
 msgid "Floor"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:173
+#: src/modules/lyr_std/clamp.cpp:177
 msgid "Lower boundary of the clamping"
 msgstr ""
 
@@ -472,24 +470,24 @@ msgstr ""
 msgid "Import Image"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:151 src/modules/lyr_std/import.cpp:201
+#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:283
+#: src/modules/lyr_std/import.cpp:293
 msgid "Filename"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:284
+#: src/modules/lyr_std/import.cpp:294
 msgid "File to import"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:288 src/synfig/layer_pastecanvas.cpp:146
+#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:289
+#: src/modules/lyr_std/import.cpp:299
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -498,14 +496,14 @@ msgid "Inside Out"
 msgstr ""
 
 #: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:75
 #: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:57 src/modules/lyr_std/curvewarp.cpp:56
-#: src/modules/mod_noise/distort.cpp:58
+#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
+#: src/modules/mod_noise/distort.cpp:59
 msgid "Distortions"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:144
+#: src/modules/lyr_std/insideout.cpp:163
 msgid "Defines the where the center will be"
 msgstr ""
 
@@ -517,97 +515,97 @@ msgstr ""
 msgid "Fractals"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:309
+#: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:310
+#: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:313
+#: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:314
+#: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:317
+#: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:320 src/modules/lyr_std/mandelbrot.cpp:223
+#: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:323
+#: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:326 src/modules/lyr_std/mandelbrot.cpp:226
+#: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:330 src/modules/lyr_std/mandelbrot.cpp:236
+#: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:333 src/modules/lyr_std/mandelbrot.cpp:240
+#: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:336 src/modules/lyr_std/mandelbrot.cpp:244
+#: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:339 src/modules/lyr_std/mandelbrot.cpp:248
+#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:342
+#: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:345 src/modules/lyr_std/mandelbrot.cpp:265
+#: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:348 src/modules/lyr_std/mandelbrot.cpp:269
+#: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:351 src/modules/lyr_std/mandelbrot.cpp:273
+#: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:354 src/modules/lyr_std/mandelbrot.cpp:277
+#: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:357
+#: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:361
+#: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:364 src/modules/lyr_std/mandelbrot.cpp:285
+#: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:286
+#: src/modules/lyr_std/julia.cpp:391 src/modules/lyr_std/mandelbrot.cpp:282
 msgid "Smooth the coloration outside the set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:368 src/modules/lyr_std/mandelbrot.cpp:230
+#: src/modules/lyr_std/julia.cpp:394 src/modules/lyr_std/mandelbrot.cpp:226
 msgid "Break Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:369 src/modules/lyr_std/mandelbrot.cpp:231
+#: src/modules/lyr_std/julia.cpp:395 src/modules/lyr_std/mandelbrot.cpp:227
 msgid "Modify equation to achieve interesting results"
 msgstr ""
 
@@ -615,48 +613,48 @@ msgstr ""
 msgid "Mandelbrot Set"
 msgstr ""
 
+#: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
 #: src/modules/lyr_std/mandelbrot.cpp:241
 #: src/modules/lyr_std/mandelbrot.cpp:245
 #: src/modules/lyr_std/mandelbrot.cpp:249
 #: src/modules/lyr_std/mandelbrot.cpp:253
 #: src/modules/lyr_std/mandelbrot.cpp:257
-#: src/modules/lyr_std/mandelbrot.cpp:261
 msgid "Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:252
+#: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:256
+#: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:260
+#: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
 msgstr ""
 
+#: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
 #: src/modules/lyr_std/mandelbrot.cpp:270
 #: src/modules/lyr_std/mandelbrot.cpp:274
 #: src/modules/lyr_std/mandelbrot.cpp:278
-#: src/modules/lyr_std/mandelbrot.cpp:282
+#: src/modules/lyr_std/mandelbrot.cpp:283
 #: src/modules/lyr_std/mandelbrot.cpp:287
 #: src/modules/lyr_std/mandelbrot.cpp:291
-#: src/modules/lyr_std/mandelbrot.cpp:295
 msgid "Outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:281
+#: src/modules/lyr_std/mandelbrot.cpp:277
 msgid "Gradient outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:290
+#: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:294
+#: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
 msgstr ""
 
@@ -669,16 +667,16 @@ msgstr ""
 msgid "Transform"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/translate.cpp:101
+#: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:134
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:121
-#: src/modules/lyr_std/sphere_distort.cpp:158
+#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:217
+#: src/synfig/layer_composite.cpp:249
 #: src/synfig/valuenode_blinecalctangent.cpp:251
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
@@ -687,61 +685,61 @@ msgstr ""
 msgid "Amount"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:67
+#: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:571
+#: src/modules/lyr_std/shade.cpp:627
 msgid "Size of Shade"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:73
-#: src/modules/lyr_std/sphere_distort.cpp:172
+#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:167
 msgid "Spherize"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/synfig/valuenode_composite.cpp:536
+#: src/modules/lyr_std/sphere_distort.cpp:141
+#: src/synfig/valuenode_composite.cpp:546
 msgid "Position"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:147
+#: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:154
+#: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:160
+#: src/modules/lyr_std/sphere_distort.cpp:155
 msgid "The distortion intensity (negative values inverts effect)"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:164 src/modules/lyr_std/warp.cpp:409
+#: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:165
+#: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:169
+#: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:170
+#: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:173
+#: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:174
+#: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
 msgstr ""
 
@@ -761,104 +759,104 @@ msgstr ""
 msgid "Stroboscope"
 msgstr ""
 
-#: src/modules/lyr_std/stroboscope.cpp:102
+#: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
 msgstr ""
 
-#: src/modules/lyr_std/stroboscope.cpp:103
+#: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:56
+#: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:129
+#: src/modules/lyr_std/supersample.cpp:146
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:290
-#: src/modules/lyr_std/curvewarp.cpp:393
-#: src/modules/mod_gradient/curvegradient.cpp:542
-#: src/synfig/valuenode_composite.cpp:514
-#: src/synfig/valuenode_composite.cpp:540
+#: src/modules/lyr_std/supersample.cpp:337
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_composite.cpp:524
+#: src/synfig/valuenode_composite.cpp:550
 #: src/synfig/valuenode_realstring.cpp:180
 #: src/synfig/valuenode_repeat_gradient.cpp:213
 #: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
 msgid "Width"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:291
+#: src/modules/lyr_std/supersample.cpp:338
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:294 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
 msgid "Height"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:295
+#: src/modules/lyr_std/supersample.cpp:342
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:298
+#: src/modules/lyr_std/supersample.cpp:345
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:299
+#: src/modules/lyr_std/supersample.cpp:346
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:302
+#: src/modules/lyr_std/supersample.cpp:349
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:303
+#: src/modules/lyr_std/supersample.cpp:350
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:166
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:124 src/synfig/valuenode_timeloop.cpp:179
+#: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:125
+#: src/modules/lyr_std/timeloop.cpp:134
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:129 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:130 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:134 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:135 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139
+#: src/modules/lyr_std/timeloop.cpp:148
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:140
+#: src/modules/lyr_std/timeloop.cpp:149
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144
+#: src/modules/lyr_std/timeloop.cpp:153
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:145
+#: src/modules/lyr_std/timeloop.cpp:154
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
@@ -886,115 +884,115 @@ msgstr ""
 msgid "When checked, distorts outside the circle"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:56
+#: src/modules/lyr_std/warp.cpp:57
 msgid "Warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:374
+#: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:376
+#: src/modules/lyr_std/warp.cpp:382
 msgid "Top Left corner of the source to warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:380
+#: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:381
+#: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:385
+#: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:387
+#: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:391
+#: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:393
+#: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:397
+#: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:399
+#: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:403
+#: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:405
+#: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:413
+#: src/modules/lyr_std/warp.cpp:419
 msgid "Horizon"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:414
+#: src/modules/lyr_std/warp.cpp:420
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:55
+#: src/modules/lyr_std/curvewarp.cpp:56
 msgid "Curve Warp"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:390
-msgid "Position of the source line"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:395
+#: src/modules/lyr_std/curvewarp.cpp:404
 msgid "How much is expanded the result perpendicular to the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:407
 msgid "Start Point"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:400
+#: src/modules/lyr_std/curvewarp.cpp:409
 msgid "First point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:403
+#: src/modules/lyr_std/curvewarp.cpp:412
 msgid "End Point"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:404
+#: src/modules/lyr_std/curvewarp.cpp:413
 msgid "Final point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:407
-#: src/modules/mod_geometry/advanced_outline.cpp:1123
-#: src/modules/mod_geometry/outline.cpp:814
-#: src/modules/mod_geometry/region.cpp:233
-#: src/modules/mod_gradient/curvegradient.cpp:546
-#: src/modules/mod_particle/plant.cpp:391
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
 msgid "Vertices"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:410
+#: src/modules/lyr_std/curvewarp.cpp:419
 msgid "List of Spline Points where the source line is curved to"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:413
-#: src/modules/mod_geometry/advanced_outline.cpp:1178
-#: src/modules/mod_gradient/curvegradient.cpp:567
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
 msgid "Fast"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:414
-#: src/modules/mod_gradient/curvegradient.cpp:568
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
 msgid "When checked, renders quickly but with artifacts"
 msgstr ""
 
@@ -1002,15 +1000,15 @@ msgstr ""
 msgid "XOR Pattern"
 msgstr ""
 
-#: src/modules/lyr_std/xorpattern.cpp:126
+#: src/modules/lyr_std/xorpattern.cpp:130
 msgid "Center of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/xorpattern.cpp:130
+#: src/modules/lyr_std/xorpattern.cpp:134
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:143
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
 #: src/synfig/valuenode_blinecalctangent.cpp:261
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
 #: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
@@ -1021,7 +1019,7 @@ msgstr ""
 msgid "Amount to scale to"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:105
+#: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
 msgstr ""
 
@@ -1089,126 +1087,138 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:201
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:208
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:218
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:272
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-msgid "Unable to open pipe to ffmpeg"
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:214
+msgid "Unable to open pipe to ffmpeg (no pipe)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:221
+msgid "Unable to open pipe to ffmpeg (pid == -1)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:231
+msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:285
+msgid "Unable to open pipe to ffmpeg (exec failed)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:303
+msgid "Unable to open pipe to ffmpeg (no file)"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:68
+#: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:69 src/modules/mod_filter/radialblur.cpp:56
+#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
 #: src/synfig/layer_motionblur.cpp:57
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:373
+#: src/modules/mod_filter/blur.cpp:414
 msgid "Size of Blur"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:55
+#: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:211
+#: src/modules/mod_filter/colorcorrect.cpp:217
 msgid "Hue Adjust"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:215
+#: src/modules/mod_filter/colorcorrect.cpp:221
 msgid "Brightness"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:219
+#: src/modules/mod_filter/colorcorrect.cpp:225
 msgid "Contrast"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:223
+#: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:227 src/synfig/layer_bitmap.cpp:179
+#: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:58
+#: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:151
+#: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:155
+#: src/modules/mod_filter/halftone2.cpp:159
 msgid "Mask Angle"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:159
-#: src/modules/mod_filter/halftone3.cpp:309
+#: src/modules/mod_filter/halftone2.cpp:163
+#: src/modules/mod_filter/halftone3.cpp:328
 msgid "Mask Size"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:164
+#: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:167
+#: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:172
-#: src/modules/mod_filter/halftone3.cpp:314
+#: src/modules/mod_filter/halftone2.cpp:176
+#: src/modules/mod_filter/halftone3.cpp:333
 #: src/modules/mod_gradient/conicalgradient.cpp:125
 msgid "Symmetric"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:173
-#: src/modules/mod_filter/halftone3.cpp:315
+#: src/modules/mod_filter/halftone2.cpp:177
+#: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:175
-#: src/modules/mod_filter/halftone3.cpp:317
+#: src/modules/mod_filter/halftone2.cpp:179
+#: src/modules/mod_filter/halftone3.cpp:336
 msgid "Diamond"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:176
-#: src/modules/mod_filter/halftone3.cpp:318
+#: src/modules/mod_filter/halftone2.cpp:180
+#: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:58
+#: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:312
+#: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:321
+#: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:329
+#: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:333
+#: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:337
+#: src/modules/mod_filter/halftone3.cpp:356
 msgid " Mask Angle"
 msgstr ""
 
-#: src/modules/mod_filter/lumakey.cpp:58
+#: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
 msgstr ""
 
-#: src/modules/mod_filter/radialblur.cpp:55
+#: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
 msgstr ""
 
@@ -1230,19 +1240,19 @@ msgstr ""
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:62 src/synfig/layer_solidcolor.cpp:57
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:123
+#: src/modules/mod_geometry/checkerboard.cpp:147
 msgid "Color of checkers"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:127
+#: src/modules/mod_geometry/checkerboard.cpp:151
 msgid "Center of the checkers"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:131
+#: src/modules/mod_geometry/checkerboard.cpp:155
 msgid "Size of checkers"
 msgstr ""
 
@@ -1250,54 +1260,54 @@ msgstr ""
 msgid "Circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:134
+#: src/modules/mod_geometry/circle.cpp:152
 msgid "Radius of the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:138 src/synfig/layer_shape.cpp:1206
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
 msgid "Feather"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:140
+#: src/modules/mod_geometry/circle.cpp:158
 msgid "Amount of feather of the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:148
+#: src/modules/mod_geometry/circle.cpp:166
 msgid "Invert the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:152
+#: src/modules/mod_geometry/circle.cpp:170
 msgid "Falloff"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:153
+#: src/modules/mod_geometry/circle.cpp:171
 msgid "Determines the falloff function for the feather"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:155
-#: src/modules/mod_noise/distort.cpp:234 src/modules/mod_noise/noise.cpp:275
-#: src/modules/mod_noise/valuenode_random.cpp:288
-#: src/synfig/layer_bitmap.cpp:173 src/synfig/layer_motionblur.cpp:150
-#: src/synfig/valuenode.cpp:139 src/synfig/valuenode_linear.cpp:146
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:289
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
 msgid "Linear"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:156
+#: src/modules/mod_geometry/circle.cpp:174
 msgid "Squared"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:157
+#: src/modules/mod_geometry/circle.cpp:175
 msgid "Square Root"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:158
+#: src/modules/mod_geometry/circle.cpp:176
 msgid "Sigmond"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:159
-#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:276
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:174
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:290
+#: src/synfig/layer_bitmap.cpp:170
 msgid "Cosine"
 msgstr ""
 
@@ -1305,160 +1315,160 @@ msgstr ""
 msgid "Advanced Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:133
+#: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1125
-#: src/modules/mod_geometry/outline.cpp:817
-#: src/modules/mod_geometry/region.cpp:235
-#: src/modules/mod_gradient/curvegradient.cpp:549
-#: src/modules/mod_particle/plant.cpp:392
+#: src/modules/mod_geometry/advanced_outline.cpp:1136
+#: src/modules/mod_geometry/outline.cpp:826
+#: src/modules/mod_geometry/region.cpp:240
+#: src/modules/mod_gradient/curvegradient.cpp:562
+#: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1129
-#: src/modules/mod_geometry/outline.cpp:831
+#: src/modules/mod_geometry/advanced_outline.cpp:1140
+#: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1130
-#: src/modules/mod_geometry/outline.cpp:832
+#: src/modules/mod_geometry/advanced_outline.cpp:1141
+#: src/modules/mod_geometry/outline.cpp:841
 msgid "Global width of the outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:837
+#: src/modules/mod_geometry/advanced_outline.cpp:1145
+#: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1135
-#: src/modules/mod_geometry/outline.cpp:838
+#: src/modules/mod_geometry/advanced_outline.cpp:1146
+#: src/modules/mod_geometry/outline.cpp:847
 msgid "Value to add to the global width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1138
+#: src/modules/mod_geometry/advanced_outline.cpp:1149
 msgid "Tip Type at Start"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1139
+#: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1141
-#: src/modules/mod_geometry/advanced_outline.cpp:1150
-#: src/synfig/valuenode_composite.cpp:548
+#: src/modules/mod_geometry/advanced_outline.cpp:1152
+#: src/modules/mod_geometry/advanced_outline.cpp:1161
 #: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:587
-#: src/synfig/valuenode_composite.cpp:596
+#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:606
 msgid "Rounded Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1142
-#: src/modules/mod_geometry/advanced_outline.cpp:1151
-#: src/synfig/valuenode_composite.cpp:549
+#: src/modules/mod_geometry/advanced_outline.cpp:1153
+#: src/modules/mod_geometry/advanced_outline.cpp:1162
 #: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:588
-#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:607
 msgid "Squared Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1143
-#: src/modules/mod_geometry/advanced_outline.cpp:1152
-#: src/synfig/valuenode_composite.cpp:550
+#: src/modules/mod_geometry/advanced_outline.cpp:1154
+#: src/modules/mod_geometry/advanced_outline.cpp:1163
 #: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:570
+#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:608
 msgid "Peak Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1144
-#: src/modules/mod_geometry/advanced_outline.cpp:1153
-#: src/synfig/valuenode_composite.cpp:551
+#: src/modules/mod_geometry/advanced_outline.cpp:1155
+#: src/modules/mod_geometry/advanced_outline.cpp:1164
 #: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:590
-#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:571
+#: src/synfig/valuenode_composite.cpp:600
+#: src/synfig/valuenode_composite.cpp:609
 msgid "Flat Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1147
+#: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1148
+#: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1156
+#: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1157
-#: src/modules/mod_geometry/outline.cpp:843
+#: src/modules/mod_geometry/advanced_outline.cpp:1168
+#: src/modules/mod_geometry/outline.cpp:852
 msgid "Determines cusp type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1159
+#: src/modules/mod_geometry/advanced_outline.cpp:1170
 msgid "Sharp"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1160
+#: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1164
+#: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1165
+#: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1168
-#: src/modules/mod_geometry/outline.cpp:859
+#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/outline.cpp:869
 #: src/synfig/valuenode_blinecalctangent.cpp:271
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1169
+#: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
+#: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1175
+#: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1182
+#: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1184
+#: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1187
+#: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1190
+#: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1193
+#: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1196
+#: src/modules/mod_geometry/advanced_outline.cpp:1207
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
@@ -1466,32 +1476,36 @@ msgstr ""
 msgid "Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:183
+#: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:842
+#: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:847
+#: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:848
-#: src/modules/mod_geometry/outline.cpp:853
+#: src/modules/mod_geometry/outline.cpp:857
+#: src/modules/mod_geometry/outline.cpp:862
 msgid "Round off the tip"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:852
+#: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:856
+#: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:860
+#: src/modules/mod_geometry/outline.cpp:866
+msgid "(Currently not used)"
+msgstr ""
+
+#: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
 msgstr ""
 
@@ -1499,11 +1513,11 @@ msgstr ""
 msgid "Rectangle"
 msgstr ""
 
-#: src/modules/mod_geometry/rectangle.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
 msgstr ""
 
-#: src/modules/mod_geometry/rectangle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
 msgstr ""
 
@@ -1515,46 +1529,46 @@ msgstr ""
 msgid "Star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:183
+#: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:184
+#: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190
+#: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:191
+#: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:197
+#: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:129
+#: src/modules/mod_gradient/spiralgradient.cpp:130
 #: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:198
+#: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:203 src/synfig/distance.cpp:251
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
 msgid "Points"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:204
+#: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:208
+#: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:209
+#: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
@@ -1572,20 +1586,20 @@ msgid "Conical Gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
-#: src/modules/mod_gradient/curvegradient.cpp:61
+#: src/modules/mod_gradient/curvegradient.cpp:62
 #: src/modules/mod_gradient/lineargradient.cpp:55
 #: src/modules/mod_gradient/radialgradient.cpp:58
-#: src/modules/mod_gradient/spiralgradient.cpp:57
-#: src/modules/mod_noise/noise.cpp:58
+#: src/modules/mod_gradient/spiralgradient.cpp:58
+#: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
-#: src/modules/mod_gradient/curvegradient.cpp:553
-#: src/modules/mod_gradient/lineargradient.cpp:200
+#: src/modules/mod_gradient/curvegradient.cpp:566
+#: src/modules/mod_gradient/lineargradient.cpp:195
 #: src/modules/mod_gradient/radialgradient.cpp:114
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:260
+#: src/modules/mod_gradient/spiralgradient.cpp:114
+#: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
 msgstr ""
 
@@ -1598,27 +1612,27 @@ msgid "Rotation of the gradient around the center"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
-#: src/modules/mod_gradient/curvegradient.cpp:557
-#: src/modules/mod_gradient/lineargradient.cpp:204
+#: src/modules/mod_gradient/curvegradient.cpp:570
+#: src/modules/mod_gradient/lineargradient.cpp:199
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:60
+#: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:538
-#: src/modules/mod_particle/plant.cpp:399
+#: src/modules/mod_gradient/curvegradient.cpp:551
+#: src/modules/mod_particle/plant.cpp:432
 msgid "Offset for the Vertices List"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:543
+#: src/modules/mod_gradient/curvegradient.cpp:556
 msgid "Global width of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:556
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/curvegradient.cpp:569
+#: src/modules/mod_gradient/lineargradient.cpp:198
 #: src/modules/mod_gradient/radialgradient.cpp:130
 #: src/synfig/valuenode_blinecalctangent.cpp:246
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
@@ -1626,19 +1640,19 @@ msgstr ""
 msgid "Loop"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:560
-#: src/modules/mod_gradient/lineargradient.cpp:207
+#: src/modules/mod_gradient/curvegradient.cpp:573
+#: src/modules/mod_gradient/lineargradient.cpp:202
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:561
-#: src/modules/mod_gradient/lineargradient.cpp:208
+#: src/modules/mod_gradient/curvegradient.cpp:574
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:136
 msgid "When checked the gradient is summetrical at the center"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:564
+#: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
 msgstr ""
 
@@ -1646,11 +1660,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:192
+#: src/modules/mod_gradient/lineargradient.cpp:187
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:196
+#: src/modules/mod_gradient/lineargradient.cpp:191
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1659,23 +1673,23 @@ msgid "Radial Gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:119
 msgid "Center of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:56
+#: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:130
+#: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:135
+#: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:136
+#: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
@@ -1688,13 +1702,15 @@ msgstr ""
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/listimporter.cpp:184 src/synfig/listimporter.cpp:185
+#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
+#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
 msgid "Unable to open "
 msgstr ""
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/listimporter.cpp:191 src/synfig/listimporter.cpp:192
+#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
+#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
 msgid "Unable to get frame from "
 msgstr ""
 
@@ -1732,115 +1748,115 @@ msgstr ""
 msgid "Unable to open pipe to imagemagick's convert utility"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:57
+#: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:217
+#: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:218
+#: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:223
+#: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:226 src/modules/mod_noise/noise.cpp:263
+#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:264
+#: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:230 src/modules/mod_noise/noise.cpp:271
-#: src/modules/mod_noise/valuenode_random.cpp:284
-#: src/synfig/layer_bitmap.cpp:169
+#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
-#: src/synfig/layer_bitmap.cpp:170
+#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
+#: src/synfig/layer_bitmap.cpp:166
 msgid "What type of interpolation to use"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:233 src/modules/mod_noise/noise.cpp:274
-#: src/synfig/layer_bitmap.cpp:172
+#: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
+#: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:277
-#: src/modules/mod_noise/valuenode_random.cpp:290 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_bline.cpp:1001
+#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
+#: src/synfig/valuenode_bline.cpp:1006
 #: src/synfig/valuenode_blinecalctangent.cpp:241
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:237 src/modules/mod_noise/noise.cpp:278
-#: src/modules/mod_noise/valuenode_random.cpp:291
-#: src/synfig/layer_bitmap.cpp:175
+#: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:281
+#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:282
+#: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:244 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:248 src/modules/mod_noise/noise.cpp:289
+#: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:290
+#: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:183
+#: src/modules/mod_noise/valuenode_random.cpp:184
 msgid "Random"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:57
+#: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:268
+#: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:293
+#: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:294
+#: src/modules/mod_noise/noise.cpp:303
 msgid "Uses transparency"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:297
+#: src/modules/mod_noise/noise.cpp:306
 msgid "Super Sampling"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:298
+#: src/modules/mod_noise/noise.cpp:307
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:264
+#: src/modules/mod_noise/valuenode_random.cpp:265
 #: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
 #: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
 #: src/synfig/valuenode_reciprocal.cpp:165
@@ -1849,167 +1865,167 @@ msgstr ""
 msgid "Link"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:270
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:274
-#: src/modules/mod_particle/plant.cpp:450
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:276
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:279
+#: src/modules/mod_noise/valuenode_random.cpp:280
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:281
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:286
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:288
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:296
+#: src/modules/mod_noise/valuenode_random.cpp:297
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:298
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:69
+#: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:404
+#: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:408
+#: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:409
+#: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:413
+#: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:414
+#: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:419
+#: src/modules/mod_particle/plant.cpp:452
 msgid "Tangential Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:420
+#: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:424
+#: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:425
+#: src/modules/mod_particle/plant.cpp:458
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:429
+#: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:430
+#: src/modules/mod_particle/plant.cpp:463
 msgid "Size of the stem"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:435
+#: src/modules/mod_particle/plant.cpp:468
 msgid "Size As Alpha"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:436
+#: src/modules/mod_particle/plant.cpp:469
 msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:440
+#: src/modules/mod_particle/plant.cpp:473
 msgid "Reverse"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:441
+#: src/modules/mod_particle/plant.cpp:474
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:445 src/synfig/valuenode.cpp:170
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
 #: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
 msgid "Step"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:446
+#: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:451
+#: src/modules/mod_particle/plant.cpp:484
 msgid "Used to seed the pseudo-random number generator"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:455
+#: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:456
+#: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:460
+#: src/modules/mod_particle/plant.cpp:493
 msgid "Sprouts"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:461
+#: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:465
+#: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:466
+#: src/modules/mod_particle/plant.cpp:499
 msgid ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:470
+#: src/modules/mod_particle/plant.cpp:503
 msgid "Drag"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:471
+#: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:475
+#: src/modules/mod_particle/plant.cpp:508
 msgid "Use Width"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:476
+#: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
@@ -2018,97 +2034,102 @@ msgstr ""
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:87 src/synfig/importer.cpp:87
+#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
 msgid "Importer::open(): Cannot open empty filename"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:101 src/synfig/importer.cpp:101
+#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
 msgid "Importer::open(): Couldn't find extension"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:112 src/synfig/importer.cpp:112
+#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
 msgid "Importer::open(): Unknown file type -- "
 msgstr ""
 
-#: src/synfig/canvas.cpp:798 src/synfig/canvas.cpp:863
-#: src/synfig/canvas.cpp:886
+#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
+#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+msgid "No images in list"
+msgstr ""
+
+#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
+#: src/synfig/canvas.cpp:927
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:249
+#: src/synfig/distance.cpp:251
 msgid "Units"
 msgstr ""
 
-#: src/synfig/distance.cpp:250
+#: src/synfig/distance.cpp:252
 msgid "Pixels"
 msgstr ""
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:254
 msgid "Inches"
 msgstr ""
 
-#: src/synfig/distance.cpp:253
+#: src/synfig/distance.cpp:255
 msgid "Meters"
 msgstr ""
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:256
 msgid "Millimeters"
 msgstr ""
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:257
 msgid "Centimeters"
 msgstr ""
 
-#: src/synfig/layer.cpp:565 src/synfig/layer_composite.cpp:128
+#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:619
+#: src/synfig/layer.cpp:605
 msgid "Z Depth"
 msgstr ""
 
-#: src/synfig/layer.cpp:621
+#: src/synfig/layer.cpp:607
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:159
+#: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:160
+#: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:164
+#: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:165
+#: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:218
+#: src/synfig/layer_composite.cpp:250
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:221 src/synfig/paramdesc.cpp:62
+#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:222
+#: src/synfig/layer_composite.cpp:254
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:168
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
 #: src/synfig/valuenode_duplicate.cpp:174
 msgid "Duplicate"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:148
+#: src/synfig/layer_duplicate.cpp:151
 msgid "Index"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:149
+#: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
 msgstr ""
 
@@ -2120,156 +2141,156 @@ msgstr ""
 msgid "Motion Blur"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:136
+#: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:137
+#: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:141
+#: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:142
+#: src/synfig/layer_motionblur.cpp:141
 msgid "Multiplies The Number Of Subsamples Rendered"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:146
+#: src/synfig/layer_motionblur.cpp:145
 msgid "Subsampling Type"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:147
+#: src/synfig/layer_motionblur.cpp:146
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:149 src/synfig/valuenode_const.cpp:127
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
 msgid "Constant"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:151
+#: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:155
+#: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:156
+#: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:160
+#: src/synfig/layer_motionblur.cpp:159
 msgid "Subsample End Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:161
+#: src/synfig/layer_motionblur.cpp:160
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:78 src/synfig/layer_pastecanvas.cpp:120
-#: src/synfig/layer_pastecanvas.cpp:121
+#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
+#: src/synfig/layer_pastecanvas.cpp:124
 msgid "Group"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:137
+#: src/synfig/layer_pastecanvas.cpp:140
 msgid "Canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:138
+#: src/synfig/layer_pastecanvas.cpp:141
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:144
 msgid "Zoom"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:142
+#: src/synfig/layer_pastecanvas.cpp:145
 msgid "Size of canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:147
+#: src/synfig/layer_pastecanvas.cpp:152
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:151
+#: src/synfig/layer_pastecanvas.cpp:156
 msgid "Children Lock"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:157
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
+#: src/synfig/layer_pastecanvas.cpp:162
 msgid "Focus Point"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:159
+#: src/synfig/layer_pastecanvas.cpp:165
 msgid "Point to remain fixed when zooming"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:164
+#: src/synfig/layer_pastecanvas.cpp:170
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:165
+#: src/synfig/layer_pastecanvas.cpp:171
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:180
+#: src/synfig/layer_pastecanvas.cpp:186
 msgid "Current Time"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:61
+#: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:187
+#: src/synfig/layer_polygon.cpp:194
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:188
+#: src/synfig/layer_polygon.cpp:195
 msgid "Define the corners of the polygon"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:64
+#: src/synfig/layer_shape.cpp:66
 msgid "Shape"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:65
+#: src/synfig/layer_shape.cpp:67
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1194
+#: src/synfig/layer_shape.cpp:1222
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1203
+#: src/synfig/layer_shape.cpp:1231
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1210
+#: src/synfig/layer_shape.cpp:1238
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1211
+#: src/synfig/layer_shape.cpp:1239
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1220
+#: src/synfig/layer_shape.cpp:1248
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_shape.cpp:1249
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1223
+#: src/synfig/layer_shape.cpp:1251
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1224
+#: src/synfig/layer_shape.cpp:1252
 msgid "Even/Odd"
 msgstr ""
 
@@ -2277,406 +2298,406 @@ msgstr ""
 msgid "Solid Color"
 msgstr ""
 
-#: src/synfig/listimporter.cpp:161 src/synfig/listimporter.cpp:162
-msgid "No images in list"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:142
+#: src/synfig/loadcanvas.cpp:143
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:185
+#: src/synfig/loadcanvas.cpp:186
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:191
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:205
+#: src/synfig/loadcanvas.cpp:206
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:236
+#: src/synfig/loadcanvas.cpp:237
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:469
-#: src/synfig/loadcanvas.cpp:1118
+#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
+#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:473
-#: src/synfig/loadcanvas.cpp:1122
+#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
+#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:484 src/synfig/loadcanvas.cpp:1144
+#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
+#: src/synfig/loadcanvas.cpp:1200
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:508
+#: src/synfig/loadcanvas.cpp:533
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1284
+#: src/synfig/loadcanvas.cpp:1353
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1301
+#: src/synfig/loadcanvas.cpp:1375
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1314
+#: src/synfig/loadcanvas.cpp:1388
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1330
+#: src/synfig/loadcanvas.cpp:1404
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1336 src/synfig/loadcanvas.cpp:1348
+#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1365
+#: src/synfig/loadcanvas.cpp:1439
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1380
+#: src/synfig/loadcanvas.cpp:1455
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1424 src/synfig/loadcanvas.cpp:1443
-#, c-format
-msgid "\"%s\" not a valid value for attribute \"%s\" in <%s>"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:1504
+#: src/synfig/loadcanvas.cpp:1556
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1512
+#: src/synfig/loadcanvas.cpp:1565
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1522
+#: src/synfig/loadcanvas.cpp:1577
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1531
+#: src/synfig/loadcanvas.cpp:1587
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1557 src/synfig/loadcanvas.cpp:1628
+#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1570
+#: src/synfig/loadcanvas.cpp:1625
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1579
+#: src/synfig/loadcanvas.cpp:1634
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1603
+#: src/synfig/loadcanvas.cpp:1658
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1643
+#: src/synfig/loadcanvas.cpp:1698
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1652
+#: src/synfig/loadcanvas.cpp:1707
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1659
+#: src/synfig/loadcanvas.cpp:1714
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1677
+#: src/synfig/loadcanvas.cpp:1732
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1747
+#: src/synfig/loadcanvas.cpp:1811
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1841
-msgid "Unable to create <dynamic_list>"
+#: src/synfig/loadcanvas.cpp:1861
+msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1993
+#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2038
+#: src/synfig/loadcanvas.cpp:1998
+msgid "Unable to create <dynamic_list>"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2220
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2076
+#: src/synfig/loadcanvas.cpp:2283
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2097
+#: src/synfig/loadcanvas.cpp:2304
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2102
+#: src/synfig/loadcanvas.cpp:2310
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2107
+#: src/synfig/loadcanvas.cpp:2316
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2142
+#: src/synfig/loadcanvas.cpp:2373
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2161
+#: src/synfig/loadcanvas.cpp:2392
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2181
+#: src/synfig/loadcanvas.cpp:2415
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2184
+#: src/synfig/loadcanvas.cpp:2418
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2192
+#: src/synfig/loadcanvas.cpp:2426
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2209
+#: src/synfig/loadcanvas.cpp:2443
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2214
+#: src/synfig/loadcanvas.cpp:2448
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2454
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2222
+#: src/synfig/loadcanvas.cpp:2456
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2244
+#: src/synfig/loadcanvas.cpp:2480
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2260
+#: src/synfig/loadcanvas.cpp:2496
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2272 src/synfig/loadcanvas.cpp:2292
+#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2280
+#: src/synfig/loadcanvas.cpp:2516
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2303
+#: src/synfig/loadcanvas.cpp:2539
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2376 src/synfig/loadcanvas.cpp:2384
+#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2470
+#: src/synfig/loadcanvas.cpp:2710
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2478
+#: src/synfig/loadcanvas.cpp:2717
+msgid "Inline canvas cannot have a <bones> section"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2725
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2490
+#: src/synfig/loadcanvas.cpp:2737
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2498
+#: src/synfig/loadcanvas.cpp:2745
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2504
+#: src/synfig/loadcanvas.cpp:2751
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:2763
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2531
+#: src/synfig/loadcanvas.cpp:2778
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2546
+#: src/synfig/loadcanvas.cpp:2793
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2578
+#: src/synfig/loadcanvas.cpp:2828
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580 src/synfig/valuenode.cpp:353
+#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580
+#: src/synfig/loadcanvas.cpp:2830
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2660 src/synfig/loadcanvas.cpp:2716
+#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:102
+#: src/synfig/main.cpp:118
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:107
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:112
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:117
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:122
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:184
+#: src/synfig/main.cpp:207
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:186
+#: src/synfig/main.cpp:209
 msgid "Unable to initialize subsystem \"Module\""
 msgstr ""
 
-#: src/synfig/main.cpp:188
+#: src/synfig/main.cpp:211
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:192
+#: src/synfig/main.cpp:215
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:195
+#: src/synfig/main.cpp:218
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:200
+#: src/synfig/main.cpp:223
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:203
+#: src/synfig/main.cpp:226
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
+#: src/synfig/main.cpp:232
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:212
+#: src/synfig/main.cpp:235
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:219
+#: src/synfig/main.cpp:242
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:222
+#: src/synfig/main.cpp:245
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:230
+#: src/synfig/main.cpp:253
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:267 src/synfig/main.cpp:268
+#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:279
+#: src/synfig/main.cpp:302
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:293 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:360 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:375 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:390
+#: src/synfig/main.cpp:413
 msgid "info"
 msgstr ""
 
@@ -2751,145 +2772,145 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:64 src/synfig/valuenode.cpp:140
-#: src/synfig/valuenode_composite.cpp:437
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
+#: src/synfig/valuenode_composite.cpp:447
 msgid "Composite"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:65
+#: src/synfig/paramdesc.cpp:69
 msgid "Straight"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:66
+#: src/synfig/paramdesc.cpp:70
 msgid "Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:67
+#: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68
+#: src/synfig/paramdesc.cpp:72
 msgid "Behind"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:69
+#: src/synfig/paramdesc.cpp:73
 msgid "Screen"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:70
+#: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:71
+#: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:72
+#: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:73
+#: src/synfig/paramdesc.cpp:77
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:74 src/synfig/valuenode.cpp:157
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
 #: src/synfig/valuenode_add.cpp:190
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:75 src/synfig/valuenode.cpp:147
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
 #: src/synfig/valuenode_subtract.cpp:194
 msgid "Subtract"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:76
+#: src/synfig/paramdesc.cpp:80
 msgid "Difference"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:77
+#: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78
+#: src/synfig/paramdesc.cpp:82
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:80 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
 msgid "Hue"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:81 src/synfig/valuenode_radialcomposite.cpp:260
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
 #: src/synfig/valuenode_radialcomposite.cpp:266
 msgid "Saturation"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:82
+#: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:83
+#: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84
+#: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85
+#: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
 msgstr ""
 
-#: src/synfig/render.cpp:246 src/synfig/render.cpp:247
-#: src/synfig/render.cpp:301 src/synfig/render.cpp:302
-#: src/synfig/render.cpp:536 src/synfig/render.cpp:537
-#: src/synfig/render.cpp:563 src/synfig/render.cpp:564
+#: src/synfig/render.cpp:248 src/synfig/render.cpp:249
+#: src/synfig/render.cpp:303 src/synfig/render.cpp:304
+#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
+#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:290
+#: src/synfig/savecanvas.cpp:359
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:543
+#: src/synfig/savecanvas.cpp:674 src/synfig/savecanvas.cpp:699
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:185
+#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
 #: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:281
 msgid "Target initialization failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:146
+#: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:155 src/synfig/target_scanline.cpp:258
-#: src/synfig/target_scanline.cpp:405
+#: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:260
+#: src/synfig/target_scanline.cpp:407
 msgid "Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:162
+#: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:169 src/synfig/target_cairo_tile.cpp:248
-#: src/synfig/target_scanline.cpp:418 src/synfig/target_tile.cpp:396
+#: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
+#: src/synfig/target_scanline.cpp:420 src/synfig/target_tile.cpp:398
 msgid "Caught string :"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:174 src/synfig/target_cairo_tile.cpp:253
-#: src/synfig/target_scanline.cpp:423 src/synfig/target_tile.cpp:401
+#: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
+#: src/synfig/target_scanline.cpp:425 src/synfig/target_tile.cpp:403
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:179 src/synfig/target_cairo_tile.cpp:258
-#: src/synfig/target_scanline.cpp:428 src/synfig/target_tile.cpp:406
+#: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
+#: src/synfig/target_scanline.cpp:430 src/synfig/target_tile.cpp:408
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:190
+#: src/synfig/target_cairo.cpp:201
 msgid "Cairo Surface bad status"
 msgstr ""
 
@@ -2897,24 +2918,24 @@ msgstr ""
 msgid "Bad Tile Size"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:142 src/synfig/target_cairo_tile.cpp:240
-#: src/synfig/target_scanline.cpp:203 src/synfig/target_scanline.cpp:249
-#: src/synfig/target_scanline.cpp:348 src/synfig/target_scanline.cpp:396
+#: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
+#: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:251
+#: src/synfig/target_scanline.cpp:350 src/synfig/target_scanline.cpp:398
 #: src/synfig/target_tile.cpp:225
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:150
+#: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:156 src/synfig/target_tile.cpp:179
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:179
 #: src/synfig/target_tile.cpp:245
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:211
+#: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
 msgstr ""
 
@@ -2938,277 +2959,317 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:276 src/synfig/value.cpp:308 src/synfig/value.cpp:360
+#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
 msgid "bool"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:277 src/synfig/value.cpp:310 src/synfig/value.cpp:358
+#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
 msgid "integer"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:278 src/synfig/value.cpp:312
+#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
 msgid "angle"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:279 src/synfig/value.cpp:314 src/synfig/value.cpp:352
+#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
 msgid "time"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:280 src/synfig/value.cpp:316 src/synfig/value.cpp:355
+#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
 msgid "real"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:281 src/synfig/value.cpp:318
+#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
 msgid "vector"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:282 src/synfig/value.cpp:320
+#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
 msgid "color"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:283 src/synfig/value.cpp:322
+#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
 msgid "segment"
 msgstr ""
 
-#: src/synfig/value.cpp:284
+#: src/synfig/value.cpp:378
 msgid "bline_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:285 src/synfig/value.cpp:326
+#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
+msgid "matrix"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
+msgid "bone_weight_pair"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
 msgid "width_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:286 src/synfig/value.cpp:328
+#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
 msgid "dash_item"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:287 src/synfig/value.cpp:330
+#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
 msgid "list"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:288 src/synfig/value.cpp:332
+#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
 msgid "canvas"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:289 src/synfig/value.cpp:334
+#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
 msgid "string"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:290 src/synfig/value.cpp:336
+#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
 msgid "gradient"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:291 src/synfig/value.cpp:338
+#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
+msgid "bone_object"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
+msgid "bone_valuenode"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
 msgid "nil"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:324
+#: src/synfig/value.cpp:422
 msgid "spline_point"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:141 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:142 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:144 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:146 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_dynamiclist.cpp:755
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
 #: src/synfig/valuenode_switch.cpp:163
 msgid "Switch"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164
+#: src/synfig/valuenode.cpp:170
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165
+#: src/synfig/valuenode.cpp:171
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
 msgid "Integer"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:176 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177
+#: src/synfig/valuenode.cpp:183
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:178
+#: src/synfig/valuenode.cpp:184
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_real.cpp:161
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
 #: src/synfig/valuenode_realstring.cpp:175
 msgid "Real"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:189
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:190
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185
+#: src/synfig/valuenode.cpp:191
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187
+#: src/synfig/valuenode.cpp:192
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:199
+msgid "Bone Influence"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:200
+msgid "Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:201
+msgid "Root Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:202
+msgid "Static List"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:203
+msgid "Bone Weight Pair"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:206
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:233
+#: src/synfig/valuenode.cpp:241
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:513
+#: src/synfig/valuenode.cpp:540
 msgid "Placeholder"
 msgstr ""
 
-#: src/synfig/valuenode.h:61
+#: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
@@ -3275,32 +3336,32 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:355 src/synfig/valuenode_animated.cpp:379
-#: src/synfig/valuenode_animated.cpp:703 src/synfig/valuenode_animated.cpp:721
-#: src/synfig/valuenode_animated.cpp:801 src/synfig/valuenode_animated.cpp:820
+#: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
+#: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
+#: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1134
+#: src/synfig/valuenode_animated.cpp:1173
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1169
+#: src/synfig/valuenode_animated.cpp:1208
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:977 src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
 #: src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:980 src/synfig/valuenode_dynamiclist.cpp:664
+#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
 #: src/synfig/valuenode_wplist.cpp:339
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_bline.cpp:1023
+#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
@@ -3320,7 +3381,7 @@ msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:584
 #: src/synfig/valuenode_gradientrotate.cpp:169
 #: src/synfig/valuenode_linear.cpp:213
 msgid "Offset"
@@ -3374,190 +3435,186 @@ msgstr ""
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:219
+#: src/synfig/valuenode_composite.cpp:229
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:464
+#: src/synfig/valuenode_composite.cpp:474
 msgid "Red"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:465
+#: src/synfig/valuenode_composite.cpp:475
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:468
+#: src/synfig/valuenode_composite.cpp:478
 msgid "Green"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:469
+#: src/synfig/valuenode_composite.cpp:479
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:472
+#: src/synfig/valuenode_composite.cpp:482
 msgid "Blue"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:473
+#: src/synfig/valuenode_composite.cpp:483
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:476
+#: src/synfig/valuenode_composite.cpp:486
 msgid "Alpha"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:477
+#: src/synfig/valuenode_composite.cpp:487
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:492
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:493
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
-#: src/synfig/valuenode_composite.cpp:526
+#: src/synfig/valuenode_composite.cpp:496
+#: src/synfig/valuenode_composite.cpp:536
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:497
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:490
+#: src/synfig/valuenode_composite.cpp:500
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:491
+#: src/synfig/valuenode_composite.cpp:501
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:494
-#: src/synfig/valuenode_composite.cpp:530
+#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:540
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:495
+#: src/synfig/valuenode_composite.cpp:505
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:510
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:511
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:514
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:515
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:520
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:521
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:525
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:519
+#: src/synfig/valuenode_composite.cpp:529
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:522
+#: src/synfig/valuenode_composite.cpp:532
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:523
+#: src/synfig/valuenode_composite.cpp:533
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:527
+#: src/synfig/valuenode_composite.cpp:537
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:531
+#: src/synfig/valuenode_composite.cpp:541
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:547
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:551
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:544
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_composite.cpp:554
+#: src/synfig/valuenode_composite.cpp:594
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:545
 #: src/synfig/valuenode_composite.cpp:555
+#: src/synfig/valuenode_composite.cpp:565
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
 #: src/synfig/valuenode_composite.cpp:557
+#: src/synfig/valuenode_composite.cpp:567
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:593
+#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:603
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:574
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:575
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:578
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:579
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:585
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:589
 #: src/synfig/valuenode_timedswap.cpp:260
 msgid "Length"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:580
+#: src/synfig/valuenode_composite.cpp:590
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:595
+#: src/synfig/valuenode_composite.cpp:604
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_const.cpp:127
-msgid "Static"
-msgstr ""
-
 #: src/synfig/valuenode_compare.cpp:168
 msgid "The left side of the comparison"
 msgstr ""
@@ -3622,12 +3679,12 @@ msgstr ""
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:655
+#: src/synfig/valuenode_dynamiclist.cpp:661
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:703
-#: src/synfig/valuenode_dynamiclist.cpp:957
+#: src/synfig/valuenode_dynamiclist.cpp:709
+#: src/synfig/valuenode_dynamiclist.cpp:964
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3951,7 +4008,7 @@ msgid "Intersection"
 msgstr ""
 
 #: src/synfig/valuenode_step.cpp:213
-msgid "Value that define whether the step is centerd on the value [0,1]"
+msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
@@ -4084,195 +4141,195 @@ msgstr ""
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:133
+#: src/tool/main.cpp:140
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:169
+#: src/tool/main.cpp:176
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:171
+#: src/tool/main.cpp:178
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:172
+#: src/tool/main.cpp:179
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:173
+#: src/tool/main.cpp:180
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:174
+#: src/tool/main.cpp:181
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:175
+#: src/tool/main.cpp:182
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:176
+#: src/tool/main.cpp:183
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:184
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:178
+#: src/tool/main.cpp:185
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:186
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:187
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:188
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:189
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:190
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:191
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:185 src/tool/main.cpp:186
+#: src/tool/main.cpp:192 src/tool/main.cpp:193
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:194
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:195
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:196
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:197
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:193
+#: src/tool/main.cpp:200
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:202
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:203
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:204
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:200
+#: src/tool/main.cpp:207
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:202
+#: src/tool/main.cpp:209
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:210
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:204 src/tool/main.cpp:230
+#: src/tool/main.cpp:211 src/tool/main.cpp:237
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:207
+#: src/tool/main.cpp:214
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:216
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:210
+#: src/tool/main.cpp:217
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:213
+#: src/tool/main.cpp:220
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:215
+#: src/tool/main.cpp:222
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:223
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:217
+#: src/tool/main.cpp:224
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:225
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:226
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:220
+#: src/tool/main.cpp:227
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:221
+#: src/tool/main.cpp:228
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:229
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:223
+#: src/tool/main.cpp:230
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:231
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:232
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:241
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:236
+#: src/tool/main.cpp:243
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:237
+#: src/tool/main.cpp:244
 msgid "Test signal implementation"
 msgstr ""
 
@@ -4336,157 +4393,157 @@ msgstr ""
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:113
+#: src/tool/optionsprocessor.cpp:114
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:115
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:131
+#: src/tool/optionsprocessor.cpp:132
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:146
+#: src/tool/optionsprocessor.cpp:147
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:224
+#: src/tool/optionsprocessor.cpp:225
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:226
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:227
+#: src/tool/optionsprocessor.cpp:228
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:232
+#: src/tool/optionsprocessor.cpp:233
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:234
+#: src/tool/optionsprocessor.cpp:235
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:236
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:239
+#: src/tool/optionsprocessor.cpp:240
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:243
+#: src/tool/optionsprocessor.cpp:244
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:309
+#: src/tool/optionsprocessor.cpp:310
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:316
+#: src/tool/optionsprocessor.cpp:317
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:324
+#: src/tool/optionsprocessor.cpp:325
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:334
+#: src/tool/optionsprocessor.cpp:335
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:343
+#: src/tool/optionsprocessor.cpp:344
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:352
+#: src/tool/optionsprocessor.cpp:353
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:379
+#: src/tool/optionsprocessor.cpp:380
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:385
+#: src/tool/optionsprocessor.cpp:386
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:400
+#: src/tool/optionsprocessor.cpp:401
 #, c-format
 msgid "Resolution set to %dx%d"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:417
+#: src/tool/optionsprocessor.cpp:418
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:437
+#: src/tool/optionsprocessor.cpp:438
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:440
+#: src/tool/optionsprocessor.cpp:441
 #, c-format
 msgid "Target video codec set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:446
+#: src/tool/optionsprocessor.cpp:447
 #, c-format
 msgid "Target bitrate set to %dk"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:452
+#: src/tool/optionsprocessor.cpp:453
 #, c-format
 msgid "Output file sequence separator set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:487
+#: src/tool/optionsprocessor.cpp:488
 #, c-format
 msgid "Unable to load '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:494
+#: src/tool/optionsprocessor.cpp:495
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:499
+#: src/tool/optionsprocessor.cpp:500
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:513
+#: src/tool/optionsprocessor.cpp:514
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:532
+#: src/tool/optionsprocessor.cpp:533
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:539
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:557
+#: src/tool/optionsprocessor.cpp:558
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:571
+#: src/tool/optionsprocessor.cpp:572
 msgid "Appended contents of "
 msgstr ""
 
@@ -4600,4 +4657,4 @@ msgstr ""
 
 #: src/tool/renderprogress.h:136
 msgid "s "
-msgstr ""
+msgstr "s "
diff --git a/po/cs.gmo b/po/cs.gmo
index fcad436..b4aebfe 100644
Binary files a/po/cs.gmo and b/po/cs.gmo differ
diff --git a/po/cs.po b/po/cs.po
index 6f0c351..5169247 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -1,96 +1,98 @@
-# translation of cs.po to Czech
-# Copyright (C) 2012 Synfig Contributors
+# Translation file for Synfig Core package.
+# Copyright (C) 2013 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
 # jui <appukonrad at gmail.com>, 2012
+# jui <appukonrad at gmail.com>, 2012
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2013-05-09 18:34+0200\n"
-"PO-Revision-Date: 2013-05-02 12:39+0000\n"
-"Last-Translator: genete <genetita at gmail.com>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
+"POT-Creation-Date: 2013-10-25 17:57+0700\n"
+"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
+"Language-Team: Czech (http://www.transifex.com/projects/p/synfig/language/"
+"cs/)\n"
 "Language: cs\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
 
-#: src/modules/mod_example/filledrect.cpp:58
+#: src/modules/mod_example/filledrect.cpp:59
 msgid "Filled Rectangle"
 msgstr "Vyplněný obdélník"
 
-#: src/modules/mod_example/filledrect.cpp:59
+#: src/modules/mod_example/filledrect.cpp:60
 #: src/modules/mod_example/metaballs.cpp:58
 #: src/modules/mod_example/simplecircle.cpp:58
 msgid "Example"
 msgstr "Příklad"
 
-#: src/modules/mod_example/filledrect.cpp:120
+#: src/modules/mod_example/filledrect.cpp:131
 #: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:523
-#: src/modules/lyr_std/shade.cpp:564
-#: src/modules/mod_geometry/checkerboard.cpp:122
-#: src/modules/mod_geometry/circle.cpp:128
-#: src/modules/mod_geometry/rectangle.cpp:125 src/synfig/layer_shape.cpp:1193
-#: src/synfig/layer_solidcolor.cpp:102 src/synfig/paramdesc.cpp:79
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:620
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
 msgid "Color"
 msgstr "Barva"
 
-#: src/modules/mod_example/filledrect.cpp:121
+#: src/modules/mod_example/filledrect.cpp:132
 #: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:129
-#: src/modules/mod_geometry/rectangle.cpp:126
-#: src/synfig/layer_solidcolor.cpp:103
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
 msgid "Fill color of the layer"
 msgstr "Vyplň barvu vrstvy"
 
-#: src/modules/mod_example/filledrect.cpp:125
-#: src/modules/mod_geometry/rectangle.cpp:130
-#: src/modules/mod_gradient/lineargradient.cpp:190
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:185
 msgid "Point 1"
 msgstr "Bod 1"
 
-#: src/modules/mod_example/filledrect.cpp:126
-#: src/modules/mod_geometry/rectangle.cpp:132
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
 msgid "First corner of the rectangle"
 msgstr "První roh obdélníku"
 
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_geometry/rectangle.cpp:136
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:190
 msgid "Point 2"
 msgstr "Bod 2"
 
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_geometry/rectangle.cpp:137
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
 msgid "Second corner of the rectangle"
 msgstr "Druhý roh obdélníku"
 
-#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_example/filledrect.cpp:147
 msgid "Feather X"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:140
+#: src/modules/mod_example/filledrect.cpp:152
 msgid "Feather Y"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:144 src/modules/lyr_std/bevel.cpp:68
-#: src/modules/mod_geometry/advanced_outline.cpp:1161
+#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
 msgid "Bevel"
 msgstr "Zkosení"
 
-#: src/modules/mod_example/filledrect.cpp:145
+#: src/modules/mod_example/filledrect.cpp:158
 msgid "Use Bevel for the corners"
 msgstr "Použít zkosení na rohy"
 
-#: src/modules/mod_example/filledrect.cpp:149
+#: src/modules/mod_example/filledrect.cpp:163
 msgid "Keep Bevel Circular"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:150
+#: src/modules/mod_example/filledrect.cpp:164
 msgid "When checked the bevel is circular"
 msgstr ""
 
@@ -98,39 +100,39 @@ msgstr ""
 msgid "Metaballs"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:135
+#: src/modules/mod_example/metaballs.cpp:129
 #: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:552
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:194
 #: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:112
-#: src/modules/mod_noise/noise.cpp:259 src/modules/mod_particle/plant.cpp:403
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
 #: src/synfig/valuenode_gradientrotate.cpp:164
 #: src/synfig/valuenode_repeat_gradient.cpp:203
 msgid "Gradient"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:139
+#: src/modules/mod_example/metaballs.cpp:133
 msgid "Balls"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:143
+#: src/modules/mod_example/metaballs.cpp:137
 msgid "Radii"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:147
+#: src/modules/mod_example/metaballs.cpp:141
 msgid "Weights"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:151
+#: src/modules/mod_example/metaballs.cpp:145
 msgid "Gradient Left"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:155
+#: src/modules/mod_example/metaballs.cpp:149
 msgid "Gradient Right"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:159
+#: src/modules/mod_example/metaballs.cpp:153
 msgid "Positive Only"
 msgstr ""
 
@@ -142,21 +144,21 @@ msgstr "Jednoduchý kruh"
 #: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
 #: src/modules/mod_gradient/conicalgradient.cpp:114
 #: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:117
+#: src/modules/mod_gradient/spiralgradient.cpp:118
 msgid "Center"
 msgstr "Střed"
 
 #: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:144
+#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
 msgid "Center of the circle"
 msgstr "Střed kruhu"
 
 #: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:151
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:132
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
 #: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:122
-#: src/modules/mod_noise/valuenode_random.cpp:269
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/valuenode_radialcomposite.cpp:272
 msgid "Radius"
 msgstr "Rádius"
@@ -164,20 +166,20 @@ msgstr "Rádius"
 #: src/modules/mod_example/simplecircle.cpp:118
 #: src/modules/lyr_std/twirl.cpp:118
 #: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:124
 msgid "This is the radius of the circle"
 msgstr "To je poloměr kruhu"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
-#: src/modules/lyr_freetype/lyr_freetype.cpp:517
+#: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Text"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
 #: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
-#: src/modules/lyr_std/supersample.cpp:57 src/modules/lyr_std/timeloop.cpp:60
-#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:70
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:79
+#: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
+#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
 msgid "Other"
 msgstr "Ostatní"
 
@@ -185,245 +187,245 @@ msgstr "Ostatní"
 msgid "Text Layer"
 msgstr "Textováí vrstva"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:390
+#: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:409
+#: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:518
+#: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
 msgstr "Text k rendrování"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:524
+#: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "Barva textu"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:528
+#: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
 msgstr "Typ písma"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:533
+#: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
 msgstr "Styl"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:535
-#: src/modules/lyr_freetype/lyr_freetype.cpp:545
+#: src/modules/lyr_freetype/lyr_freetype.cpp:587
+#: src/modules/lyr_freetype/lyr_freetype.cpp:597
 msgid "Normal"
 msgstr "Normální"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:536
+#: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
 msgstr "Zešikmený"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:537
+#: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
 msgstr "Kurzíva"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:541
+#: src/modules/lyr_freetype/lyr_freetype.cpp:593
 msgid "Weight"
 msgstr "Zatížení"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:543
+#: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
 msgstr "Velmi lehké"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:544
+#: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
 msgstr "světlo"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:546
+#: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
 msgstr "Tučné"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:547
+#: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
 msgstr "Extra tučné"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:548
+#: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
 msgstr "Silné"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:551
+#: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
 msgstr "Vodorovné mezery"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:552
+#: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:556
+#: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
 msgstr "Svislé mezery"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:557
+#: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:561
-#: src/modules/lyr_std/shade.cpp:570 src/modules/lyr_std/xorpattern.cpp:129
-#: src/modules/mod_filter/blur.cpp:372
+#: src/modules/lyr_freetype/lyr_freetype.cpp:613
+#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:413
 #: src/modules/mod_filter/radialblur.cpp:115
-#: src/modules/mod_geometry/checkerboard.cpp:130
-#: src/modules/mod_noise/distort.cpp:222 src/modules/mod_noise/noise.cpp:267
+#: src/modules/mod_geometry/checkerboard.cpp:154
+#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
 msgstr "Velikost"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:562
+#: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
 msgstr "Velikost textu"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:569
+#: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
 msgstr "Orientace"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:570
+#: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
 msgstr "Orientace textu"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/insideout.cpp:143 src/modules/lyr_std/rotate.cpp:116
-#: src/modules/lyr_std/shade.cpp:567 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:389
-#: src/modules/lyr_std/xorpattern.cpp:125 src/modules/lyr_std/zoom.cpp:104
+#: src/modules/lyr_freetype/lyr_freetype.cpp:627
+#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
+#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
+#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
-#: src/modules/mod_geometry/checkerboard.cpp:126
-#: src/modules/mod_geometry/circle.cpp:143
-#: src/modules/mod_gradient/curvegradient.cpp:537
-#: src/modules/mod_particle/plant.cpp:398 src/synfig/layer_pastecanvas.cpp:133
-#: src/synfig/layer_shape.cpp:1197 src/synfig/valuenode_composite.cpp:518
+#: src/modules/mod_geometry/checkerboard.cpp:150
+#: src/modules/mod_geometry/circle.cpp:161
+#: src/modules/mod_gradient/curvegradient.cpp:550
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
+#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
 msgid "Origin"
 msgstr "Počátek"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:576
+#: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
 msgstr "Pozice textu"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:580
+#: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
 msgstr "Písmo"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:581
+#: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:588
+#: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
 msgstr "Prokládání"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:589
+#: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
 msgstr "Zapíná/vypíná prokládání písma (Pokud to písmo podporuje)"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
 msgstr "Zostřit okraje"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:594
+#: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
 msgstr "Tuto funkci vypnout, pokud se bude používat animace textu"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:597
-#: src/modules/lyr_std/shade.cpp:587 src/modules/mod_geometry/circle.cpp:147
-#: src/synfig/layer_shape.cpp:1200
+#: src/modules/lyr_freetype/lyr_freetype.cpp:649
+#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1228
 msgid "Invert"
 msgstr "Převrátit"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:654
+#: src/modules/lyr_freetype/lyr_freetype.cpp:714
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:680
+#: src/modules/lyr_freetype/lyr_freetype.cpp:740
 msgid "Text too small, no text will be rendered."
 msgstr "Text je příliš malý a nebude vykreslen."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:704
+#: src/modules/lyr_freetype/lyr_freetype.cpp:764
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:747
+#: src/modules/lyr_freetype/lyr_freetype.cpp:807
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:754
+#: src/modules/lyr_freetype/lyr_freetype.cpp:814
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:69 src/modules/lyr_std/shade.cpp:68
+#: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:570 src/modules/lyr_std/shade.cpp:576
-#: src/modules/mod_filter/blur.cpp:376
-#: src/modules/mod_filter/halftone2.cpp:170
+#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
+#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Typ"
 
-#: src/modules/lyr_std/bevel.cpp:571 src/modules/lyr_std/shade.cpp:577
-#: src/modules/mod_filter/blur.cpp:377
+#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
+#: src/modules/mod_filter/blur.cpp:418
 msgid "Type of blur to use"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:573 src/modules/lyr_std/shade.cpp:579
-#: src/modules/mod_filter/blur.cpp:379 src/synfig/layer_shape.cpp:1213
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:574 src/modules/lyr_std/shade.cpp:580
-#: src/modules/mod_filter/blur.cpp:380 src/synfig/layer_shape.cpp:1214
+#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
+#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
 msgid "Fast Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:575 src/modules/lyr_std/shade.cpp:581
-#: src/modules/mod_filter/blur.cpp:381 src/synfig/layer_shape.cpp:1215
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
 msgid "Cross-Hatch Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:576 src/modules/lyr_std/shade.cpp:582
-#: src/modules/mod_filter/blur.cpp:382 src/synfig/layer_shape.cpp:1216
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
 msgid "Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:577 src/modules/lyr_std/shade.cpp:583
-#: src/modules/mod_filter/blur.cpp:383 src/synfig/layer_shape.cpp:1217
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:581
+#: src/modules/lyr_std/bevel.cpp:635
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:584
+#: src/modules/lyr_std/bevel.cpp:638
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:587
+#: src/modules/lyr_std/bevel.cpp:641
 msgid "Light Angle"
 msgstr "Úhel světla"
 
-#: src/modules/lyr_std/bevel.cpp:591
+#: src/modules/lyr_std/bevel.cpp:645
 msgid "Depth of Bevel"
 msgstr "Hloubka úkosem"
 
-#: src/modules/lyr_std/bevel.cpp:595
+#: src/modules/lyr_std/bevel.cpp:649
 msgid "Softness"
 msgstr "Zjemnit"
 
-#: src/modules/lyr_std/bevel.cpp:598
+#: src/modules/lyr_std/bevel.cpp:652
 msgid "Use Luma"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:601
+#: src/modules/lyr_std/bevel.cpp:655
 msgid "Solid"
 msgstr ""
 
-#: src/modules/lyr_std/booleancurve.cpp:104
+#: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
 msgstr ""
 
-#: src/modules/lyr_std/booleancurve.cpp:105
+#: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
 msgstr ""
 
@@ -431,38 +433,38 @@ msgstr ""
 msgid "Clamp"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:56
-#: src/modules/mod_filter/halftone2.cpp:59
-#: src/modules/mod_filter/halftone3.cpp:59
-#: src/modules/mod_filter/lumakey.cpp:59
+#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:57
+#: src/modules/mod_filter/halftone2.cpp:60
+#: src/modules/mod_filter/halftone3.cpp:60
+#: src/modules/mod_filter/lumakey.cpp:60
 msgid "Filters"
 msgstr "Filtry"
 
-#: src/modules/lyr_std/clamp.cpp:158
+#: src/modules/lyr_std/clamp.cpp:162
 msgid "Invert Negative"
 msgstr "Obrátit negativně"
 
-#: src/modules/lyr_std/clamp.cpp:162
+#: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:163
+#: src/modules/lyr_std/clamp.cpp:167
 msgid "When checked the Ceiling value is used"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:167
+#: src/modules/lyr_std/clamp.cpp:171
 msgid "Ceiling"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:168
+#: src/modules/lyr_std/clamp.cpp:172
 msgid "Upper boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:172
+#: src/modules/lyr_std/clamp.cpp:176
 msgid "Floor"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:173
+#: src/modules/lyr_std/clamp.cpp:177
 msgid "Lower boundary of the clamping"
 msgstr ""
 
@@ -470,24 +472,24 @@ msgstr ""
 msgid "Import Image"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:151 src/modules/lyr_std/import.cpp:201
+#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:283
+#: src/modules/lyr_std/import.cpp:293
 msgid "Filename"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:284
+#: src/modules/lyr_std/import.cpp:294
 msgid "File to import"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:288 src/synfig/layer_pastecanvas.cpp:146
+#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:289
+#: src/modules/lyr_std/import.cpp:299
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -496,14 +498,14 @@ msgid "Inside Out"
 msgstr ""
 
 #: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:75
 #: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:57 src/modules/lyr_std/curvewarp.cpp:56
-#: src/modules/mod_noise/distort.cpp:58
+#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
+#: src/modules/mod_noise/distort.cpp:59
 msgid "Distortions"
 msgstr "Zkreslení"
 
-#: src/modules/lyr_std/insideout.cpp:144
+#: src/modules/lyr_std/insideout.cpp:163
 msgid "Defines the where the center will be"
 msgstr "Definuje, kde bude střed"
 
@@ -515,97 +517,97 @@ msgstr ""
 msgid "Fractals"
 msgstr "Fraktály"
 
-#: src/modules/lyr_std/julia.cpp:309
+#: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:310
+#: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:313
+#: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:314
+#: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:317
+#: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:320 src/modules/lyr_std/mandelbrot.cpp:223
+#: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:323
+#: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:326 src/modules/lyr_std/mandelbrot.cpp:226
+#: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:330 src/modules/lyr_std/mandelbrot.cpp:236
+#: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:333 src/modules/lyr_std/mandelbrot.cpp:240
+#: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:336 src/modules/lyr_std/mandelbrot.cpp:244
+#: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:339 src/modules/lyr_std/mandelbrot.cpp:248
+#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:342
+#: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:345 src/modules/lyr_std/mandelbrot.cpp:265
+#: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:348 src/modules/lyr_std/mandelbrot.cpp:269
+#: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:351 src/modules/lyr_std/mandelbrot.cpp:273
+#: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:354 src/modules/lyr_std/mandelbrot.cpp:277
+#: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:357
+#: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:361
+#: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:364 src/modules/lyr_std/mandelbrot.cpp:285
+#: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:286
+#: src/modules/lyr_std/julia.cpp:391 src/modules/lyr_std/mandelbrot.cpp:282
 msgid "Smooth the coloration outside the set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:368 src/modules/lyr_std/mandelbrot.cpp:230
+#: src/modules/lyr_std/julia.cpp:394 src/modules/lyr_std/mandelbrot.cpp:226
 msgid "Break Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:369 src/modules/lyr_std/mandelbrot.cpp:231
+#: src/modules/lyr_std/julia.cpp:395 src/modules/lyr_std/mandelbrot.cpp:227
 msgid "Modify equation to achieve interesting results"
 msgstr ""
 
@@ -613,48 +615,48 @@ msgstr ""
 msgid "Mandelbrot Set"
 msgstr ""
 
+#: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
 #: src/modules/lyr_std/mandelbrot.cpp:241
 #: src/modules/lyr_std/mandelbrot.cpp:245
 #: src/modules/lyr_std/mandelbrot.cpp:249
 #: src/modules/lyr_std/mandelbrot.cpp:253
 #: src/modules/lyr_std/mandelbrot.cpp:257
-#: src/modules/lyr_std/mandelbrot.cpp:261
 msgid "Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:252
+#: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:256
+#: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:260
+#: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
 msgstr ""
 
+#: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
 #: src/modules/lyr_std/mandelbrot.cpp:270
 #: src/modules/lyr_std/mandelbrot.cpp:274
 #: src/modules/lyr_std/mandelbrot.cpp:278
-#: src/modules/lyr_std/mandelbrot.cpp:282
+#: src/modules/lyr_std/mandelbrot.cpp:283
 #: src/modules/lyr_std/mandelbrot.cpp:287
 #: src/modules/lyr_std/mandelbrot.cpp:291
-#: src/modules/lyr_std/mandelbrot.cpp:295
 msgid "Outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:281
+#: src/modules/lyr_std/mandelbrot.cpp:277
 msgid "Gradient outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:290
+#: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:294
+#: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
 msgstr ""
 
@@ -667,16 +669,16 @@ msgstr ""
 msgid "Transform"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/translate.cpp:101
+#: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:134
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:121
-#: src/modules/lyr_std/sphere_distort.cpp:158
+#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:217
+#: src/synfig/layer_composite.cpp:249
 #: src/synfig/valuenode_blinecalctangent.cpp:251
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
@@ -685,61 +687,61 @@ msgstr ""
 msgid "Amount"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:67
+#: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:571
+#: src/modules/lyr_std/shade.cpp:627
 msgid "Size of Shade"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:73
-#: src/modules/lyr_std/sphere_distort.cpp:172
+#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:167
 msgid "Spherize"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/synfig/valuenode_composite.cpp:536
+#: src/modules/lyr_std/sphere_distort.cpp:141
+#: src/synfig/valuenode_composite.cpp:546
 msgid "Position"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:147
+#: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:154
+#: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:160
+#: src/modules/lyr_std/sphere_distort.cpp:155
 msgid "The distortion intensity (negative values inverts effect)"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:164 src/modules/lyr_std/warp.cpp:409
+#: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:165
+#: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:169
+#: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:170
+#: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:173
+#: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:174
+#: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
 msgstr ""
 
@@ -759,104 +761,104 @@ msgstr ""
 msgid "Stroboscope"
 msgstr "Stroboskop"
 
-#: src/modules/lyr_std/stroboscope.cpp:102
+#: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
 msgstr "Frekvence"
 
-#: src/modules/lyr_std/stroboscope.cpp:103
+#: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
 msgstr "Frekvence Strobe v dobách za sekundu"
 
-#: src/modules/lyr_std/supersample.cpp:56
+#: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:129
+#: src/modules/lyr_std/supersample.cpp:146
 msgid "Unable to create SurfaceTarget"
 msgstr "Nelze vytvořit cílový povrch"
 
-#: src/modules/lyr_std/supersample.cpp:290
-#: src/modules/lyr_std/curvewarp.cpp:393
-#: src/modules/mod_gradient/curvegradient.cpp:542
-#: src/synfig/valuenode_composite.cpp:514
-#: src/synfig/valuenode_composite.cpp:540
+#: src/modules/lyr_std/supersample.cpp:337
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_composite.cpp:524
+#: src/synfig/valuenode_composite.cpp:550
 #: src/synfig/valuenode_realstring.cpp:180
 #: src/synfig/valuenode_repeat_gradient.cpp:213
 #: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
 msgid "Width"
 msgstr "Šířka"
 
-#: src/modules/lyr_std/supersample.cpp:291
+#: src/modules/lyr_std/supersample.cpp:338
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:294 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
 msgid "Height"
 msgstr "Výška"
 
-#: src/modules/lyr_std/supersample.cpp:295
+#: src/modules/lyr_std/supersample.cpp:342
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:298
+#: src/modules/lyr_std/supersample.cpp:345
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:299
+#: src/modules/lyr_std/supersample.cpp:346
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:302
+#: src/modules/lyr_std/supersample.cpp:349
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:303
+#: src/modules/lyr_std/supersample.cpp:350
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:166
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:124 src/synfig/valuenode_timeloop.cpp:179
+#: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:125
+#: src/modules/lyr_std/timeloop.cpp:134
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:129 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:130 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:134 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:135 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139
+#: src/modules/lyr_std/timeloop.cpp:148
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:140
+#: src/modules/lyr_std/timeloop.cpp:149
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144
+#: src/modules/lyr_std/timeloop.cpp:153
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:145
+#: src/modules/lyr_std/timeloop.cpp:154
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
@@ -884,115 +886,115 @@ msgstr ""
 msgid "When checked, distorts outside the circle"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:56
+#: src/modules/lyr_std/warp.cpp:57
 msgid "Warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:374
+#: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:376
+#: src/modules/lyr_std/warp.cpp:382
 msgid "Top Left corner of the source to warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:380
+#: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:381
+#: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:385
+#: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:387
+#: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:391
+#: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:393
+#: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:397
+#: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:399
+#: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:403
+#: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:405
+#: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:413
+#: src/modules/lyr_std/warp.cpp:419
 msgid "Horizon"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:414
+#: src/modules/lyr_std/warp.cpp:420
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:55
+#: src/modules/lyr_std/curvewarp.cpp:56
 msgid "Curve Warp"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:390
-msgid "Position of the source line"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:395
+#: src/modules/lyr_std/curvewarp.cpp:404
 msgid "How much is expanded the result perpendicular to the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:407
 msgid "Start Point"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:400
+#: src/modules/lyr_std/curvewarp.cpp:409
 msgid "First point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:403
+#: src/modules/lyr_std/curvewarp.cpp:412
 msgid "End Point"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:404
+#: src/modules/lyr_std/curvewarp.cpp:413
 msgid "Final point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:407
-#: src/modules/mod_geometry/advanced_outline.cpp:1123
-#: src/modules/mod_geometry/outline.cpp:814
-#: src/modules/mod_geometry/region.cpp:233
-#: src/modules/mod_gradient/curvegradient.cpp:546
-#: src/modules/mod_particle/plant.cpp:391
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
 msgid "Vertices"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:410
+#: src/modules/lyr_std/curvewarp.cpp:419
 msgid "List of Spline Points where the source line is curved to"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:413
-#: src/modules/mod_geometry/advanced_outline.cpp:1178
-#: src/modules/mod_gradient/curvegradient.cpp:567
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
 msgid "Fast"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:414
-#: src/modules/mod_gradient/curvegradient.cpp:568
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
 msgid "When checked, renders quickly but with artifacts"
 msgstr ""
 
@@ -1000,15 +1002,15 @@ msgstr ""
 msgid "XOR Pattern"
 msgstr ""
 
-#: src/modules/lyr_std/xorpattern.cpp:126
+#: src/modules/lyr_std/xorpattern.cpp:130
 msgid "Center of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/xorpattern.cpp:130
+#: src/modules/lyr_std/xorpattern.cpp:134
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:143
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
 #: src/synfig/valuenode_blinecalctangent.cpp:261
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
 #: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
@@ -1019,7 +1021,7 @@ msgstr ""
 msgid "Amount to scale to"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:105
+#: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
 msgstr ""
 
@@ -1087,126 +1089,138 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:201
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:208
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:218
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:272
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-msgid "Unable to open pipe to ffmpeg"
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:214
+msgid "Unable to open pipe to ffmpeg (no pipe)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:221
+msgid "Unable to open pipe to ffmpeg (pid == -1)"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:68
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:231
+msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:285
+msgid "Unable to open pipe to ffmpeg (exec failed)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:303
+msgid "Unable to open pipe to ffmpeg (no file)"
+msgstr ""
+
+#: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:69 src/modules/mod_filter/radialblur.cpp:56
+#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
 #: src/synfig/layer_motionblur.cpp:57
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:373
+#: src/modules/mod_filter/blur.cpp:414
 msgid "Size of Blur"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:55
+#: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:211
+#: src/modules/mod_filter/colorcorrect.cpp:217
 msgid "Hue Adjust"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:215
+#: src/modules/mod_filter/colorcorrect.cpp:221
 msgid "Brightness"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:219
+#: src/modules/mod_filter/colorcorrect.cpp:225
 msgid "Contrast"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:223
+#: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:227 src/synfig/layer_bitmap.cpp:179
+#: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:58
+#: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:151
+#: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:155
+#: src/modules/mod_filter/halftone2.cpp:159
 msgid "Mask Angle"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:159
-#: src/modules/mod_filter/halftone3.cpp:309
+#: src/modules/mod_filter/halftone2.cpp:163
+#: src/modules/mod_filter/halftone3.cpp:328
 msgid "Mask Size"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:164
+#: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:167
+#: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:172
-#: src/modules/mod_filter/halftone3.cpp:314
+#: src/modules/mod_filter/halftone2.cpp:176
+#: src/modules/mod_filter/halftone3.cpp:333
 #: src/modules/mod_gradient/conicalgradient.cpp:125
 msgid "Symmetric"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:173
-#: src/modules/mod_filter/halftone3.cpp:315
+#: src/modules/mod_filter/halftone2.cpp:177
+#: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:175
-#: src/modules/mod_filter/halftone3.cpp:317
+#: src/modules/mod_filter/halftone2.cpp:179
+#: src/modules/mod_filter/halftone3.cpp:336
 msgid "Diamond"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:176
-#: src/modules/mod_filter/halftone3.cpp:318
+#: src/modules/mod_filter/halftone2.cpp:180
+#: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:58
+#: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:312
+#: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:321
+#: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:329
+#: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:333
+#: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:337
+#: src/modules/mod_filter/halftone3.cpp:356
 msgid " Mask Angle"
 msgstr ""
 
-#: src/modules/mod_filter/lumakey.cpp:58
+#: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
 msgstr ""
 
-#: src/modules/mod_filter/radialblur.cpp:55
+#: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
 msgstr ""
 
@@ -1228,19 +1242,19 @@ msgstr ""
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:62 src/synfig/layer_solidcolor.cpp:57
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:123
+#: src/modules/mod_geometry/checkerboard.cpp:147
 msgid "Color of checkers"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:127
+#: src/modules/mod_geometry/checkerboard.cpp:151
 msgid "Center of the checkers"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:131
+#: src/modules/mod_geometry/checkerboard.cpp:155
 msgid "Size of checkers"
 msgstr ""
 
@@ -1248,54 +1262,54 @@ msgstr ""
 msgid "Circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:134
+#: src/modules/mod_geometry/circle.cpp:152
 msgid "Radius of the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:138 src/synfig/layer_shape.cpp:1206
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
 msgid "Feather"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:140
+#: src/modules/mod_geometry/circle.cpp:158
 msgid "Amount of feather of the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:148
+#: src/modules/mod_geometry/circle.cpp:166
 msgid "Invert the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:152
+#: src/modules/mod_geometry/circle.cpp:170
 msgid "Falloff"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:153
+#: src/modules/mod_geometry/circle.cpp:171
 msgid "Determines the falloff function for the feather"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:155
-#: src/modules/mod_noise/distort.cpp:234 src/modules/mod_noise/noise.cpp:275
-#: src/modules/mod_noise/valuenode_random.cpp:288
-#: src/synfig/layer_bitmap.cpp:173 src/synfig/layer_motionblur.cpp:150
-#: src/synfig/valuenode.cpp:139 src/synfig/valuenode_linear.cpp:146
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:289
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
 msgid "Linear"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:156
+#: src/modules/mod_geometry/circle.cpp:174
 msgid "Squared"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:157
+#: src/modules/mod_geometry/circle.cpp:175
 msgid "Square Root"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:158
+#: src/modules/mod_geometry/circle.cpp:176
 msgid "Sigmond"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:159
-#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:276
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:174
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:290
+#: src/synfig/layer_bitmap.cpp:170
 msgid "Cosine"
 msgstr ""
 
@@ -1303,160 +1317,160 @@ msgstr ""
 msgid "Advanced Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:133
+#: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1125
-#: src/modules/mod_geometry/outline.cpp:817
-#: src/modules/mod_geometry/region.cpp:235
-#: src/modules/mod_gradient/curvegradient.cpp:549
-#: src/modules/mod_particle/plant.cpp:392
+#: src/modules/mod_geometry/advanced_outline.cpp:1136
+#: src/modules/mod_geometry/outline.cpp:826
+#: src/modules/mod_geometry/region.cpp:240
+#: src/modules/mod_gradient/curvegradient.cpp:562
+#: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1129
-#: src/modules/mod_geometry/outline.cpp:831
+#: src/modules/mod_geometry/advanced_outline.cpp:1140
+#: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1130
-#: src/modules/mod_geometry/outline.cpp:832
+#: src/modules/mod_geometry/advanced_outline.cpp:1141
+#: src/modules/mod_geometry/outline.cpp:841
 msgid "Global width of the outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:837
+#: src/modules/mod_geometry/advanced_outline.cpp:1145
+#: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1135
-#: src/modules/mod_geometry/outline.cpp:838
+#: src/modules/mod_geometry/advanced_outline.cpp:1146
+#: src/modules/mod_geometry/outline.cpp:847
 msgid "Value to add to the global width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1138
+#: src/modules/mod_geometry/advanced_outline.cpp:1149
 msgid "Tip Type at Start"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1139
+#: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1141
-#: src/modules/mod_geometry/advanced_outline.cpp:1150
-#: src/synfig/valuenode_composite.cpp:548
+#: src/modules/mod_geometry/advanced_outline.cpp:1152
+#: src/modules/mod_geometry/advanced_outline.cpp:1161
 #: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:587
-#: src/synfig/valuenode_composite.cpp:596
+#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:606
 msgid "Rounded Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1142
-#: src/modules/mod_geometry/advanced_outline.cpp:1151
-#: src/synfig/valuenode_composite.cpp:549
+#: src/modules/mod_geometry/advanced_outline.cpp:1153
+#: src/modules/mod_geometry/advanced_outline.cpp:1162
 #: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:588
-#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:607
 msgid "Squared Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1143
-#: src/modules/mod_geometry/advanced_outline.cpp:1152
-#: src/synfig/valuenode_composite.cpp:550
+#: src/modules/mod_geometry/advanced_outline.cpp:1154
+#: src/modules/mod_geometry/advanced_outline.cpp:1163
 #: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:570
+#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:608
 msgid "Peak Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1144
-#: src/modules/mod_geometry/advanced_outline.cpp:1153
-#: src/synfig/valuenode_composite.cpp:551
+#: src/modules/mod_geometry/advanced_outline.cpp:1155
+#: src/modules/mod_geometry/advanced_outline.cpp:1164
 #: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:590
-#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:571
+#: src/synfig/valuenode_composite.cpp:600
+#: src/synfig/valuenode_composite.cpp:609
 msgid "Flat Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1147
+#: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1148
+#: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1156
+#: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1157
-#: src/modules/mod_geometry/outline.cpp:843
+#: src/modules/mod_geometry/advanced_outline.cpp:1168
+#: src/modules/mod_geometry/outline.cpp:852
 msgid "Determines cusp type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1159
+#: src/modules/mod_geometry/advanced_outline.cpp:1170
 msgid "Sharp"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1160
+#: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1164
+#: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1165
+#: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1168
-#: src/modules/mod_geometry/outline.cpp:859
+#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/outline.cpp:869
 #: src/synfig/valuenode_blinecalctangent.cpp:271
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1169
+#: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
+#: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1175
+#: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1182
+#: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1184
+#: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1187
+#: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1190
+#: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1193
+#: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1196
+#: src/modules/mod_geometry/advanced_outline.cpp:1207
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
@@ -1464,32 +1478,36 @@ msgstr ""
 msgid "Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:183
+#: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:842
+#: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:847
+#: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:848
-#: src/modules/mod_geometry/outline.cpp:853
+#: src/modules/mod_geometry/outline.cpp:857
+#: src/modules/mod_geometry/outline.cpp:862
 msgid "Round off the tip"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:852
+#: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:856
+#: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:860
+#: src/modules/mod_geometry/outline.cpp:866
+msgid "(Currently not used)"
+msgstr ""
+
+#: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
 msgstr ""
 
@@ -1497,11 +1515,11 @@ msgstr ""
 msgid "Rectangle"
 msgstr ""
 
-#: src/modules/mod_geometry/rectangle.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
 msgstr ""
 
-#: src/modules/mod_geometry/rectangle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
 msgstr ""
 
@@ -1513,46 +1531,46 @@ msgstr ""
 msgid "Star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:183
+#: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:184
+#: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190
+#: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:191
+#: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:197
+#: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:129
+#: src/modules/mod_gradient/spiralgradient.cpp:130
 #: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:198
+#: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:203 src/synfig/distance.cpp:251
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
 msgid "Points"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:204
+#: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:208
+#: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:209
+#: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
@@ -1570,20 +1588,20 @@ msgid "Conical Gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
-#: src/modules/mod_gradient/curvegradient.cpp:61
+#: src/modules/mod_gradient/curvegradient.cpp:62
 #: src/modules/mod_gradient/lineargradient.cpp:55
 #: src/modules/mod_gradient/radialgradient.cpp:58
-#: src/modules/mod_gradient/spiralgradient.cpp:57
-#: src/modules/mod_noise/noise.cpp:58
+#: src/modules/mod_gradient/spiralgradient.cpp:58
+#: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
-#: src/modules/mod_gradient/curvegradient.cpp:553
-#: src/modules/mod_gradient/lineargradient.cpp:200
+#: src/modules/mod_gradient/curvegradient.cpp:566
+#: src/modules/mod_gradient/lineargradient.cpp:195
 #: src/modules/mod_gradient/radialgradient.cpp:114
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:260
+#: src/modules/mod_gradient/spiralgradient.cpp:114
+#: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
 msgstr ""
 
@@ -1596,27 +1614,27 @@ msgid "Rotation of the gradient around the center"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
-#: src/modules/mod_gradient/curvegradient.cpp:557
-#: src/modules/mod_gradient/lineargradient.cpp:204
+#: src/modules/mod_gradient/curvegradient.cpp:570
+#: src/modules/mod_gradient/lineargradient.cpp:199
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:60
+#: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:538
-#: src/modules/mod_particle/plant.cpp:399
+#: src/modules/mod_gradient/curvegradient.cpp:551
+#: src/modules/mod_particle/plant.cpp:432
 msgid "Offset for the Vertices List"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:543
+#: src/modules/mod_gradient/curvegradient.cpp:556
 msgid "Global width of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:556
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/curvegradient.cpp:569
+#: src/modules/mod_gradient/lineargradient.cpp:198
 #: src/modules/mod_gradient/radialgradient.cpp:130
 #: src/synfig/valuenode_blinecalctangent.cpp:246
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
@@ -1624,19 +1642,19 @@ msgstr ""
 msgid "Loop"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:560
-#: src/modules/mod_gradient/lineargradient.cpp:207
+#: src/modules/mod_gradient/curvegradient.cpp:573
+#: src/modules/mod_gradient/lineargradient.cpp:202
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:561
-#: src/modules/mod_gradient/lineargradient.cpp:208
+#: src/modules/mod_gradient/curvegradient.cpp:574
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:136
 msgid "When checked the gradient is summetrical at the center"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:564
+#: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
 msgstr ""
 
@@ -1644,11 +1662,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:192
+#: src/modules/mod_gradient/lineargradient.cpp:187
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:196
+#: src/modules/mod_gradient/lineargradient.cpp:191
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1657,23 +1675,23 @@ msgid "Radial Gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:119
 msgid "Center of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:56
+#: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:130
+#: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:135
+#: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:136
+#: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
@@ -1686,13 +1704,15 @@ msgstr ""
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/listimporter.cpp:184 src/synfig/listimporter.cpp:185
+#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
+#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
 msgid "Unable to open "
 msgstr ""
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/listimporter.cpp:191 src/synfig/listimporter.cpp:192
+#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
+#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
 msgid "Unable to get frame from "
 msgstr ""
 
@@ -1730,115 +1750,115 @@ msgstr ""
 msgid "Unable to open pipe to imagemagick's convert utility"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:57
+#: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:217
+#: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:218
+#: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:223
+#: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:226 src/modules/mod_noise/noise.cpp:263
+#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:264
+#: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:230 src/modules/mod_noise/noise.cpp:271
-#: src/modules/mod_noise/valuenode_random.cpp:284
-#: src/synfig/layer_bitmap.cpp:169
+#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
-#: src/synfig/layer_bitmap.cpp:170
+#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
+#: src/synfig/layer_bitmap.cpp:166
 msgid "What type of interpolation to use"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:233 src/modules/mod_noise/noise.cpp:274
-#: src/synfig/layer_bitmap.cpp:172
+#: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
+#: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:277
-#: src/modules/mod_noise/valuenode_random.cpp:290 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_bline.cpp:1001
+#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
+#: src/synfig/valuenode_bline.cpp:1006
 #: src/synfig/valuenode_blinecalctangent.cpp:241
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:237 src/modules/mod_noise/noise.cpp:278
-#: src/modules/mod_noise/valuenode_random.cpp:291
-#: src/synfig/layer_bitmap.cpp:175
+#: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:281
+#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:282
+#: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:244 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:248 src/modules/mod_noise/noise.cpp:289
+#: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:290
+#: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:183
+#: src/modules/mod_noise/valuenode_random.cpp:184
 msgid "Random"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:57
+#: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:268
+#: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:293
+#: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:294
+#: src/modules/mod_noise/noise.cpp:303
 msgid "Uses transparency"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:297
+#: src/modules/mod_noise/noise.cpp:306
 msgid "Super Sampling"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:298
+#: src/modules/mod_noise/noise.cpp:307
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:264
+#: src/modules/mod_noise/valuenode_random.cpp:265
 #: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
 #: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
 #: src/synfig/valuenode_reciprocal.cpp:165
@@ -1847,167 +1867,167 @@ msgstr ""
 msgid "Link"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:270
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:274
-#: src/modules/mod_particle/plant.cpp:450
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:276
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:279
+#: src/modules/mod_noise/valuenode_random.cpp:280
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:281
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:286
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:288
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:296
+#: src/modules/mod_noise/valuenode_random.cpp:297
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:298
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:69
+#: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:404
+#: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:408
+#: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:409
+#: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:413
+#: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:414
+#: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:419
+#: src/modules/mod_particle/plant.cpp:452
 msgid "Tangential Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:420
+#: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:424
+#: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:425
+#: src/modules/mod_particle/plant.cpp:458
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:429
+#: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:430
+#: src/modules/mod_particle/plant.cpp:463
 msgid "Size of the stem"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:435
+#: src/modules/mod_particle/plant.cpp:468
 msgid "Size As Alpha"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:436
+#: src/modules/mod_particle/plant.cpp:469
 msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:440
+#: src/modules/mod_particle/plant.cpp:473
 msgid "Reverse"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:441
+#: src/modules/mod_particle/plant.cpp:474
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:445 src/synfig/valuenode.cpp:170
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
 #: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
 msgid "Step"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:446
+#: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:451
+#: src/modules/mod_particle/plant.cpp:484
 msgid "Used to seed the pseudo-random number generator"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:455
+#: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:456
+#: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:460
+#: src/modules/mod_particle/plant.cpp:493
 msgid "Sprouts"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:461
+#: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:465
+#: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:466
+#: src/modules/mod_particle/plant.cpp:499
 msgid ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:470
+#: src/modules/mod_particle/plant.cpp:503
 msgid "Drag"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:471
+#: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:475
+#: src/modules/mod_particle/plant.cpp:508
 msgid "Use Width"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:476
+#: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
@@ -2016,97 +2036,102 @@ msgstr ""
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:87 src/synfig/importer.cpp:87
+#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
 msgid "Importer::open(): Cannot open empty filename"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:101 src/synfig/importer.cpp:101
+#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
 msgid "Importer::open(): Couldn't find extension"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:112 src/synfig/importer.cpp:112
+#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
 msgid "Importer::open(): Unknown file type -- "
 msgstr ""
 
-#: src/synfig/canvas.cpp:798 src/synfig/canvas.cpp:863
-#: src/synfig/canvas.cpp:886
+#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
+#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+msgid "No images in list"
+msgstr ""
+
+#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
+#: src/synfig/canvas.cpp:927
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:249
+#: src/synfig/distance.cpp:251
 msgid "Units"
 msgstr ""
 
-#: src/synfig/distance.cpp:250
+#: src/synfig/distance.cpp:252
 msgid "Pixels"
 msgstr ""
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:254
 msgid "Inches"
 msgstr ""
 
-#: src/synfig/distance.cpp:253
+#: src/synfig/distance.cpp:255
 msgid "Meters"
 msgstr ""
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:256
 msgid "Millimeters"
 msgstr ""
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:257
 msgid "Centimeters"
 msgstr ""
 
-#: src/synfig/layer.cpp:565 src/synfig/layer_composite.cpp:128
+#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:619
+#: src/synfig/layer.cpp:605
 msgid "Z Depth"
 msgstr ""
 
-#: src/synfig/layer.cpp:621
+#: src/synfig/layer.cpp:607
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:159
+#: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:160
+#: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:164
+#: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:165
+#: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:218
+#: src/synfig/layer_composite.cpp:250
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:221 src/synfig/paramdesc.cpp:62
+#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:222
+#: src/synfig/layer_composite.cpp:254
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:168
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
 #: src/synfig/valuenode_duplicate.cpp:174
 msgid "Duplicate"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:148
+#: src/synfig/layer_duplicate.cpp:151
 msgid "Index"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:149
+#: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
 msgstr ""
 
@@ -2118,156 +2143,156 @@ msgstr ""
 msgid "Motion Blur"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:136
+#: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:137
+#: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:141
+#: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:142
+#: src/synfig/layer_motionblur.cpp:141
 msgid "Multiplies The Number Of Subsamples Rendered"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:146
+#: src/synfig/layer_motionblur.cpp:145
 msgid "Subsampling Type"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:147
+#: src/synfig/layer_motionblur.cpp:146
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:149 src/synfig/valuenode_const.cpp:127
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
 msgid "Constant"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:151
+#: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:155
+#: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:156
+#: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:160
+#: src/synfig/layer_motionblur.cpp:159
 msgid "Subsample End Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:161
+#: src/synfig/layer_motionblur.cpp:160
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:78 src/synfig/layer_pastecanvas.cpp:120
-#: src/synfig/layer_pastecanvas.cpp:121
+#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
+#: src/synfig/layer_pastecanvas.cpp:124
 msgid "Group"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:137
+#: src/synfig/layer_pastecanvas.cpp:140
 msgid "Canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:138
+#: src/synfig/layer_pastecanvas.cpp:141
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:144
 msgid "Zoom"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:142
+#: src/synfig/layer_pastecanvas.cpp:145
 msgid "Size of canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:147
+#: src/synfig/layer_pastecanvas.cpp:152
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:151
+#: src/synfig/layer_pastecanvas.cpp:156
 msgid "Children Lock"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:157
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
+#: src/synfig/layer_pastecanvas.cpp:162
 msgid "Focus Point"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:159
+#: src/synfig/layer_pastecanvas.cpp:165
 msgid "Point to remain fixed when zooming"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:164
+#: src/synfig/layer_pastecanvas.cpp:170
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:165
+#: src/synfig/layer_pastecanvas.cpp:171
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:180
+#: src/synfig/layer_pastecanvas.cpp:186
 msgid "Current Time"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:61
+#: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:187
+#: src/synfig/layer_polygon.cpp:194
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:188
+#: src/synfig/layer_polygon.cpp:195
 msgid "Define the corners of the polygon"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:64
+#: src/synfig/layer_shape.cpp:66
 msgid "Shape"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:65
+#: src/synfig/layer_shape.cpp:67
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1194
+#: src/synfig/layer_shape.cpp:1222
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1203
+#: src/synfig/layer_shape.cpp:1231
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1210
+#: src/synfig/layer_shape.cpp:1238
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1211
+#: src/synfig/layer_shape.cpp:1239
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1220
+#: src/synfig/layer_shape.cpp:1248
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_shape.cpp:1249
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1223
+#: src/synfig/layer_shape.cpp:1251
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1224
+#: src/synfig/layer_shape.cpp:1252
 msgid "Even/Odd"
 msgstr ""
 
@@ -2275,406 +2300,406 @@ msgstr ""
 msgid "Solid Color"
 msgstr ""
 
-#: src/synfig/listimporter.cpp:161 src/synfig/listimporter.cpp:162
-msgid "No images in list"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:142
+#: src/synfig/loadcanvas.cpp:143
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:185
+#: src/synfig/loadcanvas.cpp:186
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:191
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:205
+#: src/synfig/loadcanvas.cpp:206
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:236
+#: src/synfig/loadcanvas.cpp:237
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:469
-#: src/synfig/loadcanvas.cpp:1118
+#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
+#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:473
-#: src/synfig/loadcanvas.cpp:1122
+#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
+#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:484 src/synfig/loadcanvas.cpp:1144
+#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
+#: src/synfig/loadcanvas.cpp:1200
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:508
+#: src/synfig/loadcanvas.cpp:533
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1284
+#: src/synfig/loadcanvas.cpp:1353
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1301
+#: src/synfig/loadcanvas.cpp:1375
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1314
+#: src/synfig/loadcanvas.cpp:1388
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1330
+#: src/synfig/loadcanvas.cpp:1404
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1336 src/synfig/loadcanvas.cpp:1348
+#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1365
+#: src/synfig/loadcanvas.cpp:1439
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1380
+#: src/synfig/loadcanvas.cpp:1455
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1424 src/synfig/loadcanvas.cpp:1443
-#, c-format
-msgid "\"%s\" not a valid value for attribute \"%s\" in <%s>"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:1504
+#: src/synfig/loadcanvas.cpp:1556
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1512
+#: src/synfig/loadcanvas.cpp:1565
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1522
+#: src/synfig/loadcanvas.cpp:1577
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1531
+#: src/synfig/loadcanvas.cpp:1587
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1557 src/synfig/loadcanvas.cpp:1628
+#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1570
+#: src/synfig/loadcanvas.cpp:1625
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1579
+#: src/synfig/loadcanvas.cpp:1634
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1603
+#: src/synfig/loadcanvas.cpp:1658
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1643
+#: src/synfig/loadcanvas.cpp:1698
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1652
+#: src/synfig/loadcanvas.cpp:1707
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1659
+#: src/synfig/loadcanvas.cpp:1714
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1677
+#: src/synfig/loadcanvas.cpp:1732
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1747
+#: src/synfig/loadcanvas.cpp:1811
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1841
-msgid "Unable to create <dynamic_list>"
+#: src/synfig/loadcanvas.cpp:1861
+msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1993
+#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2038
+#: src/synfig/loadcanvas.cpp:1998
+msgid "Unable to create <dynamic_list>"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2220
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2076
+#: src/synfig/loadcanvas.cpp:2283
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2097
+#: src/synfig/loadcanvas.cpp:2304
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2102
+#: src/synfig/loadcanvas.cpp:2310
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2107
+#: src/synfig/loadcanvas.cpp:2316
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2142
+#: src/synfig/loadcanvas.cpp:2373
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2161
+#: src/synfig/loadcanvas.cpp:2392
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2181
+#: src/synfig/loadcanvas.cpp:2415
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2184
+#: src/synfig/loadcanvas.cpp:2418
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2192
+#: src/synfig/loadcanvas.cpp:2426
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2209
+#: src/synfig/loadcanvas.cpp:2443
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2214
+#: src/synfig/loadcanvas.cpp:2448
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2454
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2222
+#: src/synfig/loadcanvas.cpp:2456
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2244
+#: src/synfig/loadcanvas.cpp:2480
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2260
+#: src/synfig/loadcanvas.cpp:2496
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2272 src/synfig/loadcanvas.cpp:2292
+#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2280
+#: src/synfig/loadcanvas.cpp:2516
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2303
+#: src/synfig/loadcanvas.cpp:2539
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2376 src/synfig/loadcanvas.cpp:2384
+#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2470
+#: src/synfig/loadcanvas.cpp:2710
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2478
+#: src/synfig/loadcanvas.cpp:2717
+msgid "Inline canvas cannot have a <bones> section"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2725
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2490
+#: src/synfig/loadcanvas.cpp:2737
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2498
+#: src/synfig/loadcanvas.cpp:2745
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2504
+#: src/synfig/loadcanvas.cpp:2751
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:2763
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2531
+#: src/synfig/loadcanvas.cpp:2778
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2546
+#: src/synfig/loadcanvas.cpp:2793
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2578
+#: src/synfig/loadcanvas.cpp:2828
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580 src/synfig/valuenode.cpp:353
+#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580
+#: src/synfig/loadcanvas.cpp:2830
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2660 src/synfig/loadcanvas.cpp:2716
+#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:102
+#: src/synfig/main.cpp:118
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:107
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:112
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:117
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:122
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:184
+#: src/synfig/main.cpp:207
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:186
+#: src/synfig/main.cpp:209
 msgid "Unable to initialize subsystem \"Module\""
 msgstr ""
 
-#: src/synfig/main.cpp:188
+#: src/synfig/main.cpp:211
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:192
+#: src/synfig/main.cpp:215
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:195
+#: src/synfig/main.cpp:218
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:200
+#: src/synfig/main.cpp:223
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:203
+#: src/synfig/main.cpp:226
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
+#: src/synfig/main.cpp:232
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:212
+#: src/synfig/main.cpp:235
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:219
+#: src/synfig/main.cpp:242
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:222
+#: src/synfig/main.cpp:245
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:230
+#: src/synfig/main.cpp:253
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:267 src/synfig/main.cpp:268
+#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:279
+#: src/synfig/main.cpp:302
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:293 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:360 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:375 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:390
+#: src/synfig/main.cpp:413
 msgid "info"
 msgstr ""
 
@@ -2749,145 +2774,145 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:64 src/synfig/valuenode.cpp:140
-#: src/synfig/valuenode_composite.cpp:437
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
+#: src/synfig/valuenode_composite.cpp:447
 msgid "Composite"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:65
+#: src/synfig/paramdesc.cpp:69
 msgid "Straight"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:66
+#: src/synfig/paramdesc.cpp:70
 msgid "Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:67
+#: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68
+#: src/synfig/paramdesc.cpp:72
 msgid "Behind"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:69
+#: src/synfig/paramdesc.cpp:73
 msgid "Screen"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:70
+#: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:71
+#: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:72
+#: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:73
+#: src/synfig/paramdesc.cpp:77
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:74 src/synfig/valuenode.cpp:157
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
 #: src/synfig/valuenode_add.cpp:190
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:75 src/synfig/valuenode.cpp:147
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
 #: src/synfig/valuenode_subtract.cpp:194
 msgid "Subtract"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:76
+#: src/synfig/paramdesc.cpp:80
 msgid "Difference"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:77
+#: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78
+#: src/synfig/paramdesc.cpp:82
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:80 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
 msgid "Hue"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:81 src/synfig/valuenode_radialcomposite.cpp:260
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
 #: src/synfig/valuenode_radialcomposite.cpp:266
 msgid "Saturation"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:82
+#: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:83
+#: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84
+#: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85
+#: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
 msgstr ""
 
-#: src/synfig/render.cpp:246 src/synfig/render.cpp:247
-#: src/synfig/render.cpp:301 src/synfig/render.cpp:302
-#: src/synfig/render.cpp:536 src/synfig/render.cpp:537
-#: src/synfig/render.cpp:563 src/synfig/render.cpp:564
+#: src/synfig/render.cpp:248 src/synfig/render.cpp:249
+#: src/synfig/render.cpp:303 src/synfig/render.cpp:304
+#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
+#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:290
+#: src/synfig/savecanvas.cpp:359
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:543
+#: src/synfig/savecanvas.cpp:674 src/synfig/savecanvas.cpp:699
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:185
+#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
 #: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:281
 msgid "Target initialization failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:146
+#: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:155 src/synfig/target_scanline.cpp:258
-#: src/synfig/target_scanline.cpp:405
+#: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:260
+#: src/synfig/target_scanline.cpp:407
 msgid "Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:162
+#: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:169 src/synfig/target_cairo_tile.cpp:248
-#: src/synfig/target_scanline.cpp:418 src/synfig/target_tile.cpp:396
+#: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
+#: src/synfig/target_scanline.cpp:420 src/synfig/target_tile.cpp:398
 msgid "Caught string :"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:174 src/synfig/target_cairo_tile.cpp:253
-#: src/synfig/target_scanline.cpp:423 src/synfig/target_tile.cpp:401
+#: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
+#: src/synfig/target_scanline.cpp:425 src/synfig/target_tile.cpp:403
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:179 src/synfig/target_cairo_tile.cpp:258
-#: src/synfig/target_scanline.cpp:428 src/synfig/target_tile.cpp:406
+#: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
+#: src/synfig/target_scanline.cpp:430 src/synfig/target_tile.cpp:408
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:190
+#: src/synfig/target_cairo.cpp:201
 msgid "Cairo Surface bad status"
 msgstr ""
 
@@ -2895,24 +2920,24 @@ msgstr ""
 msgid "Bad Tile Size"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:142 src/synfig/target_cairo_tile.cpp:240
-#: src/synfig/target_scanline.cpp:203 src/synfig/target_scanline.cpp:249
-#: src/synfig/target_scanline.cpp:348 src/synfig/target_scanline.cpp:396
+#: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
+#: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:251
+#: src/synfig/target_scanline.cpp:350 src/synfig/target_scanline.cpp:398
 #: src/synfig/target_tile.cpp:225
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:150
+#: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:156 src/synfig/target_tile.cpp:179
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:179
 #: src/synfig/target_tile.cpp:245
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:211
+#: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
 msgstr ""
 
@@ -2936,277 +2961,317 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:276 src/synfig/value.cpp:308 src/synfig/value.cpp:360
+#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
 msgid "bool"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:277 src/synfig/value.cpp:310 src/synfig/value.cpp:358
+#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
 msgid "integer"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:278 src/synfig/value.cpp:312
+#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
 msgid "angle"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:279 src/synfig/value.cpp:314 src/synfig/value.cpp:352
+#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
 msgid "time"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:280 src/synfig/value.cpp:316 src/synfig/value.cpp:355
+#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
 msgid "real"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:281 src/synfig/value.cpp:318
+#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
 msgid "vector"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:282 src/synfig/value.cpp:320
+#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
 msgid "color"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:283 src/synfig/value.cpp:322
+#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
 msgid "segment"
 msgstr ""
 
-#: src/synfig/value.cpp:284
+#: src/synfig/value.cpp:378
 msgid "bline_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:285 src/synfig/value.cpp:326
+#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
+msgid "matrix"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
+msgid "bone_weight_pair"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
 msgid "width_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:286 src/synfig/value.cpp:328
+#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
 msgid "dash_item"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:287 src/synfig/value.cpp:330
+#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
 msgid "list"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:288 src/synfig/value.cpp:332
+#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
 msgid "canvas"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:289 src/synfig/value.cpp:334
+#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
 msgid "string"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:290 src/synfig/value.cpp:336
+#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
 msgid "gradient"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:291 src/synfig/value.cpp:338
+#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
+msgid "bone_object"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
+msgid "bone_valuenode"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
 msgid "nil"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:324
+#: src/synfig/value.cpp:422
 msgid "spline_point"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:141 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:142 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:144 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:146 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_dynamiclist.cpp:755
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
 #: src/synfig/valuenode_switch.cpp:163
 msgid "Switch"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164
+#: src/synfig/valuenode.cpp:170
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165
+#: src/synfig/valuenode.cpp:171
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
 msgid "Integer"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
 msgid "Vector Angle"
 msgstr "Úhel vektoru"
 
-#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
 msgid "Vector Length"
 msgstr "Délka vektoru"
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
 msgid "Vector X"
 msgstr "Vektor X"
 
-#: src/synfig/valuenode.cpp:176 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
 msgid "Vector Y"
 msgstr "Vektor Y"
 
-#: src/synfig/valuenode.cpp:177
+#: src/synfig/valuenode.cpp:183
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:178
+#: src/synfig/valuenode.cpp:184
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_real.cpp:161
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
 #: src/synfig/valuenode_realstring.cpp:175
 msgid "Real"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:189
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:190
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185
+#: src/synfig/valuenode.cpp:191
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187
+#: src/synfig/valuenode.cpp:192
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:199
+msgid "Bone Influence"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:200
+msgid "Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:201
+msgid "Root Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:202
+msgid "Static List"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:203
+msgid "Bone Weight Pair"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:206
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:233
+#: src/synfig/valuenode.cpp:241
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:513
+#: src/synfig/valuenode.cpp:540
 msgid "Placeholder"
 msgstr ""
 
-#: src/synfig/valuenode.h:61
+#: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
@@ -3273,32 +3338,32 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:355 src/synfig/valuenode_animated.cpp:379
-#: src/synfig/valuenode_animated.cpp:703 src/synfig/valuenode_animated.cpp:721
-#: src/synfig/valuenode_animated.cpp:801 src/synfig/valuenode_animated.cpp:820
+#: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
+#: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
+#: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1134
+#: src/synfig/valuenode_animated.cpp:1173
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1169
+#: src/synfig/valuenode_animated.cpp:1208
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:977 src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
 #: src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:980 src/synfig/valuenode_dynamiclist.cpp:664
+#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
 #: src/synfig/valuenode_wplist.cpp:339
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_bline.cpp:1023
+#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
@@ -3318,7 +3383,7 @@ msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:584
 #: src/synfig/valuenode_gradientrotate.cpp:169
 #: src/synfig/valuenode_linear.cpp:213
 msgid "Offset"
@@ -3372,190 +3437,186 @@ msgstr ""
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:219
+#: src/synfig/valuenode_composite.cpp:229
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:464
+#: src/synfig/valuenode_composite.cpp:474
 msgid "Red"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:465
+#: src/synfig/valuenode_composite.cpp:475
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:468
+#: src/synfig/valuenode_composite.cpp:478
 msgid "Green"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:469
+#: src/synfig/valuenode_composite.cpp:479
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:472
+#: src/synfig/valuenode_composite.cpp:482
 msgid "Blue"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:473
+#: src/synfig/valuenode_composite.cpp:483
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:476
+#: src/synfig/valuenode_composite.cpp:486
 msgid "Alpha"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:477
+#: src/synfig/valuenode_composite.cpp:487
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:492
 msgid "Vertex 1"
 msgstr "Vrchol 1"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:493
 msgid "The first vertex of the segment"
 msgstr "První vrchol segmentu"
 
-#: src/synfig/valuenode_composite.cpp:486
-#: src/synfig/valuenode_composite.cpp:526
+#: src/synfig/valuenode_composite.cpp:496
+#: src/synfig/valuenode_composite.cpp:536
 msgid "Tangent 1"
 msgstr "Tečna 1"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:497
 msgid "The first tangent of the segment"
 msgstr "První tečna segmentu"
 
-#: src/synfig/valuenode_composite.cpp:490
+#: src/synfig/valuenode_composite.cpp:500
 msgid "Vertex 2"
 msgstr "Vrchol 2"
 
-#: src/synfig/valuenode_composite.cpp:491
+#: src/synfig/valuenode_composite.cpp:501
 msgid "The second vertex of the segment"
 msgstr "Druhý vrchol segmentu"
 
-#: src/synfig/valuenode_composite.cpp:494
-#: src/synfig/valuenode_composite.cpp:530
+#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:540
 msgid "Tangent 2"
 msgstr "Tečna 2"
 
-#: src/synfig/valuenode_composite.cpp:495
+#: src/synfig/valuenode_composite.cpp:505
 msgid "The second tangent of the segment"
 msgstr "Druhá tečna segmentu"
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:510
 msgid "X-Axis"
 msgstr "Osa X"
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:511
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:514
 msgid "Y-Axis"
 msgstr "Osa Y"
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:515
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:520
 msgid "Vertex"
 msgstr "Vrchol"
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:521
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:525
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:519
+#: src/synfig/valuenode_composite.cpp:529
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:522
+#: src/synfig/valuenode_composite.cpp:532
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:523
+#: src/synfig/valuenode_composite.cpp:533
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:527
+#: src/synfig/valuenode_composite.cpp:537
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:531
+#: src/synfig/valuenode_composite.cpp:541
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:547
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:551
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:544
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_composite.cpp:554
+#: src/synfig/valuenode_composite.cpp:594
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:545
 #: src/synfig/valuenode_composite.cpp:555
+#: src/synfig/valuenode_composite.cpp:565
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
 #: src/synfig/valuenode_composite.cpp:557
+#: src/synfig/valuenode_composite.cpp:567
 msgid "Interpolate"
 msgstr "Interpolace"
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:593
+#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:603
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:574
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:575
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:578
 msgid "Upper Boundary"
 msgstr "Horní hranice"
 
-#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:579
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:585
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:589
 #: src/synfig/valuenode_timedswap.cpp:260
 msgid "Length"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:580
+#: src/synfig/valuenode_composite.cpp:590
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:595
+#: src/synfig/valuenode_composite.cpp:604
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_const.cpp:127
-msgid "Static"
-msgstr ""
-
 #: src/synfig/valuenode_compare.cpp:168
 msgid "The left side of the comparison"
 msgstr ""
@@ -3620,12 +3681,12 @@ msgstr ""
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:655
+#: src/synfig/valuenode_dynamiclist.cpp:661
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:703
-#: src/synfig/valuenode_dynamiclist.cpp:957
+#: src/synfig/valuenode_dynamiclist.cpp:709
+#: src/synfig/valuenode_dynamiclist.cpp:964
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3949,7 +4010,7 @@ msgid "Intersection"
 msgstr ""
 
 #: src/synfig/valuenode_step.cpp:213
-msgid "Value that define whether the step is centerd on the value [0,1]"
+msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
@@ -4082,195 +4143,195 @@ msgstr ""
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:133
+#: src/tool/main.cpp:140
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:169
+#: src/tool/main.cpp:176
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:171
+#: src/tool/main.cpp:178
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:172
+#: src/tool/main.cpp:179
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:173
+#: src/tool/main.cpp:180
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:174
+#: src/tool/main.cpp:181
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:175
+#: src/tool/main.cpp:182
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:176
+#: src/tool/main.cpp:183
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:184
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:178
+#: src/tool/main.cpp:185
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:186
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:187
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:188
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:189
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:190
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:191
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:185 src/tool/main.cpp:186
+#: src/tool/main.cpp:192 src/tool/main.cpp:193
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:194
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:195
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:196
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:197
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:193
+#: src/tool/main.cpp:200
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:202
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:203
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:204
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:200
+#: src/tool/main.cpp:207
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:202
+#: src/tool/main.cpp:209
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:210
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:204 src/tool/main.cpp:230
+#: src/tool/main.cpp:211 src/tool/main.cpp:237
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:207
+#: src/tool/main.cpp:214
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:216
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:210
+#: src/tool/main.cpp:217
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:213
+#: src/tool/main.cpp:220
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:215
+#: src/tool/main.cpp:222
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:223
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:217
+#: src/tool/main.cpp:224
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:225
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:226
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:220
+#: src/tool/main.cpp:227
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:221
+#: src/tool/main.cpp:228
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:229
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:223
+#: src/tool/main.cpp:230
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:231
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:232
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:241
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:236
+#: src/tool/main.cpp:243
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:237
+#: src/tool/main.cpp:244
 msgid "Test signal implementation"
 msgstr ""
 
@@ -4334,157 +4395,157 @@ msgstr ""
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:113
+#: src/tool/optionsprocessor.cpp:114
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:115
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:131
+#: src/tool/optionsprocessor.cpp:132
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:146
+#: src/tool/optionsprocessor.cpp:147
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:224
+#: src/tool/optionsprocessor.cpp:225
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:226
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:227
+#: src/tool/optionsprocessor.cpp:228
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:232
+#: src/tool/optionsprocessor.cpp:233
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:234
+#: src/tool/optionsprocessor.cpp:235
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:236
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:239
+#: src/tool/optionsprocessor.cpp:240
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:243
+#: src/tool/optionsprocessor.cpp:244
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:309
+#: src/tool/optionsprocessor.cpp:310
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:316
+#: src/tool/optionsprocessor.cpp:317
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:324
+#: src/tool/optionsprocessor.cpp:325
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:334
+#: src/tool/optionsprocessor.cpp:335
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:343
+#: src/tool/optionsprocessor.cpp:344
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:352
+#: src/tool/optionsprocessor.cpp:353
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:379
+#: src/tool/optionsprocessor.cpp:380
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:385
+#: src/tool/optionsprocessor.cpp:386
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:400
+#: src/tool/optionsprocessor.cpp:401
 #, c-format
 msgid "Resolution set to %dx%d"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:417
+#: src/tool/optionsprocessor.cpp:418
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:437
+#: src/tool/optionsprocessor.cpp:438
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:440
+#: src/tool/optionsprocessor.cpp:441
 #, c-format
 msgid "Target video codec set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:446
+#: src/tool/optionsprocessor.cpp:447
 #, c-format
 msgid "Target bitrate set to %dk"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:452
+#: src/tool/optionsprocessor.cpp:453
 #, c-format
 msgid "Output file sequence separator set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:487
+#: src/tool/optionsprocessor.cpp:488
 #, c-format
 msgid "Unable to load '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:494
+#: src/tool/optionsprocessor.cpp:495
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:499
+#: src/tool/optionsprocessor.cpp:500
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:513
+#: src/tool/optionsprocessor.cpp:514
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:532
+#: src/tool/optionsprocessor.cpp:533
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:539
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:557
+#: src/tool/optionsprocessor.cpp:558
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:571
+#: src/tool/optionsprocessor.cpp:572
 msgid "Appended contents of "
 msgstr ""
 
diff --git a/po/da.gmo b/po/da.gmo
new file mode 100644
index 0000000..ed473fa
Binary files /dev/null and b/po/da.gmo differ
diff --git a/po/el_GR.po b/po/da.po
similarity index 68%
copy from po/el_GR.po
copy to po/da.po
index c7d51db..a0c69e1 100644
--- a/po/el_GR.po
+++ b/po/da.po
@@ -1,98 +1,96 @@
-# translation of es.po to Greek
-# Greek translations for Synfig Core package
-# Copyright (C) 2012 Synfig Contributors
-# This file is distributed under the same license as
+# Translation file for Synfig Core package.
+# Copyright (C) 2013 Synfig Contributors
+# This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
-# Γιάννης Κασκαμανίδης <kiolalis at gmail.com>, 2011
-# Γιάννης Κασκαμανίδης <kiolalis at gmail.com>, 2011, 2012
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2013-05-09 18:34+0200\n"
-"PO-Revision-Date: 2013-05-02 12:39+0000\n"
-"Last-Translator: genete <genetita at gmail.com>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
-"Language: el_GR\n"
+"POT-Creation-Date: 2013-10-25 17:57+0700\n"
+"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
+"Language-Team: Danish (http://www.transifex.com/projects/p/synfig/language/"
+"da/)\n"
+"Language: da\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:58
+#: src/modules/mod_example/filledrect.cpp:59
 msgid "Filled Rectangle"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:59
+#: src/modules/mod_example/filledrect.cpp:60
 #: src/modules/mod_example/metaballs.cpp:58
 #: src/modules/mod_example/simplecircle.cpp:58
 msgid "Example"
-msgstr "Παράδειγμα"
+msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:120
+#: src/modules/mod_example/filledrect.cpp:131
 #: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:523
-#: src/modules/lyr_std/shade.cpp:564
-#: src/modules/mod_geometry/checkerboard.cpp:122
-#: src/modules/mod_geometry/circle.cpp:128
-#: src/modules/mod_geometry/rectangle.cpp:125 src/synfig/layer_shape.cpp:1193
-#: src/synfig/layer_solidcolor.cpp:102 src/synfig/paramdesc.cpp:79
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:620
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
 msgid "Color"
-msgstr "Χρώμα"
+msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:121
+#: src/modules/mod_example/filledrect.cpp:132
 #: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:129
-#: src/modules/mod_geometry/rectangle.cpp:126
-#: src/synfig/layer_solidcolor.cpp:103
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
 msgid "Fill color of the layer"
-msgstr "Χρώμα γεμίσματος της στρώσης"
+msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:125
-#: src/modules/mod_geometry/rectangle.cpp:130
-#: src/modules/mod_gradient/lineargradient.cpp:190
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:185
 msgid "Point 1"
-msgstr "Σημείο 1"
+msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:126
-#: src/modules/mod_geometry/rectangle.cpp:132
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
 msgid "First corner of the rectangle"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_geometry/rectangle.cpp:136
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:190
 msgid "Point 2"
-msgstr "Σημείο 2"
+msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_geometry/rectangle.cpp:137
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
 msgid "Second corner of the rectangle"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_example/filledrect.cpp:147
 msgid "Feather X"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:140
+#: src/modules/mod_example/filledrect.cpp:152
 msgid "Feather Y"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:144 src/modules/lyr_std/bevel.cpp:68
-#: src/modules/mod_geometry/advanced_outline.cpp:1161
+#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
 msgid "Bevel"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:145
+#: src/modules/mod_example/filledrect.cpp:158
 msgid "Use Bevel for the corners"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:149
+#: src/modules/mod_example/filledrect.cpp:163
 msgid "Keep Bevel Circular"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:150
+#: src/modules/mod_example/filledrect.cpp:164
 msgid "When checked the bevel is circular"
 msgstr ""
 
@@ -100,39 +98,39 @@ msgstr ""
 msgid "Metaballs"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:135
+#: src/modules/mod_example/metaballs.cpp:129
 #: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:552
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:194
 #: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:112
-#: src/modules/mod_noise/noise.cpp:259 src/modules/mod_particle/plant.cpp:403
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
 #: src/synfig/valuenode_gradientrotate.cpp:164
 #: src/synfig/valuenode_repeat_gradient.cpp:203
 msgid "Gradient"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:139
+#: src/modules/mod_example/metaballs.cpp:133
 msgid "Balls"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:143
+#: src/modules/mod_example/metaballs.cpp:137
 msgid "Radii"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:147
+#: src/modules/mod_example/metaballs.cpp:141
 msgid "Weights"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:151
+#: src/modules/mod_example/metaballs.cpp:145
 msgid "Gradient Left"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:155
+#: src/modules/mod_example/metaballs.cpp:149
 msgid "Gradient Right"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:159
+#: src/modules/mod_example/metaballs.cpp:153
 msgid "Positive Only"
 msgstr ""
 
@@ -144,288 +142,288 @@ msgstr ""
 #: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
 #: src/modules/mod_gradient/conicalgradient.cpp:114
 #: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:117
+#: src/modules/mod_gradient/spiralgradient.cpp:118
 msgid "Center"
-msgstr "Κέντρο"
+msgstr ""
 
 #: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:144
+#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
 msgid "Center of the circle"
-msgstr "Κέντρο του κύκλου"
+msgstr ""
 
 #: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:151
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:132
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
 #: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:122
-#: src/modules/mod_noise/valuenode_random.cpp:269
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/valuenode_radialcomposite.cpp:272
 msgid "Radius"
-msgstr "Ακτίνα"
+msgstr ""
 
 #: src/modules/mod_example/simplecircle.cpp:118
 #: src/modules/lyr_std/twirl.cpp:118
 #: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:124
 msgid "This is the radius of the circle"
-msgstr "Αυτή είναι η ακτίνα του κύκλου"
+msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
-#: src/modules/lyr_freetype/lyr_freetype.cpp:517
+#: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
-msgstr "Κείμενο"
+msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
 #: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
-#: src/modules/lyr_std/supersample.cpp:57 src/modules/lyr_std/timeloop.cpp:60
-#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:70
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:79
+#: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
+#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
 msgid "Other"
-msgstr "Άλλο"
+msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:97
 msgid "Text Layer"
-msgstr "Στρώση κειμένου"
+msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:390
+#: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
-msgstr "αδυναμία αρχικοποίησης"
+msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:409
+#: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:518
+#: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:524
+#: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:528
+#: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:533
+#: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
-msgstr "Στυλ"
+msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:535
-#: src/modules/lyr_freetype/lyr_freetype.cpp:545
+#: src/modules/lyr_freetype/lyr_freetype.cpp:587
+#: src/modules/lyr_freetype/lyr_freetype.cpp:597
 msgid "Normal"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:536
+#: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:537
+#: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:541
+#: src/modules/lyr_freetype/lyr_freetype.cpp:593
 msgid "Weight"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:543
+#: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:544
+#: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:546
+#: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:547
+#: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:548
+#: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:551
+#: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:552
+#: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:556
+#: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:557
+#: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:561
-#: src/modules/lyr_std/shade.cpp:570 src/modules/lyr_std/xorpattern.cpp:129
-#: src/modules/mod_filter/blur.cpp:372
+#: src/modules/lyr_freetype/lyr_freetype.cpp:613
+#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:413
 #: src/modules/mod_filter/radialblur.cpp:115
-#: src/modules/mod_geometry/checkerboard.cpp:130
-#: src/modules/mod_noise/distort.cpp:222 src/modules/mod_noise/noise.cpp:267
+#: src/modules/mod_geometry/checkerboard.cpp:154
+#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:562
+#: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:569
+#: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:570
+#: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/insideout.cpp:143 src/modules/lyr_std/rotate.cpp:116
-#: src/modules/lyr_std/shade.cpp:567 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:389
-#: src/modules/lyr_std/xorpattern.cpp:125 src/modules/lyr_std/zoom.cpp:104
+#: src/modules/lyr_freetype/lyr_freetype.cpp:627
+#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
+#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
+#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
-#: src/modules/mod_geometry/checkerboard.cpp:126
-#: src/modules/mod_geometry/circle.cpp:143
-#: src/modules/mod_gradient/curvegradient.cpp:537
-#: src/modules/mod_particle/plant.cpp:398 src/synfig/layer_pastecanvas.cpp:133
-#: src/synfig/layer_shape.cpp:1197 src/synfig/valuenode_composite.cpp:518
+#: src/modules/mod_geometry/checkerboard.cpp:150
+#: src/modules/mod_geometry/circle.cpp:161
+#: src/modules/mod_gradient/curvegradient.cpp:550
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
+#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
 msgid "Origin"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:576
+#: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:580
+#: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:581
+#: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:588
+#: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:589
+#: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:594
+#: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:597
-#: src/modules/lyr_std/shade.cpp:587 src/modules/mod_geometry/circle.cpp:147
-#: src/synfig/layer_shape.cpp:1200
+#: src/modules/lyr_freetype/lyr_freetype.cpp:649
+#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1228
 msgid "Invert"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:654
+#: src/modules/lyr_freetype/lyr_freetype.cpp:714
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:680
+#: src/modules/lyr_freetype/lyr_freetype.cpp:740
 msgid "Text too small, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:704
+#: src/modules/lyr_freetype/lyr_freetype.cpp:764
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:747
+#: src/modules/lyr_freetype/lyr_freetype.cpp:807
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:754
+#: src/modules/lyr_freetype/lyr_freetype.cpp:814
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:69 src/modules/lyr_std/shade.cpp:68
+#: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:570 src/modules/lyr_std/shade.cpp:576
-#: src/modules/mod_filter/blur.cpp:376
-#: src/modules/mod_filter/halftone2.cpp:170
+#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
+#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:571 src/modules/lyr_std/shade.cpp:577
-#: src/modules/mod_filter/blur.cpp:377
+#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
+#: src/modules/mod_filter/blur.cpp:418
 msgid "Type of blur to use"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:573 src/modules/lyr_std/shade.cpp:579
-#: src/modules/mod_filter/blur.cpp:379 src/synfig/layer_shape.cpp:1213
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:574 src/modules/lyr_std/shade.cpp:580
-#: src/modules/mod_filter/blur.cpp:380 src/synfig/layer_shape.cpp:1214
+#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
+#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
 msgid "Fast Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:575 src/modules/lyr_std/shade.cpp:581
-#: src/modules/mod_filter/blur.cpp:381 src/synfig/layer_shape.cpp:1215
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
 msgid "Cross-Hatch Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:576 src/modules/lyr_std/shade.cpp:582
-#: src/modules/mod_filter/blur.cpp:382 src/synfig/layer_shape.cpp:1216
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
 msgid "Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:577 src/modules/lyr_std/shade.cpp:583
-#: src/modules/mod_filter/blur.cpp:383 src/synfig/layer_shape.cpp:1217
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:581
+#: src/modules/lyr_std/bevel.cpp:635
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:584
+#: src/modules/lyr_std/bevel.cpp:638
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:587
+#: src/modules/lyr_std/bevel.cpp:641
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:591
+#: src/modules/lyr_std/bevel.cpp:645
 msgid "Depth of Bevel"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:595
+#: src/modules/lyr_std/bevel.cpp:649
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:598
+#: src/modules/lyr_std/bevel.cpp:652
 msgid "Use Luma"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:601
+#: src/modules/lyr_std/bevel.cpp:655
 msgid "Solid"
 msgstr ""
 
-#: src/modules/lyr_std/booleancurve.cpp:104
+#: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
 msgstr ""
 
-#: src/modules/lyr_std/booleancurve.cpp:105
+#: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
 msgstr ""
 
@@ -433,38 +431,38 @@ msgstr ""
 msgid "Clamp"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:56
-#: src/modules/mod_filter/halftone2.cpp:59
-#: src/modules/mod_filter/halftone3.cpp:59
-#: src/modules/mod_filter/lumakey.cpp:59
+#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:57
+#: src/modules/mod_filter/halftone2.cpp:60
+#: src/modules/mod_filter/halftone3.cpp:60
+#: src/modules/mod_filter/lumakey.cpp:60
 msgid "Filters"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:158
+#: src/modules/lyr_std/clamp.cpp:162
 msgid "Invert Negative"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:162
+#: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:163
+#: src/modules/lyr_std/clamp.cpp:167
 msgid "When checked the Ceiling value is used"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:167
+#: src/modules/lyr_std/clamp.cpp:171
 msgid "Ceiling"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:168
+#: src/modules/lyr_std/clamp.cpp:172
 msgid "Upper boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:172
+#: src/modules/lyr_std/clamp.cpp:176
 msgid "Floor"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:173
+#: src/modules/lyr_std/clamp.cpp:177
 msgid "Lower boundary of the clamping"
 msgstr ""
 
@@ -472,24 +470,24 @@ msgstr ""
 msgid "Import Image"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:151 src/modules/lyr_std/import.cpp:201
+#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:283
+#: src/modules/lyr_std/import.cpp:293
 msgid "Filename"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:284
+#: src/modules/lyr_std/import.cpp:294
 msgid "File to import"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:288 src/synfig/layer_pastecanvas.cpp:146
+#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:289
+#: src/modules/lyr_std/import.cpp:299
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -498,14 +496,14 @@ msgid "Inside Out"
 msgstr ""
 
 #: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:75
 #: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:57 src/modules/lyr_std/curvewarp.cpp:56
-#: src/modules/mod_noise/distort.cpp:58
+#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
+#: src/modules/mod_noise/distort.cpp:59
 msgid "Distortions"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:144
+#: src/modules/lyr_std/insideout.cpp:163
 msgid "Defines the where the center will be"
 msgstr ""
 
@@ -517,97 +515,97 @@ msgstr ""
 msgid "Fractals"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:309
+#: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:310
+#: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:313
+#: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:314
+#: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:317
+#: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:320 src/modules/lyr_std/mandelbrot.cpp:223
+#: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:323
+#: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:326 src/modules/lyr_std/mandelbrot.cpp:226
+#: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:330 src/modules/lyr_std/mandelbrot.cpp:236
+#: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:333 src/modules/lyr_std/mandelbrot.cpp:240
+#: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:336 src/modules/lyr_std/mandelbrot.cpp:244
+#: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:339 src/modules/lyr_std/mandelbrot.cpp:248
+#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:342
+#: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:345 src/modules/lyr_std/mandelbrot.cpp:265
+#: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:348 src/modules/lyr_std/mandelbrot.cpp:269
+#: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:351 src/modules/lyr_std/mandelbrot.cpp:273
+#: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:354 src/modules/lyr_std/mandelbrot.cpp:277
+#: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:357
+#: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:361
+#: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:364 src/modules/lyr_std/mandelbrot.cpp:285
+#: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:286
+#: src/modules/lyr_std/julia.cpp:391 src/modules/lyr_std/mandelbrot.cpp:282
 msgid "Smooth the coloration outside the set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:368 src/modules/lyr_std/mandelbrot.cpp:230
+#: src/modules/lyr_std/julia.cpp:394 src/modules/lyr_std/mandelbrot.cpp:226
 msgid "Break Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:369 src/modules/lyr_std/mandelbrot.cpp:231
+#: src/modules/lyr_std/julia.cpp:395 src/modules/lyr_std/mandelbrot.cpp:227
 msgid "Modify equation to achieve interesting results"
 msgstr ""
 
@@ -615,48 +613,48 @@ msgstr ""
 msgid "Mandelbrot Set"
 msgstr ""
 
+#: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
 #: src/modules/lyr_std/mandelbrot.cpp:241
 #: src/modules/lyr_std/mandelbrot.cpp:245
 #: src/modules/lyr_std/mandelbrot.cpp:249
 #: src/modules/lyr_std/mandelbrot.cpp:253
 #: src/modules/lyr_std/mandelbrot.cpp:257
-#: src/modules/lyr_std/mandelbrot.cpp:261
 msgid "Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:252
+#: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:256
+#: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:260
+#: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
 msgstr ""
 
+#: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
 #: src/modules/lyr_std/mandelbrot.cpp:270
 #: src/modules/lyr_std/mandelbrot.cpp:274
 #: src/modules/lyr_std/mandelbrot.cpp:278
-#: src/modules/lyr_std/mandelbrot.cpp:282
+#: src/modules/lyr_std/mandelbrot.cpp:283
 #: src/modules/lyr_std/mandelbrot.cpp:287
 #: src/modules/lyr_std/mandelbrot.cpp:291
-#: src/modules/lyr_std/mandelbrot.cpp:295
 msgid "Outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:281
+#: src/modules/lyr_std/mandelbrot.cpp:277
 msgid "Gradient outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:290
+#: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:294
+#: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
 msgstr ""
 
@@ -669,16 +667,16 @@ msgstr ""
 msgid "Transform"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/translate.cpp:101
+#: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:134
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:121
-#: src/modules/lyr_std/sphere_distort.cpp:158
+#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:217
+#: src/synfig/layer_composite.cpp:249
 #: src/synfig/valuenode_blinecalctangent.cpp:251
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
@@ -687,61 +685,61 @@ msgstr ""
 msgid "Amount"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:67
+#: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:571
+#: src/modules/lyr_std/shade.cpp:627
 msgid "Size of Shade"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:73
-#: src/modules/lyr_std/sphere_distort.cpp:172
+#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:167
 msgid "Spherize"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/synfig/valuenode_composite.cpp:536
+#: src/modules/lyr_std/sphere_distort.cpp:141
+#: src/synfig/valuenode_composite.cpp:546
 msgid "Position"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:147
+#: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:154
+#: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:160
+#: src/modules/lyr_std/sphere_distort.cpp:155
 msgid "The distortion intensity (negative values inverts effect)"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:164 src/modules/lyr_std/warp.cpp:409
+#: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:165
+#: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:169
+#: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:170
+#: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:173
+#: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:174
+#: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
 msgstr ""
 
@@ -761,104 +759,104 @@ msgstr ""
 msgid "Stroboscope"
 msgstr ""
 
-#: src/modules/lyr_std/stroboscope.cpp:102
+#: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
 msgstr ""
 
-#: src/modules/lyr_std/stroboscope.cpp:103
+#: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:56
+#: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:129
+#: src/modules/lyr_std/supersample.cpp:146
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:290
-#: src/modules/lyr_std/curvewarp.cpp:393
-#: src/modules/mod_gradient/curvegradient.cpp:542
-#: src/synfig/valuenode_composite.cpp:514
-#: src/synfig/valuenode_composite.cpp:540
+#: src/modules/lyr_std/supersample.cpp:337
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_composite.cpp:524
+#: src/synfig/valuenode_composite.cpp:550
 #: src/synfig/valuenode_realstring.cpp:180
 #: src/synfig/valuenode_repeat_gradient.cpp:213
 #: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
 msgid "Width"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:291
+#: src/modules/lyr_std/supersample.cpp:338
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:294 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
 msgid "Height"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:295
+#: src/modules/lyr_std/supersample.cpp:342
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:298
+#: src/modules/lyr_std/supersample.cpp:345
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:299
+#: src/modules/lyr_std/supersample.cpp:346
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:302
+#: src/modules/lyr_std/supersample.cpp:349
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:303
+#: src/modules/lyr_std/supersample.cpp:350
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:166
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:124 src/synfig/valuenode_timeloop.cpp:179
+#: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:125
+#: src/modules/lyr_std/timeloop.cpp:134
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:129 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:130 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:134 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:135 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139
+#: src/modules/lyr_std/timeloop.cpp:148
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:140
+#: src/modules/lyr_std/timeloop.cpp:149
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144
+#: src/modules/lyr_std/timeloop.cpp:153
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:145
+#: src/modules/lyr_std/timeloop.cpp:154
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
@@ -886,115 +884,115 @@ msgstr ""
 msgid "When checked, distorts outside the circle"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:56
+#: src/modules/lyr_std/warp.cpp:57
 msgid "Warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:374
+#: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:376
+#: src/modules/lyr_std/warp.cpp:382
 msgid "Top Left corner of the source to warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:380
+#: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:381
+#: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:385
+#: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:387
+#: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:391
+#: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:393
+#: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:397
+#: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:399
+#: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:403
+#: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:405
+#: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:413
+#: src/modules/lyr_std/warp.cpp:419
 msgid "Horizon"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:414
+#: src/modules/lyr_std/warp.cpp:420
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:55
+#: src/modules/lyr_std/curvewarp.cpp:56
 msgid "Curve Warp"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:390
-msgid "Position of the source line"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:395
+#: src/modules/lyr_std/curvewarp.cpp:404
 msgid "How much is expanded the result perpendicular to the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:407
 msgid "Start Point"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:400
+#: src/modules/lyr_std/curvewarp.cpp:409
 msgid "First point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:403
+#: src/modules/lyr_std/curvewarp.cpp:412
 msgid "End Point"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:404
+#: src/modules/lyr_std/curvewarp.cpp:413
 msgid "Final point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:407
-#: src/modules/mod_geometry/advanced_outline.cpp:1123
-#: src/modules/mod_geometry/outline.cpp:814
-#: src/modules/mod_geometry/region.cpp:233
-#: src/modules/mod_gradient/curvegradient.cpp:546
-#: src/modules/mod_particle/plant.cpp:391
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
 msgid "Vertices"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:410
+#: src/modules/lyr_std/curvewarp.cpp:419
 msgid "List of Spline Points where the source line is curved to"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:413
-#: src/modules/mod_geometry/advanced_outline.cpp:1178
-#: src/modules/mod_gradient/curvegradient.cpp:567
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
 msgid "Fast"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:414
-#: src/modules/mod_gradient/curvegradient.cpp:568
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
 msgid "When checked, renders quickly but with artifacts"
 msgstr ""
 
@@ -1002,15 +1000,15 @@ msgstr ""
 msgid "XOR Pattern"
 msgstr ""
 
-#: src/modules/lyr_std/xorpattern.cpp:126
+#: src/modules/lyr_std/xorpattern.cpp:130
 msgid "Center of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/xorpattern.cpp:130
+#: src/modules/lyr_std/xorpattern.cpp:134
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:143
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
 #: src/synfig/valuenode_blinecalctangent.cpp:261
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
 #: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
@@ -1021,7 +1019,7 @@ msgstr ""
 msgid "Amount to scale to"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:105
+#: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
 msgstr ""
 
@@ -1089,126 +1087,138 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:201
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:208
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:218
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:272
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-msgid "Unable to open pipe to ffmpeg"
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:214
+msgid "Unable to open pipe to ffmpeg (no pipe)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:221
+msgid "Unable to open pipe to ffmpeg (pid == -1)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:231
+msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:285
+msgid "Unable to open pipe to ffmpeg (exec failed)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:303
+msgid "Unable to open pipe to ffmpeg (no file)"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:68
+#: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:69 src/modules/mod_filter/radialblur.cpp:56
+#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
 #: src/synfig/layer_motionblur.cpp:57
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:373
+#: src/modules/mod_filter/blur.cpp:414
 msgid "Size of Blur"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:55
+#: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:211
+#: src/modules/mod_filter/colorcorrect.cpp:217
 msgid "Hue Adjust"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:215
+#: src/modules/mod_filter/colorcorrect.cpp:221
 msgid "Brightness"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:219
+#: src/modules/mod_filter/colorcorrect.cpp:225
 msgid "Contrast"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:223
+#: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:227 src/synfig/layer_bitmap.cpp:179
+#: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:58
+#: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:151
+#: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:155
+#: src/modules/mod_filter/halftone2.cpp:159
 msgid "Mask Angle"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:159
-#: src/modules/mod_filter/halftone3.cpp:309
+#: src/modules/mod_filter/halftone2.cpp:163
+#: src/modules/mod_filter/halftone3.cpp:328
 msgid "Mask Size"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:164
+#: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:167
+#: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:172
-#: src/modules/mod_filter/halftone3.cpp:314
+#: src/modules/mod_filter/halftone2.cpp:176
+#: src/modules/mod_filter/halftone3.cpp:333
 #: src/modules/mod_gradient/conicalgradient.cpp:125
 msgid "Symmetric"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:173
-#: src/modules/mod_filter/halftone3.cpp:315
+#: src/modules/mod_filter/halftone2.cpp:177
+#: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:175
-#: src/modules/mod_filter/halftone3.cpp:317
+#: src/modules/mod_filter/halftone2.cpp:179
+#: src/modules/mod_filter/halftone3.cpp:336
 msgid "Diamond"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:176
-#: src/modules/mod_filter/halftone3.cpp:318
+#: src/modules/mod_filter/halftone2.cpp:180
+#: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:58
+#: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:312
+#: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:321
+#: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:329
+#: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:333
+#: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:337
+#: src/modules/mod_filter/halftone3.cpp:356
 msgid " Mask Angle"
 msgstr ""
 
-#: src/modules/mod_filter/lumakey.cpp:58
+#: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
 msgstr ""
 
-#: src/modules/mod_filter/radialblur.cpp:55
+#: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
 msgstr ""
 
@@ -1230,19 +1240,19 @@ msgstr ""
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:62 src/synfig/layer_solidcolor.cpp:57
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:123
+#: src/modules/mod_geometry/checkerboard.cpp:147
 msgid "Color of checkers"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:127
+#: src/modules/mod_geometry/checkerboard.cpp:151
 msgid "Center of the checkers"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:131
+#: src/modules/mod_geometry/checkerboard.cpp:155
 msgid "Size of checkers"
 msgstr ""
 
@@ -1250,54 +1260,54 @@ msgstr ""
 msgid "Circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:134
+#: src/modules/mod_geometry/circle.cpp:152
 msgid "Radius of the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:138 src/synfig/layer_shape.cpp:1206
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
 msgid "Feather"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:140
+#: src/modules/mod_geometry/circle.cpp:158
 msgid "Amount of feather of the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:148
+#: src/modules/mod_geometry/circle.cpp:166
 msgid "Invert the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:152
+#: src/modules/mod_geometry/circle.cpp:170
 msgid "Falloff"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:153
+#: src/modules/mod_geometry/circle.cpp:171
 msgid "Determines the falloff function for the feather"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:155
-#: src/modules/mod_noise/distort.cpp:234 src/modules/mod_noise/noise.cpp:275
-#: src/modules/mod_noise/valuenode_random.cpp:288
-#: src/synfig/layer_bitmap.cpp:173 src/synfig/layer_motionblur.cpp:150
-#: src/synfig/valuenode.cpp:139 src/synfig/valuenode_linear.cpp:146
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:289
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
 msgid "Linear"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:156
+#: src/modules/mod_geometry/circle.cpp:174
 msgid "Squared"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:157
+#: src/modules/mod_geometry/circle.cpp:175
 msgid "Square Root"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:158
+#: src/modules/mod_geometry/circle.cpp:176
 msgid "Sigmond"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:159
-#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:276
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:174
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:290
+#: src/synfig/layer_bitmap.cpp:170
 msgid "Cosine"
 msgstr ""
 
@@ -1305,160 +1315,160 @@ msgstr ""
 msgid "Advanced Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:133
+#: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1125
-#: src/modules/mod_geometry/outline.cpp:817
-#: src/modules/mod_geometry/region.cpp:235
-#: src/modules/mod_gradient/curvegradient.cpp:549
-#: src/modules/mod_particle/plant.cpp:392
+#: src/modules/mod_geometry/advanced_outline.cpp:1136
+#: src/modules/mod_geometry/outline.cpp:826
+#: src/modules/mod_geometry/region.cpp:240
+#: src/modules/mod_gradient/curvegradient.cpp:562
+#: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1129
-#: src/modules/mod_geometry/outline.cpp:831
+#: src/modules/mod_geometry/advanced_outline.cpp:1140
+#: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1130
-#: src/modules/mod_geometry/outline.cpp:832
+#: src/modules/mod_geometry/advanced_outline.cpp:1141
+#: src/modules/mod_geometry/outline.cpp:841
 msgid "Global width of the outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:837
+#: src/modules/mod_geometry/advanced_outline.cpp:1145
+#: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1135
-#: src/modules/mod_geometry/outline.cpp:838
+#: src/modules/mod_geometry/advanced_outline.cpp:1146
+#: src/modules/mod_geometry/outline.cpp:847
 msgid "Value to add to the global width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1138
+#: src/modules/mod_geometry/advanced_outline.cpp:1149
 msgid "Tip Type at Start"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1139
+#: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1141
-#: src/modules/mod_geometry/advanced_outline.cpp:1150
-#: src/synfig/valuenode_composite.cpp:548
+#: src/modules/mod_geometry/advanced_outline.cpp:1152
+#: src/modules/mod_geometry/advanced_outline.cpp:1161
 #: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:587
-#: src/synfig/valuenode_composite.cpp:596
+#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:606
 msgid "Rounded Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1142
-#: src/modules/mod_geometry/advanced_outline.cpp:1151
-#: src/synfig/valuenode_composite.cpp:549
+#: src/modules/mod_geometry/advanced_outline.cpp:1153
+#: src/modules/mod_geometry/advanced_outline.cpp:1162
 #: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:588
-#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:607
 msgid "Squared Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1143
-#: src/modules/mod_geometry/advanced_outline.cpp:1152
-#: src/synfig/valuenode_composite.cpp:550
+#: src/modules/mod_geometry/advanced_outline.cpp:1154
+#: src/modules/mod_geometry/advanced_outline.cpp:1163
 #: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:570
+#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:608
 msgid "Peak Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1144
-#: src/modules/mod_geometry/advanced_outline.cpp:1153
-#: src/synfig/valuenode_composite.cpp:551
+#: src/modules/mod_geometry/advanced_outline.cpp:1155
+#: src/modules/mod_geometry/advanced_outline.cpp:1164
 #: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:590
-#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:571
+#: src/synfig/valuenode_composite.cpp:600
+#: src/synfig/valuenode_composite.cpp:609
 msgid "Flat Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1147
+#: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1148
+#: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1156
+#: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1157
-#: src/modules/mod_geometry/outline.cpp:843
+#: src/modules/mod_geometry/advanced_outline.cpp:1168
+#: src/modules/mod_geometry/outline.cpp:852
 msgid "Determines cusp type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1159
+#: src/modules/mod_geometry/advanced_outline.cpp:1170
 msgid "Sharp"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1160
+#: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1164
+#: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1165
+#: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1168
-#: src/modules/mod_geometry/outline.cpp:859
+#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/outline.cpp:869
 #: src/synfig/valuenode_blinecalctangent.cpp:271
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1169
+#: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
+#: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1175
+#: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1182
+#: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1184
+#: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1187
+#: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1190
+#: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1193
+#: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1196
+#: src/modules/mod_geometry/advanced_outline.cpp:1207
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
@@ -1466,32 +1476,36 @@ msgstr ""
 msgid "Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:183
+#: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:842
+#: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:847
+#: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:848
-#: src/modules/mod_geometry/outline.cpp:853
+#: src/modules/mod_geometry/outline.cpp:857
+#: src/modules/mod_geometry/outline.cpp:862
 msgid "Round off the tip"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:852
+#: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:856
+#: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:860
+#: src/modules/mod_geometry/outline.cpp:866
+msgid "(Currently not used)"
+msgstr ""
+
+#: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
 msgstr ""
 
@@ -1499,11 +1513,11 @@ msgstr ""
 msgid "Rectangle"
 msgstr ""
 
-#: src/modules/mod_geometry/rectangle.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
 msgstr ""
 
-#: src/modules/mod_geometry/rectangle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
 msgstr ""
 
@@ -1515,46 +1529,46 @@ msgstr ""
 msgid "Star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:183
+#: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:184
+#: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190
+#: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:191
+#: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:197
+#: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:129
+#: src/modules/mod_gradient/spiralgradient.cpp:130
 #: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:198
+#: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:203 src/synfig/distance.cpp:251
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
 msgid "Points"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:204
+#: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:208
+#: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:209
+#: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
@@ -1572,20 +1586,20 @@ msgid "Conical Gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
-#: src/modules/mod_gradient/curvegradient.cpp:61
+#: src/modules/mod_gradient/curvegradient.cpp:62
 #: src/modules/mod_gradient/lineargradient.cpp:55
 #: src/modules/mod_gradient/radialgradient.cpp:58
-#: src/modules/mod_gradient/spiralgradient.cpp:57
-#: src/modules/mod_noise/noise.cpp:58
+#: src/modules/mod_gradient/spiralgradient.cpp:58
+#: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
-#: src/modules/mod_gradient/curvegradient.cpp:553
-#: src/modules/mod_gradient/lineargradient.cpp:200
+#: src/modules/mod_gradient/curvegradient.cpp:566
+#: src/modules/mod_gradient/lineargradient.cpp:195
 #: src/modules/mod_gradient/radialgradient.cpp:114
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:260
+#: src/modules/mod_gradient/spiralgradient.cpp:114
+#: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
 msgstr ""
 
@@ -1598,27 +1612,27 @@ msgid "Rotation of the gradient around the center"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
-#: src/modules/mod_gradient/curvegradient.cpp:557
-#: src/modules/mod_gradient/lineargradient.cpp:204
+#: src/modules/mod_gradient/curvegradient.cpp:570
+#: src/modules/mod_gradient/lineargradient.cpp:199
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:60
+#: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:538
-#: src/modules/mod_particle/plant.cpp:399
+#: src/modules/mod_gradient/curvegradient.cpp:551
+#: src/modules/mod_particle/plant.cpp:432
 msgid "Offset for the Vertices List"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:543
+#: src/modules/mod_gradient/curvegradient.cpp:556
 msgid "Global width of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:556
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/curvegradient.cpp:569
+#: src/modules/mod_gradient/lineargradient.cpp:198
 #: src/modules/mod_gradient/radialgradient.cpp:130
 #: src/synfig/valuenode_blinecalctangent.cpp:246
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
@@ -1626,19 +1640,19 @@ msgstr ""
 msgid "Loop"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:560
-#: src/modules/mod_gradient/lineargradient.cpp:207
+#: src/modules/mod_gradient/curvegradient.cpp:573
+#: src/modules/mod_gradient/lineargradient.cpp:202
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:561
-#: src/modules/mod_gradient/lineargradient.cpp:208
+#: src/modules/mod_gradient/curvegradient.cpp:574
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:136
 msgid "When checked the gradient is summetrical at the center"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:564
+#: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
 msgstr ""
 
@@ -1646,11 +1660,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:192
+#: src/modules/mod_gradient/lineargradient.cpp:187
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:196
+#: src/modules/mod_gradient/lineargradient.cpp:191
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1659,23 +1673,23 @@ msgid "Radial Gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:119
 msgid "Center of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:56
+#: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:130
+#: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:135
+#: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:136
+#: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
@@ -1688,13 +1702,15 @@ msgstr ""
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/listimporter.cpp:184 src/synfig/listimporter.cpp:185
+#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
+#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
 msgid "Unable to open "
 msgstr ""
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/listimporter.cpp:191 src/synfig/listimporter.cpp:192
+#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
+#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
 msgid "Unable to get frame from "
 msgstr ""
 
@@ -1732,115 +1748,115 @@ msgstr ""
 msgid "Unable to open pipe to imagemagick's convert utility"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:57
+#: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:217
+#: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:218
+#: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:223
+#: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:226 src/modules/mod_noise/noise.cpp:263
+#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:264
+#: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:230 src/modules/mod_noise/noise.cpp:271
-#: src/modules/mod_noise/valuenode_random.cpp:284
-#: src/synfig/layer_bitmap.cpp:169
+#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
-#: src/synfig/layer_bitmap.cpp:170
+#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
+#: src/synfig/layer_bitmap.cpp:166
 msgid "What type of interpolation to use"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:233 src/modules/mod_noise/noise.cpp:274
-#: src/synfig/layer_bitmap.cpp:172
+#: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
+#: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:277
-#: src/modules/mod_noise/valuenode_random.cpp:290 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_bline.cpp:1001
+#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
+#: src/synfig/valuenode_bline.cpp:1006
 #: src/synfig/valuenode_blinecalctangent.cpp:241
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:237 src/modules/mod_noise/noise.cpp:278
-#: src/modules/mod_noise/valuenode_random.cpp:291
-#: src/synfig/layer_bitmap.cpp:175
+#: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:281
+#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:282
+#: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:244 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:248 src/modules/mod_noise/noise.cpp:289
+#: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:290
+#: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:183
+#: src/modules/mod_noise/valuenode_random.cpp:184
 msgid "Random"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:57
+#: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:268
+#: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:293
+#: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:294
+#: src/modules/mod_noise/noise.cpp:303
 msgid "Uses transparency"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:297
+#: src/modules/mod_noise/noise.cpp:306
 msgid "Super Sampling"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:298
+#: src/modules/mod_noise/noise.cpp:307
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:264
+#: src/modules/mod_noise/valuenode_random.cpp:265
 #: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
 #: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
 #: src/synfig/valuenode_reciprocal.cpp:165
@@ -1849,167 +1865,167 @@ msgstr ""
 msgid "Link"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:270
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:274
-#: src/modules/mod_particle/plant.cpp:450
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:276
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:279
+#: src/modules/mod_noise/valuenode_random.cpp:280
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:281
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:286
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:288
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:296
+#: src/modules/mod_noise/valuenode_random.cpp:297
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:298
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:69
+#: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:404
+#: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:408
+#: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:409
+#: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:413
+#: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:414
+#: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:419
+#: src/modules/mod_particle/plant.cpp:452
 msgid "Tangential Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:420
+#: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:424
+#: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:425
+#: src/modules/mod_particle/plant.cpp:458
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:429
+#: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:430
+#: src/modules/mod_particle/plant.cpp:463
 msgid "Size of the stem"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:435
+#: src/modules/mod_particle/plant.cpp:468
 msgid "Size As Alpha"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:436
+#: src/modules/mod_particle/plant.cpp:469
 msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:440
+#: src/modules/mod_particle/plant.cpp:473
 msgid "Reverse"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:441
+#: src/modules/mod_particle/plant.cpp:474
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:445 src/synfig/valuenode.cpp:170
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
 #: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
 msgid "Step"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:446
+#: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:451
+#: src/modules/mod_particle/plant.cpp:484
 msgid "Used to seed the pseudo-random number generator"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:455
+#: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:456
+#: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:460
+#: src/modules/mod_particle/plant.cpp:493
 msgid "Sprouts"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:461
+#: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:465
+#: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:466
+#: src/modules/mod_particle/plant.cpp:499
 msgid ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:470
+#: src/modules/mod_particle/plant.cpp:503
 msgid "Drag"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:471
+#: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:475
+#: src/modules/mod_particle/plant.cpp:508
 msgid "Use Width"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:476
+#: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
@@ -2018,97 +2034,102 @@ msgstr ""
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:87 src/synfig/importer.cpp:87
+#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
 msgid "Importer::open(): Cannot open empty filename"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:101 src/synfig/importer.cpp:101
+#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
 msgid "Importer::open(): Couldn't find extension"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:112 src/synfig/importer.cpp:112
+#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
 msgid "Importer::open(): Unknown file type -- "
 msgstr ""
 
-#: src/synfig/canvas.cpp:798 src/synfig/canvas.cpp:863
-#: src/synfig/canvas.cpp:886
+#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
+#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+msgid "No images in list"
+msgstr ""
+
+#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
+#: src/synfig/canvas.cpp:927
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:249
+#: src/synfig/distance.cpp:251
 msgid "Units"
 msgstr ""
 
-#: src/synfig/distance.cpp:250
+#: src/synfig/distance.cpp:252
 msgid "Pixels"
 msgstr ""
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:254
 msgid "Inches"
 msgstr ""
 
-#: src/synfig/distance.cpp:253
+#: src/synfig/distance.cpp:255
 msgid "Meters"
 msgstr ""
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:256
 msgid "Millimeters"
 msgstr ""
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:257
 msgid "Centimeters"
 msgstr ""
 
-#: src/synfig/layer.cpp:565 src/synfig/layer_composite.cpp:128
+#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:619
+#: src/synfig/layer.cpp:605
 msgid "Z Depth"
 msgstr ""
 
-#: src/synfig/layer.cpp:621
+#: src/synfig/layer.cpp:607
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:159
+#: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:160
+#: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:164
+#: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:165
+#: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:218
+#: src/synfig/layer_composite.cpp:250
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:221 src/synfig/paramdesc.cpp:62
+#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:222
+#: src/synfig/layer_composite.cpp:254
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:168
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
 #: src/synfig/valuenode_duplicate.cpp:174
 msgid "Duplicate"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:148
+#: src/synfig/layer_duplicate.cpp:151
 msgid "Index"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:149
+#: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
 msgstr ""
 
@@ -2120,156 +2141,156 @@ msgstr ""
 msgid "Motion Blur"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:136
+#: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:137
+#: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:141
+#: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:142
+#: src/synfig/layer_motionblur.cpp:141
 msgid "Multiplies The Number Of Subsamples Rendered"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:146
+#: src/synfig/layer_motionblur.cpp:145
 msgid "Subsampling Type"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:147
+#: src/synfig/layer_motionblur.cpp:146
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:149 src/synfig/valuenode_const.cpp:127
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
 msgid "Constant"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:151
+#: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:155
+#: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:156
+#: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:160
+#: src/synfig/layer_motionblur.cpp:159
 msgid "Subsample End Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:161
+#: src/synfig/layer_motionblur.cpp:160
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:78 src/synfig/layer_pastecanvas.cpp:120
-#: src/synfig/layer_pastecanvas.cpp:121
+#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
+#: src/synfig/layer_pastecanvas.cpp:124
 msgid "Group"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:137
+#: src/synfig/layer_pastecanvas.cpp:140
 msgid "Canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:138
+#: src/synfig/layer_pastecanvas.cpp:141
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:144
 msgid "Zoom"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:142
+#: src/synfig/layer_pastecanvas.cpp:145
 msgid "Size of canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:147
+#: src/synfig/layer_pastecanvas.cpp:152
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:151
+#: src/synfig/layer_pastecanvas.cpp:156
 msgid "Children Lock"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:157
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
+#: src/synfig/layer_pastecanvas.cpp:162
 msgid "Focus Point"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:159
+#: src/synfig/layer_pastecanvas.cpp:165
 msgid "Point to remain fixed when zooming"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:164
+#: src/synfig/layer_pastecanvas.cpp:170
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:165
+#: src/synfig/layer_pastecanvas.cpp:171
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:180
+#: src/synfig/layer_pastecanvas.cpp:186
 msgid "Current Time"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:61
+#: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:187
+#: src/synfig/layer_polygon.cpp:194
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:188
+#: src/synfig/layer_polygon.cpp:195
 msgid "Define the corners of the polygon"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:64
+#: src/synfig/layer_shape.cpp:66
 msgid "Shape"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:65
+#: src/synfig/layer_shape.cpp:67
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1194
+#: src/synfig/layer_shape.cpp:1222
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1203
+#: src/synfig/layer_shape.cpp:1231
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1210
+#: src/synfig/layer_shape.cpp:1238
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1211
+#: src/synfig/layer_shape.cpp:1239
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1220
+#: src/synfig/layer_shape.cpp:1248
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_shape.cpp:1249
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1223
+#: src/synfig/layer_shape.cpp:1251
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1224
+#: src/synfig/layer_shape.cpp:1252
 msgid "Even/Odd"
 msgstr ""
 
@@ -2277,406 +2298,406 @@ msgstr ""
 msgid "Solid Color"
 msgstr ""
 
-#: src/synfig/listimporter.cpp:161 src/synfig/listimporter.cpp:162
-msgid "No images in list"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:142
+#: src/synfig/loadcanvas.cpp:143
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:185
+#: src/synfig/loadcanvas.cpp:186
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:191
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:205
+#: src/synfig/loadcanvas.cpp:206
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:236
+#: src/synfig/loadcanvas.cpp:237
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:469
-#: src/synfig/loadcanvas.cpp:1118
+#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
+#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:473
-#: src/synfig/loadcanvas.cpp:1122
+#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
+#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:484 src/synfig/loadcanvas.cpp:1144
+#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
+#: src/synfig/loadcanvas.cpp:1200
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:508
+#: src/synfig/loadcanvas.cpp:533
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1284
+#: src/synfig/loadcanvas.cpp:1353
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1301
+#: src/synfig/loadcanvas.cpp:1375
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1314
+#: src/synfig/loadcanvas.cpp:1388
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1330
+#: src/synfig/loadcanvas.cpp:1404
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1336 src/synfig/loadcanvas.cpp:1348
+#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1365
+#: src/synfig/loadcanvas.cpp:1439
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1380
+#: src/synfig/loadcanvas.cpp:1455
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1424 src/synfig/loadcanvas.cpp:1443
-#, c-format
-msgid "\"%s\" not a valid value for attribute \"%s\" in <%s>"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:1504
+#: src/synfig/loadcanvas.cpp:1556
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1512
+#: src/synfig/loadcanvas.cpp:1565
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1522
+#: src/synfig/loadcanvas.cpp:1577
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1531
+#: src/synfig/loadcanvas.cpp:1587
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1557 src/synfig/loadcanvas.cpp:1628
+#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1570
+#: src/synfig/loadcanvas.cpp:1625
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1579
+#: src/synfig/loadcanvas.cpp:1634
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1603
+#: src/synfig/loadcanvas.cpp:1658
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1643
+#: src/synfig/loadcanvas.cpp:1698
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1652
+#: src/synfig/loadcanvas.cpp:1707
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1659
+#: src/synfig/loadcanvas.cpp:1714
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1677
+#: src/synfig/loadcanvas.cpp:1732
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1747
+#: src/synfig/loadcanvas.cpp:1811
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1841
-msgid "Unable to create <dynamic_list>"
+#: src/synfig/loadcanvas.cpp:1861
+msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1993
+#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2038
+#: src/synfig/loadcanvas.cpp:1998
+msgid "Unable to create <dynamic_list>"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2220
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2076
+#: src/synfig/loadcanvas.cpp:2283
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2097
+#: src/synfig/loadcanvas.cpp:2304
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2102
+#: src/synfig/loadcanvas.cpp:2310
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2107
+#: src/synfig/loadcanvas.cpp:2316
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2142
+#: src/synfig/loadcanvas.cpp:2373
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2161
+#: src/synfig/loadcanvas.cpp:2392
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2181
+#: src/synfig/loadcanvas.cpp:2415
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2184
+#: src/synfig/loadcanvas.cpp:2418
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2192
+#: src/synfig/loadcanvas.cpp:2426
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2209
+#: src/synfig/loadcanvas.cpp:2443
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2214
+#: src/synfig/loadcanvas.cpp:2448
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2454
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2222
+#: src/synfig/loadcanvas.cpp:2456
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2244
+#: src/synfig/loadcanvas.cpp:2480
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2260
+#: src/synfig/loadcanvas.cpp:2496
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2272 src/synfig/loadcanvas.cpp:2292
+#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2280
+#: src/synfig/loadcanvas.cpp:2516
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2303
+#: src/synfig/loadcanvas.cpp:2539
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2376 src/synfig/loadcanvas.cpp:2384
+#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2470
+#: src/synfig/loadcanvas.cpp:2710
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2478
+#: src/synfig/loadcanvas.cpp:2717
+msgid "Inline canvas cannot have a <bones> section"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2725
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2490
+#: src/synfig/loadcanvas.cpp:2737
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2498
+#: src/synfig/loadcanvas.cpp:2745
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2504
+#: src/synfig/loadcanvas.cpp:2751
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:2763
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2531
+#: src/synfig/loadcanvas.cpp:2778
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2546
+#: src/synfig/loadcanvas.cpp:2793
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2578
+#: src/synfig/loadcanvas.cpp:2828
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580 src/synfig/valuenode.cpp:353
+#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580
+#: src/synfig/loadcanvas.cpp:2830
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2660 src/synfig/loadcanvas.cpp:2716
+#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:102
+#: src/synfig/main.cpp:118
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:107
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:112
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:117
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:122
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:184
+#: src/synfig/main.cpp:207
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:186
+#: src/synfig/main.cpp:209
 msgid "Unable to initialize subsystem \"Module\""
 msgstr ""
 
-#: src/synfig/main.cpp:188
+#: src/synfig/main.cpp:211
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:192
+#: src/synfig/main.cpp:215
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:195
+#: src/synfig/main.cpp:218
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:200
+#: src/synfig/main.cpp:223
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:203
+#: src/synfig/main.cpp:226
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
+#: src/synfig/main.cpp:232
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:212
+#: src/synfig/main.cpp:235
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:219
+#: src/synfig/main.cpp:242
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:222
+#: src/synfig/main.cpp:245
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:230
+#: src/synfig/main.cpp:253
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:267 src/synfig/main.cpp:268
+#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:279
+#: src/synfig/main.cpp:302
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:293 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:360 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:375 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:390
+#: src/synfig/main.cpp:413
 msgid "info"
 msgstr ""
 
@@ -2751,145 +2772,145 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:64 src/synfig/valuenode.cpp:140
-#: src/synfig/valuenode_composite.cpp:437
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
+#: src/synfig/valuenode_composite.cpp:447
 msgid "Composite"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:65
+#: src/synfig/paramdesc.cpp:69
 msgid "Straight"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:66
+#: src/synfig/paramdesc.cpp:70
 msgid "Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:67
+#: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68
+#: src/synfig/paramdesc.cpp:72
 msgid "Behind"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:69
+#: src/synfig/paramdesc.cpp:73
 msgid "Screen"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:70
+#: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:71
+#: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:72
+#: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:73
+#: src/synfig/paramdesc.cpp:77
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:74 src/synfig/valuenode.cpp:157
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
 #: src/synfig/valuenode_add.cpp:190
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:75 src/synfig/valuenode.cpp:147
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
 #: src/synfig/valuenode_subtract.cpp:194
 msgid "Subtract"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:76
+#: src/synfig/paramdesc.cpp:80
 msgid "Difference"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:77
+#: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78
+#: src/synfig/paramdesc.cpp:82
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:80 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
 msgid "Hue"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:81 src/synfig/valuenode_radialcomposite.cpp:260
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
 #: src/synfig/valuenode_radialcomposite.cpp:266
 msgid "Saturation"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:82
+#: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:83
+#: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84
+#: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85
+#: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
 msgstr ""
 
-#: src/synfig/render.cpp:246 src/synfig/render.cpp:247
-#: src/synfig/render.cpp:301 src/synfig/render.cpp:302
-#: src/synfig/render.cpp:536 src/synfig/render.cpp:537
-#: src/synfig/render.cpp:563 src/synfig/render.cpp:564
+#: src/synfig/render.cpp:248 src/synfig/render.cpp:249
+#: src/synfig/render.cpp:303 src/synfig/render.cpp:304
+#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
+#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:290
+#: src/synfig/savecanvas.cpp:359
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:543
+#: src/synfig/savecanvas.cpp:674 src/synfig/savecanvas.cpp:699
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:185
+#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
 #: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:281
 msgid "Target initialization failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:146
+#: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:155 src/synfig/target_scanline.cpp:258
-#: src/synfig/target_scanline.cpp:405
+#: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:260
+#: src/synfig/target_scanline.cpp:407
 msgid "Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:162
+#: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:169 src/synfig/target_cairo_tile.cpp:248
-#: src/synfig/target_scanline.cpp:418 src/synfig/target_tile.cpp:396
+#: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
+#: src/synfig/target_scanline.cpp:420 src/synfig/target_tile.cpp:398
 msgid "Caught string :"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:174 src/synfig/target_cairo_tile.cpp:253
-#: src/synfig/target_scanline.cpp:423 src/synfig/target_tile.cpp:401
+#: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
+#: src/synfig/target_scanline.cpp:425 src/synfig/target_tile.cpp:403
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:179 src/synfig/target_cairo_tile.cpp:258
-#: src/synfig/target_scanline.cpp:428 src/synfig/target_tile.cpp:406
+#: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
+#: src/synfig/target_scanline.cpp:430 src/synfig/target_tile.cpp:408
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:190
+#: src/synfig/target_cairo.cpp:201
 msgid "Cairo Surface bad status"
 msgstr ""
 
@@ -2897,24 +2918,24 @@ msgstr ""
 msgid "Bad Tile Size"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:142 src/synfig/target_cairo_tile.cpp:240
-#: src/synfig/target_scanline.cpp:203 src/synfig/target_scanline.cpp:249
-#: src/synfig/target_scanline.cpp:348 src/synfig/target_scanline.cpp:396
+#: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
+#: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:251
+#: src/synfig/target_scanline.cpp:350 src/synfig/target_scanline.cpp:398
 #: src/synfig/target_tile.cpp:225
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:150
+#: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:156 src/synfig/target_tile.cpp:179
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:179
 #: src/synfig/target_tile.cpp:245
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:211
+#: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
 msgstr ""
 
@@ -2938,277 +2959,317 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:276 src/synfig/value.cpp:308 src/synfig/value.cpp:360
+#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
 msgid "bool"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:277 src/synfig/value.cpp:310 src/synfig/value.cpp:358
+#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
 msgid "integer"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:278 src/synfig/value.cpp:312
+#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
 msgid "angle"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:279 src/synfig/value.cpp:314 src/synfig/value.cpp:352
+#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
 msgid "time"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:280 src/synfig/value.cpp:316 src/synfig/value.cpp:355
+#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
 msgid "real"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:281 src/synfig/value.cpp:318
+#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
 msgid "vector"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:282 src/synfig/value.cpp:320
+#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
 msgid "color"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:283 src/synfig/value.cpp:322
+#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
 msgid "segment"
 msgstr ""
 
-#: src/synfig/value.cpp:284
+#: src/synfig/value.cpp:378
 msgid "bline_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:285 src/synfig/value.cpp:326
+#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
+msgid "matrix"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
+msgid "bone_weight_pair"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
 msgid "width_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:286 src/synfig/value.cpp:328
+#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
 msgid "dash_item"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:287 src/synfig/value.cpp:330
+#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
 msgid "list"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:288 src/synfig/value.cpp:332
+#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
 msgid "canvas"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:289 src/synfig/value.cpp:334
+#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
 msgid "string"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:290 src/synfig/value.cpp:336
+#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
 msgid "gradient"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:291 src/synfig/value.cpp:338
+#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
+msgid "bone_object"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
+msgid "bone_valuenode"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
 msgid "nil"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:324
+#: src/synfig/value.cpp:422
 msgid "spline_point"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:141 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:142 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:144 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:146 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_dynamiclist.cpp:755
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
 #: src/synfig/valuenode_switch.cpp:163
 msgid "Switch"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164
+#: src/synfig/valuenode.cpp:170
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165
+#: src/synfig/valuenode.cpp:171
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
 msgid "Integer"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:176 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177
+#: src/synfig/valuenode.cpp:183
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:178
+#: src/synfig/valuenode.cpp:184
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_real.cpp:161
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
 #: src/synfig/valuenode_realstring.cpp:175
 msgid "Real"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:189
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:190
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185
+#: src/synfig/valuenode.cpp:191
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187
+#: src/synfig/valuenode.cpp:192
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:199
+msgid "Bone Influence"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:200
+msgid "Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:201
+msgid "Root Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:202
+msgid "Static List"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:203
+msgid "Bone Weight Pair"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:206
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:233
+#: src/synfig/valuenode.cpp:241
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:513
+#: src/synfig/valuenode.cpp:540
 msgid "Placeholder"
 msgstr ""
 
-#: src/synfig/valuenode.h:61
+#: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
@@ -3275,32 +3336,32 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:355 src/synfig/valuenode_animated.cpp:379
-#: src/synfig/valuenode_animated.cpp:703 src/synfig/valuenode_animated.cpp:721
-#: src/synfig/valuenode_animated.cpp:801 src/synfig/valuenode_animated.cpp:820
+#: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
+#: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
+#: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1134
+#: src/synfig/valuenode_animated.cpp:1173
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1169
+#: src/synfig/valuenode_animated.cpp:1208
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:977 src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
 #: src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:980 src/synfig/valuenode_dynamiclist.cpp:664
+#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
 #: src/synfig/valuenode_wplist.cpp:339
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_bline.cpp:1023
+#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
@@ -3320,7 +3381,7 @@ msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:584
 #: src/synfig/valuenode_gradientrotate.cpp:169
 #: src/synfig/valuenode_linear.cpp:213
 msgid "Offset"
@@ -3374,190 +3435,186 @@ msgstr ""
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:219
+#: src/synfig/valuenode_composite.cpp:229
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:464
+#: src/synfig/valuenode_composite.cpp:474
 msgid "Red"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:465
+#: src/synfig/valuenode_composite.cpp:475
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:468
+#: src/synfig/valuenode_composite.cpp:478
 msgid "Green"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:469
+#: src/synfig/valuenode_composite.cpp:479
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:472
+#: src/synfig/valuenode_composite.cpp:482
 msgid "Blue"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:473
+#: src/synfig/valuenode_composite.cpp:483
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:476
+#: src/synfig/valuenode_composite.cpp:486
 msgid "Alpha"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:477
+#: src/synfig/valuenode_composite.cpp:487
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:492
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:493
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
-#: src/synfig/valuenode_composite.cpp:526
+#: src/synfig/valuenode_composite.cpp:496
+#: src/synfig/valuenode_composite.cpp:536
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:497
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:490
+#: src/synfig/valuenode_composite.cpp:500
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:491
+#: src/synfig/valuenode_composite.cpp:501
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:494
-#: src/synfig/valuenode_composite.cpp:530
+#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:540
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:495
+#: src/synfig/valuenode_composite.cpp:505
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:510
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:511
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:514
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:515
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:520
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:521
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:525
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:519
+#: src/synfig/valuenode_composite.cpp:529
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:522
+#: src/synfig/valuenode_composite.cpp:532
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:523
+#: src/synfig/valuenode_composite.cpp:533
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:527
+#: src/synfig/valuenode_composite.cpp:537
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:531
+#: src/synfig/valuenode_composite.cpp:541
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:547
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:551
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:544
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_composite.cpp:554
+#: src/synfig/valuenode_composite.cpp:594
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:545
 #: src/synfig/valuenode_composite.cpp:555
+#: src/synfig/valuenode_composite.cpp:565
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
 #: src/synfig/valuenode_composite.cpp:557
+#: src/synfig/valuenode_composite.cpp:567
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:593
+#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:603
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:574
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:575
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:578
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:579
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:585
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:589
 #: src/synfig/valuenode_timedswap.cpp:260
 msgid "Length"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:580
+#: src/synfig/valuenode_composite.cpp:590
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:595
+#: src/synfig/valuenode_composite.cpp:604
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_const.cpp:127
-msgid "Static"
-msgstr ""
-
 #: src/synfig/valuenode_compare.cpp:168
 msgid "The left side of the comparison"
 msgstr ""
@@ -3622,12 +3679,12 @@ msgstr ""
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:655
+#: src/synfig/valuenode_dynamiclist.cpp:661
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:703
-#: src/synfig/valuenode_dynamiclist.cpp:957
+#: src/synfig/valuenode_dynamiclist.cpp:709
+#: src/synfig/valuenode_dynamiclist.cpp:964
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3951,7 +4008,7 @@ msgid "Intersection"
 msgstr ""
 
 #: src/synfig/valuenode_step.cpp:213
-msgid "Value that define whether the step is centerd on the value [0,1]"
+msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
@@ -4084,195 +4141,195 @@ msgstr ""
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:133
+#: src/tool/main.cpp:140
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:169
+#: src/tool/main.cpp:176
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:171
+#: src/tool/main.cpp:178
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:172
+#: src/tool/main.cpp:179
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:173
+#: src/tool/main.cpp:180
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:174
+#: src/tool/main.cpp:181
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:175
+#: src/tool/main.cpp:182
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:176
+#: src/tool/main.cpp:183
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:184
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:178
+#: src/tool/main.cpp:185
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:186
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:187
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:188
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:189
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:190
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:191
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:185 src/tool/main.cpp:186
+#: src/tool/main.cpp:192 src/tool/main.cpp:193
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:194
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:195
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:196
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:197
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:193
+#: src/tool/main.cpp:200
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:202
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:203
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:204
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:200
+#: src/tool/main.cpp:207
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:202
+#: src/tool/main.cpp:209
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:210
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:204 src/tool/main.cpp:230
+#: src/tool/main.cpp:211 src/tool/main.cpp:237
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:207
+#: src/tool/main.cpp:214
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:216
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:210
+#: src/tool/main.cpp:217
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:213
+#: src/tool/main.cpp:220
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:215
+#: src/tool/main.cpp:222
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:223
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:217
+#: src/tool/main.cpp:224
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:225
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:226
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:220
+#: src/tool/main.cpp:227
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:221
+#: src/tool/main.cpp:228
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:229
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:223
+#: src/tool/main.cpp:230
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:231
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:232
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:241
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:236
+#: src/tool/main.cpp:243
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:237
+#: src/tool/main.cpp:244
 msgid "Test signal implementation"
 msgstr ""
 
@@ -4336,157 +4393,157 @@ msgstr ""
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:113
+#: src/tool/optionsprocessor.cpp:114
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:115
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:131
+#: src/tool/optionsprocessor.cpp:132
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:146
+#: src/tool/optionsprocessor.cpp:147
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:224
+#: src/tool/optionsprocessor.cpp:225
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:226
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:227
+#: src/tool/optionsprocessor.cpp:228
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:232
+#: src/tool/optionsprocessor.cpp:233
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:234
+#: src/tool/optionsprocessor.cpp:235
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:236
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:239
+#: src/tool/optionsprocessor.cpp:240
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:243
+#: src/tool/optionsprocessor.cpp:244
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:309
+#: src/tool/optionsprocessor.cpp:310
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:316
+#: src/tool/optionsprocessor.cpp:317
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:324
+#: src/tool/optionsprocessor.cpp:325
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:334
+#: src/tool/optionsprocessor.cpp:335
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:343
+#: src/tool/optionsprocessor.cpp:344
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:352
+#: src/tool/optionsprocessor.cpp:353
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:379
+#: src/tool/optionsprocessor.cpp:380
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:385
+#: src/tool/optionsprocessor.cpp:386
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:400
+#: src/tool/optionsprocessor.cpp:401
 #, c-format
 msgid "Resolution set to %dx%d"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:417
+#: src/tool/optionsprocessor.cpp:418
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:437
+#: src/tool/optionsprocessor.cpp:438
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:440
+#: src/tool/optionsprocessor.cpp:441
 #, c-format
 msgid "Target video codec set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:446
+#: src/tool/optionsprocessor.cpp:447
 #, c-format
 msgid "Target bitrate set to %dk"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:452
+#: src/tool/optionsprocessor.cpp:453
 #, c-format
 msgid "Output file sequence separator set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:487
+#: src/tool/optionsprocessor.cpp:488
 #, c-format
 msgid "Unable to load '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:494
+#: src/tool/optionsprocessor.cpp:495
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:499
+#: src/tool/optionsprocessor.cpp:500
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:513
+#: src/tool/optionsprocessor.cpp:514
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:532
+#: src/tool/optionsprocessor.cpp:533
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:539
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:557
+#: src/tool/optionsprocessor.cpp:558
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:571
+#: src/tool/optionsprocessor.cpp:572
 msgid "Appended contents of "
 msgstr ""
 
@@ -4600,4 +4657,4 @@ msgstr ""
 
 #: src/tool/renderprogress.h:136
 msgid "s "
-msgstr ""
+msgstr "s "
diff --git a/po/de.gmo b/po/de.gmo
index f9098f7..ceaa009 100644
Binary files a/po/de.gmo and b/po/de.gmo differ
diff --git a/po/de.po b/po/de.po
index e667cd5..5d084f0 100644
--- a/po/de.po
+++ b/po/de.po
@@ -1,7 +1,5 @@
-# translation of de.po to German
-# German translations for Synfig Core package
-# Deutsch Übersetzungen für das Paket Synfig Core
-# Copyright (C) 2012 Synfig Contributors
+# Translation file for Synfig Core package.
+# Copyright (C) 2013 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
@@ -11,89 +9,90 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2013-05-09 18:34+0200\n"
-"PO-Revision-Date: 2013-05-02 12:39+0000\n"
-"Last-Translator: genete <genetita at gmail.com>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
+"POT-Creation-Date: 2013-10-25 17:57+0700\n"
+"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
+"Language-Team: German (http://www.transifex.com/projects/p/synfig/language/"
+"de/)\n"
 "Language: de\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:58
+#: src/modules/mod_example/filledrect.cpp:59
 msgid "Filled Rectangle"
 msgstr "Gefülltes Rechteck"
 
-#: src/modules/mod_example/filledrect.cpp:59
+#: src/modules/mod_example/filledrect.cpp:60
 #: src/modules/mod_example/metaballs.cpp:58
 #: src/modules/mod_example/simplecircle.cpp:58
 msgid "Example"
 msgstr "Beispiel"
 
-#: src/modules/mod_example/filledrect.cpp:120
+#: src/modules/mod_example/filledrect.cpp:131
 #: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:523
-#: src/modules/lyr_std/shade.cpp:564
-#: src/modules/mod_geometry/checkerboard.cpp:122
-#: src/modules/mod_geometry/circle.cpp:128
-#: src/modules/mod_geometry/rectangle.cpp:125 src/synfig/layer_shape.cpp:1193
-#: src/synfig/layer_solidcolor.cpp:102 src/synfig/paramdesc.cpp:79
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:620
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
 msgid "Color"
 msgstr "Farbe"
 
-#: src/modules/mod_example/filledrect.cpp:121
+#: src/modules/mod_example/filledrect.cpp:132
 #: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:129
-#: src/modules/mod_geometry/rectangle.cpp:126
-#: src/synfig/layer_solidcolor.cpp:103
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
 msgid "Fill color of the layer"
 msgstr "Füllfarbe der Ebene"
 
-#: src/modules/mod_example/filledrect.cpp:125
-#: src/modules/mod_geometry/rectangle.cpp:130
-#: src/modules/mod_gradient/lineargradient.cpp:190
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:185
 msgid "Point 1"
 msgstr "Punkt 1"
 
-#: src/modules/mod_example/filledrect.cpp:126
-#: src/modules/mod_geometry/rectangle.cpp:132
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
 msgid "First corner of the rectangle"
 msgstr "Erste Ecke des Rechtecks"
 
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_geometry/rectangle.cpp:136
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:190
 msgid "Point 2"
 msgstr "Punkt 2"
 
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_geometry/rectangle.cpp:137
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
 msgid "Second corner of the rectangle"
 msgstr "Zweite Ecke des Rechtecks"
 
-#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_example/filledrect.cpp:147
 msgid "Feather X"
 msgstr "Unschärfe X"
 
-#: src/modules/mod_example/filledrect.cpp:140
+#: src/modules/mod_example/filledrect.cpp:152
 msgid "Feather Y"
 msgstr "Unschärfe Y"
 
-#: src/modules/mod_example/filledrect.cpp:144 src/modules/lyr_std/bevel.cpp:68
-#: src/modules/mod_geometry/advanced_outline.cpp:1161
+#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
 msgid "Bevel"
 msgstr "Schräge"
 
-#: src/modules/mod_example/filledrect.cpp:145
+#: src/modules/mod_example/filledrect.cpp:158
 msgid "Use Bevel for the corners"
 msgstr "Schrägen für die Ecken verwenden"
 
-#: src/modules/mod_example/filledrect.cpp:149
+#: src/modules/mod_example/filledrect.cpp:163
 msgid "Keep Bevel Circular"
 msgstr "Schräge abrunden"
 
-#: src/modules/mod_example/filledrect.cpp:150
+#: src/modules/mod_example/filledrect.cpp:164
 msgid "When checked the bevel is circular"
 msgstr "abgerundete Schräge verwenden?"
 
@@ -101,39 +100,39 @@ msgstr "abgerundete Schräge verwenden?"
 msgid "Metaballs"
 msgstr "Metaballs"
 
-#: src/modules/mod_example/metaballs.cpp:135
+#: src/modules/mod_example/metaballs.cpp:129
 #: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:552
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:194
 #: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:112
-#: src/modules/mod_noise/noise.cpp:259 src/modules/mod_particle/plant.cpp:403
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
 #: src/synfig/valuenode_gradientrotate.cpp:164
 #: src/synfig/valuenode_repeat_gradient.cpp:203
 msgid "Gradient"
 msgstr "Verlauf"
 
-#: src/modules/mod_example/metaballs.cpp:139
+#: src/modules/mod_example/metaballs.cpp:133
 msgid "Balls"
 msgstr "Balls"
 
-#: src/modules/mod_example/metaballs.cpp:143
+#: src/modules/mod_example/metaballs.cpp:137
 msgid "Radii"
 msgstr "Radii"
 
-#: src/modules/mod_example/metaballs.cpp:147
+#: src/modules/mod_example/metaballs.cpp:141
 msgid "Weights"
 msgstr "Zeichenbreiten"
 
-#: src/modules/mod_example/metaballs.cpp:151
+#: src/modules/mod_example/metaballs.cpp:145
 msgid "Gradient Left"
 msgstr "Verlauf Links"
 
-#: src/modules/mod_example/metaballs.cpp:155
+#: src/modules/mod_example/metaballs.cpp:149
 msgid "Gradient Right"
 msgstr "Verlauf Rechts"
 
-#: src/modules/mod_example/metaballs.cpp:159
+#: src/modules/mod_example/metaballs.cpp:153
 msgid "Positive Only"
 msgstr "Nur Positiv"
 
@@ -145,21 +144,21 @@ msgstr "Einfacher Kreis"
 #: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
 #: src/modules/mod_gradient/conicalgradient.cpp:114
 #: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:117
+#: src/modules/mod_gradient/spiralgradient.cpp:118
 msgid "Center"
 msgstr "Mitte"
 
 #: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:144
+#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
 msgid "Center of the circle"
 msgstr "Mittelpunkt des Kreises"
 
 #: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:151
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:132
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
 #: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:122
-#: src/modules/mod_noise/valuenode_random.cpp:269
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/valuenode_radialcomposite.cpp:272
 msgid "Radius"
 msgstr "Radius"
@@ -167,20 +166,20 @@ msgstr "Radius"
 #: src/modules/mod_example/simplecircle.cpp:118
 #: src/modules/lyr_std/twirl.cpp:118
 #: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:124
 msgid "This is the radius of the circle"
 msgstr "Dies ist der Radius des Kreises"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
-#: src/modules/lyr_freetype/lyr_freetype.cpp:517
+#: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Text"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
 #: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
-#: src/modules/lyr_std/supersample.cpp:57 src/modules/lyr_std/timeloop.cpp:60
-#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:70
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:79
+#: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
+#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
 msgid "Other"
 msgstr "Andere"
 
@@ -188,247 +187,247 @@ msgstr "Andere"
 msgid "Text Layer"
 msgstr "Text Ebene"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:390
+#: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
 msgstr "initialisieren nicht möglich"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:409
+#: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
 msgstr "leere Schriftarteinstellung"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:518
+#: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
 msgstr "Zu rendernder Text"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:524
+#: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "Farbe des Textes"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:528
+#: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
 msgstr "Schriftart Familie"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:533
+#: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
 msgstr "Stil"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:535
-#: src/modules/lyr_freetype/lyr_freetype.cpp:545
+#: src/modules/lyr_freetype/lyr_freetype.cpp:587
+#: src/modules/lyr_freetype/lyr_freetype.cpp:597
 msgid "Normal"
 msgstr "Normal"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:536
+#: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
 msgstr "Schräg"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:537
+#: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
 msgstr "Kursiv"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:541
+#: src/modules/lyr_freetype/lyr_freetype.cpp:593
 msgid "Weight"
 msgstr "Zeichenbreite"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:543
+#: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
 msgstr "Ultraleicht"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:544
+#: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
 msgstr "leicht"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:546
+#: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
 msgstr "Fett"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:547
+#: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
 msgstr "Extrafett"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:548
+#: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
 msgstr "Schwer"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:551
+#: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
 msgstr "Horizontaler Abstand"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:552
+#: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
 msgstr "Beschreibt wie eng Zeichen horizontal angeordnet sind"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:556
+#: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
 msgstr "Vertikaler Abstand"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:557
+#: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
 msgstr "Beschreibt wie eng Textzeilen vertikal angeordnet sind"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:561
-#: src/modules/lyr_std/shade.cpp:570 src/modules/lyr_std/xorpattern.cpp:129
-#: src/modules/mod_filter/blur.cpp:372
+#: src/modules/lyr_freetype/lyr_freetype.cpp:613
+#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:413
 #: src/modules/mod_filter/radialblur.cpp:115
-#: src/modules/mod_geometry/checkerboard.cpp:130
-#: src/modules/mod_noise/distort.cpp:222 src/modules/mod_noise/noise.cpp:267
+#: src/modules/mod_geometry/checkerboard.cpp:154
+#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
 msgstr "Größe"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:562
+#: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
 msgstr "Größe des Textes"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:569
+#: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
 msgstr "Ausrichtung"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:570
+#: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
 msgstr "Text Ausrichtung"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/insideout.cpp:143 src/modules/lyr_std/rotate.cpp:116
-#: src/modules/lyr_std/shade.cpp:567 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:389
-#: src/modules/lyr_std/xorpattern.cpp:125 src/modules/lyr_std/zoom.cpp:104
+#: src/modules/lyr_freetype/lyr_freetype.cpp:627
+#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
+#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
+#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
-#: src/modules/mod_geometry/checkerboard.cpp:126
-#: src/modules/mod_geometry/circle.cpp:143
-#: src/modules/mod_gradient/curvegradient.cpp:537
-#: src/modules/mod_particle/plant.cpp:398 src/synfig/layer_pastecanvas.cpp:133
-#: src/synfig/layer_shape.cpp:1197 src/synfig/valuenode_composite.cpp:518
+#: src/modules/mod_geometry/checkerboard.cpp:150
+#: src/modules/mod_geometry/circle.cpp:161
+#: src/modules/mod_gradient/curvegradient.cpp:550
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
+#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
 msgid "Origin"
 msgstr "Ursprung"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:576
+#: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
 msgstr "Text Position"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:580
+#: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
 msgstr "Schriftart"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:581
+#: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
 msgstr "Dateiname der zu benutzenden Schriftart"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:588
+#: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
 msgstr "Unterschneiden (kerning)"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:589
+#: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
 msgstr ""
 "Schaltet Unterschneiden (kerning) an/aus (falls die Schriftart es "
 "unterstützt)"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
 msgstr "Ecken schärfen"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:594
+#: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
 msgstr "Dies ausschalten, wenn der Text animiert werden soll"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:597
-#: src/modules/lyr_std/shade.cpp:587 src/modules/mod_geometry/circle.cpp:147
-#: src/synfig/layer_shape.cpp:1200
+#: src/modules/lyr_freetype/lyr_freetype.cpp:649
+#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1228
 msgid "Invert"
 msgstr "Umkehren"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:654
+#: src/modules/lyr_freetype/lyr_freetype.cpp:714
 msgid "No face loaded, no text will be rendered."
 msgstr "Kein Zeichensatz geladen, es wird kein Text gerendert."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:680
+#: src/modules/lyr_freetype/lyr_freetype.cpp:740
 msgid "Text too small, no text will be rendered."
 msgstr "Text zu klein wird nicht gerendert"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:704
+#: src/modules/lyr_freetype/lyr_freetype.cpp:764
 msgid "Unable to set face size."
 msgstr "Zeichensatzgröße kann nicht gesetzt werden."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:747
+#: src/modules/lyr_freetype/lyr_freetype.cpp:807
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr "Ungültige multibyte Folge - ist die Locale gesetzt?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:754
+#: src/modules/lyr_freetype/lyr_freetype.cpp:814
 msgid "Can't parse multibyte character.\n"
 msgstr "Kann multibyte Zeichen nicht parsen.\n"
 
-#: src/modules/lyr_std/bevel.cpp:69 src/modules/lyr_std/shade.cpp:68
+#: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "Stilisieren"
 
-#: src/modules/lyr_std/bevel.cpp:570 src/modules/lyr_std/shade.cpp:576
-#: src/modules/mod_filter/blur.cpp:376
-#: src/modules/mod_filter/halftone2.cpp:170
+#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
+#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Typ"
 
-#: src/modules/lyr_std/bevel.cpp:571 src/modules/lyr_std/shade.cpp:577
-#: src/modules/mod_filter/blur.cpp:377
+#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
+#: src/modules/mod_filter/blur.cpp:418
 msgid "Type of blur to use"
 msgstr "Typ Unschärfe, die benutzt wird"
 
-#: src/modules/lyr_std/bevel.cpp:573 src/modules/lyr_std/shade.cpp:579
-#: src/modules/mod_filter/blur.cpp:379 src/synfig/layer_shape.cpp:1213
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
 msgid "Box Blur"
 msgstr "Box Unschärfe"
 
-#: src/modules/lyr_std/bevel.cpp:574 src/modules/lyr_std/shade.cpp:580
-#: src/modules/mod_filter/blur.cpp:380 src/synfig/layer_shape.cpp:1214
+#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
+#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
 msgid "Fast Gaussian Blur"
 msgstr "Schnelle Gausssche Unschärfe"
 
-#: src/modules/lyr_std/bevel.cpp:575 src/modules/lyr_std/shade.cpp:581
-#: src/modules/mod_filter/blur.cpp:381 src/synfig/layer_shape.cpp:1215
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
 msgid "Cross-Hatch Blur"
 msgstr "Cross-Hatch Unschärfe"
 
-#: src/modules/lyr_std/bevel.cpp:576 src/modules/lyr_std/shade.cpp:582
-#: src/modules/mod_filter/blur.cpp:382 src/synfig/layer_shape.cpp:1216
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
 msgid "Gaussian Blur"
 msgstr "Gausssche Unschärfe"
 
-#: src/modules/lyr_std/bevel.cpp:577 src/modules/lyr_std/shade.cpp:583
-#: src/modules/mod_filter/blur.cpp:383 src/synfig/layer_shape.cpp:1217
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
 msgid "Disc Blur"
 msgstr "Disc Unschärfe"
 
-#: src/modules/lyr_std/bevel.cpp:581
+#: src/modules/lyr_std/bevel.cpp:635
 msgid "Hi-Color"
 msgstr "Helle Farbe"
 
-#: src/modules/lyr_std/bevel.cpp:584
+#: src/modules/lyr_std/bevel.cpp:638
 msgid "Lo-Color"
 msgstr "Dunkle Farbe"
 
-#: src/modules/lyr_std/bevel.cpp:587
+#: src/modules/lyr_std/bevel.cpp:641
 msgid "Light Angle"
 msgstr "Lichteinfallwinkel"
 
-#: src/modules/lyr_std/bevel.cpp:591
+#: src/modules/lyr_std/bevel.cpp:645
 msgid "Depth of Bevel"
 msgstr "Breite der Schräge"
 
-#: src/modules/lyr_std/bevel.cpp:595
+#: src/modules/lyr_std/bevel.cpp:649
 msgid "Softness"
 msgstr "Weichheit"
 
-#: src/modules/lyr_std/bevel.cpp:598
+#: src/modules/lyr_std/bevel.cpp:652
 msgid "Use Luma"
 msgstr "Benutze Luminanz"
 
-#: src/modules/lyr_std/bevel.cpp:601
+#: src/modules/lyr_std/bevel.cpp:655
 msgid "Solid"
 msgstr "Ganz"
 
-#: src/modules/lyr_std/booleancurve.cpp:104
+#: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
 msgstr "Regionenmenge"
 
-#: src/modules/lyr_std/booleancurve.cpp:105
+#: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
 msgstr "Zu kombinierende Regionenmenge"
 
@@ -436,38 +435,38 @@ msgstr "Zu kombinierende Regionenmenge"
 msgid "Clamp"
 msgstr "Klammer"
 
-#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:56
-#: src/modules/mod_filter/halftone2.cpp:59
-#: src/modules/mod_filter/halftone3.cpp:59
-#: src/modules/mod_filter/lumakey.cpp:59
+#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:57
+#: src/modules/mod_filter/halftone2.cpp:60
+#: src/modules/mod_filter/halftone3.cpp:60
+#: src/modules/mod_filter/lumakey.cpp:60
 msgid "Filters"
 msgstr "Filter"
 
-#: src/modules/lyr_std/clamp.cpp:158
+#: src/modules/lyr_std/clamp.cpp:162
 msgid "Invert Negative"
 msgstr "Negativ umkehren"
 
-#: src/modules/lyr_std/clamp.cpp:162
+#: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
 msgstr "Klammer Deckenwert"
 
-#: src/modules/lyr_std/clamp.cpp:163
+#: src/modules/lyr_std/clamp.cpp:167
 msgid "When checked the Ceiling value is used"
 msgstr "Deckenwert verwenden?"
 
-#: src/modules/lyr_std/clamp.cpp:167
+#: src/modules/lyr_std/clamp.cpp:171
 msgid "Ceiling"
 msgstr "Decke"
 
-#: src/modules/lyr_std/clamp.cpp:168
+#: src/modules/lyr_std/clamp.cpp:172
 msgid "Upper boundary of the clamping"
 msgstr "Obere Grenze für Klammer"
 
-#: src/modules/lyr_std/clamp.cpp:172
+#: src/modules/lyr_std/clamp.cpp:176
 msgid "Floor"
 msgstr "Boden"
 
-#: src/modules/lyr_std/clamp.cpp:173
+#: src/modules/lyr_std/clamp.cpp:177
 msgid "Lower boundary of the clamping"
 msgstr "Untere Grenze für Klamer"
 
@@ -475,24 +474,24 @@ msgstr "Untere Grenze für Klamer"
 msgid "Import Image"
 msgstr "Bild importieren"
 
-#: src/modules/lyr_std/import.cpp:151 src/modules/lyr_std/import.cpp:201
+#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr "Dateiname ist bereits \"%s\" (%s)"
 
-#: src/modules/lyr_std/import.cpp:283
+#: src/modules/lyr_std/import.cpp:293
 msgid "Filename"
 msgstr "Dateiname"
 
-#: src/modules/lyr_std/import.cpp:284
+#: src/modules/lyr_std/import.cpp:294
 msgid "File to import"
 msgstr "zu importierende Datei"
 
-#: src/modules/lyr_std/import.cpp:288 src/synfig/layer_pastecanvas.cpp:146
+#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
 msgid "Time Offset"
 msgstr "Zeitversatz (Offset)"
 
-#: src/modules/lyr_std/import.cpp:289
+#: src/modules/lyr_std/import.cpp:299
 msgid "Time Offset to apply to the imported file"
 msgstr "Bei der Importdatei anzuwendende Zeitverschiebung"
 
@@ -501,14 +500,14 @@ msgid "Inside Out"
 msgstr "Umkehr"
 
 #: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:75
 #: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:57 src/modules/lyr_std/curvewarp.cpp:56
-#: src/modules/mod_noise/distort.cpp:58
+#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
+#: src/modules/mod_noise/distort.cpp:59
 msgid "Distortions"
 msgstr "Störungen"
 
-#: src/modules/lyr_std/insideout.cpp:144
+#: src/modules/lyr_std/insideout.cpp:163
 msgid "Defines the where the center will be"
 msgstr "Definiert wo der Mittelpunkt sein wird"
 
@@ -520,97 +519,97 @@ msgstr "Julia Menge"
 msgid "Fractals"
 msgstr "Fraktale"
 
-#: src/modules/lyr_std/julia.cpp:309
+#: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
 msgstr "Farbe innen"
 
-#: src/modules/lyr_std/julia.cpp:310
+#: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
 msgstr "Farbe der Menge"
 
-#: src/modules/lyr_std/julia.cpp:313
+#: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
 msgstr "Farbe außen"
 
-#: src/modules/lyr_std/julia.cpp:314
+#: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
 msgstr "Farbe außerhalb der Menge"
 
-#: src/modules/lyr_std/julia.cpp:317
+#: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
 msgstr "Farbverschiebung"
 
-#: src/modules/lyr_std/julia.cpp:320 src/modules/lyr_std/mandelbrot.cpp:223
+#: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
 msgstr "Iterationen"
 
-#: src/modules/lyr_std/julia.cpp:323
+#: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
 msgstr "Saatpunkt"
 
-#: src/modules/lyr_std/julia.cpp:326 src/modules/lyr_std/mandelbrot.cpp:226
+#: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
 msgstr "Datenbasis retten"
 
-#: src/modules/lyr_std/julia.cpp:330 src/modules/lyr_std/mandelbrot.cpp:236
+#: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
 msgstr "Verzerren innen"
 
-#: src/modules/lyr_std/julia.cpp:333 src/modules/lyr_std/mandelbrot.cpp:240
+#: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
 msgstr "Schattieren innen"
 
-#: src/modules/lyr_std/julia.cpp:336 src/modules/lyr_std/mandelbrot.cpp:244
+#: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
 msgstr "Solid innen"
 
-#: src/modules/lyr_std/julia.cpp:339 src/modules/lyr_std/mandelbrot.cpp:248
+#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
 msgstr "Umkehren innen"
 
-#: src/modules/lyr_std/julia.cpp:342
+#: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
 msgstr "Farbe innen"
 
-#: src/modules/lyr_std/julia.cpp:345 src/modules/lyr_std/mandelbrot.cpp:265
+#: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
 msgstr "Verzerren außen"
 
-#: src/modules/lyr_std/julia.cpp:348 src/modules/lyr_std/mandelbrot.cpp:269
+#: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
 msgstr "Schattieren außen"
 
-#: src/modules/lyr_std/julia.cpp:351 src/modules/lyr_std/mandelbrot.cpp:273
+#: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
 msgstr "Solid außen"
 
-#: src/modules/lyr_std/julia.cpp:354 src/modules/lyr_std/mandelbrot.cpp:277
+#: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
 msgstr "Umkehren außen"
 
-#: src/modules/lyr_std/julia.cpp:357
+#: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
 msgstr "Farbe außen"
 
-#: src/modules/lyr_std/julia.cpp:361
+#: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
 msgstr "Farbcyclus"
 
-#: src/modules/lyr_std/julia.cpp:364 src/modules/lyr_std/mandelbrot.cpp:285
+#: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
 msgstr "Glätten außen"
 
-#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:286
+#: src/modules/lyr_std/julia.cpp:391 src/modules/lyr_std/mandelbrot.cpp:282
 msgid "Smooth the coloration outside the set"
 msgstr "Glätte der Färbung außerhalb der Menge"
 
-#: src/modules/lyr_std/julia.cpp:368 src/modules/lyr_std/mandelbrot.cpp:230
+#: src/modules/lyr_std/julia.cpp:394 src/modules/lyr_std/mandelbrot.cpp:226
 msgid "Break Set"
 msgstr "Break Set"
 
-#: src/modules/lyr_std/julia.cpp:369 src/modules/lyr_std/mandelbrot.cpp:231
+#: src/modules/lyr_std/julia.cpp:395 src/modules/lyr_std/mandelbrot.cpp:227
 msgid "Modify equation to achieve interesting results"
 msgstr "Die Gleichung modifizieren um interessante Ergebnisse zu bekommen"
 
@@ -618,48 +617,48 @@ msgstr "Die Gleichung modifizieren um interessante Ergebnisse zu bekommen"
 msgid "Mandelbrot Set"
 msgstr "Mandelbrot Menge"
 
+#: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
 #: src/modules/lyr_std/mandelbrot.cpp:241
 #: src/modules/lyr_std/mandelbrot.cpp:245
 #: src/modules/lyr_std/mandelbrot.cpp:249
 #: src/modules/lyr_std/mandelbrot.cpp:253
 #: src/modules/lyr_std/mandelbrot.cpp:257
-#: src/modules/lyr_std/mandelbrot.cpp:261
 msgid "Inside"
 msgstr "Innen"
 
-#: src/modules/lyr_std/mandelbrot.cpp:252
+#: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
 msgstr "Verlauf innen"
 
-#: src/modules/lyr_std/mandelbrot.cpp:256
+#: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
 msgstr "Versatz innen"
 
-#: src/modules/lyr_std/mandelbrot.cpp:260
+#: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
 msgstr "Schleife innen"
 
+#: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
 #: src/modules/lyr_std/mandelbrot.cpp:270
 #: src/modules/lyr_std/mandelbrot.cpp:274
 #: src/modules/lyr_std/mandelbrot.cpp:278
-#: src/modules/lyr_std/mandelbrot.cpp:282
+#: src/modules/lyr_std/mandelbrot.cpp:283
 #: src/modules/lyr_std/mandelbrot.cpp:287
 #: src/modules/lyr_std/mandelbrot.cpp:291
-#: src/modules/lyr_std/mandelbrot.cpp:295
 msgid "Outside"
 msgstr "Außen"
 
-#: src/modules/lyr_std/mandelbrot.cpp:281
+#: src/modules/lyr_std/mandelbrot.cpp:277
 msgid "Gradient outside"
 msgstr "Verlauf außen"
 
-#: src/modules/lyr_std/mandelbrot.cpp:290
+#: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
 msgstr "Versatz außen"
 
-#: src/modules/lyr_std/mandelbrot.cpp:294
+#: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
 msgstr "Verlauf außen"
 
@@ -672,16 +671,16 @@ msgstr "Rotieren"
 msgid "Transform"
 msgstr "Transformieren"
 
-#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/translate.cpp:101
+#: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:134
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr "Stelle an der Sie den Ursprung haben wollen"
 
-#: src/modules/lyr_std/rotate.cpp:121
-#: src/modules/lyr_std/sphere_distort.cpp:158
+#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:217
+#: src/synfig/layer_composite.cpp:249
 #: src/synfig/valuenode_blinecalctangent.cpp:251
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
@@ -690,61 +689,61 @@ msgstr "Stelle an der Sie den Ursprung haben wollen"
 msgid "Amount"
 msgstr "Menge"
 
-#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
 msgstr "Rotationsweite"
 
-#: src/modules/lyr_std/shade.cpp:67
+#: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
 msgstr "Schatten"
 
-#: src/modules/lyr_std/shade.cpp:571
+#: src/modules/lyr_std/shade.cpp:627
 msgid "Size of Shade"
 msgstr "Größe des Schattens"
 
-#: src/modules/lyr_std/sphere_distort.cpp:73
-#: src/modules/lyr_std/sphere_distort.cpp:172
+#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:167
 msgid "Spherize"
 msgstr "Spherize"
 
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/synfig/valuenode_composite.cpp:536
+#: src/modules/lyr_std/sphere_distort.cpp:141
+#: src/synfig/valuenode_composite.cpp:546
 msgid "Position"
 msgstr "Position"
 
-#: src/modules/lyr_std/sphere_distort.cpp:147
+#: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
 msgstr "Mittelpunkt der Sphere Verzerrung"
 
-#: src/modules/lyr_std/sphere_distort.cpp:154
+#: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr "Grüße der Sphere Verzerrung"
 
-#: src/modules/lyr_std/sphere_distort.cpp:160
+#: src/modules/lyr_std/sphere_distort.cpp:155
 msgid "The distortion intensity (negative values inverts effect)"
 msgstr "Verzerrungs Intensität (negativ = invertiert)"
 
-#: src/modules/lyr_std/sphere_distort.cpp:164 src/modules/lyr_std/warp.cpp:409
+#: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
 msgstr "Clip"
 
-#: src/modules/lyr_std/sphere_distort.cpp:165
+#: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
 msgstr "Bereich außerhalb des Radius nicht verzerrt?"
 
-#: src/modules/lyr_std/sphere_distort.cpp:169
+#: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
 msgstr "Verzerrung Typ"
 
-#: src/modules/lyr_std/sphere_distort.cpp:170
+#: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
 msgstr "Richtung der Verzerrung"
 
-#: src/modules/lyr_std/sphere_distort.cpp:173
+#: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
 msgstr "Vertikaler Balken"
 
-#: src/modules/lyr_std/sphere_distort.cpp:174
+#: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
 msgstr "Horizontaler Balken"
 
@@ -764,104 +763,104 @@ msgstr "Mittelpunkt des Ziehens"
 msgid "Stroboscope"
 msgstr "Stroboskop"
 
-#: src/modules/lyr_std/stroboscope.cpp:102
+#: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
 msgstr "Frequenz"
 
-#: src/modules/lyr_std/stroboscope.cpp:103
+#: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
 msgstr "Frequenz des Stroboskops in 1/Sekunde"
 
-#: src/modules/lyr_std/supersample.cpp:56
+#: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
 msgstr "Super Sample"
 
-#: src/modules/lyr_std/supersample.cpp:129
+#: src/modules/lyr_std/supersample.cpp:146
 msgid "Unable to create SurfaceTarget"
 msgstr "Oberflächenziel kann nicht erstellt werden"
 
-#: src/modules/lyr_std/supersample.cpp:290
-#: src/modules/lyr_std/curvewarp.cpp:393
-#: src/modules/mod_gradient/curvegradient.cpp:542
-#: src/synfig/valuenode_composite.cpp:514
-#: src/synfig/valuenode_composite.cpp:540
+#: src/modules/lyr_std/supersample.cpp:337
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_composite.cpp:524
+#: src/synfig/valuenode_composite.cpp:550
 #: src/synfig/valuenode_realstring.cpp:180
 #: src/synfig/valuenode_repeat_gradient.cpp:213
 #: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
 msgid "Width"
 msgstr "Weite"
 
-#: src/modules/lyr_std/supersample.cpp:291
+#: src/modules/lyr_std/supersample.cpp:338
 msgid "Width of sample area (In pixels)"
 msgstr "Breite des Abtastbereichs (in Pixel)"
 
-#: src/modules/lyr_std/supersample.cpp:294 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
 msgid "Height"
 msgstr "Höhe"
 
-#: src/modules/lyr_std/supersample.cpp:295
+#: src/modules/lyr_std/supersample.cpp:342
 msgid "Height of sample area (In pixels)"
 msgstr "Höhe des Abtastbereichs (in Pixel)"
 
-#: src/modules/lyr_std/supersample.cpp:298
+#: src/modules/lyr_std/supersample.cpp:345
 msgid "Use Parametric"
 msgstr "parametrisch benutzen"
 
-#: src/modules/lyr_std/supersample.cpp:299
+#: src/modules/lyr_std/supersample.cpp:346
 msgid "Use the Parametric Renderer"
 msgstr "Benutzung des parametrischen Renderers"
 
-#: src/modules/lyr_std/supersample.cpp:302
+#: src/modules/lyr_std/supersample.cpp:349
 msgid "Be Alpha Safe"
 msgstr "Alpha sichern"
 
-#: src/modules/lyr_std/supersample.cpp:303
+#: src/modules/lyr_std/supersample.cpp:350
 msgid "Avoid alpha artifacts when checked"
 msgstr "Alpha Artefakte vermeiden? "
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:166
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr "Zeitschleife"
 
-#: src/modules/lyr_std/timeloop.cpp:124 src/synfig/valuenode_timeloop.cpp:179
+#: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
 msgstr "Verknüpfungs Zeit"
 
-#: src/modules/lyr_std/timeloop.cpp:125
+#: src/modules/lyr_std/timeloop.cpp:134
 msgid "Start time of the loop for the cycled context"
 msgstr "Startzeit der Schleife für die Wiederholung"
 
-#: src/modules/lyr_std/timeloop.cpp:129 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr "Lokale Zeit"
 
-#: src/modules/lyr_std/timeloop.cpp:130 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr "Zeit wann die resultierende Schleife startet"
 
-#: src/modules/lyr_std/timeloop.cpp:134 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr "Dauer"
 
-#: src/modules/lyr_std/timeloop.cpp:135 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
 msgid "Lenght of the loop"
 msgstr "Länge der Schleife"
 
-#: src/modules/lyr_std/timeloop.cpp:139
+#: src/modules/lyr_std/timeloop.cpp:148
 msgid "Only For Positive Duration"
 msgstr "Nur für positive Dauer"
 
-#: src/modules/lyr_std/timeloop.cpp:140
+#: src/modules/lyr_std/timeloop.cpp:149
 msgid "When checked will loop only positive durations"
 msgstr "nur positive Dauer der Schleife?"
 
-#: src/modules/lyr_std/timeloop.cpp:144
+#: src/modules/lyr_std/timeloop.cpp:153
 msgid "Symmetrical"
 msgstr "Symetrisch"
 
-#: src/modules/lyr_std/timeloop.cpp:145
+#: src/modules/lyr_std/timeloop.cpp:154
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr "Schleifen werden zur lokalen Zeit gespiegelt"
 
@@ -889,115 +888,115 @@ msgstr "Verzerrung innerhalb des Kreises?"
 msgid "When checked, distorts outside the circle"
 msgstr "Verzerrung außerhalb des Kreises?"
 
-#: src/modules/lyr_std/warp.cpp:56
+#: src/modules/lyr_std/warp.cpp:57
 msgid "Warp"
 msgstr "Verwinden"
 
-#: src/modules/lyr_std/warp.cpp:374
+#: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
 msgstr "Quelle OL"
 
-#: src/modules/lyr_std/warp.cpp:376
+#: src/modules/lyr_std/warp.cpp:382
 msgid "Top Left corner of the source to warp"
 msgstr "Linke obere Ecke der Verwindungsquelle"
 
-#: src/modules/lyr_std/warp.cpp:380
+#: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
 msgstr "Quelle UR"
 
-#: src/modules/lyr_std/warp.cpp:381
+#: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
 msgstr "Rechte untere Ecke der Verwindungsquelle"
 
-#: src/modules/lyr_std/warp.cpp:385
+#: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
 msgstr "Ziel OL"
 
-#: src/modules/lyr_std/warp.cpp:387
+#: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
 msgstr "obere linke Ecke des Ziels"
 
-#: src/modules/lyr_std/warp.cpp:391
+#: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
 msgstr "Ziel OR"
 
-#: src/modules/lyr_std/warp.cpp:393
+#: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
 msgstr "obere rechte Ecke des Ziels"
 
-#: src/modules/lyr_std/warp.cpp:397
+#: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
 msgstr "Ziel UR"
 
-#: src/modules/lyr_std/warp.cpp:399
+#: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
 msgstr "untere rechte Ecke des Ziels"
 
-#: src/modules/lyr_std/warp.cpp:403
+#: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
 msgstr "Ziel UL"
 
-#: src/modules/lyr_std/warp.cpp:405
+#: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
 msgstr "untere linke Ecke des Ziels"
 
-#: src/modules/lyr_std/warp.cpp:413
+#: src/modules/lyr_std/warp.cpp:419
 msgid "Horizon"
 msgstr "Horizont"
 
-#: src/modules/lyr_std/warp.cpp:414
+#: src/modules/lyr_std/warp.cpp:420
 msgid "Height that determines the horizon in perspectives"
 msgstr "Höhe für den Horizont in Perspektiven"
 
-#: src/modules/lyr_std/curvewarp.cpp:55
+#: src/modules/lyr_std/curvewarp.cpp:56
 msgid "Curve Warp"
 msgstr "Linie verwinden"
 
-#: src/modules/lyr_std/curvewarp.cpp:390
-msgid "Position of the source line"
-msgstr "Position der Ausgangslinie"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:395
+#: src/modules/lyr_std/curvewarp.cpp:404
 msgid "How much is expanded the result perpendicular to the source line"
 msgstr "Erweiterung senkrecht zur Quelllinie"
 
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:407
 msgid "Start Point"
 msgstr "Startpunkt"
 
-#: src/modules/lyr_std/curvewarp.cpp:400
+#: src/modules/lyr_std/curvewarp.cpp:409
 msgid "First point of the source line"
 msgstr "Startpunkt der Ausgangslinie"
 
-#: src/modules/lyr_std/curvewarp.cpp:403
+#: src/modules/lyr_std/curvewarp.cpp:412
 msgid "End Point"
 msgstr "Endpunkt"
 
-#: src/modules/lyr_std/curvewarp.cpp:404
+#: src/modules/lyr_std/curvewarp.cpp:413
 msgid "Final point of the source line"
 msgstr "Endpunkt der Ausgangslinie"
 
-#: src/modules/lyr_std/curvewarp.cpp:407
-#: src/modules/mod_geometry/advanced_outline.cpp:1123
-#: src/modules/mod_geometry/outline.cpp:814
-#: src/modules/mod_geometry/region.cpp:233
-#: src/modules/mod_gradient/curvegradient.cpp:546
-#: src/modules/mod_particle/plant.cpp:391
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
 msgid "Vertices"
 msgstr "Eckpunkt"
 
-#: src/modules/lyr_std/curvewarp.cpp:410
+#: src/modules/lyr_std/curvewarp.cpp:419
 msgid "List of Spline Points where the source line is curved to"
 msgstr "Liste des Spline Punkte zur Biegung der Quellline"
 
-#: src/modules/lyr_std/curvewarp.cpp:413
-#: src/modules/mod_geometry/advanced_outline.cpp:1178
-#: src/modules/mod_gradient/curvegradient.cpp:567
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
 msgid "Fast"
 msgstr "Schnell"
 
-#: src/modules/lyr_std/curvewarp.cpp:414
-#: src/modules/mod_gradient/curvegradient.cpp:568
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
 msgid "When checked, renders quickly but with artifacts"
 msgstr "wenn gesetzt: schnelles Rendern, aber mit Artefakten"
 
@@ -1005,15 +1004,15 @@ msgstr "wenn gesetzt: schnelles Rendern, aber mit Artefakten"
 msgid "XOR Pattern"
 msgstr "XOR Muster"
 
-#: src/modules/lyr_std/xorpattern.cpp:126
+#: src/modules/lyr_std/xorpattern.cpp:130
 msgid "Center of the pattern"
 msgstr "Mittelpunkt des Musters"
 
-#: src/modules/lyr_std/xorpattern.cpp:130
+#: src/modules/lyr_std/xorpattern.cpp:134
 msgid "Size of the pattern"
 msgstr "Größe des Musters"
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:143
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
 #: src/synfig/valuenode_blinecalctangent.cpp:261
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
 #: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
@@ -1024,7 +1023,7 @@ msgstr "Maßstab"
 msgid "Amount to scale to"
 msgstr "Skaliert zu diesem Wert"
 
-#: src/modules/lyr_std/zoom.cpp:105
+#: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
 msgstr "Skaliert ab diesem Punkt"
 
@@ -1042,22 +1041,22 @@ msgstr "%s ist nicht im BMP Format"
 #: src/modules/mod_bmp/mptr_bmp.cpp:150
 #, c-format
 msgid "Failure while reading BITMAPFILEHEADER from %s"
-msgstr "Fehler beim Lesen des BITMAPFILEHEADER von %s"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:158
 #, c-format
 msgid "Failure while reading BITMAPINFOHEADER from %s"
-msgstr "Fehler beim Lesen des BITMAPINFOHEADER von %s"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:168
 #, c-format
 msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
-msgstr "Ungültiger BITMAPFILEHEADER in %s. (bfOffsetBits=%d, sollte %d sein)"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:176
 #, c-format
 msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
-msgstr "Ungültiger BITMAPINFOHEADER in %s. (biSize=%d, sollte 40 sein)"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
 msgid "Reading compressed bitmaps is not supported"
@@ -1092,126 +1091,143 @@ msgstr "Info Header kann nicht geschrieben werden "
 msgid "Unable to open pipe to encodedv"
 msgstr "Pipe zu encodedv kann nicht geöffnet werden"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:201
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:208
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:218
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:272
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-msgid "Unable to open pipe to ffmpeg"
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:214
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no pipe)"
+msgstr "Pipe zu ffmpeg kann nicht geöffnet werden"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:221
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (pid == -1)"
+msgstr "Pipe zu ffmpeg kann nicht geöffnet werden"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:231
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
+msgstr "Pipe zu ffmpeg kann nicht geöffnet werden"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:285
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (exec failed)"
+msgstr "Pipe zu ffmpeg kann nicht geöffnet werden"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:303
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no file)"
 msgstr "Pipe zu ffmpeg kann nicht geöffnet werden"
 
-#: src/modules/mod_filter/blur.cpp:68
+#: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
 msgstr "Unschärfe"
 
-#: src/modules/mod_filter/blur.cpp:69 src/modules/mod_filter/radialblur.cpp:56
+#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
 #: src/synfig/layer_motionblur.cpp:57
 msgid "Blurs"
 msgstr "Unschärfen"
 
-#: src/modules/mod_filter/blur.cpp:373
+#: src/modules/mod_filter/blur.cpp:414
 msgid "Size of Blur"
 msgstr "Größe der Unschärfe"
 
-#: src/modules/mod_filter/colorcorrect.cpp:55
+#: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
 msgstr "Farbanpassung (Color)"
 
-#: src/modules/mod_filter/colorcorrect.cpp:211
+#: src/modules/mod_filter/colorcorrect.cpp:217
 msgid "Hue Adjust"
 msgstr "Farbtonanpassung (Hue)"
 
-#: src/modules/mod_filter/colorcorrect.cpp:215
+#: src/modules/mod_filter/colorcorrect.cpp:221
 msgid "Brightness"
 msgstr "Helligkeit (Brightness)"
 
-#: src/modules/mod_filter/colorcorrect.cpp:219
+#: src/modules/mod_filter/colorcorrect.cpp:225
 msgid "Contrast"
 msgstr "Kontrast"
 
-#: src/modules/mod_filter/colorcorrect.cpp:223
+#: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
 msgstr "Belichtungsanpssung"
 
-#: src/modules/mod_filter/colorcorrect.cpp:227 src/synfig/layer_bitmap.cpp:179
+#: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
 msgstr "Gamma-Anpassung"
 
-#: src/modules/mod_filter/halftone2.cpp:58
+#: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
 msgstr "Halbton 2"
 
-#: src/modules/mod_filter/halftone2.cpp:151
+#: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
 msgstr "Masken Ursprung"
 
-#: src/modules/mod_filter/halftone2.cpp:155
+#: src/modules/mod_filter/halftone2.cpp:159
 msgid "Mask Angle"
 msgstr "Masken Winkel"
 
-#: src/modules/mod_filter/halftone2.cpp:159
-#: src/modules/mod_filter/halftone3.cpp:309
+#: src/modules/mod_filter/halftone2.cpp:163
+#: src/modules/mod_filter/halftone3.cpp:328
 msgid "Mask Size"
 msgstr "Masken Größe"
 
-#: src/modules/mod_filter/halftone2.cpp:164
+#: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
 msgstr "Helle Farbe"
 
-#: src/modules/mod_filter/halftone2.cpp:167
+#: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
 msgstr "Dunkle Farbe"
 
-#: src/modules/mod_filter/halftone2.cpp:172
-#: src/modules/mod_filter/halftone3.cpp:314
+#: src/modules/mod_filter/halftone2.cpp:176
+#: src/modules/mod_filter/halftone3.cpp:333
 #: src/modules/mod_gradient/conicalgradient.cpp:125
 msgid "Symmetric"
 msgstr "Symetrisch"
 
-#: src/modules/mod_filter/halftone2.cpp:173
-#: src/modules/mod_filter/halftone3.cpp:315
+#: src/modules/mod_filter/halftone2.cpp:177
+#: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
 msgstr "Hell auf Dunkel"
 
-#: src/modules/mod_filter/halftone2.cpp:175
-#: src/modules/mod_filter/halftone3.cpp:317
+#: src/modules/mod_filter/halftone2.cpp:179
+#: src/modules/mod_filter/halftone3.cpp:336
 msgid "Diamond"
 msgstr "Diamond"
 
-#: src/modules/mod_filter/halftone2.cpp:176
-#: src/modules/mod_filter/halftone3.cpp:318
+#: src/modules/mod_filter/halftone2.cpp:180
+#: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
 msgstr "Streifen"
 
-#: src/modules/mod_filter/halftone3.cpp:58
+#: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
 msgstr "Halbton 3"
 
-#: src/modules/mod_filter/halftone3.cpp:312
+#: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
 msgstr " Typ"
 
-#: src/modules/mod_filter/halftone3.cpp:321
+#: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
 msgstr "Subtraktions Kennzeichen"
 
-#: src/modules/mod_filter/halftone3.cpp:329
+#: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
 msgstr " Farbe"
 
-#: src/modules/mod_filter/halftone3.cpp:333
+#: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
 msgstr " Masken Ursprung"
 
-#: src/modules/mod_filter/halftone3.cpp:337
+#: src/modules/mod_filter/halftone3.cpp:356
 msgid " Mask Angle"
 msgstr " Masken Winkel"
 
-#: src/modules/mod_filter/lumakey.cpp:58
+#: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
 msgstr "Luminiszenz Schlüssel"
 
-#: src/modules/mod_filter/radialblur.cpp:55
+#: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
 msgstr "Radiale Unschärfe"
 
@@ -1233,19 +1249,19 @@ msgstr "Hintergrundmuster (checkerboard)"
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:62 src/synfig/layer_solidcolor.cpp:57
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
 msgstr "Geometrie"
 
-#: src/modules/mod_geometry/checkerboard.cpp:123
+#: src/modules/mod_geometry/checkerboard.cpp:147
 msgid "Color of checkers"
 msgstr "Karo Farbe"
 
-#: src/modules/mod_geometry/checkerboard.cpp:127
+#: src/modules/mod_geometry/checkerboard.cpp:151
 msgid "Center of the checkers"
 msgstr "Karo Mittelpunkt"
 
-#: src/modules/mod_geometry/checkerboard.cpp:131
+#: src/modules/mod_geometry/checkerboard.cpp:155
 msgid "Size of checkers"
 msgstr "Karo Größe"
 
@@ -1253,54 +1269,54 @@ msgstr "Karo Größe"
 msgid "Circle"
 msgstr "Kreis"
 
-#: src/modules/mod_geometry/circle.cpp:134
+#: src/modules/mod_geometry/circle.cpp:152
 msgid "Radius of the circle"
 msgstr "Radius des Kreises"
 
-#: src/modules/mod_geometry/circle.cpp:138 src/synfig/layer_shape.cpp:1206
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
 msgid "Feather"
 msgstr "Schleier"
 
-#: src/modules/mod_geometry/circle.cpp:140
+#: src/modules/mod_geometry/circle.cpp:158
 msgid "Amount of feather of the circle"
 msgstr "Schleierstärke im Kreis"
 
-#: src/modules/mod_geometry/circle.cpp:148
+#: src/modules/mod_geometry/circle.cpp:166
 msgid "Invert the circle"
 msgstr "Kreis umkehren"
 
-#: src/modules/mod_geometry/circle.cpp:152
+#: src/modules/mod_geometry/circle.cpp:170
 msgid "Falloff"
 msgstr "Sinken"
 
-#: src/modules/mod_geometry/circle.cpp:153
+#: src/modules/mod_geometry/circle.cpp:171
 msgid "Determines the falloff function for the feather"
 msgstr "Legt die Sinkfunktion für Schleier festlegen"
 
-#: src/modules/mod_geometry/circle.cpp:155
-#: src/modules/mod_noise/distort.cpp:234 src/modules/mod_noise/noise.cpp:275
-#: src/modules/mod_noise/valuenode_random.cpp:288
-#: src/synfig/layer_bitmap.cpp:173 src/synfig/layer_motionblur.cpp:150
-#: src/synfig/valuenode.cpp:139 src/synfig/valuenode_linear.cpp:146
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:289
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
 msgid "Linear"
 msgstr "Linear"
 
-#: src/modules/mod_geometry/circle.cpp:156
+#: src/modules/mod_geometry/circle.cpp:174
 msgid "Squared"
 msgstr "Quadratisch"
 
-#: src/modules/mod_geometry/circle.cpp:157
+#: src/modules/mod_geometry/circle.cpp:175
 msgid "Square Root"
 msgstr "Quadratwurzel"
 
-#: src/modules/mod_geometry/circle.cpp:158
+#: src/modules/mod_geometry/circle.cpp:176
 msgid "Sigmond"
 msgstr "Sigmond"
 
-#: src/modules/mod_geometry/circle.cpp:159
-#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:276
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:174
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:290
+#: src/synfig/layer_bitmap.cpp:170
 msgid "Cosine"
 msgstr "Cosinus"
 
@@ -1308,160 +1324,160 @@ msgstr "Cosinus"
 msgid "Advanced Outline"
 msgstr "Erweiterte Umrandung"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:133
+#: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1125
-#: src/modules/mod_geometry/outline.cpp:817
-#: src/modules/mod_geometry/region.cpp:235
-#: src/modules/mod_gradient/curvegradient.cpp:549
-#: src/modules/mod_particle/plant.cpp:392
+#: src/modules/mod_geometry/advanced_outline.cpp:1136
+#: src/modules/mod_geometry/outline.cpp:826
+#: src/modules/mod_geometry/region.cpp:240
+#: src/modules/mod_gradient/curvegradient.cpp:562
+#: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
 msgstr "Liste der Spline Punkte"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1129
-#: src/modules/mod_geometry/outline.cpp:831
+#: src/modules/mod_geometry/advanced_outline.cpp:1140
+#: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
 msgstr "Umrandungsbreite"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1130
-#: src/modules/mod_geometry/outline.cpp:832
+#: src/modules/mod_geometry/advanced_outline.cpp:1141
+#: src/modules/mod_geometry/outline.cpp:841
 msgid "Global width of the outline"
 msgstr "Globale Umrandungsbreite"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:837
+#: src/modules/mod_geometry/advanced_outline.cpp:1145
+#: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
 msgstr "Erweitern"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1135
-#: src/modules/mod_geometry/outline.cpp:838
+#: src/modules/mod_geometry/advanced_outline.cpp:1146
+#: src/modules/mod_geometry/outline.cpp:847
 msgid "Value to add to the global width"
 msgstr "Steigerung der globalen Umrandungsbreite"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1138
+#: src/modules/mod_geometry/advanced_outline.cpp:1149
 msgid "Tip Type at Start"
 msgstr "Strichende am Anfang"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1139
+#: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1141
-#: src/modules/mod_geometry/advanced_outline.cpp:1150
-#: src/synfig/valuenode_composite.cpp:548
+#: src/modules/mod_geometry/advanced_outline.cpp:1152
+#: src/modules/mod_geometry/advanced_outline.cpp:1161
 #: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:587
-#: src/synfig/valuenode_composite.cpp:596
+#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:606
 msgid "Rounded Stop"
 msgstr "abgerundet"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1142
-#: src/modules/mod_geometry/advanced_outline.cpp:1151
-#: src/synfig/valuenode_composite.cpp:549
+#: src/modules/mod_geometry/advanced_outline.cpp:1153
+#: src/modules/mod_geometry/advanced_outline.cpp:1162
 #: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:588
-#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:607
 msgid "Squared Stop"
 msgstr "eckig"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1143
-#: src/modules/mod_geometry/advanced_outline.cpp:1152
-#: src/synfig/valuenode_composite.cpp:550
+#: src/modules/mod_geometry/advanced_outline.cpp:1154
+#: src/modules/mod_geometry/advanced_outline.cpp:1163
 #: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:570
+#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:608
 msgid "Peak Stop"
 msgstr "spitz"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1144
-#: src/modules/mod_geometry/advanced_outline.cpp:1153
-#: src/synfig/valuenode_composite.cpp:551
+#: src/modules/mod_geometry/advanced_outline.cpp:1155
+#: src/modules/mod_geometry/advanced_outline.cpp:1164
 #: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:590
-#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:571
+#: src/synfig/valuenode_composite.cpp:600
+#: src/synfig/valuenode_composite.cpp:609
 msgid "Flat Stop"
 msgstr "flach"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1147
+#: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
 msgstr "Strichende am Ende"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1148
+#: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1156
+#: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
 msgstr "Spitzentyp"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1157
-#: src/modules/mod_geometry/outline.cpp:843
+#: src/modules/mod_geometry/advanced_outline.cpp:1168
+#: src/modules/mod_geometry/outline.cpp:852
 msgid "Determines cusp type"
 msgstr "Wählt die Spitzenart"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1159
+#: src/modules/mod_geometry/advanced_outline.cpp:1170
 msgid "Sharp"
 msgstr "Scharf"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1160
+#: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
 msgstr "Gerundet"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1164
+#: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
 msgstr "Sanft"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1165
+#: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
 msgstr "Interpolation zwischen Breitenpunkten (0) Linear (1) Sanft"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1168
-#: src/modules/mod_geometry/outline.cpp:859
+#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/outline.cpp:869
 #: src/synfig/valuenode_blinecalctangent.cpp:271
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
 msgstr "Homogen"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1169
+#: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
+#: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
 msgstr "Breitenpunkt Liste"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1175
+#: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
 msgstr "Liste der Breitenpunkte für variable Breite"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
 msgstr "schnelles, aber ungenaues Rendern"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1182
+#: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
 msgstr "Gestrichelte Umrandung"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1184
+#: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
 msgstr "Gestrichelte Umrandung"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1187
+#: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
 msgstr "Strich Liste"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1190
+#: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
 msgstr "Liste der Striche für die gestrichelte Umrandung"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1193
+#: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
 msgstr "Strich Verschiebung"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1196
+#: src/modules/mod_geometry/advanced_outline.cpp:1207
 msgid "Distance to Offset the Dash Items"
 msgstr "Verschiebungsabstand Strich"
 
@@ -1469,32 +1485,36 @@ msgstr "Verschiebungsabstand Strich"
 msgid "Outline"
 msgstr "Umrandung"
 
-#: src/modules/mod_geometry/outline.cpp:183
+#: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
 msgstr "Keine Eckpunkte in der Kontur"
 
-#: src/modules/mod_geometry/outline.cpp:842
+#: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
 msgstr "Scharfe Spitze"
 
-#: src/modules/mod_geometry/outline.cpp:847
+#: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
 msgstr "Anfang gerundet"
 
-#: src/modules/mod_geometry/outline.cpp:848
-#: src/modules/mod_geometry/outline.cpp:853
+#: src/modules/mod_geometry/outline.cpp:857
+#: src/modules/mod_geometry/outline.cpp:862
 msgid "Round off the tip"
 msgstr "Spitze abrunden"
 
-#: src/modules/mod_geometry/outline.cpp:852
+#: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
 msgstr "Gerundete Enden"
 
-#: src/modules/mod_geometry/outline.cpp:856
+#: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
 msgstr "Loopyness"
 
-#: src/modules/mod_geometry/outline.cpp:860
+#: src/modules/mod_geometry/outline.cpp:866
+msgid "(Currently not used)"
+msgstr ""
+
+#: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
 msgstr "Länge der Spline zur Interpolation der Breite verwenden"
 
@@ -1502,11 +1522,11 @@ msgstr "Länge der Spline zur Interpolation der Breite verwenden"
 msgid "Rectangle"
 msgstr "Rechteck"
 
-#: src/modules/mod_geometry/rectangle.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
 msgstr "Wert erweitern"
 
-#: src/modules/mod_geometry/rectangle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
 msgstr "Rechteck umkehren"
 
@@ -1518,46 +1538,46 @@ msgstr "Region"
 msgid "Star"
 msgstr "Stern"
 
-#: src/modules/mod_geometry/star.cpp:183
+#: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
 msgstr "Äußerer Radius"
 
-#: src/modules/mod_geometry/star.cpp:184
+#: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
 msgstr "Der Radius der äußeren Punkte des Sterns"
 
-#: src/modules/mod_geometry/star.cpp:190
+#: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
 msgstr "Innerer Radius"
 
-#: src/modules/mod_geometry/star.cpp:191
+#: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
 msgstr "Der Radius der inneren Punkte des Sterns"
 
-#: src/modules/mod_geometry/star.cpp:197
+#: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:129
+#: src/modules/mod_gradient/spiralgradient.cpp:130
 #: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr "Winkel"
 
-#: src/modules/mod_geometry/star.cpp:198
+#: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr "Die Ausrichtung des Sterns"
 
-#: src/modules/mod_geometry/star.cpp:203 src/synfig/distance.cpp:251
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
 msgid "Points"
 msgstr "Punkte"
 
-#: src/modules/mod_geometry/star.cpp:204
+#: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
 msgstr "Die Anzahl der Punkte des Sterns"
 
-#: src/modules/mod_geometry/star.cpp:208
+#: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
 msgstr "Regelmäßes Vieleck"
 
-#: src/modules/mod_geometry/star.cpp:209
+#: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr "einen Stern oder ein regelmäßiges Vieleck zeichnen"
 
@@ -1575,20 +1595,20 @@ msgid "Conical Gradient"
 msgstr "Konischer Verlauf"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
-#: src/modules/mod_gradient/curvegradient.cpp:61
+#: src/modules/mod_gradient/curvegradient.cpp:62
 #: src/modules/mod_gradient/lineargradient.cpp:55
 #: src/modules/mod_gradient/radialgradient.cpp:58
-#: src/modules/mod_gradient/spiralgradient.cpp:57
-#: src/modules/mod_noise/noise.cpp:58
+#: src/modules/mod_gradient/spiralgradient.cpp:58
+#: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
 msgstr "Verläufe"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
-#: src/modules/mod_gradient/curvegradient.cpp:553
-#: src/modules/mod_gradient/lineargradient.cpp:200
+#: src/modules/mod_gradient/curvegradient.cpp:566
+#: src/modules/mod_gradient/lineargradient.cpp:195
 #: src/modules/mod_gradient/radialgradient.cpp:114
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:260
+#: src/modules/mod_gradient/spiralgradient.cpp:114
+#: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
 msgstr "Anzuwendender Verlauf"
 
@@ -1601,27 +1621,27 @@ msgid "Rotation of the gradient around the center"
 msgstr "Rotation des Verlaufs um das Zentrum "
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
-#: src/modules/mod_gradient/curvegradient.cpp:557
-#: src/modules/mod_gradient/lineargradient.cpp:204
+#: src/modules/mod_gradient/curvegradient.cpp:570
+#: src/modules/mod_gradient/lineargradient.cpp:199
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr "wiederholter Verlauf "
 
-#: src/modules/mod_gradient/curvegradient.cpp:60
+#: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
 msgstr "Kurviger Verlauf"
 
-#: src/modules/mod_gradient/curvegradient.cpp:538
-#: src/modules/mod_particle/plant.cpp:399
+#: src/modules/mod_gradient/curvegradient.cpp:551
+#: src/modules/mod_particle/plant.cpp:432
 msgid "Offset for the Vertices List"
 msgstr "Verschiebung der Eckpunkt Liste"
 
-#: src/modules/mod_gradient/curvegradient.cpp:543
+#: src/modules/mod_gradient/curvegradient.cpp:556
 msgid "Global width of the gradient"
 msgstr "Globale Breite des Verlaufs"
 
-#: src/modules/mod_gradient/curvegradient.cpp:556
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/curvegradient.cpp:569
+#: src/modules/mod_gradient/lineargradient.cpp:198
 #: src/modules/mod_gradient/radialgradient.cpp:130
 #: src/synfig/valuenode_blinecalctangent.cpp:246
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
@@ -1629,19 +1649,19 @@ msgstr "Globale Breite des Verlaufs"
 msgid "Loop"
 msgstr "Schleife"
 
-#: src/modules/mod_gradient/curvegradient.cpp:560
-#: src/modules/mod_gradient/lineargradient.cpp:207
+#: src/modules/mod_gradient/curvegradient.cpp:573
+#: src/modules/mod_gradient/lineargradient.cpp:202
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr "ZickZack"
 
-#: src/modules/mod_gradient/curvegradient.cpp:561
-#: src/modules/mod_gradient/lineargradient.cpp:208
+#: src/modules/mod_gradient/curvegradient.cpp:574
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:136
 msgid "When checked the gradient is summetrical at the center"
 msgstr "Verlauf symmetrisch zum MIttelpunkt?"
 
-#: src/modules/mod_gradient/curvegradient.cpp:564
+#: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
 msgstr "Senkrechte"
 
@@ -1649,11 +1669,11 @@ msgstr "Senkrechte"
 msgid "Linear Gradient"
 msgstr "Linearer Verlauf"
 
-#: src/modules/mod_gradient/lineargradient.cpp:192
+#: src/modules/mod_gradient/lineargradient.cpp:187
 msgid "Start point of the gradient"
 msgstr "Startpunkt des Verlaufs"
 
-#: src/modules/mod_gradient/lineargradient.cpp:196
+#: src/modules/mod_gradient/lineargradient.cpp:191
 msgid "End point of the gradient"
 msgstr "Endpunkt des Verlaufs"
 
@@ -1662,23 +1682,23 @@ msgid "Radial Gradient"
 msgstr "Kreisförmiger Verlauf"
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:119
 msgid "Center of the gradient"
 msgstr "Mittelpunkt des Verlaufs"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:56
+#: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
 msgstr "Spiraliger Verlauf"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:130
+#: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
 msgstr "Rotation des Verlaufs"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:135
+#: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
 msgstr "im Uhrzeigersinn"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:136
+#: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
 msgstr "im Uhrzeigersinn?"
 
@@ -1691,13 +1711,15 @@ msgstr "Keine Datei zum Laden"
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/listimporter.cpp:184 src/synfig/listimporter.cpp:185
+#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
+#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
 msgid "Unable to open "
 msgstr "Kann nicht geöffnet werden"
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/listimporter.cpp:191 src/synfig/listimporter.cpp:192
+#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
+#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
 msgid "Unable to get frame from "
 msgstr "Einzelbild kann nicht erhalten werden von"
 
@@ -1735,115 +1757,115 @@ msgstr "Vorzeitiges Ende der Datei"
 msgid "Unable to open pipe to imagemagick's convert utility"
 msgstr "Pipe zu imagemagick's convert utility kann nicht geöffnet werden"
 
-#: src/modules/mod_noise/distort.cpp:57
+#: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
 msgstr "Rauschverzerrung (noise distort)"
 
-#: src/modules/mod_noise/distort.cpp:217
+#: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
 msgstr "Verschiebung"
 
-#: src/modules/mod_noise/distort.cpp:218
+#: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
 msgstr "Stärke der Verschiebung durch die Verzerrung"
 
-#: src/modules/mod_noise/distort.cpp:223
+#: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
 msgstr "Abstand zwischen Verzerrungen"
 
-#: src/modules/mod_noise/distort.cpp:226 src/modules/mod_noise/noise.cpp:263
+#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
 msgstr "Zufallsrauschen Quelle"
 
-#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:264
+#: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
 msgstr "verändern der Quelle des Zufallsrauschens"
 
-#: src/modules/mod_noise/distort.cpp:230 src/modules/mod_noise/noise.cpp:271
-#: src/modules/mod_noise/valuenode_random.cpp:284
-#: src/synfig/layer_bitmap.cpp:169
+#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr "Interpolation"
 
-#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
-#: src/synfig/layer_bitmap.cpp:170
+#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
+#: src/synfig/layer_bitmap.cpp:166
 msgid "What type of interpolation to use"
 msgstr "Art der Interpolation, die benutzt werden soll "
 
-#: src/modules/mod_noise/distort.cpp:233 src/modules/mod_noise/noise.cpp:274
-#: src/synfig/layer_bitmap.cpp:172
+#: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
+#: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
 msgstr "Nächster Nachbar"
 
-#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:277
-#: src/modules/mod_noise/valuenode_random.cpp:290 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_bline.cpp:1001
+#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
+#: src/synfig/valuenode_bline.cpp:1006
 #: src/synfig/valuenode_blinecalctangent.cpp:241
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr "Spline"
 
-#: src/modules/mod_noise/distort.cpp:237 src/modules/mod_noise/noise.cpp:278
-#: src/modules/mod_noise/valuenode_random.cpp:291
-#: src/synfig/layer_bitmap.cpp:175
+#: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr "Kubisch"
 
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:281
+#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
 msgstr "Detail"
 
-#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:282
+#: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
 msgstr "erhöhen für  feine Details des Rauschens"
 
-#: src/modules/mod_noise/distort.cpp:244 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
 msgstr "Animationsgeschwindigkeit"
 
-#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
 msgstr "Windungen pro Sekunde"
 
-#: src/modules/mod_noise/distort.cpp:248 src/modules/mod_noise/noise.cpp:289
+#: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
 msgstr "Turbulent"
 
-#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:290
+#: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
 msgstr "turbulentes Rauschen"
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:183
+#: src/modules/mod_noise/valuenode_random.cpp:184
 msgid "Random"
 msgstr "Zufall"
 
-#: src/modules/mod_noise/noise.cpp:57
+#: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
 msgstr "Rausch-Verlauf"
 
-#: src/modules/mod_noise/noise.cpp:268
+#: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
 msgstr "Größe des Rauschens"
 
-#: src/modules/mod_noise/noise.cpp:293
+#: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
 msgstr "Alpha beachten"
 
-#: src/modules/mod_noise/noise.cpp:294
+#: src/modules/mod_noise/noise.cpp:303
 msgid "Uses transparency"
 msgstr "benutzt Transparenz"
 
-#: src/modules/mod_noise/noise.cpp:297
+#: src/modules/mod_noise/noise.cpp:306
 msgid "Super Sampling"
 msgstr "Super sampling"
 
-#: src/modules/mod_noise/noise.cpp:298
+#: src/modules/mod_noise/noise.cpp:307
 msgid "When checked the gradient is supersampled"
 msgstr "Super sampling des Verlaufs"
 
-#: src/modules/mod_noise/valuenode_random.cpp:264
+#: src/modules/mod_noise/valuenode_random.cpp:265
 #: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
 #: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
 #: src/synfig/valuenode_reciprocal.cpp:165
@@ -1852,104 +1874,104 @@ msgstr "Super sampling des Verlaufs"
 msgid "Link"
 msgstr "Verbindung (Link)"
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "The value node source that provides the central value"
 msgstr "Wertknoten Quelle für den zentralen Wert"
 
-#: src/modules/mod_noise/valuenode_random.cpp:270
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid "The value of the maximum random difference"
 msgstr "Wert für die maximale Zufallsdifferenz"
 
-#: src/modules/mod_noise/valuenode_random.cpp:274
-#: src/modules/mod_particle/plant.cpp:450
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr "Startwert"
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:276
 msgid "Seeds the random number generator"
 msgstr "Startwert für Zufallszahlen"
 
-#: src/modules/mod_noise/valuenode_random.cpp:279
+#: src/modules/mod_noise/valuenode_random.cpp:280
 msgid "Speed"
 msgstr "Geschwindigkeit"
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:281
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr "definiert wie oft ein Zufallswert genommen wird (pro Sekunde)"
 
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:286
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 "legt fest wie der Wert von einem Zufallswert zum nächsten verändert wird"
 
-#: src/modules/mod_noise/valuenode_random.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:288
 msgid "No interpolation"
 msgstr "Keine Veränderung"
 
-#: src/modules/mod_noise/valuenode_random.cpp:296
+#: src/modules/mod_noise/valuenode_random.cpp:297
 msgid "Loop Time"
 msgstr "schleifenzeit"
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:298
 msgid "Makes the random value repeat after the given time"
 msgstr "wiederholt den Zufallswert nach einer Weile"
 
-#: src/modules/mod_particle/plant.cpp:69
+#: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
 msgstr "Pflanze"
 
-#: src/modules/mod_particle/plant.cpp:404
+#: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
 msgstr "Zum Einfärben der Pflanze verwendeter Verlauf"
 
-#: src/modules/mod_particle/plant.cpp:408
+#: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
 msgstr "Winkel aufteilen"
 
-#: src/modules/mod_particle/plant.cpp:409
+#: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
 msgstr "Winkel um den jeder Teil vom Übergeordneten abweicht"
 
-#: src/modules/mod_particle/plant.cpp:413
+#: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
 msgstr "Erdanziehungskraft"
 
-#: src/modules/mod_particle/plant.cpp:414
+#: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
 msgstr "Richtung in die der \"Schuß\" gerichtet ist"
 
-#: src/modules/mod_particle/plant.cpp:419
+#: src/modules/mod_particle/plant.cpp:452
 msgid "Tangential Velocity"
 msgstr "Tangentiale Geschwindigkeit"
 
-#: src/modules/mod_particle/plant.cpp:420
+#: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
 msgstr "Wert bis zu dem shoots wachsen entlang der Tangente des Spline"
 
-#: src/modules/mod_particle/plant.cpp:424
+#: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
 msgstr "Senkrechte Geschwindigeit"
 
-#: src/modules/mod_particle/plant.cpp:425
+#: src/modules/mod_particle/plant.cpp:458
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
 msgstr "Wert bis zu dem shoots wachsen senkrecht zur Tangente des Spline"
 
-#: src/modules/mod_particle/plant.cpp:429
+#: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
 msgstr "Größe des Stiels"
 
-#: src/modules/mod_particle/plant.cpp:430
+#: src/modules/mod_particle/plant.cpp:463
 msgid "Size of the stem"
 msgstr "Größe des Stiels"
 
-#: src/modules/mod_particle/plant.cpp:435
+#: src/modules/mod_particle/plant.cpp:468
 msgid "Size As Alpha"
 msgstr "Größe als Alpha"
 
-#: src/modules/mod_particle/plant.cpp:436
+#: src/modules/mod_particle/plant.cpp:469
 msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
@@ -1957,67 +1979,67 @@ msgstr ""
 "wenn ausgewählt wird der Alpha Kanal des Verlaufs multipliziert mit der "
 "Stängelgröße audn Alpha Wert 1.0 wird für das Rendering verwendet "
 
-#: src/modules/mod_particle/plant.cpp:440
+#: src/modules/mod_particle/plant.cpp:473
 msgid "Reverse"
 msgstr "Umgekehrt"
 
-#: src/modules/mod_particle/plant.cpp:441
+#: src/modules/mod_particle/plant.cpp:474
 msgid "If enabled, render the plant in the opposite direction"
 msgstr "falls ausgewählt, die Pflanze in umgekehrter Richtung rendern"
 
-#: src/modules/mod_particle/plant.cpp:445 src/synfig/valuenode.cpp:170
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
 #: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
 msgid "Step"
 msgstr "Schritt"
 
-#: src/modules/mod_particle/plant.cpp:446
+#: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
 msgstr "Maß für den Abstand zwischen Punkten beim Rendern"
 
-#: src/modules/mod_particle/plant.cpp:451
+#: src/modules/mod_particle/plant.cpp:484
 msgid "Used to seed the pseudo-random number generator"
 msgstr "wird benutzt um den Pseudo Zufalllsgenerator zu initialisieren"
 
-#: src/modules/mod_particle/plant.cpp:455
+#: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
 msgstr "Spaltungen"
 
-#: src/modules/mod_particle/plant.cpp:456
+#: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
 msgstr "Max. Anzahl wie oft Sprossen rekursiv sprießen können"
 
-#: src/modules/mod_particle/plant.cpp:460
+#: src/modules/mod_particle/plant.cpp:493
 msgid "Sprouts"
 msgstr "Keime"
 
-#: src/modules/mod_particle/plant.cpp:461
+#: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:465
+#: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
 msgstr "Zufallsfaktor"
 
-#: src/modules/mod_particle/plant.cpp:466
+#: src/modules/mod_particle/plant.cpp:499
 msgid ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 msgstr ""
 "Benutzt um alle Zufallseffekte zu verringern. Setze auf Null um Zufälligkeit "
 "abzuschalten"
 
-#: src/modules/mod_particle/plant.cpp:470
+#: src/modules/mod_particle/plant.cpp:503
 msgid "Drag"
 msgstr "Hemmung"
 
-#: src/modules/mod_particle/plant.cpp:471
+#: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
 msgstr "Hemmung verlangsamt das Wachstum"
 
-#: src/modules/mod_particle/plant.cpp:475
+#: src/modules/mod_particle/plant.cpp:508
 msgid "Use Width"
 msgstr "Benutze Breite"
 
-#: src/modules/mod_particle/plant.cpp:476
+#: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
@@ -2026,97 +2048,102 @@ msgstr ""
 msgid "%s was not in PPM format"
 msgstr "%s war nicht in PPM Format"
 
-#: src/synfig/cairoimporter.cpp:87 src/synfig/importer.cpp:87
+#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
 msgid "Importer::open(): Cannot open empty filename"
 msgstr "Importer::open(): Öffnen nicht möglich - leerer Dateiname"
 
-#: src/synfig/cairoimporter.cpp:101 src/synfig/importer.cpp:101
+#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
 msgid "Importer::open(): Couldn't find extension"
 msgstr "Importer::open(): Erweiterung nicht gefunden"
 
-#: src/synfig/cairoimporter.cpp:112 src/synfig/importer.cpp:112
+#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
 msgid "Importer::open(): Unknown file type -- "
 msgstr "Importer::open(): unbekannter Dateityp --"
 
-#: src/synfig/canvas.cpp:798 src/synfig/canvas.cpp:863
-#: src/synfig/canvas.cpp:886
+#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
+#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+msgid "No images in list"
+msgstr "Keine Bilder in der Liste"
+
+#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
+#: src/synfig/canvas.cpp:927
 msgid "in line"
 msgstr "in line"
 
-#: src/synfig/distance.cpp:249
+#: src/synfig/distance.cpp:251
 msgid "Units"
 msgstr "Einheiten"
 
-#: src/synfig/distance.cpp:250
+#: src/synfig/distance.cpp:252
 msgid "Pixels"
 msgstr "Pixel"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:254
 msgid "Inches"
 msgstr "Zoll"
 
-#: src/synfig/distance.cpp:253
+#: src/synfig/distance.cpp:255
 msgid "Meters"
 msgstr "Meter"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:256
 msgid "Millimeters"
 msgstr "Millimeter"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:257
 msgid "Centimeters"
 msgstr "Zentimeter"
 
-#: src/synfig/layer.cpp:565 src/synfig/layer_composite.cpp:128
+#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
 msgid "Unable to create surface target"
 msgstr "Zieloberfläche kann nicht erzeugt werden"
 
-#: src/synfig/layer.cpp:619
+#: src/synfig/layer.cpp:605
 msgid "Z Depth"
 msgstr "Z Tiefe"
 
-#: src/synfig/layer.cpp:621
+#: src/synfig/layer.cpp:607
 msgid "Modifies the position of the layer in the layer stack"
 msgstr "Verändert die Position der Ebene in Stapel der Ebenen"
 
-#: src/synfig/layer_bitmap.cpp:159
+#: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
 msgstr "Oben-Links"
 
-#: src/synfig/layer_bitmap.cpp:160
+#: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
 msgstr "Obere linke Ecke des BIldes"
 
-#: src/synfig/layer_bitmap.cpp:164
+#: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
 msgstr "Unten-Rechts"
 
-#: src/synfig/layer_bitmap.cpp:165
+#: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
 msgstr "Untere rechte Ecke des BIldes"
 
-#: src/synfig/layer_composite.cpp:218
+#: src/synfig/layer_composite.cpp:250
 msgid "Alpha channel of the layer"
 msgstr "Alpha Kanal der Ebene"
 
-#: src/synfig/layer_composite.cpp:221 src/synfig/paramdesc.cpp:62
+#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr "Blend Methode"
 
-#: src/synfig/layer_composite.cpp:222
+#: src/synfig/layer_composite.cpp:254
 msgid "The blending method used to composite on the layers below"
 msgstr "Blend Methode für die tiefer liegenden Ebenen"
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:168
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
 #: src/synfig/valuenode_duplicate.cpp:174
 msgid "Duplicate"
 msgstr "Doppelt"
 
-#: src/synfig/layer_duplicate.cpp:148
+#: src/synfig/layer_duplicate.cpp:151
 msgid "Index"
 msgstr "Index"
 
-#: src/synfig/layer_duplicate.cpp:149
+#: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
 msgstr "Index kopieren"
 
@@ -2128,156 +2155,156 @@ msgstr "[MIME]"
 msgid "Motion Blur"
 msgstr "Bewegungsunschärfe"
 
-#: src/synfig/layer_motionblur.cpp:136
+#: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
 msgstr "Blende"
 
-#: src/synfig/layer_motionblur.cpp:137
+#: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
 msgstr "Verschlußzeit"
 
-#: src/synfig/layer_motionblur.cpp:141
+#: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
 msgstr "Subsample Faktor"
 
-#: src/synfig/layer_motionblur.cpp:142
+#: src/synfig/layer_motionblur.cpp:141
 msgid "Multiplies The Number Of Subsamples Rendered"
 msgstr "Multipliziert die Anzahl der gerenderten Subsamples "
 
-#: src/synfig/layer_motionblur.cpp:146
+#: src/synfig/layer_motionblur.cpp:145
 msgid "Subsampling Type"
 msgstr "Subsampling Typ"
 
-#: src/synfig/layer_motionblur.cpp:147
+#: src/synfig/layer_motionblur.cpp:146
 msgid "Curve Type For Weighting Subsamples"
 msgstr "Linientyp für Gewichtung der Subsamles "
 
-#: src/synfig/layer_motionblur.cpp:149 src/synfig/valuenode_const.cpp:127
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
 msgid "Constant"
 msgstr "Konstant"
 
-#: src/synfig/layer_motionblur.cpp:151
+#: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
 msgstr "Hyperbel"
 
-#: src/synfig/layer_motionblur.cpp:155
+#: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
 msgstr "Subsample Start Anzahl "
 
-#: src/synfig/layer_motionblur.cpp:156
+#: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
 msgstr "Relativer Wert des ersten Subsample, für lineare Gewichtung "
 
-#: src/synfig/layer_motionblur.cpp:160
+#: src/synfig/layer_motionblur.cpp:159
 msgid "Subsample End Amount"
 msgstr "Subsample Endwert"
 
-#: src/synfig/layer_motionblur.cpp:161
+#: src/synfig/layer_motionblur.cpp:160
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr "Relativer Wert des letzten Subsample, für lineare Gewichtung "
 
-#: src/synfig/layer_pastecanvas.cpp:78 src/synfig/layer_pastecanvas.cpp:120
-#: src/synfig/layer_pastecanvas.cpp:121
+#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
+#: src/synfig/layer_pastecanvas.cpp:124
 msgid "Group"
 msgstr "Gruppe"
 
-#: src/synfig/layer_pastecanvas.cpp:137
+#: src/synfig/layer_pastecanvas.cpp:140
 msgid "Canvas"
 msgstr "Animation"
 
-#: src/synfig/layer_pastecanvas.cpp:138
+#: src/synfig/layer_pastecanvas.cpp:141
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:144
 msgid "Zoom"
 msgstr "Zoom"
 
-#: src/synfig/layer_pastecanvas.cpp:142
+#: src/synfig/layer_pastecanvas.cpp:145
 msgid "Size of canvas"
 msgstr "Größe der Animation"
 
-#: src/synfig/layer_pastecanvas.cpp:147
+#: src/synfig/layer_pastecanvas.cpp:152
 msgid "Time Offset to apply to the context"
 msgstr "Zeitversatz der auf den Kontext angewendet wird"
 
-#: src/synfig/layer_pastecanvas.cpp:151
+#: src/synfig/layer_pastecanvas.cpp:156
 msgid "Children Lock"
 msgstr "Sperre für Untergeordnete"
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:157
 msgid "When checked prevents to select the children using the mouse click"
 msgstr "sperrt untergeordnete für Mausklick Auswahl"
 
-#: src/synfig/layer_pastecanvas.cpp:156
+#: src/synfig/layer_pastecanvas.cpp:162
 msgid "Focus Point"
 msgstr "Fokuspunkt"
 
-#: src/synfig/layer_pastecanvas.cpp:159
+#: src/synfig/layer_pastecanvas.cpp:165
 msgid "Point to remain fixed when zooming"
 msgstr "Fixpunkt beim Zoomen"
 
-#: src/synfig/layer_pastecanvas.cpp:164
+#: src/synfig/layer_pastecanvas.cpp:170
 msgid "Outline Grow"
 msgstr "Umrandung Wachstum"
 
-#: src/synfig/layer_pastecanvas.cpp:165
+#: src/synfig/layer_pastecanvas.cpp:171
 msgid "Exponential value to grow children Outline layers width"
 msgstr "Expontieller Wert für Breitenwachstum Umrundung Untergeorneter"
 
-#: src/synfig/layer_pastecanvas.cpp:180
+#: src/synfig/layer_pastecanvas.cpp:186
 msgid "Current Time"
 msgstr "Aktuelle Zeit"
 
-#: src/synfig/layer_polygon.cpp:61
+#: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
 msgstr "Vieleck (Polygon)"
 
-#: src/synfig/layer_polygon.cpp:187
+#: src/synfig/layer_polygon.cpp:194
 msgid "Vertices List"
 msgstr "Eckpunkt Liste"
 
-#: src/synfig/layer_polygon.cpp:188
+#: src/synfig/layer_polygon.cpp:195
 msgid "Define the corners of the polygon"
 msgstr "definiere die Ecken des Vielecks"
 
-#: src/synfig/layer_shape.cpp:64
+#: src/synfig/layer_shape.cpp:66
 msgid "Shape"
 msgstr "Form"
 
-#: src/synfig/layer_shape.cpp:65
+#: src/synfig/layer_shape.cpp:67
 msgid "Internal"
 msgstr "Intern"
 
-#: src/synfig/layer_shape.cpp:1194
+#: src/synfig/layer_shape.cpp:1222
 msgid "Layer_Shape Color"
 msgstr "Layer_Shape (Ebenenform) Farbe"
 
-#: src/synfig/layer_shape.cpp:1203
+#: src/synfig/layer_shape.cpp:1231
 msgid "Antialiasing"
 msgstr "Antialiasing"
 
-#: src/synfig/layer_shape.cpp:1210
+#: src/synfig/layer_shape.cpp:1238
 msgid "Type of Feather"
 msgstr "Art des Schleiers"
 
-#: src/synfig/layer_shape.cpp:1211
+#: src/synfig/layer_shape.cpp:1239
 msgid "Type of feathering to use"
 msgstr "zu benutzende Art des Schleiers"
 
-#: src/synfig/layer_shape.cpp:1220
+#: src/synfig/layer_shape.cpp:1248
 msgid "Winding Style"
 msgstr "Kurvenreicher Stil"
 
-#: src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_shape.cpp:1249
 msgid "Winding style to use"
 msgstr "zu benutzender Kurvenreicher Stil "
 
-#: src/synfig/layer_shape.cpp:1223
+#: src/synfig/layer_shape.cpp:1251
 msgid "Non Zero"
 msgstr "Nicht Null"
 
-#: src/synfig/layer_shape.cpp:1224
+#: src/synfig/layer_shape.cpp:1252
 msgid "Even/Odd"
 msgstr "Gerade/Ungerade"
 
@@ -2285,68 +2312,65 @@ msgstr "Gerade/Ungerade"
 msgid "Solid Color"
 msgstr "Farbfläche"
 
-#: src/synfig/listimporter.cpp:161 src/synfig/listimporter.cpp:162
-msgid "No images in list"
-msgstr "Keine Bilder in der Liste"
-
-#: src/synfig/loadcanvas.cpp:142
+#: src/synfig/loadcanvas.cpp:143
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr "'%s' kann nicht rekursiv geladen werden"
 
-#: src/synfig/loadcanvas.cpp:185
+#: src/synfig/loadcanvas.cpp:186
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr "Unerwartetes Element <%s>, Erwartet <%s>"
 
-#: src/synfig/loadcanvas.cpp:191
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr "Unerwartetes Element <%s>"
 
-#: src/synfig/loadcanvas.cpp:205
+#: src/synfig/loadcanvas.cpp:206
 msgid "Too many warnings"
 msgstr "Zu viele Warnungen"
 
-#: src/synfig/loadcanvas.cpp:236
+#: src/synfig/loadcanvas.cpp:237
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr "in <%s> fehlt \"%s\" Attribut"
 
 #: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:469
-#: src/synfig/loadcanvas.cpp:1118
+#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
+#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr "<%s> sollte nichts enthalten"
 
 #: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:473
-#: src/synfig/loadcanvas.cpp:1122
+#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
+#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr "in <%s> fehlt \"value\" Attribut"
 
-#: src/synfig/loadcanvas.cpp:484 src/synfig/loadcanvas.cpp:1144
+#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
+#: src/synfig/loadcanvas.cpp:1200
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr "Ungültiger Wert  \"%s\" in <%s>"
 
-#: src/synfig/loadcanvas.cpp:508
+#: src/synfig/loadcanvas.cpp:533
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr "In <%s> fehlt \"pos\" Attribut"
 
-#: src/synfig/loadcanvas.cpp:1284
+#: src/synfig/loadcanvas.cpp:1353
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr "<animated> kann nicht als Typ \"%s\" erzeugt werden"
 
-#: src/synfig/loadcanvas.cpp:1301
+#: src/synfig/loadcanvas.cpp:1375
 msgid "<waypoint> is missing attribute \"time\""
 msgstr "In <waypoint> fehlt Attribut \"time\" (Zeit) "
 
-#: src/synfig/loadcanvas.cpp:1314
+#: src/synfig/loadcanvas.cpp:1388
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
@@ -2354,348 +2378,351 @@ msgstr ""
 "\"use\" Attribut für <waypoint> gefunden, war nicht leer. Inhalt "
 "ignoriert.... "
 
-#: src/synfig/loadcanvas.cpp:1330
+#: src/synfig/loadcanvas.cpp:1404
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr "Unbekannte ID (%s) im Wegpunkt referenziert"
 
-#: src/synfig/loadcanvas.cpp:1336 src/synfig/loadcanvas.cpp:1348
+#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
 #, c-format
 msgid "<%s> is missing its data"
 msgstr "In <%s> fehlen Daten"
 
-#: src/synfig/loadcanvas.cpp:1365
+#: src/synfig/loadcanvas.cpp:1439
 msgid "Bad data for <waypoint>"
 msgstr "Ungültige Daten für <waypoint>"
 
-#: src/synfig/loadcanvas.cpp:1380
+#: src/synfig/loadcanvas.cpp:1455
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr "Unerwartetes Element <%s> nach <waypoint> Daten, ignoriert..."
 
-#: src/synfig/loadcanvas.cpp:1424 src/synfig/loadcanvas.cpp:1443
-#, c-format
-msgid "\"%s\" not a valid value for attribute \"%s\" in <%s>"
-msgstr "\"%s\" ungültiger Wert für Attribut \"%s\" in <%s>"
-
-#: src/synfig/loadcanvas.cpp:1504
+#: src/synfig/loadcanvas.cpp:1556
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr "fehlendes Attribute \"type\" in <%s>"
 
-#: src/synfig/loadcanvas.cpp:1512
+#: src/synfig/loadcanvas.cpp:1565
 #, c-format
 msgid "Bad type in <%s>"
 msgstr "Ungültiger Typ in <%s>"
 
-#: src/synfig/loadcanvas.cpp:1522
+#: src/synfig/loadcanvas.cpp:1577
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr "Fehler bei Erstellung Wertknoten <%s> mit Typ '%s'.  Verweis auf '%s'"
 
-#: src/synfig/loadcanvas.cpp:1531
+#: src/synfig/loadcanvas.cpp:1587
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr "<%s> hat Typ '%s' nicht akzeptiert"
 
-#: src/synfig/loadcanvas.cpp:1557 src/synfig/loadcanvas.cpp:1628
+#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr "'%s' war bereits definiert in <%s>"
 
-#: src/synfig/loadcanvas.cpp:1570
+#: src/synfig/loadcanvas.cpp:1625
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr "'%s' Attribut in <%s> referenziert unbekannte ID '%s'"
 
-#: src/synfig/loadcanvas.cpp:1579
+#: src/synfig/loadcanvas.cpp:1634
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 "Verknüpfung '\"%s\" zu Wertknoten \"%s\" setzen nicht möglich (Verknüpfung #"
 "%d in \"%s\")"
 
-#: src/synfig/loadcanvas.cpp:1603
+#: src/synfig/loadcanvas.cpp:1658
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr "Unbekannte Ausnahmebedingung bei Referenzierung des Wertknotens \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1643
+#: src/synfig/loadcanvas.cpp:1698
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr "Element <%s> hat keinen Inhalt"
 
-#: src/synfig/loadcanvas.cpp:1652
+#: src/synfig/loadcanvas.cpp:1707
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr "Parsen von '%s' mißlungen"
 
-#: src/synfig/loadcanvas.cpp:1659
+#: src/synfig/loadcanvas.cpp:1714
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 "Wertknoten ('%s' vom Typ '%s') konnte nicht zu Verknüpfung %d (%s) verbunden "
 "werden"
 
-#: src/synfig/loadcanvas.cpp:1677
+#: src/synfig/loadcanvas.cpp:1732
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr "Unbekannte Ausnahmebedingung als an Element \"%s\" gearbeitet wurde"
 
-#: src/synfig/loadcanvas.cpp:1747
+#: src/synfig/loadcanvas.cpp:1811
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr "<%s> fehlt Verknüpfung %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1841
-msgid "Unable to create <dynamic_list>"
-msgstr "<dynamic_list> konnte nicht erstellt werden"
+#: src/synfig/loadcanvas.cpp:1861
+msgid "Unable to create <list>"
+msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1993
+#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr "<entry> fehlt der Inhalt oder  or das \"use\" Element"
 
-#: src/synfig/loadcanvas.cpp:2038
+#: src/synfig/loadcanvas.cpp:1998
+msgid "Unable to create <dynamic_list>"
+msgstr "<dynamic_list> konnte nicht erstellt werden"
+
+#: src/synfig/loadcanvas.cpp:2220
 #, c-format
 msgid "Bad data in <%s>"
 msgstr "Fehlerhafte Daten in <%s>"
 
-#: src/synfig/loadcanvas.cpp:2076
+#: src/synfig/loadcanvas.cpp:2283
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr "Ein Wertknoten wurde erwartet. Referenz zu '%s'"
 
-#: src/synfig/loadcanvas.cpp:2097
+#: src/synfig/loadcanvas.cpp:2304
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr "Fehlerhafte ID \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2102
+#: src/synfig/loadcanvas.cpp:2310
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr "Doppelte ID \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2107
+#: src/synfig/loadcanvas.cpp:2316
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 " Unbekannte Ausnahmebedingung während Hinzufügen des Wertknotens \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2142
+#: src/synfig/loadcanvas.cpp:2373
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr "\"type\" Attribut zum \"layer\" Element fehlt"
 
-#: src/synfig/loadcanvas.cpp:2161
+#: src/synfig/loadcanvas.cpp:2392
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 "Installierte Version der Ebene ist kleiner als die Version der Ebene in der "
 "Datei"
 
-#: src/synfig/loadcanvas.cpp:2181
+#: src/synfig/loadcanvas.cpp:2415
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr "<name> Eintrag für <layer> ist noch nicht unterstützt. Ignoriert..."
 
-#: src/synfig/loadcanvas.cpp:2184
+#: src/synfig/loadcanvas.cpp:2418
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 "<desc> Eintrag für <layer> ist noch nicht unterstützt. Wird ignoriert..."
 
-#: src/synfig/loadcanvas.cpp:2192
+#: src/synfig/loadcanvas.cpp:2426
 msgid "Missing \"name\" attribute for <param>."
 msgstr "Fehlendes \"name\" Attribut für <param>."
 
-#: src/synfig/loadcanvas.cpp:2209
+#: src/synfig/loadcanvas.cpp:2443
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 "\"use\" Attribut für <param> gefunden, war nicht leer. Inhalt ignoriert..."
 
-#: src/synfig/loadcanvas.cpp:2214
+#: src/synfig/loadcanvas.cpp:2448
 msgid "Empty use=\"\" value in <param>"
 msgstr "Leerer use=\"\" Wert in <param>"
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2454
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr "Unteranimation '%s' konnte nicht geladen werden"
 
-#: src/synfig/loadcanvas.cpp:2222
+#: src/synfig/loadcanvas.cpp:2456
 msgid "Layer rejected canvas link"
 msgstr "Ebene wies Aninmationsverknüpfung zurück "
 
-#: src/synfig/loadcanvas.cpp:2244
+#: src/synfig/loadcanvas.cpp:2480
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr "Unbekannte ID (%s) in Parameter \"%s\" referenziert"
 
-#: src/synfig/loadcanvas.cpp:2260
+#: src/synfig/loadcanvas.cpp:2496
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr "<param> hat entweder keinen Inhalt oder kein \"use\" Attribut."
 
-#: src/synfig/loadcanvas.cpp:2272 src/synfig/loadcanvas.cpp:2292
+#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
 msgid "Bad data for <param>"
 msgstr "Ungültige Daten für <param>"
 
-#: src/synfig/loadcanvas.cpp:2280
+#: src/synfig/loadcanvas.cpp:2516
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr "Ebene '%s' wies Wert für Parameter '%s' zurück"
 
-#: src/synfig/loadcanvas.cpp:2303
+#: src/synfig/loadcanvas.cpp:2539
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr "Unerwartetes Element <%s> nach <param> Daten, wird ignoriert..."
 
-#: src/synfig/loadcanvas.cpp:2376 src/synfig/loadcanvas.cpp:2384
+#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
 msgid "Canvas with width or height less than one is not allowed"
 msgstr "Animation mit Breite oder Höhe unter 1 ist nicht erlaubt"
 
-#: src/synfig/loadcanvas.cpp:2470
+#: src/synfig/loadcanvas.cpp:2710
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2478
+#: src/synfig/loadcanvas.cpp:2717
+msgid "Inline canvas cannot have a <bones> section"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2725
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2490
+#: src/synfig/loadcanvas.cpp:2737
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2498
+#: src/synfig/loadcanvas.cpp:2745
 msgid "<meta> must have a name"
 msgstr "<meta> benötigt einen Namen"
 
-#: src/synfig/loadcanvas.cpp:2504
+#: src/synfig/loadcanvas.cpp:2751
 msgid "<meta> must have content"
 msgstr "<meta> benötigt Inhalte"
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:2763
 msgid "blank \"name\" entity"
 msgstr "leeres \"Name\" Feld "
 
-#: src/synfig/loadcanvas.cpp:2531
+#: src/synfig/loadcanvas.cpp:2778
 msgid "blank \"desc\" entity"
 msgstr "leeres \"Beschreibung\" Feld"
 
-#: src/synfig/loadcanvas.cpp:2546
+#: src/synfig/loadcanvas.cpp:2793
 msgid "blank \"author\" entity"
 msgstr "leeres \"Author\" Feld"
 
-#: src/synfig/loadcanvas.cpp:2578
+#: src/synfig/loadcanvas.cpp:2828
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr "Animation '%s' hat nicht definiertes %s: %s"
 
-#: src/synfig/loadcanvas.cpp:2580 src/synfig/valuenode.cpp:353
+#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
 msgid "ValueNode"
 msgstr "Wertpunkt"
 
-#: src/synfig/loadcanvas.cpp:2580
+#: src/synfig/loadcanvas.cpp:2830
 msgid "ValueNodes"
 msgstr "Wertpunkte"
 
-#: src/synfig/loadcanvas.cpp:2660 src/synfig/loadcanvas.cpp:2716
+#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
 msgid "Can't open file"
 msgstr "Kann Datei nicht öffnen"
 
-#: src/synfig/main.cpp:102
+#: src/synfig/main.cpp:118
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr "API Version Abweichung (LIB:%d, PROG:%d)"
 
-#: src/synfig/main.cpp:107
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr "Vektorgröße Abweichung (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:112
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr "Farbgröße Abweichung (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:117
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr "Animationsgröße Abweichung (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:122
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr "Ebenengröße Abweichung (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:184
+#: src/synfig/main.cpp:207
 msgid "Starting Subsystem \"Modules\""
 msgstr "Starte Subsystem \"Modules\""
 
-#: src/synfig/main.cpp:186
+#: src/synfig/main.cpp:209
 msgid "Unable to initialize subsystem \"Module\""
 msgstr "Subsystem \"Module\" kann nicht initialisiert werden"
 
-#: src/synfig/main.cpp:188
+#: src/synfig/main.cpp:211
 msgid "Starting Subsystem \"Layers\""
 msgstr "Starte Subsystem \"Layers\""
 
-#: src/synfig/main.cpp:192
+#: src/synfig/main.cpp:215
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr "Subsystem \"Layers\" kann nicht initialisiert werden"
 
-#: src/synfig/main.cpp:195
+#: src/synfig/main.cpp:218
 msgid "Starting Subsystem \"Targets\""
 msgstr "Starte Subsystem \"Targets\""
 
-#: src/synfig/main.cpp:200
+#: src/synfig/main.cpp:223
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr "Subsystem \"Targets\" kann nicht initialisiert werden"
 
-#: src/synfig/main.cpp:203
+#: src/synfig/main.cpp:226
 msgid "Starting Subsystem \"Importers\""
 msgstr "Starte Subsystem \"Importers\""
 
-#: src/synfig/main.cpp:209
+#: src/synfig/main.cpp:232
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr "Subsystem \"Importers\" kann nicht initialisiert werden"
 
-#: src/synfig/main.cpp:212
+#: src/synfig/main.cpp:235
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:219
+#: src/synfig/main.cpp:242
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:222
+#: src/synfig/main.cpp:245
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr "Starte Subsystem \"ValueNodes\""
 
-#: src/synfig/main.cpp:230
+#: src/synfig/main.cpp:253
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr "Subsystem \"ValueNodes\" kann nicht initialisiert werden"
 
-#: src/synfig/main.cpp:267 src/synfig/main.cpp:268
+#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
 #, c-format
 msgid "Loading modules from %s"
 msgstr "Lade Module von %s"
 
-#: src/synfig/main.cpp:279
+#: src/synfig/main.cpp:302
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr "Modullistendatei '%s' kann nicht initialisiert werden"
 
-#: src/synfig/main.cpp:293 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
 msgid "DONE"
 msgstr "FERTIG"
 
-#: src/synfig/main.cpp:360 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
 msgid "error"
 msgstr "Fehler"
 
-#: src/synfig/main.cpp:375 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
 msgid "warning"
 msgstr "Warnung"
 
-#: src/synfig/main.cpp:390
+#: src/synfig/main.cpp:413
 msgid "info"
 msgstr "Information"
 
@@ -2770,146 +2797,146 @@ msgstr "%s scheint keine gültige %s Palettendatei zu sein"
 msgid "%s does not appear to be a supported palette file"
 msgstr "%s scheint keine unterstützte Palettendatei zu sein"
 
-#: src/synfig/paramdesc.cpp:64 src/synfig/valuenode.cpp:140
-#: src/synfig/valuenode_composite.cpp:437
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
+#: src/synfig/valuenode_composite.cpp:447
 msgid "Composite"
 msgstr "Verbund"
 
-#: src/synfig/paramdesc.cpp:65
+#: src/synfig/paramdesc.cpp:69
 msgid "Straight"
 msgstr "Straight"
 
-#: src/synfig/paramdesc.cpp:66
+#: src/synfig/paramdesc.cpp:70
 msgid "Onto"
 msgstr "Onto"
 
-#: src/synfig/paramdesc.cpp:67
+#: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
 msgstr "Straight Onto"
 
-#: src/synfig/paramdesc.cpp:68
+#: src/synfig/paramdesc.cpp:72
 msgid "Behind"
 msgstr "Behind"
 
-#: src/synfig/paramdesc.cpp:69
+#: src/synfig/paramdesc.cpp:73
 msgid "Screen"
 msgstr "Screen"
 
-#: src/synfig/paramdesc.cpp:70
+#: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
 msgstr "Overlay"
 
-#: src/synfig/paramdesc.cpp:71
+#: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
 msgstr "Hard Light"
 
-#: src/synfig/paramdesc.cpp:72
+#: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
 msgstr "Multiply"
 
-#: src/synfig/paramdesc.cpp:73
+#: src/synfig/paramdesc.cpp:77
 msgid "Divide"
 msgstr "Divide"
 
-#: src/synfig/paramdesc.cpp:74 src/synfig/valuenode.cpp:157
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
 #: src/synfig/valuenode_add.cpp:190
 msgid "Add"
 msgstr "Hinzufügen"
 
-#: src/synfig/paramdesc.cpp:75 src/synfig/valuenode.cpp:147
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
 #: src/synfig/valuenode_subtract.cpp:194
 msgid "Subtract"
 msgstr "Subtrahieren"
 
-#: src/synfig/paramdesc.cpp:76
+#: src/synfig/paramdesc.cpp:80
 msgid "Difference"
 msgstr "Difference"
 
-#: src/synfig/paramdesc.cpp:77
+#: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
 msgstr "Brighten"
 
-#: src/synfig/paramdesc.cpp:78
+#: src/synfig/paramdesc.cpp:82
 msgid "Darken"
 msgstr "Darken"
 
-#: src/synfig/paramdesc.cpp:80 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
 msgid "Hue"
 msgstr "Farbton"
 
-#: src/synfig/paramdesc.cpp:81 src/synfig/valuenode_radialcomposite.cpp:260
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
 #: src/synfig/valuenode_radialcomposite.cpp:266
 msgid "Saturation"
 msgstr "Sättigung"
 
-#: src/synfig/paramdesc.cpp:82
+#: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
 msgstr "Luminance"
 
-#: src/synfig/paramdesc.cpp:83
+#: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
 msgstr "Alpha Over"
 
-#: src/synfig/paramdesc.cpp:84
+#: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
 msgstr "Alpha Brighten"
 
-#: src/synfig/paramdesc.cpp:85
+#: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
 msgstr "Alpha Darken"
 
-#: src/synfig/render.cpp:246 src/synfig/render.cpp:247
-#: src/synfig/render.cpp:301 src/synfig/render.cpp:302
-#: src/synfig/render.cpp:536 src/synfig/render.cpp:537
-#: src/synfig/render.cpp:563 src/synfig/render.cpp:564
+#: src/synfig/render.cpp:248 src/synfig/render.cpp:249
+#: src/synfig/render.cpp:303 src/synfig/render.cpp:304
+#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
+#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
 msgid "Target panic"
 msgstr "Ziel Panik"
 
-#: src/synfig/savecanvas.cpp:290
+#: src/synfig/savecanvas.cpp:359
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr "Unbekannter Wert(%s), XML Repräsentation kann nicht erzeugt werden!"
 
-#: src/synfig/savecanvas.cpp:543
+#: src/synfig/savecanvas.cpp:674 src/synfig/savecanvas.cpp:699
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 "Unbekannter Wertknoten Typ (%s), kann keine XML Repräsentation erzeugen"
 
-#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:185
+#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
 #: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:281
 msgid "Target initialization failure"
 msgstr "Fehler bei Ziel initialisierung"
 
-#: src/synfig/target_cairo.cpp:146
+#: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:155 src/synfig/target_scanline.cpp:258
-#: src/synfig/target_scanline.cpp:405
+#: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:260
+#: src/synfig/target_scanline.cpp:407
 msgid "Unable to put surface on target"
 msgstr "Oberfläche kann nicht auf das Ziel gelegt werden"
 
-#: src/synfig/target_cairo.cpp:162
+#: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:169 src/synfig/target_cairo_tile.cpp:248
-#: src/synfig/target_scanline.cpp:418 src/synfig/target_tile.cpp:396
+#: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
+#: src/synfig/target_scanline.cpp:420 src/synfig/target_tile.cpp:398
 msgid "Caught string :"
 msgstr "Zeichenkette erhalten :"
 
-#: src/synfig/target_cairo.cpp:174 src/synfig/target_cairo_tile.cpp:253
-#: src/synfig/target_scanline.cpp:423 src/synfig/target_tile.cpp:401
+#: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
+#: src/synfig/target_scanline.cpp:425 src/synfig/target_tile.cpp:403
 msgid "Ran out of memory (Probably a bug)"
 msgstr "Zu wenig Speicher (vermutlich ein Programmfehler)"
 
-#: src/synfig/target_cairo.cpp:179 src/synfig/target_cairo_tile.cpp:258
-#: src/synfig/target_scanline.cpp:428 src/synfig/target_tile.cpp:406
+#: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
+#: src/synfig/target_scanline.cpp:430 src/synfig/target_tile.cpp:408
 msgid "Caught unknown error, rethrowing..."
 msgstr "Unbekannten Fehler erhalten, erneute Meldung..."
 
-#: src/synfig/target_cairo.cpp:190
+#: src/synfig/target_cairo.cpp:201
 msgid "Cairo Surface bad status"
 msgstr ""
 
@@ -2917,24 +2944,24 @@ msgstr ""
 msgid "Bad Tile Size"
 msgstr "Ungültige Fliesengröße (tile size)"
 
-#: src/synfig/target_cairo_tile.cpp:142 src/synfig/target_cairo_tile.cpp:240
-#: src/synfig/target_scanline.cpp:203 src/synfig/target_scanline.cpp:249
-#: src/synfig/target_scanline.cpp:348 src/synfig/target_scanline.cpp:396
+#: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
+#: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:251
+#: src/synfig/target_scanline.cpp:350 src/synfig/target_scanline.cpp:398
 #: src/synfig/target_tile.cpp:225
 msgid "Accelerated Renderer Failure"
 msgstr "Erweiterter Renderer Fehler"
 
-#: src/synfig/target_cairo_tile.cpp:150
+#: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:156 src/synfig/target_tile.cpp:179
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:179
 #: src/synfig/target_tile.cpp:245
 msgid "add_tile():Unable to put surface on target"
 msgstr "add_tile(): Oberfläche auf Ziel legen nicht möglich"
 
-#: src/synfig/target_cairo_tile.cpp:211
+#: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
 msgstr ""
 
@@ -2960,277 +2987,317 @@ msgstr ""
 "SEKUNDEN"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:276 src/synfig/value.cpp:308 src/synfig/value.cpp:360
+#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
 msgid "bool"
 msgstr "Logisch (bool)"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:277 src/synfig/value.cpp:310 src/synfig/value.cpp:358
+#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
 msgid "integer"
 msgstr "Ganzzahlig (integer)"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:278 src/synfig/value.cpp:312
+#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
 msgid "angle"
 msgstr "Winkel"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:279 src/synfig/value.cpp:314 src/synfig/value.cpp:352
+#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
 msgid "time"
 msgstr "Zeit"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:280 src/synfig/value.cpp:316 src/synfig/value.cpp:355
+#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
 msgid "real"
 msgstr "Reell (real)"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:281 src/synfig/value.cpp:318
+#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
 msgid "vector"
 msgstr "Vektor"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:282 src/synfig/value.cpp:320
+#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
 msgid "color"
 msgstr "Farbe"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:283 src/synfig/value.cpp:322
+#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
 msgid "segment"
 msgstr "Segment"
 
-#: src/synfig/value.cpp:284
+#: src/synfig/value.cpp:378
 msgid "bline_point"
 msgstr "BLine Punkt"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:285 src/synfig/value.cpp:326
+#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
+msgid "matrix"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
+msgid "bone_weight_pair"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
 msgid "width_point"
 msgstr "width_point"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:286 src/synfig/value.cpp:328
+#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
 msgid "dash_item"
 msgstr "dash_item"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:287 src/synfig/value.cpp:330
+#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
 msgid "list"
 msgstr "Liste"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:288 src/synfig/value.cpp:332
+#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
 msgid "canvas"
 msgstr "Animation"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:289 src/synfig/value.cpp:334
+#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
 msgid "string"
 msgstr "Zeichenkette (string)"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:290 src/synfig/value.cpp:336
+#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
 msgid "gradient"
 msgstr "Verlauf"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:291 src/synfig/value.cpp:338
+#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
+msgid "bone_object"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
+msgid "bone_valuenode"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
 msgid "nil"
 msgstr "nichts (nil)"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:324
+#: src/synfig/value.cpp:422
 msgid "spline_point"
 msgstr "spline_point"
 
-#: src/synfig/valuenode.cpp:141 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
 msgid "Radial Composite"
 msgstr "Radialer Verbund"
 
-#: src/synfig/valuenode.cpp:142 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr "Referenz"
 
-#: src/synfig/valuenode.cpp:144 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr "Segment Tangente"
 
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr "Segment Eckpunkt"
 
-#: src/synfig/valuenode.cpp:146 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr "Streifen"
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr "Zweifarbig"
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_dynamiclist.cpp:755
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
 msgid "Dynamic List"
 msgstr "Dynamische Liste"
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr "Kreisförmiger Verlauf"
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr "Sinus"
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
 msgid "Timed Swap"
 msgstr "Zeitgesteuerter Wechsel"
 
-#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr "Verlauf wiederholen"
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr "Eponentiell"
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
 msgid "Spline Tangent"
 msgstr "Spline Tangente"
 
-#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr "Spline Eckpunkt"
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
 msgid "Range"
 msgstr "Bereich"
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
 #: src/synfig/valuenode_switch.cpp:163
 msgid "Switch"
 msgstr "Schalter"
 
-#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr "Cos"
 
-#: src/synfig/valuenode.cpp:164
+#: src/synfig/valuenode.cpp:170
 msgid "aTan2"
 msgstr "aTan2"
 
-#: src/synfig/valuenode.cpp:165
+#: src/synfig/valuenode.cpp:171
 msgid "Reverse Tangent"
 msgstr "Umgekehrte Tangenten"
 
-#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr "Reziprok"
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
 msgid "Integer"
 msgstr "Ganzzahl"
 
-#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr "Spline Breite"
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
 msgid "Vector Angle"
 msgstr "Vektor Winkel"
 
-#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
 msgid "Vector Length"
 msgstr "Vektor Länge"
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
 msgid "Vector X"
 msgstr "Vektor X"
 
-#: src/synfig/valuenode.cpp:176 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
 msgid "Vector Y"
 msgstr "Vektor Y"
 
-#: src/synfig/valuenode.cpp:177
+#: src/synfig/valuenode.cpp:183
 msgid "Gradient Color"
 msgstr "Farbe für Verlauf"
 
-#: src/synfig/valuenode.cpp:178
+#: src/synfig/valuenode.cpp:184
 msgid "Dot Product"
 msgstr "Dot Product"
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
 msgid "Time String"
 msgstr "Zeit Zeichenkette"
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_real.cpp:161
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
 #: src/synfig/valuenode_realstring.cpp:175
 msgid "Real"
 msgstr "Reell"
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
 msgid "Real String"
 msgstr "Reelle Zahl Zeichenkette"
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
 msgid "Joined List"
 msgstr "Vereinigte Liste"
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:189
 msgid "Angle String"
 msgstr "Winkel Zeichenkette"
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:190
 msgid "Int String"
 msgstr "Ganzzahl Zeichenkette"
 
-#: src/synfig/valuenode.cpp:185
+#: src/synfig/valuenode.cpp:191
 msgid "Logarithm"
 msgstr "Logarithmus"
 
-#: src/synfig/valuenode.cpp:187
+#: src/synfig/valuenode.cpp:192
 msgid "Greyed"
 msgstr "Ausgegraut"
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr "Ladung"
 
-#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr "Vergleichen"
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195
 msgid "Not"
 msgstr "Nicht"
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196
 msgid "And"
 msgstr "Und"
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197
 msgid "Or"
 msgstr "Oder"
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:199
+msgid "Bone Influence"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:200
+msgid "Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:201
+msgid "Root Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:202
+msgid "Static List"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:203
+msgid "Bone Weight Pair"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
 msgid "WPList"
 msgstr "WPList"
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:206
 msgid "DIList"
 msgstr "DIList"
 
-#: src/synfig/valuenode.cpp:233
+#: src/synfig/valuenode.cpp:241
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr "Ungültiger Typ: Wertknoten '%s' akzeptiert Typ '%s' nicht"
 
-#: src/synfig/valuenode.cpp:513
+#: src/synfig/valuenode.cpp:540
 msgid "Placeholder"
 msgstr "Platzhalter"
 
-#: src/synfig/valuenode.h:61
+#: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr "%s:%d falscher Typ für %s: benötigt %s aber erhielt %s"
@@ -3297,32 +3364,32 @@ msgstr "Verknüpfung2"
 msgid "Second operand of the AND operation"
 msgstr "Zweiter Operand der UND Operation"
 
-#: src/synfig/valuenode_animated.cpp:355 src/synfig/valuenode_animated.cpp:379
-#: src/synfig/valuenode_animated.cpp:703 src/synfig/valuenode_animated.cpp:721
-#: src/synfig/valuenode_animated.cpp:801 src/synfig/valuenode_animated.cpp:820
+#: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
+#: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
+#: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr "Ein Wegpunkt existiert bereits zu diesem Zeitpunkt"
 
-#: src/synfig/valuenode_animated.cpp:1134
+#: src/synfig/valuenode_animated.cpp:1173
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr "%s: Du kannst keine %s in einem animierten Wertknoten verwenden"
 
-#: src/synfig/valuenode_animated.cpp:1169
+#: src/synfig/valuenode_animated.cpp:1208
 msgid "Animated"
 msgstr "Animiert"
 
-#: src/synfig/valuenode_bline.cpp:977 src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
 #: src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in list"
 msgstr "Keine Einträge in der Liste"
 
-#: src/synfig/valuenode_bline.cpp:980 src/synfig/valuenode_dynamiclist.cpp:664
+#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
 #: src/synfig/valuenode_wplist.cpp:339
 msgid "No entries in ret_list"
 msgstr "Keine Einträge in der Liste ret_list"
 
-#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_bline.cpp:1023
+#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
 #, c-format
 msgid "Vertex %03d"
 msgstr "Eckpunkt %03d"
@@ -3342,7 +3409,7 @@ msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr "Position der verbundenen Tangente der Spline (0,1]"
 
 #: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:584
 #: src/synfig/valuenode_gradientrotate.cpp:169
 #: src/synfig/valuenode_linear.cpp:213
 msgid "Offset"
@@ -3396,190 +3463,186 @@ msgstr "Maßstab der Breite"
 msgid "When checked, the width is spline length based"
 msgstr "Breite basiert auf Länge des Spline"
 
-#: src/synfig/valuenode_composite.cpp:219
+#: src/synfig/valuenode_composite.cpp:229
 msgid "Bad type for composite"
 msgstr "Ungültiger Typ für Komposit"
 
-#: src/synfig/valuenode_composite.cpp:464
+#: src/synfig/valuenode_composite.cpp:474
 msgid "Red"
 msgstr "Rot"
 
-#: src/synfig/valuenode_composite.cpp:465
+#: src/synfig/valuenode_composite.cpp:475
 msgid "The red component of the color"
 msgstr "Rotanteil der Farbe"
 
-#: src/synfig/valuenode_composite.cpp:468
+#: src/synfig/valuenode_composite.cpp:478
 msgid "Green"
 msgstr "Grün"
 
-#: src/synfig/valuenode_composite.cpp:469
+#: src/synfig/valuenode_composite.cpp:479
 msgid "The green component of the color"
 msgstr "Grünanteil der Farbe"
 
-#: src/synfig/valuenode_composite.cpp:472
+#: src/synfig/valuenode_composite.cpp:482
 msgid "Blue"
 msgstr "Blau"
 
-#: src/synfig/valuenode_composite.cpp:473
+#: src/synfig/valuenode_composite.cpp:483
 msgid "The blue component of the color"
 msgstr "Blauanteil der Farbe"
 
-#: src/synfig/valuenode_composite.cpp:476
+#: src/synfig/valuenode_composite.cpp:486
 msgid "Alpha"
 msgstr "Alpha"
 
-#: src/synfig/valuenode_composite.cpp:477
+#: src/synfig/valuenode_composite.cpp:487
 msgid "The alpha of the color"
 msgstr "Alphawert der Farbe (Transparenz)"
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:492
 msgid "Vertex 1"
 msgstr "Eckpunkt 1"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:493
 msgid "The first vertex of the segment"
 msgstr "Erster Eckpunkt des Segments"
 
-#: src/synfig/valuenode_composite.cpp:486
-#: src/synfig/valuenode_composite.cpp:526
+#: src/synfig/valuenode_composite.cpp:496
+#: src/synfig/valuenode_composite.cpp:536
 msgid "Tangent 1"
 msgstr "Tangente 1"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:497
 msgid "The first tangent of the segment"
 msgstr "Erste Tangente des Segments"
 
-#: src/synfig/valuenode_composite.cpp:490
+#: src/synfig/valuenode_composite.cpp:500
 msgid "Vertex 2"
 msgstr "Eckpunkt 2"
 
-#: src/synfig/valuenode_composite.cpp:491
+#: src/synfig/valuenode_composite.cpp:501
 msgid "The second vertex of the segment"
 msgstr "Zweiter Eckpunkt des Segments"
 
-#: src/synfig/valuenode_composite.cpp:494
-#: src/synfig/valuenode_composite.cpp:530
+#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:540
 msgid "Tangent 2"
 msgstr "Tangente 2"
 
-#: src/synfig/valuenode_composite.cpp:495
+#: src/synfig/valuenode_composite.cpp:505
 msgid "The second tangent of the segment"
 msgstr "Zweite Tangente des Segments"
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:510
 msgid "X-Axis"
 msgstr "X Achse"
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:511
 msgid "The X-Axis component of the vector"
 msgstr "X Achsen Anteil des Vektors"
 
-#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:514
 msgid "Y-Axis"
 msgstr "Y Achse"
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:515
 msgid "The Y-Axis component of the vector"
 msgstr "Y Achsen Anteil des Vektors"
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:520
 msgid "Vertex"
 msgstr "Eckpunkt"
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:521
 msgid "The vertex of the Spline Point"
 msgstr "Eckpunkt des Spline Punkts"
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:525
 msgid "The width of the Spline Point"
 msgstr "Breite des Spline Punkts "
 
-#: src/synfig/valuenode_composite.cpp:519
+#: src/synfig/valuenode_composite.cpp:529
 msgid "Defines the Off and On position relative to neighbours"
 msgstr "Off und On Positionen relativ zu den Nachbarn"
 
-#: src/synfig/valuenode_composite.cpp:522
+#: src/synfig/valuenode_composite.cpp:532
 msgid "Split"
 msgstr "Aufspaltung"
 
-#: src/synfig/valuenode_composite.cpp:523
+#: src/synfig/valuenode_composite.cpp:533
 msgid "When checked, tangents are independent"
 msgstr "Tangenten unabhängig?"
 
-#: src/synfig/valuenode_composite.cpp:527
+#: src/synfig/valuenode_composite.cpp:537
 msgid "The first tangent of the Spline Point"
 msgstr "Erste Tangente des Spline Punkts"
 
-#: src/synfig/valuenode_composite.cpp:531
+#: src/synfig/valuenode_composite.cpp:541
 msgid "The second tangent of the Spline Point"
 msgstr "Zweite Tangente des Spline Punkts"
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:547
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:551
 msgid "The width of the Width Point"
 msgstr "Breite der Breitenpunkte"
 
-#: src/synfig/valuenode_composite.cpp:544
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_composite.cpp:554
+#: src/synfig/valuenode_composite.cpp:594
 msgid "Side Type Before"
 msgstr "Seitentyp davor"
 
-#: src/synfig/valuenode_composite.cpp:545
 #: src/synfig/valuenode_composite.cpp:555
+#: src/synfig/valuenode_composite.cpp:565
 msgid "Defines the interpolation type of the width point"
 msgstr "Interpolationstyp des Breitenpunkts"
 
-#: src/synfig/valuenode_composite.cpp:547
 #: src/synfig/valuenode_composite.cpp:557
+#: src/synfig/valuenode_composite.cpp:567
 msgid "Interpolate"
 msgstr "Interpolieren"
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:593
+#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:603
 msgid "Side Type After"
 msgstr "Seitentyp danach"
 
-#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:574
 msgid "Lower Boundary"
 msgstr "Untere Grenze"
 
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:575
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:578
 msgid "Upper Boundary"
 msgstr "Obere Grenze"
 
-#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:579
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:585
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:589
 #: src/synfig/valuenode_timedswap.cpp:260
 msgid "Length"
 msgstr "Länge"
 
-#: src/synfig/valuenode_composite.cpp:580
+#: src/synfig/valuenode_composite.cpp:590
 msgid "The length of the Dash Item"
 msgstr "Länge des Strichs"
 
-#: src/synfig/valuenode_composite.cpp:585
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:595
+#: src/synfig/valuenode_composite.cpp:604
 msgid "Defines the side type of the dash item"
 msgstr "Seiterntyp Strich"
 
-#: src/synfig/valuenode_const.cpp:127
-msgid "Static"
-msgstr "Statisch"
-
 #: src/synfig/valuenode_compare.cpp:168
 msgid "The left side of the comparison"
 msgstr "Linke Seite des Vergleichs (L)"
@@ -3644,12 +3707,12 @@ msgstr "Endwert des Indexes"
 msgid "Amount increment of the index"
 msgstr "Werterhöhung des Index"
 
-#: src/synfig/valuenode_dynamiclist.cpp:655
+#: src/synfig/valuenode_dynamiclist.cpp:661
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr "Listentyp/Gegenstandstyp Abweichung, Abweichung wird verworfen"
 
-#: src/synfig/valuenode_dynamiclist.cpp:703
-#: src/synfig/valuenode_dynamiclist.cpp:957
+#: src/synfig/valuenode_dynamiclist.cpp:709
+#: src/synfig/valuenode_dynamiclist.cpp:964
 #, c-format
 msgid "Item %03d"
 msgstr "Gegenstand %03d"
@@ -3973,8 +4036,8 @@ msgid "Intersection"
 msgstr "Unterteilung"
 
 #: src/synfig/valuenode_step.cpp:213
-msgid "Value that define whether the step is centerd on the value [0,1]"
-msgstr "Schritt auf dem Wert gemittelt? [0,1]"
+msgid "Value that define whether the step is centered on the value [0,1]"
+msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
 msgid "Color 1"
@@ -4108,195 +4171,195 @@ msgstr "Vektor zur Y-Koordinatenberechnung"
 msgid "WidthPoint %03d"
 msgstr "Breitenpunkt %03d"
 
-#: src/tool/main.cpp:133
+#: src/tool/main.cpp:140
 msgid "FATAL: Synfig Version Mismatch"
 msgstr "FATAL: Synfig Versionsabweichung"
 
-#: src/tool/main.cpp:169
+#: src/tool/main.cpp:176
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:171
+#: src/tool/main.cpp:178
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:172
+#: src/tool/main.cpp:179
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:173
+#: src/tool/main.cpp:180
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:174
+#: src/tool/main.cpp:181
 msgid "Set the diagonal size of image window (Span)"
 msgstr "Setze die Diagonale Größe des Bildfensters (San)"
 
-#: src/tool/main.cpp:175
+#: src/tool/main.cpp:182
 msgid "Set antialias amount for parametric renderer."
 msgstr "Setzen den Antialias Wert für den Parametrischen Renderer"
 
-#: src/tool/main.cpp:176
+#: src/tool/main.cpp:183
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:184
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:178
+#: src/tool/main.cpp:185
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:186
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:187
 msgid "Specify output filename"
 msgstr "Nenne Ausgabedateiname"
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:188
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:189
 msgid "Render the canvas with the given id instead of the root."
 msgstr "Rendere die Animation mit der gegebenen ID statt der Wurzel (root)"
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:190
 msgid "Set the frame rate"
 msgstr "Setzen der Bildwiederholrate"
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:191
 msgid "Render a single frame at <seconds>"
 msgstr "Rendere ein Bild in <seconds>"
 
-#: src/tool/main.cpp:185 src/tool/main.cpp:186
+#: src/tool/main.cpp:192 src/tool/main.cpp:193
 msgid "Set the starting time"
 msgstr "Setzen der Startzeit"
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:194
 msgid "Set the ending time"
 msgstr "Setzen der Endezeit"
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:195
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:196
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:197
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:193
+#: src/tool/main.cpp:200
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:202
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:203
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr "Stiller Modus (keine Fortschritts-/Restzeit- Anzeige)"
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:204
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:200
+#: src/tool/main.cpp:207
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:202
+#: src/tool/main.cpp:209
 msgid "Append layers in <filename> to composition"
 msgstr "Füge Ebenen in <filename> zur Komposition hinzu"
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:210
 msgid "Print out specified details of the root canvas"
 msgstr "Drucke gewählte Details der Basisanimation"
 
-#: src/tool/main.cpp:204 src/tool/main.cpp:230
+#: src/tool/main.cpp:211 src/tool/main.cpp:237
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:207
+#: src/tool/main.cpp:214
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:216
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:210
+#: src/tool/main.cpp:217
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:213
+#: src/tool/main.cpp:220
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:215
+#: src/tool/main.cpp:222
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:223
 msgid "Print out the list of available importers"
 msgstr "Drucke die Liste der verfügbaren Importfunktionen"
 
-#: src/tool/main.cpp:217
+#: src/tool/main.cpp:224
 msgid "Print out misc build information"
 msgstr "Drucke div. Build Informationen aus"
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:225
 msgid "Print out the list of available layers"
 msgstr "Drucke die Liste der verfügbaren Ebenen"
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:226
 msgid "Print out layer's description, parameter info, etc."
 msgstr "Drucke Ebenenbeschreibung, Parameter Informationen, etc."
 
-#: src/tool/main.cpp:220
+#: src/tool/main.cpp:227
 msgid "Print out license information"
 msgstr "Drucke Lizenzinformation aus"
 
-#: src/tool/main.cpp:221
+#: src/tool/main.cpp:228
 msgid "Print out the list of loaded modules"
 msgstr "Drucke Liste der geladenen Module"
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:229
 msgid "Print out the list of available targets"
 msgstr "Drucke die Liste der verfügbaren Ziele"
 
-#: src/tool/main.cpp:223
+#: src/tool/main.cpp:230
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:231
 msgid "Print out the list of available ValueNodes"
 msgstr "Drucke die Liste der verfügbaren Wertknoten"
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:232
 msgid "Print out version information"
 msgstr "Drucke Versionsinformation aus"
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:241
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:236
+#: src/tool/main.cpp:243
 msgid "Test GUID generation"
 msgstr "Test GUID Generierung"
 
-#: src/tool/main.cpp:237
+#: src/tool/main.cpp:244
 msgid "Test signal implementation"
 msgstr "Test Signal Implementierung"
 
@@ -4360,157 +4423,157 @@ msgstr ""
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:113
+#: src/tool/optionsprocessor.cpp:114
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:115
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:131
+#: src/tool/optionsprocessor.cpp:132
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:146
+#: src/tool/optionsprocessor.cpp:147
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:224
+#: src/tool/optionsprocessor.cpp:225
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:226
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:227
+#: src/tool/optionsprocessor.cpp:228
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:232
+#: src/tool/optionsprocessor.cpp:233
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:234
+#: src/tool/optionsprocessor.cpp:235
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:236
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:239
+#: src/tool/optionsprocessor.cpp:240
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:243
+#: src/tool/optionsprocessor.cpp:244
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:309
+#: src/tool/optionsprocessor.cpp:310
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:316
+#: src/tool/optionsprocessor.cpp:317
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:324
+#: src/tool/optionsprocessor.cpp:325
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:334
+#: src/tool/optionsprocessor.cpp:335
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:343
+#: src/tool/optionsprocessor.cpp:344
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:352
+#: src/tool/optionsprocessor.cpp:353
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:379
+#: src/tool/optionsprocessor.cpp:380
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:385
+#: src/tool/optionsprocessor.cpp:386
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:400
+#: src/tool/optionsprocessor.cpp:401
 #, c-format
 msgid "Resolution set to %dx%d"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:417
+#: src/tool/optionsprocessor.cpp:418
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:437
+#: src/tool/optionsprocessor.cpp:438
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:440
+#: src/tool/optionsprocessor.cpp:441
 #, c-format
 msgid "Target video codec set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:446
+#: src/tool/optionsprocessor.cpp:447
 #, c-format
 msgid "Target bitrate set to %dk"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:452
+#: src/tool/optionsprocessor.cpp:453
 #, c-format
 msgid "Output file sequence separator set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:487
+#: src/tool/optionsprocessor.cpp:488
 #, c-format
 msgid "Unable to load '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:494
+#: src/tool/optionsprocessor.cpp:495
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:499
+#: src/tool/optionsprocessor.cpp:500
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:513
+#: src/tool/optionsprocessor.cpp:514
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:532
+#: src/tool/optionsprocessor.cpp:533
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:539
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:557
+#: src/tool/optionsprocessor.cpp:558
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:571
+#: src/tool/optionsprocessor.cpp:572
 msgid "Appended contents of "
 msgstr ""
 
diff --git a/po/el_GR.gmo b/po/el_GR.gmo
index 6b28e81..8b5f943 100644
Binary files a/po/el_GR.gmo and b/po/el_GR.gmo differ
diff --git a/po/el_GR.po b/po/el_GR.po
index c7d51db..88eac22 100644
--- a/po/el_GR.po
+++ b/po/el_GR.po
@@ -1,98 +1,98 @@
-# translation of es.po to Greek
-# Greek translations for Synfig Core package
-# Copyright (C) 2012 Synfig Contributors
-# This file is distributed under the same license as
+# Translation file for Synfig Core package.
+# Copyright (C) 2013 Synfig Contributors
+# This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
 # Γιάννης Κασκαμανίδης <kiolalis at gmail.com>, 2011
-# Γιάννης Κασκαμανίδης <kiolalis at gmail.com>, 2011, 2012
+# Γιάννης Κασκαμανίδης <kiolalis at gmail.com>, 2011-2012
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2013-05-09 18:34+0200\n"
-"PO-Revision-Date: 2013-05-02 12:39+0000\n"
-"Last-Translator: genete <genetita at gmail.com>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
+"POT-Creation-Date: 2013-10-25 17:57+0700\n"
+"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
+"Language-Team: Greek (Greece) (http://www.transifex.com/projects/p/synfig/"
+"language/el_GR/)\n"
 "Language: el_GR\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:58
+#: src/modules/mod_example/filledrect.cpp:59
 msgid "Filled Rectangle"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:59
+#: src/modules/mod_example/filledrect.cpp:60
 #: src/modules/mod_example/metaballs.cpp:58
 #: src/modules/mod_example/simplecircle.cpp:58
 msgid "Example"
 msgstr "Παράδειγμα"
 
-#: src/modules/mod_example/filledrect.cpp:120
+#: src/modules/mod_example/filledrect.cpp:131
 #: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:523
-#: src/modules/lyr_std/shade.cpp:564
-#: src/modules/mod_geometry/checkerboard.cpp:122
-#: src/modules/mod_geometry/circle.cpp:128
-#: src/modules/mod_geometry/rectangle.cpp:125 src/synfig/layer_shape.cpp:1193
-#: src/synfig/layer_solidcolor.cpp:102 src/synfig/paramdesc.cpp:79
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:620
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
 msgid "Color"
 msgstr "Χρώμα"
 
-#: src/modules/mod_example/filledrect.cpp:121
+#: src/modules/mod_example/filledrect.cpp:132
 #: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:129
-#: src/modules/mod_geometry/rectangle.cpp:126
-#: src/synfig/layer_solidcolor.cpp:103
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
 msgid "Fill color of the layer"
 msgstr "Χρώμα γεμίσματος της στρώσης"
 
-#: src/modules/mod_example/filledrect.cpp:125
-#: src/modules/mod_geometry/rectangle.cpp:130
-#: src/modules/mod_gradient/lineargradient.cpp:190
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:185
 msgid "Point 1"
 msgstr "Σημείο 1"
 
-#: src/modules/mod_example/filledrect.cpp:126
-#: src/modules/mod_geometry/rectangle.cpp:132
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
 msgid "First corner of the rectangle"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_geometry/rectangle.cpp:136
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:190
 msgid "Point 2"
 msgstr "Σημείο 2"
 
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_geometry/rectangle.cpp:137
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
 msgid "Second corner of the rectangle"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_example/filledrect.cpp:147
 msgid "Feather X"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:140
+#: src/modules/mod_example/filledrect.cpp:152
 msgid "Feather Y"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:144 src/modules/lyr_std/bevel.cpp:68
-#: src/modules/mod_geometry/advanced_outline.cpp:1161
+#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
 msgid "Bevel"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:145
+#: src/modules/mod_example/filledrect.cpp:158
 msgid "Use Bevel for the corners"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:149
+#: src/modules/mod_example/filledrect.cpp:163
 msgid "Keep Bevel Circular"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:150
+#: src/modules/mod_example/filledrect.cpp:164
 msgid "When checked the bevel is circular"
 msgstr ""
 
@@ -100,39 +100,39 @@ msgstr ""
 msgid "Metaballs"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:135
+#: src/modules/mod_example/metaballs.cpp:129
 #: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:552
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:194
 #: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:112
-#: src/modules/mod_noise/noise.cpp:259 src/modules/mod_particle/plant.cpp:403
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
 #: src/synfig/valuenode_gradientrotate.cpp:164
 #: src/synfig/valuenode_repeat_gradient.cpp:203
 msgid "Gradient"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:139
+#: src/modules/mod_example/metaballs.cpp:133
 msgid "Balls"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:143
+#: src/modules/mod_example/metaballs.cpp:137
 msgid "Radii"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:147
+#: src/modules/mod_example/metaballs.cpp:141
 msgid "Weights"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:151
+#: src/modules/mod_example/metaballs.cpp:145
 msgid "Gradient Left"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:155
+#: src/modules/mod_example/metaballs.cpp:149
 msgid "Gradient Right"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:159
+#: src/modules/mod_example/metaballs.cpp:153
 msgid "Positive Only"
 msgstr ""
 
@@ -144,21 +144,21 @@ msgstr ""
 #: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
 #: src/modules/mod_gradient/conicalgradient.cpp:114
 #: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:117
+#: src/modules/mod_gradient/spiralgradient.cpp:118
 msgid "Center"
 msgstr "Κέντρο"
 
 #: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:144
+#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
 msgid "Center of the circle"
 msgstr "Κέντρο του κύκλου"
 
 #: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:151
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:132
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
 #: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:122
-#: src/modules/mod_noise/valuenode_random.cpp:269
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/valuenode_radialcomposite.cpp:272
 msgid "Radius"
 msgstr "Ακτίνα"
@@ -166,20 +166,20 @@ msgstr "Ακτίνα"
 #: src/modules/mod_example/simplecircle.cpp:118
 #: src/modules/lyr_std/twirl.cpp:118
 #: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:124
 msgid "This is the radius of the circle"
 msgstr "Αυτή είναι η ακτίνα του κύκλου"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
-#: src/modules/lyr_freetype/lyr_freetype.cpp:517
+#: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Κείμενο"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
 #: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
-#: src/modules/lyr_std/supersample.cpp:57 src/modules/lyr_std/timeloop.cpp:60
-#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:70
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:79
+#: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
+#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
 msgid "Other"
 msgstr "Άλλο"
 
@@ -187,245 +187,245 @@ msgstr "Άλλο"
 msgid "Text Layer"
 msgstr "Στρώση κειμένου"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:390
+#: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
 msgstr "αδυναμία αρχικοποίησης"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:409
+#: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:518
+#: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:524
+#: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:528
+#: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:533
+#: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
 msgstr "Στυλ"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:535
-#: src/modules/lyr_freetype/lyr_freetype.cpp:545
+#: src/modules/lyr_freetype/lyr_freetype.cpp:587
+#: src/modules/lyr_freetype/lyr_freetype.cpp:597
 msgid "Normal"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:536
+#: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:537
+#: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:541
+#: src/modules/lyr_freetype/lyr_freetype.cpp:593
 msgid "Weight"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:543
+#: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:544
+#: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:546
+#: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:547
+#: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:548
+#: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:551
+#: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:552
+#: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:556
+#: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:557
+#: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:561
-#: src/modules/lyr_std/shade.cpp:570 src/modules/lyr_std/xorpattern.cpp:129
-#: src/modules/mod_filter/blur.cpp:372
+#: src/modules/lyr_freetype/lyr_freetype.cpp:613
+#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:413
 #: src/modules/mod_filter/radialblur.cpp:115
-#: src/modules/mod_geometry/checkerboard.cpp:130
-#: src/modules/mod_noise/distort.cpp:222 src/modules/mod_noise/noise.cpp:267
+#: src/modules/mod_geometry/checkerboard.cpp:154
+#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:562
+#: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:569
+#: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:570
+#: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/insideout.cpp:143 src/modules/lyr_std/rotate.cpp:116
-#: src/modules/lyr_std/shade.cpp:567 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:389
-#: src/modules/lyr_std/xorpattern.cpp:125 src/modules/lyr_std/zoom.cpp:104
+#: src/modules/lyr_freetype/lyr_freetype.cpp:627
+#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
+#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
+#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
-#: src/modules/mod_geometry/checkerboard.cpp:126
-#: src/modules/mod_geometry/circle.cpp:143
-#: src/modules/mod_gradient/curvegradient.cpp:537
-#: src/modules/mod_particle/plant.cpp:398 src/synfig/layer_pastecanvas.cpp:133
-#: src/synfig/layer_shape.cpp:1197 src/synfig/valuenode_composite.cpp:518
+#: src/modules/mod_geometry/checkerboard.cpp:150
+#: src/modules/mod_geometry/circle.cpp:161
+#: src/modules/mod_gradient/curvegradient.cpp:550
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
+#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
 msgid "Origin"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:576
+#: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:580
+#: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:581
+#: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:588
+#: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:589
+#: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:594
+#: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:597
-#: src/modules/lyr_std/shade.cpp:587 src/modules/mod_geometry/circle.cpp:147
-#: src/synfig/layer_shape.cpp:1200
+#: src/modules/lyr_freetype/lyr_freetype.cpp:649
+#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1228
 msgid "Invert"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:654
+#: src/modules/lyr_freetype/lyr_freetype.cpp:714
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:680
+#: src/modules/lyr_freetype/lyr_freetype.cpp:740
 msgid "Text too small, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:704
+#: src/modules/lyr_freetype/lyr_freetype.cpp:764
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:747
+#: src/modules/lyr_freetype/lyr_freetype.cpp:807
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:754
+#: src/modules/lyr_freetype/lyr_freetype.cpp:814
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:69 src/modules/lyr_std/shade.cpp:68
+#: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:570 src/modules/lyr_std/shade.cpp:576
-#: src/modules/mod_filter/blur.cpp:376
-#: src/modules/mod_filter/halftone2.cpp:170
+#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
+#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:571 src/modules/lyr_std/shade.cpp:577
-#: src/modules/mod_filter/blur.cpp:377
+#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
+#: src/modules/mod_filter/blur.cpp:418
 msgid "Type of blur to use"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:573 src/modules/lyr_std/shade.cpp:579
-#: src/modules/mod_filter/blur.cpp:379 src/synfig/layer_shape.cpp:1213
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:574 src/modules/lyr_std/shade.cpp:580
-#: src/modules/mod_filter/blur.cpp:380 src/synfig/layer_shape.cpp:1214
+#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
+#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
 msgid "Fast Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:575 src/modules/lyr_std/shade.cpp:581
-#: src/modules/mod_filter/blur.cpp:381 src/synfig/layer_shape.cpp:1215
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
 msgid "Cross-Hatch Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:576 src/modules/lyr_std/shade.cpp:582
-#: src/modules/mod_filter/blur.cpp:382 src/synfig/layer_shape.cpp:1216
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
 msgid "Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:577 src/modules/lyr_std/shade.cpp:583
-#: src/modules/mod_filter/blur.cpp:383 src/synfig/layer_shape.cpp:1217
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:581
+#: src/modules/lyr_std/bevel.cpp:635
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:584
+#: src/modules/lyr_std/bevel.cpp:638
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:587
+#: src/modules/lyr_std/bevel.cpp:641
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:591
+#: src/modules/lyr_std/bevel.cpp:645
 msgid "Depth of Bevel"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:595
+#: src/modules/lyr_std/bevel.cpp:649
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:598
+#: src/modules/lyr_std/bevel.cpp:652
 msgid "Use Luma"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:601
+#: src/modules/lyr_std/bevel.cpp:655
 msgid "Solid"
 msgstr ""
 
-#: src/modules/lyr_std/booleancurve.cpp:104
+#: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
 msgstr ""
 
-#: src/modules/lyr_std/booleancurve.cpp:105
+#: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
 msgstr ""
 
@@ -433,38 +433,38 @@ msgstr ""
 msgid "Clamp"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:56
-#: src/modules/mod_filter/halftone2.cpp:59
-#: src/modules/mod_filter/halftone3.cpp:59
-#: src/modules/mod_filter/lumakey.cpp:59
+#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:57
+#: src/modules/mod_filter/halftone2.cpp:60
+#: src/modules/mod_filter/halftone3.cpp:60
+#: src/modules/mod_filter/lumakey.cpp:60
 msgid "Filters"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:158
+#: src/modules/lyr_std/clamp.cpp:162
 msgid "Invert Negative"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:162
+#: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:163
+#: src/modules/lyr_std/clamp.cpp:167
 msgid "When checked the Ceiling value is used"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:167
+#: src/modules/lyr_std/clamp.cpp:171
 msgid "Ceiling"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:168
+#: src/modules/lyr_std/clamp.cpp:172
 msgid "Upper boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:172
+#: src/modules/lyr_std/clamp.cpp:176
 msgid "Floor"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:173
+#: src/modules/lyr_std/clamp.cpp:177
 msgid "Lower boundary of the clamping"
 msgstr ""
 
@@ -472,24 +472,24 @@ msgstr ""
 msgid "Import Image"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:151 src/modules/lyr_std/import.cpp:201
+#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:283
+#: src/modules/lyr_std/import.cpp:293
 msgid "Filename"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:284
+#: src/modules/lyr_std/import.cpp:294
 msgid "File to import"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:288 src/synfig/layer_pastecanvas.cpp:146
+#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:289
+#: src/modules/lyr_std/import.cpp:299
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -498,14 +498,14 @@ msgid "Inside Out"
 msgstr ""
 
 #: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:75
 #: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:57 src/modules/lyr_std/curvewarp.cpp:56
-#: src/modules/mod_noise/distort.cpp:58
+#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
+#: src/modules/mod_noise/distort.cpp:59
 msgid "Distortions"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:144
+#: src/modules/lyr_std/insideout.cpp:163
 msgid "Defines the where the center will be"
 msgstr ""
 
@@ -517,97 +517,97 @@ msgstr ""
 msgid "Fractals"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:309
+#: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:310
+#: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:313
+#: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:314
+#: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:317
+#: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:320 src/modules/lyr_std/mandelbrot.cpp:223
+#: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:323
+#: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:326 src/modules/lyr_std/mandelbrot.cpp:226
+#: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:330 src/modules/lyr_std/mandelbrot.cpp:236
+#: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:333 src/modules/lyr_std/mandelbrot.cpp:240
+#: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:336 src/modules/lyr_std/mandelbrot.cpp:244
+#: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:339 src/modules/lyr_std/mandelbrot.cpp:248
+#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:342
+#: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:345 src/modules/lyr_std/mandelbrot.cpp:265
+#: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:348 src/modules/lyr_std/mandelbrot.cpp:269
+#: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:351 src/modules/lyr_std/mandelbrot.cpp:273
+#: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:354 src/modules/lyr_std/mandelbrot.cpp:277
+#: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:357
+#: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:361
+#: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:364 src/modules/lyr_std/mandelbrot.cpp:285
+#: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:286
+#: src/modules/lyr_std/julia.cpp:391 src/modules/lyr_std/mandelbrot.cpp:282
 msgid "Smooth the coloration outside the set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:368 src/modules/lyr_std/mandelbrot.cpp:230
+#: src/modules/lyr_std/julia.cpp:394 src/modules/lyr_std/mandelbrot.cpp:226
 msgid "Break Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:369 src/modules/lyr_std/mandelbrot.cpp:231
+#: src/modules/lyr_std/julia.cpp:395 src/modules/lyr_std/mandelbrot.cpp:227
 msgid "Modify equation to achieve interesting results"
 msgstr ""
 
@@ -615,48 +615,48 @@ msgstr ""
 msgid "Mandelbrot Set"
 msgstr ""
 
+#: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
 #: src/modules/lyr_std/mandelbrot.cpp:241
 #: src/modules/lyr_std/mandelbrot.cpp:245
 #: src/modules/lyr_std/mandelbrot.cpp:249
 #: src/modules/lyr_std/mandelbrot.cpp:253
 #: src/modules/lyr_std/mandelbrot.cpp:257
-#: src/modules/lyr_std/mandelbrot.cpp:261
 msgid "Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:252
+#: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:256
+#: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:260
+#: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
 msgstr ""
 
+#: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
 #: src/modules/lyr_std/mandelbrot.cpp:270
 #: src/modules/lyr_std/mandelbrot.cpp:274
 #: src/modules/lyr_std/mandelbrot.cpp:278
-#: src/modules/lyr_std/mandelbrot.cpp:282
+#: src/modules/lyr_std/mandelbrot.cpp:283
 #: src/modules/lyr_std/mandelbrot.cpp:287
 #: src/modules/lyr_std/mandelbrot.cpp:291
-#: src/modules/lyr_std/mandelbrot.cpp:295
 msgid "Outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:281
+#: src/modules/lyr_std/mandelbrot.cpp:277
 msgid "Gradient outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:290
+#: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:294
+#: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
 msgstr ""
 
@@ -669,16 +669,16 @@ msgstr ""
 msgid "Transform"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/translate.cpp:101
+#: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:134
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:121
-#: src/modules/lyr_std/sphere_distort.cpp:158
+#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:217
+#: src/synfig/layer_composite.cpp:249
 #: src/synfig/valuenode_blinecalctangent.cpp:251
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
@@ -687,61 +687,61 @@ msgstr ""
 msgid "Amount"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:67
+#: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:571
+#: src/modules/lyr_std/shade.cpp:627
 msgid "Size of Shade"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:73
-#: src/modules/lyr_std/sphere_distort.cpp:172
+#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:167
 msgid "Spherize"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/synfig/valuenode_composite.cpp:536
+#: src/modules/lyr_std/sphere_distort.cpp:141
+#: src/synfig/valuenode_composite.cpp:546
 msgid "Position"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:147
+#: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:154
+#: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:160
+#: src/modules/lyr_std/sphere_distort.cpp:155
 msgid "The distortion intensity (negative values inverts effect)"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:164 src/modules/lyr_std/warp.cpp:409
+#: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:165
+#: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:169
+#: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:170
+#: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:173
+#: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:174
+#: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
 msgstr ""
 
@@ -761,104 +761,104 @@ msgstr ""
 msgid "Stroboscope"
 msgstr ""
 
-#: src/modules/lyr_std/stroboscope.cpp:102
+#: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
 msgstr ""
 
-#: src/modules/lyr_std/stroboscope.cpp:103
+#: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:56
+#: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:129
+#: src/modules/lyr_std/supersample.cpp:146
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:290
-#: src/modules/lyr_std/curvewarp.cpp:393
-#: src/modules/mod_gradient/curvegradient.cpp:542
-#: src/synfig/valuenode_composite.cpp:514
-#: src/synfig/valuenode_composite.cpp:540
+#: src/modules/lyr_std/supersample.cpp:337
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_composite.cpp:524
+#: src/synfig/valuenode_composite.cpp:550
 #: src/synfig/valuenode_realstring.cpp:180
 #: src/synfig/valuenode_repeat_gradient.cpp:213
 #: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
 msgid "Width"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:291
+#: src/modules/lyr_std/supersample.cpp:338
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:294 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
 msgid "Height"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:295
+#: src/modules/lyr_std/supersample.cpp:342
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:298
+#: src/modules/lyr_std/supersample.cpp:345
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:299
+#: src/modules/lyr_std/supersample.cpp:346
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:302
+#: src/modules/lyr_std/supersample.cpp:349
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:303
+#: src/modules/lyr_std/supersample.cpp:350
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:166
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:124 src/synfig/valuenode_timeloop.cpp:179
+#: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:125
+#: src/modules/lyr_std/timeloop.cpp:134
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:129 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:130 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:134 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:135 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139
+#: src/modules/lyr_std/timeloop.cpp:148
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:140
+#: src/modules/lyr_std/timeloop.cpp:149
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144
+#: src/modules/lyr_std/timeloop.cpp:153
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:145
+#: src/modules/lyr_std/timeloop.cpp:154
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
@@ -886,115 +886,115 @@ msgstr ""
 msgid "When checked, distorts outside the circle"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:56
+#: src/modules/lyr_std/warp.cpp:57
 msgid "Warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:374
+#: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:376
+#: src/modules/lyr_std/warp.cpp:382
 msgid "Top Left corner of the source to warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:380
+#: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:381
+#: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:385
+#: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:387
+#: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:391
+#: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:393
+#: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:397
+#: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:399
+#: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:403
+#: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:405
+#: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:413
+#: src/modules/lyr_std/warp.cpp:419
 msgid "Horizon"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:414
+#: src/modules/lyr_std/warp.cpp:420
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:55
+#: src/modules/lyr_std/curvewarp.cpp:56
 msgid "Curve Warp"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:390
-msgid "Position of the source line"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:395
+#: src/modules/lyr_std/curvewarp.cpp:404
 msgid "How much is expanded the result perpendicular to the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:407
 msgid "Start Point"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:400
+#: src/modules/lyr_std/curvewarp.cpp:409
 msgid "First point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:403
+#: src/modules/lyr_std/curvewarp.cpp:412
 msgid "End Point"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:404
+#: src/modules/lyr_std/curvewarp.cpp:413
 msgid "Final point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:407
-#: src/modules/mod_geometry/advanced_outline.cpp:1123
-#: src/modules/mod_geometry/outline.cpp:814
-#: src/modules/mod_geometry/region.cpp:233
-#: src/modules/mod_gradient/curvegradient.cpp:546
-#: src/modules/mod_particle/plant.cpp:391
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
 msgid "Vertices"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:410
+#: src/modules/lyr_std/curvewarp.cpp:419
 msgid "List of Spline Points where the source line is curved to"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:413
-#: src/modules/mod_geometry/advanced_outline.cpp:1178
-#: src/modules/mod_gradient/curvegradient.cpp:567
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
 msgid "Fast"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:414
-#: src/modules/mod_gradient/curvegradient.cpp:568
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
 msgid "When checked, renders quickly but with artifacts"
 msgstr ""
 
@@ -1002,15 +1002,15 @@ msgstr ""
 msgid "XOR Pattern"
 msgstr ""
 
-#: src/modules/lyr_std/xorpattern.cpp:126
+#: src/modules/lyr_std/xorpattern.cpp:130
 msgid "Center of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/xorpattern.cpp:130
+#: src/modules/lyr_std/xorpattern.cpp:134
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:143
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
 #: src/synfig/valuenode_blinecalctangent.cpp:261
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
 #: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
@@ -1021,7 +1021,7 @@ msgstr ""
 msgid "Amount to scale to"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:105
+#: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
 msgstr ""
 
@@ -1089,126 +1089,138 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:201
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:208
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:218
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:272
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-msgid "Unable to open pipe to ffmpeg"
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:214
+msgid "Unable to open pipe to ffmpeg (no pipe)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:221
+msgid "Unable to open pipe to ffmpeg (pid == -1)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:231
+msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:285
+msgid "Unable to open pipe to ffmpeg (exec failed)"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:68
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:303
+msgid "Unable to open pipe to ffmpeg (no file)"
+msgstr ""
+
+#: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:69 src/modules/mod_filter/radialblur.cpp:56
+#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
 #: src/synfig/layer_motionblur.cpp:57
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:373
+#: src/modules/mod_filter/blur.cpp:414
 msgid "Size of Blur"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:55
+#: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:211
+#: src/modules/mod_filter/colorcorrect.cpp:217
 msgid "Hue Adjust"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:215
+#: src/modules/mod_filter/colorcorrect.cpp:221
 msgid "Brightness"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:219
+#: src/modules/mod_filter/colorcorrect.cpp:225
 msgid "Contrast"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:223
+#: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:227 src/synfig/layer_bitmap.cpp:179
+#: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:58
+#: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:151
+#: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:155
+#: src/modules/mod_filter/halftone2.cpp:159
 msgid "Mask Angle"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:159
-#: src/modules/mod_filter/halftone3.cpp:309
+#: src/modules/mod_filter/halftone2.cpp:163
+#: src/modules/mod_filter/halftone3.cpp:328
 msgid "Mask Size"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:164
+#: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:167
+#: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:172
-#: src/modules/mod_filter/halftone3.cpp:314
+#: src/modules/mod_filter/halftone2.cpp:176
+#: src/modules/mod_filter/halftone3.cpp:333
 #: src/modules/mod_gradient/conicalgradient.cpp:125
 msgid "Symmetric"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:173
-#: src/modules/mod_filter/halftone3.cpp:315
+#: src/modules/mod_filter/halftone2.cpp:177
+#: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:175
-#: src/modules/mod_filter/halftone3.cpp:317
+#: src/modules/mod_filter/halftone2.cpp:179
+#: src/modules/mod_filter/halftone3.cpp:336
 msgid "Diamond"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:176
-#: src/modules/mod_filter/halftone3.cpp:318
+#: src/modules/mod_filter/halftone2.cpp:180
+#: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:58
+#: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:312
+#: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:321
+#: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:329
+#: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:333
+#: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:337
+#: src/modules/mod_filter/halftone3.cpp:356
 msgid " Mask Angle"
 msgstr ""
 
-#: src/modules/mod_filter/lumakey.cpp:58
+#: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
 msgstr ""
 
-#: src/modules/mod_filter/radialblur.cpp:55
+#: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
 msgstr ""
 
@@ -1230,19 +1242,19 @@ msgstr ""
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:62 src/synfig/layer_solidcolor.cpp:57
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:123
+#: src/modules/mod_geometry/checkerboard.cpp:147
 msgid "Color of checkers"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:127
+#: src/modules/mod_geometry/checkerboard.cpp:151
 msgid "Center of the checkers"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:131
+#: src/modules/mod_geometry/checkerboard.cpp:155
 msgid "Size of checkers"
 msgstr ""
 
@@ -1250,54 +1262,54 @@ msgstr ""
 msgid "Circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:134
+#: src/modules/mod_geometry/circle.cpp:152
 msgid "Radius of the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:138 src/synfig/layer_shape.cpp:1206
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
 msgid "Feather"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:140
+#: src/modules/mod_geometry/circle.cpp:158
 msgid "Amount of feather of the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:148
+#: src/modules/mod_geometry/circle.cpp:166
 msgid "Invert the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:152
+#: src/modules/mod_geometry/circle.cpp:170
 msgid "Falloff"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:153
+#: src/modules/mod_geometry/circle.cpp:171
 msgid "Determines the falloff function for the feather"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:155
-#: src/modules/mod_noise/distort.cpp:234 src/modules/mod_noise/noise.cpp:275
-#: src/modules/mod_noise/valuenode_random.cpp:288
-#: src/synfig/layer_bitmap.cpp:173 src/synfig/layer_motionblur.cpp:150
-#: src/synfig/valuenode.cpp:139 src/synfig/valuenode_linear.cpp:146
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:289
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
 msgid "Linear"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:156
+#: src/modules/mod_geometry/circle.cpp:174
 msgid "Squared"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:157
+#: src/modules/mod_geometry/circle.cpp:175
 msgid "Square Root"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:158
+#: src/modules/mod_geometry/circle.cpp:176
 msgid "Sigmond"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:159
-#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:276
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:174
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:290
+#: src/synfig/layer_bitmap.cpp:170
 msgid "Cosine"
 msgstr ""
 
@@ -1305,160 +1317,160 @@ msgstr ""
 msgid "Advanced Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:133
+#: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1125
-#: src/modules/mod_geometry/outline.cpp:817
-#: src/modules/mod_geometry/region.cpp:235
-#: src/modules/mod_gradient/curvegradient.cpp:549
-#: src/modules/mod_particle/plant.cpp:392
+#: src/modules/mod_geometry/advanced_outline.cpp:1136
+#: src/modules/mod_geometry/outline.cpp:826
+#: src/modules/mod_geometry/region.cpp:240
+#: src/modules/mod_gradient/curvegradient.cpp:562
+#: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1129
-#: src/modules/mod_geometry/outline.cpp:831
+#: src/modules/mod_geometry/advanced_outline.cpp:1140
+#: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1130
-#: src/modules/mod_geometry/outline.cpp:832
+#: src/modules/mod_geometry/advanced_outline.cpp:1141
+#: src/modules/mod_geometry/outline.cpp:841
 msgid "Global width of the outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:837
+#: src/modules/mod_geometry/advanced_outline.cpp:1145
+#: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1135
-#: src/modules/mod_geometry/outline.cpp:838
+#: src/modules/mod_geometry/advanced_outline.cpp:1146
+#: src/modules/mod_geometry/outline.cpp:847
 msgid "Value to add to the global width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1138
+#: src/modules/mod_geometry/advanced_outline.cpp:1149
 msgid "Tip Type at Start"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1139
+#: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1141
-#: src/modules/mod_geometry/advanced_outline.cpp:1150
-#: src/synfig/valuenode_composite.cpp:548
+#: src/modules/mod_geometry/advanced_outline.cpp:1152
+#: src/modules/mod_geometry/advanced_outline.cpp:1161
 #: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:587
-#: src/synfig/valuenode_composite.cpp:596
+#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:606
 msgid "Rounded Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1142
-#: src/modules/mod_geometry/advanced_outline.cpp:1151
-#: src/synfig/valuenode_composite.cpp:549
+#: src/modules/mod_geometry/advanced_outline.cpp:1153
+#: src/modules/mod_geometry/advanced_outline.cpp:1162
 #: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:588
-#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:607
 msgid "Squared Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1143
-#: src/modules/mod_geometry/advanced_outline.cpp:1152
-#: src/synfig/valuenode_composite.cpp:550
+#: src/modules/mod_geometry/advanced_outline.cpp:1154
+#: src/modules/mod_geometry/advanced_outline.cpp:1163
 #: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:570
+#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:608
 msgid "Peak Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1144
-#: src/modules/mod_geometry/advanced_outline.cpp:1153
-#: src/synfig/valuenode_composite.cpp:551
+#: src/modules/mod_geometry/advanced_outline.cpp:1155
+#: src/modules/mod_geometry/advanced_outline.cpp:1164
 #: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:590
-#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:571
+#: src/synfig/valuenode_composite.cpp:600
+#: src/synfig/valuenode_composite.cpp:609
 msgid "Flat Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1147
+#: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1148
+#: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1156
+#: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1157
-#: src/modules/mod_geometry/outline.cpp:843
+#: src/modules/mod_geometry/advanced_outline.cpp:1168
+#: src/modules/mod_geometry/outline.cpp:852
 msgid "Determines cusp type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1159
+#: src/modules/mod_geometry/advanced_outline.cpp:1170
 msgid "Sharp"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1160
+#: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1164
+#: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1165
+#: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1168
-#: src/modules/mod_geometry/outline.cpp:859
+#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/outline.cpp:869
 #: src/synfig/valuenode_blinecalctangent.cpp:271
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1169
+#: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
+#: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1175
+#: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1182
+#: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1184
+#: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1187
+#: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1190
+#: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1193
+#: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1196
+#: src/modules/mod_geometry/advanced_outline.cpp:1207
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
@@ -1466,32 +1478,36 @@ msgstr ""
 msgid "Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:183
+#: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:842
+#: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:847
+#: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:848
-#: src/modules/mod_geometry/outline.cpp:853
+#: src/modules/mod_geometry/outline.cpp:857
+#: src/modules/mod_geometry/outline.cpp:862
 msgid "Round off the tip"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:852
+#: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:856
+#: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:860
+#: src/modules/mod_geometry/outline.cpp:866
+msgid "(Currently not used)"
+msgstr ""
+
+#: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
 msgstr ""
 
@@ -1499,11 +1515,11 @@ msgstr ""
 msgid "Rectangle"
 msgstr ""
 
-#: src/modules/mod_geometry/rectangle.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
 msgstr ""
 
-#: src/modules/mod_geometry/rectangle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
 msgstr ""
 
@@ -1515,46 +1531,46 @@ msgstr ""
 msgid "Star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:183
+#: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:184
+#: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190
+#: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:191
+#: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:197
+#: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:129
+#: src/modules/mod_gradient/spiralgradient.cpp:130
 #: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:198
+#: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:203 src/synfig/distance.cpp:251
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
 msgid "Points"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:204
+#: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:208
+#: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:209
+#: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
@@ -1572,20 +1588,20 @@ msgid "Conical Gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
-#: src/modules/mod_gradient/curvegradient.cpp:61
+#: src/modules/mod_gradient/curvegradient.cpp:62
 #: src/modules/mod_gradient/lineargradient.cpp:55
 #: src/modules/mod_gradient/radialgradient.cpp:58
-#: src/modules/mod_gradient/spiralgradient.cpp:57
-#: src/modules/mod_noise/noise.cpp:58
+#: src/modules/mod_gradient/spiralgradient.cpp:58
+#: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
-#: src/modules/mod_gradient/curvegradient.cpp:553
-#: src/modules/mod_gradient/lineargradient.cpp:200
+#: src/modules/mod_gradient/curvegradient.cpp:566
+#: src/modules/mod_gradient/lineargradient.cpp:195
 #: src/modules/mod_gradient/radialgradient.cpp:114
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:260
+#: src/modules/mod_gradient/spiralgradient.cpp:114
+#: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
 msgstr ""
 
@@ -1598,27 +1614,27 @@ msgid "Rotation of the gradient around the center"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
-#: src/modules/mod_gradient/curvegradient.cpp:557
-#: src/modules/mod_gradient/lineargradient.cpp:204
+#: src/modules/mod_gradient/curvegradient.cpp:570
+#: src/modules/mod_gradient/lineargradient.cpp:199
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:60
+#: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:538
-#: src/modules/mod_particle/plant.cpp:399
+#: src/modules/mod_gradient/curvegradient.cpp:551
+#: src/modules/mod_particle/plant.cpp:432
 msgid "Offset for the Vertices List"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:543
+#: src/modules/mod_gradient/curvegradient.cpp:556
 msgid "Global width of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:556
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/curvegradient.cpp:569
+#: src/modules/mod_gradient/lineargradient.cpp:198
 #: src/modules/mod_gradient/radialgradient.cpp:130
 #: src/synfig/valuenode_blinecalctangent.cpp:246
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
@@ -1626,19 +1642,19 @@ msgstr ""
 msgid "Loop"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:560
-#: src/modules/mod_gradient/lineargradient.cpp:207
+#: src/modules/mod_gradient/curvegradient.cpp:573
+#: src/modules/mod_gradient/lineargradient.cpp:202
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:561
-#: src/modules/mod_gradient/lineargradient.cpp:208
+#: src/modules/mod_gradient/curvegradient.cpp:574
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:136
 msgid "When checked the gradient is summetrical at the center"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:564
+#: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
 msgstr ""
 
@@ -1646,11 +1662,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:192
+#: src/modules/mod_gradient/lineargradient.cpp:187
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:196
+#: src/modules/mod_gradient/lineargradient.cpp:191
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1659,23 +1675,23 @@ msgid "Radial Gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:119
 msgid "Center of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:56
+#: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:130
+#: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:135
+#: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:136
+#: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
@@ -1688,13 +1704,15 @@ msgstr ""
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/listimporter.cpp:184 src/synfig/listimporter.cpp:185
+#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
+#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
 msgid "Unable to open "
 msgstr ""
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/listimporter.cpp:191 src/synfig/listimporter.cpp:192
+#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
+#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
 msgid "Unable to get frame from "
 msgstr ""
 
@@ -1732,115 +1750,115 @@ msgstr ""
 msgid "Unable to open pipe to imagemagick's convert utility"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:57
+#: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:217
+#: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:218
+#: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:223
+#: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:226 src/modules/mod_noise/noise.cpp:263
+#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:264
+#: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:230 src/modules/mod_noise/noise.cpp:271
-#: src/modules/mod_noise/valuenode_random.cpp:284
-#: src/synfig/layer_bitmap.cpp:169
+#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
-#: src/synfig/layer_bitmap.cpp:170
+#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
+#: src/synfig/layer_bitmap.cpp:166
 msgid "What type of interpolation to use"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:233 src/modules/mod_noise/noise.cpp:274
-#: src/synfig/layer_bitmap.cpp:172
+#: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
+#: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:277
-#: src/modules/mod_noise/valuenode_random.cpp:290 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_bline.cpp:1001
+#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
+#: src/synfig/valuenode_bline.cpp:1006
 #: src/synfig/valuenode_blinecalctangent.cpp:241
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:237 src/modules/mod_noise/noise.cpp:278
-#: src/modules/mod_noise/valuenode_random.cpp:291
-#: src/synfig/layer_bitmap.cpp:175
+#: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:281
+#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:282
+#: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:244 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:248 src/modules/mod_noise/noise.cpp:289
+#: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:290
+#: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:183
+#: src/modules/mod_noise/valuenode_random.cpp:184
 msgid "Random"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:57
+#: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:268
+#: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:293
+#: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:294
+#: src/modules/mod_noise/noise.cpp:303
 msgid "Uses transparency"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:297
+#: src/modules/mod_noise/noise.cpp:306
 msgid "Super Sampling"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:298
+#: src/modules/mod_noise/noise.cpp:307
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:264
+#: src/modules/mod_noise/valuenode_random.cpp:265
 #: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
 #: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
 #: src/synfig/valuenode_reciprocal.cpp:165
@@ -1849,167 +1867,167 @@ msgstr ""
 msgid "Link"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:270
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:274
-#: src/modules/mod_particle/plant.cpp:450
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:276
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:279
+#: src/modules/mod_noise/valuenode_random.cpp:280
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:281
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:286
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:288
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:296
+#: src/modules/mod_noise/valuenode_random.cpp:297
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:298
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:69
+#: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:404
+#: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:408
+#: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:409
+#: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:413
+#: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:414
+#: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:419
+#: src/modules/mod_particle/plant.cpp:452
 msgid "Tangential Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:420
+#: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:424
+#: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:425
+#: src/modules/mod_particle/plant.cpp:458
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:429
+#: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:430
+#: src/modules/mod_particle/plant.cpp:463
 msgid "Size of the stem"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:435
+#: src/modules/mod_particle/plant.cpp:468
 msgid "Size As Alpha"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:436
+#: src/modules/mod_particle/plant.cpp:469
 msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:440
+#: src/modules/mod_particle/plant.cpp:473
 msgid "Reverse"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:441
+#: src/modules/mod_particle/plant.cpp:474
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:445 src/synfig/valuenode.cpp:170
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
 #: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
 msgid "Step"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:446
+#: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:451
+#: src/modules/mod_particle/plant.cpp:484
 msgid "Used to seed the pseudo-random number generator"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:455
+#: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:456
+#: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:460
+#: src/modules/mod_particle/plant.cpp:493
 msgid "Sprouts"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:461
+#: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:465
+#: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:466
+#: src/modules/mod_particle/plant.cpp:499
 msgid ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:470
+#: src/modules/mod_particle/plant.cpp:503
 msgid "Drag"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:471
+#: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:475
+#: src/modules/mod_particle/plant.cpp:508
 msgid "Use Width"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:476
+#: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
@@ -2018,97 +2036,102 @@ msgstr ""
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:87 src/synfig/importer.cpp:87
+#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
 msgid "Importer::open(): Cannot open empty filename"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:101 src/synfig/importer.cpp:101
+#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
 msgid "Importer::open(): Couldn't find extension"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:112 src/synfig/importer.cpp:112
+#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
 msgid "Importer::open(): Unknown file type -- "
 msgstr ""
 
-#: src/synfig/canvas.cpp:798 src/synfig/canvas.cpp:863
-#: src/synfig/canvas.cpp:886
+#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
+#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+msgid "No images in list"
+msgstr ""
+
+#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
+#: src/synfig/canvas.cpp:927
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:249
+#: src/synfig/distance.cpp:251
 msgid "Units"
 msgstr ""
 
-#: src/synfig/distance.cpp:250
+#: src/synfig/distance.cpp:252
 msgid "Pixels"
 msgstr ""
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:254
 msgid "Inches"
 msgstr ""
 
-#: src/synfig/distance.cpp:253
+#: src/synfig/distance.cpp:255
 msgid "Meters"
 msgstr ""
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:256
 msgid "Millimeters"
 msgstr ""
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:257
 msgid "Centimeters"
 msgstr ""
 
-#: src/synfig/layer.cpp:565 src/synfig/layer_composite.cpp:128
+#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:619
+#: src/synfig/layer.cpp:605
 msgid "Z Depth"
 msgstr ""
 
-#: src/synfig/layer.cpp:621
+#: src/synfig/layer.cpp:607
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:159
+#: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:160
+#: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:164
+#: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:165
+#: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:218
+#: src/synfig/layer_composite.cpp:250
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:221 src/synfig/paramdesc.cpp:62
+#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:222
+#: src/synfig/layer_composite.cpp:254
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:168
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
 #: src/synfig/valuenode_duplicate.cpp:174
 msgid "Duplicate"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:148
+#: src/synfig/layer_duplicate.cpp:151
 msgid "Index"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:149
+#: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
 msgstr ""
 
@@ -2120,156 +2143,156 @@ msgstr ""
 msgid "Motion Blur"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:136
+#: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:137
+#: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:141
+#: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:142
+#: src/synfig/layer_motionblur.cpp:141
 msgid "Multiplies The Number Of Subsamples Rendered"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:146
+#: src/synfig/layer_motionblur.cpp:145
 msgid "Subsampling Type"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:147
+#: src/synfig/layer_motionblur.cpp:146
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:149 src/synfig/valuenode_const.cpp:127
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
 msgid "Constant"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:151
+#: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:155
+#: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:156
+#: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:160
+#: src/synfig/layer_motionblur.cpp:159
 msgid "Subsample End Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:161
+#: src/synfig/layer_motionblur.cpp:160
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:78 src/synfig/layer_pastecanvas.cpp:120
-#: src/synfig/layer_pastecanvas.cpp:121
+#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
+#: src/synfig/layer_pastecanvas.cpp:124
 msgid "Group"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:137
+#: src/synfig/layer_pastecanvas.cpp:140
 msgid "Canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:138
+#: src/synfig/layer_pastecanvas.cpp:141
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:144
 msgid "Zoom"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:142
+#: src/synfig/layer_pastecanvas.cpp:145
 msgid "Size of canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:147
+#: src/synfig/layer_pastecanvas.cpp:152
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:151
+#: src/synfig/layer_pastecanvas.cpp:156
 msgid "Children Lock"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:157
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
+#: src/synfig/layer_pastecanvas.cpp:162
 msgid "Focus Point"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:159
+#: src/synfig/layer_pastecanvas.cpp:165
 msgid "Point to remain fixed when zooming"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:164
+#: src/synfig/layer_pastecanvas.cpp:170
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:165
+#: src/synfig/layer_pastecanvas.cpp:171
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:180
+#: src/synfig/layer_pastecanvas.cpp:186
 msgid "Current Time"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:61
+#: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:187
+#: src/synfig/layer_polygon.cpp:194
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:188
+#: src/synfig/layer_polygon.cpp:195
 msgid "Define the corners of the polygon"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:64
+#: src/synfig/layer_shape.cpp:66
 msgid "Shape"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:65
+#: src/synfig/layer_shape.cpp:67
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1194
+#: src/synfig/layer_shape.cpp:1222
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1203
+#: src/synfig/layer_shape.cpp:1231
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1210
+#: src/synfig/layer_shape.cpp:1238
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1211
+#: src/synfig/layer_shape.cpp:1239
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1220
+#: src/synfig/layer_shape.cpp:1248
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_shape.cpp:1249
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1223
+#: src/synfig/layer_shape.cpp:1251
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1224
+#: src/synfig/layer_shape.cpp:1252
 msgid "Even/Odd"
 msgstr ""
 
@@ -2277,406 +2300,406 @@ msgstr ""
 msgid "Solid Color"
 msgstr ""
 
-#: src/synfig/listimporter.cpp:161 src/synfig/listimporter.cpp:162
-msgid "No images in list"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:142
+#: src/synfig/loadcanvas.cpp:143
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:185
+#: src/synfig/loadcanvas.cpp:186
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:191
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:205
+#: src/synfig/loadcanvas.cpp:206
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:236
+#: src/synfig/loadcanvas.cpp:237
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:469
-#: src/synfig/loadcanvas.cpp:1118
+#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
+#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:473
-#: src/synfig/loadcanvas.cpp:1122
+#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
+#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:484 src/synfig/loadcanvas.cpp:1144
+#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
+#: src/synfig/loadcanvas.cpp:1200
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:508
+#: src/synfig/loadcanvas.cpp:533
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1284
+#: src/synfig/loadcanvas.cpp:1353
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1301
+#: src/synfig/loadcanvas.cpp:1375
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1314
+#: src/synfig/loadcanvas.cpp:1388
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1330
+#: src/synfig/loadcanvas.cpp:1404
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1336 src/synfig/loadcanvas.cpp:1348
+#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1365
+#: src/synfig/loadcanvas.cpp:1439
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1380
+#: src/synfig/loadcanvas.cpp:1455
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1424 src/synfig/loadcanvas.cpp:1443
-#, c-format
-msgid "\"%s\" not a valid value for attribute \"%s\" in <%s>"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:1504
+#: src/synfig/loadcanvas.cpp:1556
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1512
+#: src/synfig/loadcanvas.cpp:1565
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1522
+#: src/synfig/loadcanvas.cpp:1577
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1531
+#: src/synfig/loadcanvas.cpp:1587
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1557 src/synfig/loadcanvas.cpp:1628
+#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1570
+#: src/synfig/loadcanvas.cpp:1625
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1579
+#: src/synfig/loadcanvas.cpp:1634
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1603
+#: src/synfig/loadcanvas.cpp:1658
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1643
+#: src/synfig/loadcanvas.cpp:1698
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1652
+#: src/synfig/loadcanvas.cpp:1707
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1659
+#: src/synfig/loadcanvas.cpp:1714
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1677
+#: src/synfig/loadcanvas.cpp:1732
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1747
+#: src/synfig/loadcanvas.cpp:1811
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1841
-msgid "Unable to create <dynamic_list>"
+#: src/synfig/loadcanvas.cpp:1861
+msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1993
+#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2038
+#: src/synfig/loadcanvas.cpp:1998
+msgid "Unable to create <dynamic_list>"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2220
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2076
+#: src/synfig/loadcanvas.cpp:2283
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2097
+#: src/synfig/loadcanvas.cpp:2304
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2102
+#: src/synfig/loadcanvas.cpp:2310
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2107
+#: src/synfig/loadcanvas.cpp:2316
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2142
+#: src/synfig/loadcanvas.cpp:2373
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2161
+#: src/synfig/loadcanvas.cpp:2392
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2181
+#: src/synfig/loadcanvas.cpp:2415
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2184
+#: src/synfig/loadcanvas.cpp:2418
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2192
+#: src/synfig/loadcanvas.cpp:2426
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2209
+#: src/synfig/loadcanvas.cpp:2443
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2214
+#: src/synfig/loadcanvas.cpp:2448
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2454
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2222
+#: src/synfig/loadcanvas.cpp:2456
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2244
+#: src/synfig/loadcanvas.cpp:2480
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2260
+#: src/synfig/loadcanvas.cpp:2496
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2272 src/synfig/loadcanvas.cpp:2292
+#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2280
+#: src/synfig/loadcanvas.cpp:2516
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2303
+#: src/synfig/loadcanvas.cpp:2539
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2376 src/synfig/loadcanvas.cpp:2384
+#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2470
+#: src/synfig/loadcanvas.cpp:2710
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2478
+#: src/synfig/loadcanvas.cpp:2717
+msgid "Inline canvas cannot have a <bones> section"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2725
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2490
+#: src/synfig/loadcanvas.cpp:2737
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2498
+#: src/synfig/loadcanvas.cpp:2745
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2504
+#: src/synfig/loadcanvas.cpp:2751
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:2763
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2531
+#: src/synfig/loadcanvas.cpp:2778
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2546
+#: src/synfig/loadcanvas.cpp:2793
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2578
+#: src/synfig/loadcanvas.cpp:2828
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580 src/synfig/valuenode.cpp:353
+#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580
+#: src/synfig/loadcanvas.cpp:2830
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2660 src/synfig/loadcanvas.cpp:2716
+#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:102
+#: src/synfig/main.cpp:118
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:107
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:112
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:117
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:122
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:184
+#: src/synfig/main.cpp:207
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:186
+#: src/synfig/main.cpp:209
 msgid "Unable to initialize subsystem \"Module\""
 msgstr ""
 
-#: src/synfig/main.cpp:188
+#: src/synfig/main.cpp:211
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:192
+#: src/synfig/main.cpp:215
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:195
+#: src/synfig/main.cpp:218
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:200
+#: src/synfig/main.cpp:223
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:203
+#: src/synfig/main.cpp:226
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
+#: src/synfig/main.cpp:232
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:212
+#: src/synfig/main.cpp:235
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:219
+#: src/synfig/main.cpp:242
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:222
+#: src/synfig/main.cpp:245
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:230
+#: src/synfig/main.cpp:253
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:267 src/synfig/main.cpp:268
+#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:279
+#: src/synfig/main.cpp:302
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:293 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:360 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:375 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:390
+#: src/synfig/main.cpp:413
 msgid "info"
 msgstr ""
 
@@ -2751,145 +2774,145 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:64 src/synfig/valuenode.cpp:140
-#: src/synfig/valuenode_composite.cpp:437
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
+#: src/synfig/valuenode_composite.cpp:447
 msgid "Composite"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:65
+#: src/synfig/paramdesc.cpp:69
 msgid "Straight"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:66
+#: src/synfig/paramdesc.cpp:70
 msgid "Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:67
+#: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68
+#: src/synfig/paramdesc.cpp:72
 msgid "Behind"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:69
+#: src/synfig/paramdesc.cpp:73
 msgid "Screen"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:70
+#: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:71
+#: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:72
+#: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:73
+#: src/synfig/paramdesc.cpp:77
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:74 src/synfig/valuenode.cpp:157
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
 #: src/synfig/valuenode_add.cpp:190
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:75 src/synfig/valuenode.cpp:147
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
 #: src/synfig/valuenode_subtract.cpp:194
 msgid "Subtract"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:76
+#: src/synfig/paramdesc.cpp:80
 msgid "Difference"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:77
+#: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78
+#: src/synfig/paramdesc.cpp:82
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:80 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
 msgid "Hue"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:81 src/synfig/valuenode_radialcomposite.cpp:260
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
 #: src/synfig/valuenode_radialcomposite.cpp:266
 msgid "Saturation"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:82
+#: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:83
+#: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84
+#: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85
+#: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
 msgstr ""
 
-#: src/synfig/render.cpp:246 src/synfig/render.cpp:247
-#: src/synfig/render.cpp:301 src/synfig/render.cpp:302
-#: src/synfig/render.cpp:536 src/synfig/render.cpp:537
-#: src/synfig/render.cpp:563 src/synfig/render.cpp:564
+#: src/synfig/render.cpp:248 src/synfig/render.cpp:249
+#: src/synfig/render.cpp:303 src/synfig/render.cpp:304
+#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
+#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:290
+#: src/synfig/savecanvas.cpp:359
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:543
+#: src/synfig/savecanvas.cpp:674 src/synfig/savecanvas.cpp:699
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:185
+#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
 #: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:281
 msgid "Target initialization failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:146
+#: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:155 src/synfig/target_scanline.cpp:258
-#: src/synfig/target_scanline.cpp:405
+#: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:260
+#: src/synfig/target_scanline.cpp:407
 msgid "Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:162
+#: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:169 src/synfig/target_cairo_tile.cpp:248
-#: src/synfig/target_scanline.cpp:418 src/synfig/target_tile.cpp:396
+#: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
+#: src/synfig/target_scanline.cpp:420 src/synfig/target_tile.cpp:398
 msgid "Caught string :"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:174 src/synfig/target_cairo_tile.cpp:253
-#: src/synfig/target_scanline.cpp:423 src/synfig/target_tile.cpp:401
+#: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
+#: src/synfig/target_scanline.cpp:425 src/synfig/target_tile.cpp:403
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:179 src/synfig/target_cairo_tile.cpp:258
-#: src/synfig/target_scanline.cpp:428 src/synfig/target_tile.cpp:406
+#: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
+#: src/synfig/target_scanline.cpp:430 src/synfig/target_tile.cpp:408
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:190
+#: src/synfig/target_cairo.cpp:201
 msgid "Cairo Surface bad status"
 msgstr ""
 
@@ -2897,24 +2920,24 @@ msgstr ""
 msgid "Bad Tile Size"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:142 src/synfig/target_cairo_tile.cpp:240
-#: src/synfig/target_scanline.cpp:203 src/synfig/target_scanline.cpp:249
-#: src/synfig/target_scanline.cpp:348 src/synfig/target_scanline.cpp:396
+#: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
+#: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:251
+#: src/synfig/target_scanline.cpp:350 src/synfig/target_scanline.cpp:398
 #: src/synfig/target_tile.cpp:225
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:150
+#: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:156 src/synfig/target_tile.cpp:179
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:179
 #: src/synfig/target_tile.cpp:245
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:211
+#: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
 msgstr ""
 
@@ -2938,277 +2961,317 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:276 src/synfig/value.cpp:308 src/synfig/value.cpp:360
+#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
 msgid "bool"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:277 src/synfig/value.cpp:310 src/synfig/value.cpp:358
+#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
 msgid "integer"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:278 src/synfig/value.cpp:312
+#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
 msgid "angle"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:279 src/synfig/value.cpp:314 src/synfig/value.cpp:352
+#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
 msgid "time"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:280 src/synfig/value.cpp:316 src/synfig/value.cpp:355
+#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
 msgid "real"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:281 src/synfig/value.cpp:318
+#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
 msgid "vector"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:282 src/synfig/value.cpp:320
+#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
 msgid "color"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:283 src/synfig/value.cpp:322
+#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
 msgid "segment"
 msgstr ""
 
-#: src/synfig/value.cpp:284
+#: src/synfig/value.cpp:378
 msgid "bline_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:285 src/synfig/value.cpp:326
+#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
+msgid "matrix"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
+msgid "bone_weight_pair"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
 msgid "width_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:286 src/synfig/value.cpp:328
+#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
 msgid "dash_item"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:287 src/synfig/value.cpp:330
+#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
 msgid "list"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:288 src/synfig/value.cpp:332
+#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
 msgid "canvas"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:289 src/synfig/value.cpp:334
+#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
 msgid "string"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:290 src/synfig/value.cpp:336
+#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
 msgid "gradient"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:291 src/synfig/value.cpp:338
+#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
+msgid "bone_object"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
+msgid "bone_valuenode"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
 msgid "nil"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:324
+#: src/synfig/value.cpp:422
 msgid "spline_point"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:141 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:142 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:144 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:146 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_dynamiclist.cpp:755
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
 #: src/synfig/valuenode_switch.cpp:163
 msgid "Switch"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164
+#: src/synfig/valuenode.cpp:170
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165
+#: src/synfig/valuenode.cpp:171
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
 msgid "Integer"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:176 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177
+#: src/synfig/valuenode.cpp:183
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:178
+#: src/synfig/valuenode.cpp:184
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_real.cpp:161
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
 #: src/synfig/valuenode_realstring.cpp:175
 msgid "Real"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:189
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:190
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185
+#: src/synfig/valuenode.cpp:191
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187
+#: src/synfig/valuenode.cpp:192
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:199
+msgid "Bone Influence"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:200
+msgid "Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:201
+msgid "Root Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:202
+msgid "Static List"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:203
+msgid "Bone Weight Pair"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:206
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:233
+#: src/synfig/valuenode.cpp:241
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:513
+#: src/synfig/valuenode.cpp:540
 msgid "Placeholder"
 msgstr ""
 
-#: src/synfig/valuenode.h:61
+#: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
@@ -3275,32 +3338,32 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:355 src/synfig/valuenode_animated.cpp:379
-#: src/synfig/valuenode_animated.cpp:703 src/synfig/valuenode_animated.cpp:721
-#: src/synfig/valuenode_animated.cpp:801 src/synfig/valuenode_animated.cpp:820
+#: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
+#: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
+#: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1134
+#: src/synfig/valuenode_animated.cpp:1173
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1169
+#: src/synfig/valuenode_animated.cpp:1208
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:977 src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
 #: src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:980 src/synfig/valuenode_dynamiclist.cpp:664
+#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
 #: src/synfig/valuenode_wplist.cpp:339
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_bline.cpp:1023
+#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
@@ -3320,7 +3383,7 @@ msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:584
 #: src/synfig/valuenode_gradientrotate.cpp:169
 #: src/synfig/valuenode_linear.cpp:213
 msgid "Offset"
@@ -3374,190 +3437,186 @@ msgstr ""
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:219
+#: src/synfig/valuenode_composite.cpp:229
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:464
+#: src/synfig/valuenode_composite.cpp:474
 msgid "Red"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:465
+#: src/synfig/valuenode_composite.cpp:475
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:468
+#: src/synfig/valuenode_composite.cpp:478
 msgid "Green"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:469
+#: src/synfig/valuenode_composite.cpp:479
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:472
+#: src/synfig/valuenode_composite.cpp:482
 msgid "Blue"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:473
+#: src/synfig/valuenode_composite.cpp:483
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:476
+#: src/synfig/valuenode_composite.cpp:486
 msgid "Alpha"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:477
+#: src/synfig/valuenode_composite.cpp:487
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:492
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:493
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
-#: src/synfig/valuenode_composite.cpp:526
+#: src/synfig/valuenode_composite.cpp:496
+#: src/synfig/valuenode_composite.cpp:536
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:497
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:490
+#: src/synfig/valuenode_composite.cpp:500
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:491
+#: src/synfig/valuenode_composite.cpp:501
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:494
-#: src/synfig/valuenode_composite.cpp:530
+#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:540
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:495
+#: src/synfig/valuenode_composite.cpp:505
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:510
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:511
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:514
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:515
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:520
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:521
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:525
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:519
+#: src/synfig/valuenode_composite.cpp:529
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:522
+#: src/synfig/valuenode_composite.cpp:532
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:523
+#: src/synfig/valuenode_composite.cpp:533
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:527
+#: src/synfig/valuenode_composite.cpp:537
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:531
+#: src/synfig/valuenode_composite.cpp:541
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:547
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:551
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:544
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_composite.cpp:554
+#: src/synfig/valuenode_composite.cpp:594
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:545
 #: src/synfig/valuenode_composite.cpp:555
+#: src/synfig/valuenode_composite.cpp:565
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
 #: src/synfig/valuenode_composite.cpp:557
+#: src/synfig/valuenode_composite.cpp:567
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:593
+#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:603
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:574
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:575
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:578
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:579
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:585
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:589
 #: src/synfig/valuenode_timedswap.cpp:260
 msgid "Length"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:580
+#: src/synfig/valuenode_composite.cpp:590
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:595
+#: src/synfig/valuenode_composite.cpp:604
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_const.cpp:127
-msgid "Static"
-msgstr ""
-
 #: src/synfig/valuenode_compare.cpp:168
 msgid "The left side of the comparison"
 msgstr ""
@@ -3622,12 +3681,12 @@ msgstr ""
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:655
+#: src/synfig/valuenode_dynamiclist.cpp:661
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:703
-#: src/synfig/valuenode_dynamiclist.cpp:957
+#: src/synfig/valuenode_dynamiclist.cpp:709
+#: src/synfig/valuenode_dynamiclist.cpp:964
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3951,7 +4010,7 @@ msgid "Intersection"
 msgstr ""
 
 #: src/synfig/valuenode_step.cpp:213
-msgid "Value that define whether the step is centerd on the value [0,1]"
+msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
@@ -4084,195 +4143,195 @@ msgstr ""
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:133
+#: src/tool/main.cpp:140
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:169
+#: src/tool/main.cpp:176
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:171
+#: src/tool/main.cpp:178
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:172
+#: src/tool/main.cpp:179
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:173
+#: src/tool/main.cpp:180
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:174
+#: src/tool/main.cpp:181
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:175
+#: src/tool/main.cpp:182
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:176
+#: src/tool/main.cpp:183
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:184
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:178
+#: src/tool/main.cpp:185
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:186
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:187
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:188
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:189
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:190
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:191
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:185 src/tool/main.cpp:186
+#: src/tool/main.cpp:192 src/tool/main.cpp:193
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:194
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:195
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:196
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:197
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:193
+#: src/tool/main.cpp:200
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:202
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:203
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:204
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:200
+#: src/tool/main.cpp:207
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:202
+#: src/tool/main.cpp:209
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:210
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:204 src/tool/main.cpp:230
+#: src/tool/main.cpp:211 src/tool/main.cpp:237
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:207
+#: src/tool/main.cpp:214
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:216
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:210
+#: src/tool/main.cpp:217
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:213
+#: src/tool/main.cpp:220
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:215
+#: src/tool/main.cpp:222
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:223
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:217
+#: src/tool/main.cpp:224
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:225
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:226
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:220
+#: src/tool/main.cpp:227
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:221
+#: src/tool/main.cpp:228
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:229
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:223
+#: src/tool/main.cpp:230
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:231
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:232
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:241
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:236
+#: src/tool/main.cpp:243
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:237
+#: src/tool/main.cpp:244
 msgid "Test signal implementation"
 msgstr ""
 
@@ -4336,157 +4395,157 @@ msgstr ""
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:113
+#: src/tool/optionsprocessor.cpp:114
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:115
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:131
+#: src/tool/optionsprocessor.cpp:132
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:146
+#: src/tool/optionsprocessor.cpp:147
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:224
+#: src/tool/optionsprocessor.cpp:225
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:226
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:227
+#: src/tool/optionsprocessor.cpp:228
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:232
+#: src/tool/optionsprocessor.cpp:233
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:234
+#: src/tool/optionsprocessor.cpp:235
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:236
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:239
+#: src/tool/optionsprocessor.cpp:240
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:243
+#: src/tool/optionsprocessor.cpp:244
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:309
+#: src/tool/optionsprocessor.cpp:310
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:316
+#: src/tool/optionsprocessor.cpp:317
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:324
+#: src/tool/optionsprocessor.cpp:325
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:334
+#: src/tool/optionsprocessor.cpp:335
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:343
+#: src/tool/optionsprocessor.cpp:344
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:352
+#: src/tool/optionsprocessor.cpp:353
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:379
+#: src/tool/optionsprocessor.cpp:380
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:385
+#: src/tool/optionsprocessor.cpp:386
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:400
+#: src/tool/optionsprocessor.cpp:401
 #, c-format
 msgid "Resolution set to %dx%d"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:417
+#: src/tool/optionsprocessor.cpp:418
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:437
+#: src/tool/optionsprocessor.cpp:438
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:440
+#: src/tool/optionsprocessor.cpp:441
 #, c-format
 msgid "Target video codec set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:446
+#: src/tool/optionsprocessor.cpp:447
 #, c-format
 msgid "Target bitrate set to %dk"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:452
+#: src/tool/optionsprocessor.cpp:453
 #, c-format
 msgid "Output file sequence separator set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:487
+#: src/tool/optionsprocessor.cpp:488
 #, c-format
 msgid "Unable to load '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:494
+#: src/tool/optionsprocessor.cpp:495
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:499
+#: src/tool/optionsprocessor.cpp:500
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:513
+#: src/tool/optionsprocessor.cpp:514
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:532
+#: src/tool/optionsprocessor.cpp:533
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:539
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:557
+#: src/tool/optionsprocessor.cpp:558
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:571
+#: src/tool/optionsprocessor.cpp:572
 msgid "Appended contents of "
 msgstr ""
 
diff --git a/po/en_GB.gmo b/po/en_GB.gmo
index e7ed961..336a123 100644
Binary files a/po/en_GB.gmo and b/po/en_GB.gmo differ
diff --git a/po/en_GB.po b/po/en_GB.po
index 07e928b..76ec3de 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -1,100 +1,106 @@
-# English (United Kingdom) translation for Synfig Core.
-# Copyright (C) 2012 Synfig Contributors
+# Translation file for Synfig Core package.
+# Copyright (C) 2013 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
 # berteh <berteh at hotmail.com>, 2012
-# d.j.a.y <d.j.a.y at free.fr>, 2012
+# berteh <berteh at hotmail.com>, 2012
+# d.j.a.y, 2012
+# d.j.a.y, 2012
+# d.j.a.y, 2012
 # morevnaproject <ksee.zelgadis at gmail.com>, 2011
 # pixelgeek <pxe.geek at gmail.com>, 2012
+# pixelgeek <pxe.geek at gmail.com>, 2012
+# readmanr <robert_readman at hotmail.com>, 2011
 # readmanr <robert_readman at hotmail.com>, 2011
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2013-05-09 18:34+0200\n"
-"PO-Revision-Date: 2013-05-02 12:39+0000\n"
-"Last-Translator: genete <genetita at gmail.com>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
+"POT-Creation-Date: 2013-10-25 17:57+0700\n"
+"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
+"Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/"
+"synfig/language/en_GB/)\n"
 "Language: en_GB\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:58
+#: src/modules/mod_example/filledrect.cpp:59
 msgid "Filled Rectangle"
 msgstr "Filled Rectangle"
 
-#: src/modules/mod_example/filledrect.cpp:59
+#: src/modules/mod_example/filledrect.cpp:60
 #: src/modules/mod_example/metaballs.cpp:58
 #: src/modules/mod_example/simplecircle.cpp:58
 msgid "Example"
 msgstr "Example"
 
-#: src/modules/mod_example/filledrect.cpp:120
+#: src/modules/mod_example/filledrect.cpp:131
 #: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:523
-#: src/modules/lyr_std/shade.cpp:564
-#: src/modules/mod_geometry/checkerboard.cpp:122
-#: src/modules/mod_geometry/circle.cpp:128
-#: src/modules/mod_geometry/rectangle.cpp:125 src/synfig/layer_shape.cpp:1193
-#: src/synfig/layer_solidcolor.cpp:102 src/synfig/paramdesc.cpp:79
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:620
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
 msgid "Color"
 msgstr "Colour"
 
-#: src/modules/mod_example/filledrect.cpp:121
+#: src/modules/mod_example/filledrect.cpp:132
 #: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:129
-#: src/modules/mod_geometry/rectangle.cpp:126
-#: src/synfig/layer_solidcolor.cpp:103
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
 msgid "Fill color of the layer"
 msgstr "Fill colour of the layer"
 
-#: src/modules/mod_example/filledrect.cpp:125
-#: src/modules/mod_geometry/rectangle.cpp:130
-#: src/modules/mod_gradient/lineargradient.cpp:190
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:185
 msgid "Point 1"
 msgstr "Point 1"
 
-#: src/modules/mod_example/filledrect.cpp:126
-#: src/modules/mod_geometry/rectangle.cpp:132
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
 msgid "First corner of the rectangle"
 msgstr "First corner of the rectangle"
 
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_geometry/rectangle.cpp:136
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:190
 msgid "Point 2"
 msgstr "Point 2"
 
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_geometry/rectangle.cpp:137
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
 msgid "Second corner of the rectangle"
 msgstr "Second corner of the rectangle"
 
-#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_example/filledrect.cpp:147
 msgid "Feather X"
 msgstr "Feather X"
 
-#: src/modules/mod_example/filledrect.cpp:140
+#: src/modules/mod_example/filledrect.cpp:152
 msgid "Feather Y"
 msgstr "Feather Y"
 
-#: src/modules/mod_example/filledrect.cpp:144 src/modules/lyr_std/bevel.cpp:68
-#: src/modules/mod_geometry/advanced_outline.cpp:1161
+#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
 msgid "Bevel"
 msgstr "Bevel"
 
-#: src/modules/mod_example/filledrect.cpp:145
+#: src/modules/mod_example/filledrect.cpp:158
 msgid "Use Bevel for the corners"
 msgstr "Use Bevel for the corners"
 
-#: src/modules/mod_example/filledrect.cpp:149
+#: src/modules/mod_example/filledrect.cpp:163
 msgid "Keep Bevel Circular"
 msgstr "Keep Bevel Circular"
 
-#: src/modules/mod_example/filledrect.cpp:150
+#: src/modules/mod_example/filledrect.cpp:164
 msgid "When checked the bevel is circular"
 msgstr "When checked the bevel is circular"
 
@@ -102,39 +108,39 @@ msgstr "When checked the bevel is circular"
 msgid "Metaballs"
 msgstr "Metaballs"
 
-#: src/modules/mod_example/metaballs.cpp:135
+#: src/modules/mod_example/metaballs.cpp:129
 #: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:552
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:194
 #: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:112
-#: src/modules/mod_noise/noise.cpp:259 src/modules/mod_particle/plant.cpp:403
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
 #: src/synfig/valuenode_gradientrotate.cpp:164
 #: src/synfig/valuenode_repeat_gradient.cpp:203
 msgid "Gradient"
 msgstr "Gradient"
 
-#: src/modules/mod_example/metaballs.cpp:139
+#: src/modules/mod_example/metaballs.cpp:133
 msgid "Balls"
 msgstr "Balls"
 
-#: src/modules/mod_example/metaballs.cpp:143
+#: src/modules/mod_example/metaballs.cpp:137
 msgid "Radii"
 msgstr "Radii"
 
-#: src/modules/mod_example/metaballs.cpp:147
+#: src/modules/mod_example/metaballs.cpp:141
 msgid "Weights"
 msgstr "Weights"
 
-#: src/modules/mod_example/metaballs.cpp:151
+#: src/modules/mod_example/metaballs.cpp:145
 msgid "Gradient Left"
 msgstr "Gradient Left"
 
-#: src/modules/mod_example/metaballs.cpp:155
+#: src/modules/mod_example/metaballs.cpp:149
 msgid "Gradient Right"
 msgstr "Gradient Right"
 
-#: src/modules/mod_example/metaballs.cpp:159
+#: src/modules/mod_example/metaballs.cpp:153
 msgid "Positive Only"
 msgstr "Positive Only"
 
@@ -146,21 +152,21 @@ msgstr "Simple Circle"
 #: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
 #: src/modules/mod_gradient/conicalgradient.cpp:114
 #: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:117
+#: src/modules/mod_gradient/spiralgradient.cpp:118
 msgid "Center"
 msgstr "Centre"
 
 #: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:144
+#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
 msgid "Center of the circle"
 msgstr "Centre of the circle"
 
 #: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:151
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:132
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
 #: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:122
-#: src/modules/mod_noise/valuenode_random.cpp:269
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/valuenode_radialcomposite.cpp:272
 msgid "Radius"
 msgstr "Radius"
@@ -168,20 +174,20 @@ msgstr "Radius"
 #: src/modules/mod_example/simplecircle.cpp:118
 #: src/modules/lyr_std/twirl.cpp:118
 #: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:124
 msgid "This is the radius of the circle"
 msgstr "This is the radius of the circle"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
-#: src/modules/lyr_freetype/lyr_freetype.cpp:517
+#: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Text"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
 #: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
-#: src/modules/lyr_std/supersample.cpp:57 src/modules/lyr_std/timeloop.cpp:60
-#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:70
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:79
+#: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
+#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
 msgid "Other"
 msgstr "Other"
 
@@ -189,245 +195,245 @@ msgstr "Other"
 msgid "Text Layer"
 msgstr "Text Layer"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:390
+#: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
 msgstr "unable to initialise"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:409
+#: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
 msgstr "empty font set"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:518
+#: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
 msgstr "Text to Render"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:524
+#: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "Colour of the text"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:528
+#: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
 msgstr "Font Family"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:533
+#: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
 msgstr "Style"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:535
-#: src/modules/lyr_freetype/lyr_freetype.cpp:545
+#: src/modules/lyr_freetype/lyr_freetype.cpp:587
+#: src/modules/lyr_freetype/lyr_freetype.cpp:597
 msgid "Normal"
 msgstr "Normal"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:536
+#: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
 msgstr "Oblique"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:537
+#: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
 msgstr "Italic"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:541
+#: src/modules/lyr_freetype/lyr_freetype.cpp:593
 msgid "Weight"
 msgstr "Weight"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:543
+#: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
 msgstr "Ultralight"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:544
+#: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
 msgstr "light"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:546
+#: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
 msgstr "Bold"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:547
+#: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
 msgstr "Ultrabold"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:548
+#: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
 msgstr "Heavy"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:551
+#: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
 msgstr "Horizontal Spacing"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:552
+#: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
 msgstr "Describes how close glyphs are horizontally"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:556
+#: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
 msgstr "Vertical Spacing"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:557
+#: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
 msgstr "Describes how close lines of text are vertically"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:561
-#: src/modules/lyr_std/shade.cpp:570 src/modules/lyr_std/xorpattern.cpp:129
-#: src/modules/mod_filter/blur.cpp:372
+#: src/modules/lyr_freetype/lyr_freetype.cpp:613
+#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:413
 #: src/modules/mod_filter/radialblur.cpp:115
-#: src/modules/mod_geometry/checkerboard.cpp:130
-#: src/modules/mod_noise/distort.cpp:222 src/modules/mod_noise/noise.cpp:267
+#: src/modules/mod_geometry/checkerboard.cpp:154
+#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
 msgstr "Size"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:562
+#: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
 msgstr "Size of the text"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:569
+#: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
 msgstr "Orientation"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:570
+#: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
 msgstr "Text Orientation"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/insideout.cpp:143 src/modules/lyr_std/rotate.cpp:116
-#: src/modules/lyr_std/shade.cpp:567 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:389
-#: src/modules/lyr_std/xorpattern.cpp:125 src/modules/lyr_std/zoom.cpp:104
+#: src/modules/lyr_freetype/lyr_freetype.cpp:627
+#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
+#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
+#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
-#: src/modules/mod_geometry/checkerboard.cpp:126
-#: src/modules/mod_geometry/circle.cpp:143
-#: src/modules/mod_gradient/curvegradient.cpp:537
-#: src/modules/mod_particle/plant.cpp:398 src/synfig/layer_pastecanvas.cpp:133
-#: src/synfig/layer_shape.cpp:1197 src/synfig/valuenode_composite.cpp:518
+#: src/modules/mod_geometry/checkerboard.cpp:150
+#: src/modules/mod_geometry/circle.cpp:161
+#: src/modules/mod_gradient/curvegradient.cpp:550
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
+#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
 msgid "Origin"
 msgstr "Origin"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:576
+#: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
 msgstr "Text Position"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:580
+#: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
 msgstr "Font"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:581
+#: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
 msgstr "Filename of the font to use"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:588
+#: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
 msgstr "Kerning"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:589
+#: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
 msgstr "Enables/Disables font kerning (If the font supports it)"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
 msgstr "Sharpen Edges"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:594
+#: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
 msgstr "Turn this off if you are going to be animating the text"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:597
-#: src/modules/lyr_std/shade.cpp:587 src/modules/mod_geometry/circle.cpp:147
-#: src/synfig/layer_shape.cpp:1200
+#: src/modules/lyr_freetype/lyr_freetype.cpp:649
+#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1228
 msgid "Invert"
 msgstr "Invert"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:654
+#: src/modules/lyr_freetype/lyr_freetype.cpp:714
 msgid "No face loaded, no text will be rendered."
 msgstr "No face loaded, no text will be rendered."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:680
+#: src/modules/lyr_freetype/lyr_freetype.cpp:740
 msgid "Text too small, no text will be rendered."
 msgstr "Text too small, no text will be rendered."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:704
+#: src/modules/lyr_freetype/lyr_freetype.cpp:764
 msgid "Unable to set face size."
 msgstr "Unable to set face size."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:747
+#: src/modules/lyr_freetype/lyr_freetype.cpp:807
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr "Invalid multibyte sequence - is the locale set?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:754
+#: src/modules/lyr_freetype/lyr_freetype.cpp:814
 msgid "Can't parse multibyte character.\n"
 msgstr "Can't parse multibyte character.\n"
 
-#: src/modules/lyr_std/bevel.cpp:69 src/modules/lyr_std/shade.cpp:68
+#: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "Stylise"
 
-#: src/modules/lyr_std/bevel.cpp:570 src/modules/lyr_std/shade.cpp:576
-#: src/modules/mod_filter/blur.cpp:376
-#: src/modules/mod_filter/halftone2.cpp:170
+#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
+#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Type"
 
-#: src/modules/lyr_std/bevel.cpp:571 src/modules/lyr_std/shade.cpp:577
-#: src/modules/mod_filter/blur.cpp:377
+#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
+#: src/modules/mod_filter/blur.cpp:418
 msgid "Type of blur to use"
 msgstr "Type of blur to use"
 
-#: src/modules/lyr_std/bevel.cpp:573 src/modules/lyr_std/shade.cpp:579
-#: src/modules/mod_filter/blur.cpp:379 src/synfig/layer_shape.cpp:1213
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
 msgid "Box Blur"
 msgstr "Box Blur"
 
-#: src/modules/lyr_std/bevel.cpp:574 src/modules/lyr_std/shade.cpp:580
-#: src/modules/mod_filter/blur.cpp:380 src/synfig/layer_shape.cpp:1214
+#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
+#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
 msgid "Fast Gaussian Blur"
 msgstr "Fast Gaussian Blur"
 
-#: src/modules/lyr_std/bevel.cpp:575 src/modules/lyr_std/shade.cpp:581
-#: src/modules/mod_filter/blur.cpp:381 src/synfig/layer_shape.cpp:1215
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
 msgid "Cross-Hatch Blur"
 msgstr "Cross-Hatch Blur"
 
-#: src/modules/lyr_std/bevel.cpp:576 src/modules/lyr_std/shade.cpp:582
-#: src/modules/mod_filter/blur.cpp:382 src/synfig/layer_shape.cpp:1216
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
 msgid "Gaussian Blur"
 msgstr "Gaussian Blur"
 
-#: src/modules/lyr_std/bevel.cpp:577 src/modules/lyr_std/shade.cpp:583
-#: src/modules/mod_filter/blur.cpp:383 src/synfig/layer_shape.cpp:1217
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
 msgid "Disc Blur"
 msgstr "Disc Blur"
 
-#: src/modules/lyr_std/bevel.cpp:581
+#: src/modules/lyr_std/bevel.cpp:635
 msgid "Hi-Color"
 msgstr "Hi-Colour"
 
-#: src/modules/lyr_std/bevel.cpp:584
+#: src/modules/lyr_std/bevel.cpp:638
 msgid "Lo-Color"
 msgstr "Lo-Colour"
 
-#: src/modules/lyr_std/bevel.cpp:587
+#: src/modules/lyr_std/bevel.cpp:641
 msgid "Light Angle"
 msgstr "Light Angle"
 
-#: src/modules/lyr_std/bevel.cpp:591
+#: src/modules/lyr_std/bevel.cpp:645
 msgid "Depth of Bevel"
 msgstr "Depth of Bevel"
 
-#: src/modules/lyr_std/bevel.cpp:595
+#: src/modules/lyr_std/bevel.cpp:649
 msgid "Softness"
 msgstr "Softness"
 
-#: src/modules/lyr_std/bevel.cpp:598
+#: src/modules/lyr_std/bevel.cpp:652
 msgid "Use Luma"
 msgstr "Use Luma"
 
-#: src/modules/lyr_std/bevel.cpp:601
+#: src/modules/lyr_std/bevel.cpp:655
 msgid "Solid"
 msgstr "Solid"
 
-#: src/modules/lyr_std/booleancurve.cpp:104
+#: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
 msgstr "Region Set"
 
-#: src/modules/lyr_std/booleancurve.cpp:105
+#: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
 msgstr "Set of regions to combine"
 
@@ -435,38 +441,38 @@ msgstr "Set of regions to combine"
 msgid "Clamp"
 msgstr "Clamp"
 
-#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:56
-#: src/modules/mod_filter/halftone2.cpp:59
-#: src/modules/mod_filter/halftone3.cpp:59
-#: src/modules/mod_filter/lumakey.cpp:59
+#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:57
+#: src/modules/mod_filter/halftone2.cpp:60
+#: src/modules/mod_filter/halftone3.cpp:60
+#: src/modules/mod_filter/lumakey.cpp:60
 msgid "Filters"
 msgstr "Filters"
 
-#: src/modules/lyr_std/clamp.cpp:158
+#: src/modules/lyr_std/clamp.cpp:162
 msgid "Invert Negative"
 msgstr "Invert Negative"
 
-#: src/modules/lyr_std/clamp.cpp:162
+#: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
 msgstr "Clamp Ceiling"
 
-#: src/modules/lyr_std/clamp.cpp:163
+#: src/modules/lyr_std/clamp.cpp:167
 msgid "When checked the Ceiling value is used"
 msgstr "When checked the Ceiling value is used"
 
-#: src/modules/lyr_std/clamp.cpp:167
+#: src/modules/lyr_std/clamp.cpp:171
 msgid "Ceiling"
 msgstr "Ceiling"
 
-#: src/modules/lyr_std/clamp.cpp:168
+#: src/modules/lyr_std/clamp.cpp:172
 msgid "Upper boundary of the clamping"
 msgstr "Upper boundary of the clamping"
 
-#: src/modules/lyr_std/clamp.cpp:172
+#: src/modules/lyr_std/clamp.cpp:176
 msgid "Floor"
 msgstr "Floor"
 
-#: src/modules/lyr_std/clamp.cpp:173
+#: src/modules/lyr_std/clamp.cpp:177
 msgid "Lower boundary of the clamping"
 msgstr "Lower boundary of the clamping"
 
@@ -474,24 +480,24 @@ msgstr "Lower boundary of the clamping"
 msgid "Import Image"
 msgstr "Import Image"
 
-#: src/modules/lyr_std/import.cpp:151 src/modules/lyr_std/import.cpp:201
+#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr "Filename seems to already be set to \"%s\" (%s)"
 
-#: src/modules/lyr_std/import.cpp:283
+#: src/modules/lyr_std/import.cpp:293
 msgid "Filename"
 msgstr "Filename"
 
-#: src/modules/lyr_std/import.cpp:284
+#: src/modules/lyr_std/import.cpp:294
 msgid "File to import"
 msgstr "File to import"
 
-#: src/modules/lyr_std/import.cpp:288 src/synfig/layer_pastecanvas.cpp:146
+#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
 msgid "Time Offset"
 msgstr "Time Offset"
 
-#: src/modules/lyr_std/import.cpp:289
+#: src/modules/lyr_std/import.cpp:299
 msgid "Time Offset to apply to the imported file"
 msgstr "Time Offset to apply to the imported file"
 
@@ -500,14 +506,14 @@ msgid "Inside Out"
 msgstr "Inside Out"
 
 #: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:75
 #: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:57 src/modules/lyr_std/curvewarp.cpp:56
-#: src/modules/mod_noise/distort.cpp:58
+#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
+#: src/modules/mod_noise/distort.cpp:59
 msgid "Distortions"
 msgstr "Distortions"
 
-#: src/modules/lyr_std/insideout.cpp:144
+#: src/modules/lyr_std/insideout.cpp:163
 msgid "Defines the where the center will be"
 msgstr "Defines the where the centre will be"
 
@@ -519,97 +525,97 @@ msgstr "Julia Set"
 msgid "Fractals"
 msgstr "Fractals"
 
-#: src/modules/lyr_std/julia.cpp:309
+#: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
 msgstr "Inside Colour"
 
-#: src/modules/lyr_std/julia.cpp:310
+#: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
 msgstr "Colour of the Set"
 
-#: src/modules/lyr_std/julia.cpp:313
+#: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
 msgstr "Outside Colour"
 
-#: src/modules/lyr_std/julia.cpp:314
+#: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
 msgstr "Colour outside the Set"
 
-#: src/modules/lyr_std/julia.cpp:317
+#: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
 msgstr "Colour Shift"
 
-#: src/modules/lyr_std/julia.cpp:320 src/modules/lyr_std/mandelbrot.cpp:223
+#: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
 msgstr "Iterations"
 
-#: src/modules/lyr_std/julia.cpp:323
+#: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
 msgstr "Seed Point"
 
-#: src/modules/lyr_std/julia.cpp:326 src/modules/lyr_std/mandelbrot.cpp:226
+#: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
 msgstr "Bailout ValueBase"
 
-#: src/modules/lyr_std/julia.cpp:330 src/modules/lyr_std/mandelbrot.cpp:236
+#: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
 msgstr "Distort Inside"
 
-#: src/modules/lyr_std/julia.cpp:333 src/modules/lyr_std/mandelbrot.cpp:240
+#: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
 msgstr "Shade Inside"
 
-#: src/modules/lyr_std/julia.cpp:336 src/modules/lyr_std/mandelbrot.cpp:244
+#: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
 msgstr "Solid Inside"
 
-#: src/modules/lyr_std/julia.cpp:339 src/modules/lyr_std/mandelbrot.cpp:248
+#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
 msgstr "Invert Inside"
 
-#: src/modules/lyr_std/julia.cpp:342
+#: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
 msgstr "Colour Inside"
 
-#: src/modules/lyr_std/julia.cpp:345 src/modules/lyr_std/mandelbrot.cpp:265
+#: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
 msgstr "Distort Outside"
 
-#: src/modules/lyr_std/julia.cpp:348 src/modules/lyr_std/mandelbrot.cpp:269
+#: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
 msgstr "Shade Outside"
 
-#: src/modules/lyr_std/julia.cpp:351 src/modules/lyr_std/mandelbrot.cpp:273
+#: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
 msgstr "Solid Outside"
 
-#: src/modules/lyr_std/julia.cpp:354 src/modules/lyr_std/mandelbrot.cpp:277
+#: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
 msgstr "Invert Outside"
 
-#: src/modules/lyr_std/julia.cpp:357
+#: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
 msgstr "Colour Outside"
 
-#: src/modules/lyr_std/julia.cpp:361
+#: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
 msgstr "Colour Cycle"
 
-#: src/modules/lyr_std/julia.cpp:364 src/modules/lyr_std/mandelbrot.cpp:285
+#: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
 msgstr "Smooth Outside"
 
-#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:286
+#: src/modules/lyr_std/julia.cpp:391 src/modules/lyr_std/mandelbrot.cpp:282
 msgid "Smooth the coloration outside the set"
 msgstr "Smooth the colouration outside the set"
 
-#: src/modules/lyr_std/julia.cpp:368 src/modules/lyr_std/mandelbrot.cpp:230
+#: src/modules/lyr_std/julia.cpp:394 src/modules/lyr_std/mandelbrot.cpp:226
 msgid "Break Set"
 msgstr "Break Set"
 
-#: src/modules/lyr_std/julia.cpp:369 src/modules/lyr_std/mandelbrot.cpp:231
+#: src/modules/lyr_std/julia.cpp:395 src/modules/lyr_std/mandelbrot.cpp:227
 msgid "Modify equation to achieve interesting results"
 msgstr "Modify equation to achieve interesting results"
 
@@ -617,48 +623,48 @@ msgstr "Modify equation to achieve interesting results"
 msgid "Mandelbrot Set"
 msgstr "Mandelbrot Set"
 
+#: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
 #: src/modules/lyr_std/mandelbrot.cpp:241
 #: src/modules/lyr_std/mandelbrot.cpp:245
 #: src/modules/lyr_std/mandelbrot.cpp:249
 #: src/modules/lyr_std/mandelbrot.cpp:253
 #: src/modules/lyr_std/mandelbrot.cpp:257
-#: src/modules/lyr_std/mandelbrot.cpp:261
 msgid "Inside"
 msgstr "Inside"
 
-#: src/modules/lyr_std/mandelbrot.cpp:252
+#: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
 msgstr "Gradient Inside"
 
-#: src/modules/lyr_std/mandelbrot.cpp:256
+#: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
 msgstr "Offset Inside"
 
-#: src/modules/lyr_std/mandelbrot.cpp:260
+#: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
 msgstr "Loop Inside"
 
+#: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
 #: src/modules/lyr_std/mandelbrot.cpp:270
 #: src/modules/lyr_std/mandelbrot.cpp:274
 #: src/modules/lyr_std/mandelbrot.cpp:278
-#: src/modules/lyr_std/mandelbrot.cpp:282
+#: src/modules/lyr_std/mandelbrot.cpp:283
 #: src/modules/lyr_std/mandelbrot.cpp:287
 #: src/modules/lyr_std/mandelbrot.cpp:291
-#: src/modules/lyr_std/mandelbrot.cpp:295
 msgid "Outside"
 msgstr "Outside"
 
-#: src/modules/lyr_std/mandelbrot.cpp:281
+#: src/modules/lyr_std/mandelbrot.cpp:277
 msgid "Gradient outside"
 msgstr "Gradient outside"
 
-#: src/modules/lyr_std/mandelbrot.cpp:290
+#: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
 msgstr "Offset Outside"
 
-#: src/modules/lyr_std/mandelbrot.cpp:294
+#: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
 msgstr "Scale Outside"
 
@@ -671,16 +677,16 @@ msgstr "Rotate"
 msgid "Transform"
 msgstr "Transform"
 
-#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/translate.cpp:101
+#: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:134
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr "Point where you want the origin to be"
 
-#: src/modules/lyr_std/rotate.cpp:121
-#: src/modules/lyr_std/sphere_distort.cpp:158
+#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:217
+#: src/synfig/layer_composite.cpp:249
 #: src/synfig/valuenode_blinecalctangent.cpp:251
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
@@ -689,61 +695,61 @@ msgstr "Point where you want the origin to be"
 msgid "Amount"
 msgstr "Amount"
 
-#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
 msgstr "Amount of rotation"
 
-#: src/modules/lyr_std/shade.cpp:67
+#: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
 msgstr "Shade"
 
-#: src/modules/lyr_std/shade.cpp:571
+#: src/modules/lyr_std/shade.cpp:627
 msgid "Size of Shade"
 msgstr "Size of Shade"
 
-#: src/modules/lyr_std/sphere_distort.cpp:73
-#: src/modules/lyr_std/sphere_distort.cpp:172
+#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:167
 msgid "Spherize"
 msgstr "Spherize"
 
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/synfig/valuenode_composite.cpp:536
+#: src/modules/lyr_std/sphere_distort.cpp:141
+#: src/synfig/valuenode_composite.cpp:546
 msgid "Position"
 msgstr "Position"
 
-#: src/modules/lyr_std/sphere_distort.cpp:147
+#: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
 msgstr "Where the sphere distortion is centred"
 
-#: src/modules/lyr_std/sphere_distort.cpp:154
+#: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr "The size of the sphere distortion"
 
-#: src/modules/lyr_std/sphere_distort.cpp:160
+#: src/modules/lyr_std/sphere_distort.cpp:155
 msgid "The distortion intensity (negative values inverts effect)"
 msgstr "The distortion intensity (negative values inverts effect)"
 
-#: src/modules/lyr_std/sphere_distort.cpp:164 src/modules/lyr_std/warp.cpp:409
+#: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
 msgstr "Clip"
 
-#: src/modules/lyr_std/sphere_distort.cpp:165
+#: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
 msgstr "When checked, the area outside the Radius is not distorted"
 
-#: src/modules/lyr_std/sphere_distort.cpp:169
+#: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
 msgstr "Distort Type"
 
-#: src/modules/lyr_std/sphere_distort.cpp:170
+#: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
 msgstr "The direction of the distortion"
 
-#: src/modules/lyr_std/sphere_distort.cpp:173
+#: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
 msgstr "Vertical Bar"
 
-#: src/modules/lyr_std/sphere_distort.cpp:174
+#: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
 msgstr "Horizontal Bar"
 
@@ -763,104 +769,104 @@ msgstr "Where the stretch distortion is centred"
 msgid "Stroboscope"
 msgstr "Stroboscope"
 
-#: src/modules/lyr_std/stroboscope.cpp:102
+#: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
 msgstr "Frequency"
 
-#: src/modules/lyr_std/stroboscope.cpp:103
+#: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
 msgstr "Frequency of the Strobe in times per second"
 
-#: src/modules/lyr_std/supersample.cpp:56
+#: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
 msgstr "Super Sample"
 
-#: src/modules/lyr_std/supersample.cpp:129
+#: src/modules/lyr_std/supersample.cpp:146
 msgid "Unable to create SurfaceTarget"
 msgstr "Unable to create SurfaceTarget"
 
-#: src/modules/lyr_std/supersample.cpp:290
-#: src/modules/lyr_std/curvewarp.cpp:393
-#: src/modules/mod_gradient/curvegradient.cpp:542
-#: src/synfig/valuenode_composite.cpp:514
-#: src/synfig/valuenode_composite.cpp:540
+#: src/modules/lyr_std/supersample.cpp:337
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_composite.cpp:524
+#: src/synfig/valuenode_composite.cpp:550
 #: src/synfig/valuenode_realstring.cpp:180
 #: src/synfig/valuenode_repeat_gradient.cpp:213
 #: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
 msgid "Width"
 msgstr "Width"
 
-#: src/modules/lyr_std/supersample.cpp:291
+#: src/modules/lyr_std/supersample.cpp:338
 msgid "Width of sample area (In pixels)"
 msgstr "Width of sample area (In pixels)"
 
-#: src/modules/lyr_std/supersample.cpp:294 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
 msgid "Height"
 msgstr "Height"
 
-#: src/modules/lyr_std/supersample.cpp:295
+#: src/modules/lyr_std/supersample.cpp:342
 msgid "Height of sample area (In pixels)"
 msgstr "Height of sample area (In pixels)"
 
-#: src/modules/lyr_std/supersample.cpp:298
+#: src/modules/lyr_std/supersample.cpp:345
 msgid "Use Parametric"
 msgstr "Use Parametric"
 
-#: src/modules/lyr_std/supersample.cpp:299
+#: src/modules/lyr_std/supersample.cpp:346
 msgid "Use the Parametric Renderer"
 msgstr "Use the Parametric Renderer"
 
-#: src/modules/lyr_std/supersample.cpp:302
+#: src/modules/lyr_std/supersample.cpp:349
 msgid "Be Alpha Safe"
 msgstr "Be Alpha Safe"
 
-#: src/modules/lyr_std/supersample.cpp:303
+#: src/modules/lyr_std/supersample.cpp:350
 msgid "Avoid alpha artifacts when checked"
 msgstr "Avoid alpha artifacts when checked"
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:166
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr "Time Loop"
 
-#: src/modules/lyr_std/timeloop.cpp:124 src/synfig/valuenode_timeloop.cpp:179
+#: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
 msgstr "Link Time"
 
-#: src/modules/lyr_std/timeloop.cpp:125
+#: src/modules/lyr_std/timeloop.cpp:134
 msgid "Start time of the loop for the cycled context"
 msgstr "Start time of the loop for the cycled context"
 
-#: src/modules/lyr_std/timeloop.cpp:129 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr "Local Time"
 
-#: src/modules/lyr_std/timeloop.cpp:130 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr "The time when the resulted loop starts"
 
-#: src/modules/lyr_std/timeloop.cpp:134 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr "Duration"
 
-#: src/modules/lyr_std/timeloop.cpp:135 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
 msgid "Lenght of the loop"
 msgstr "Length of the loop"
 
-#: src/modules/lyr_std/timeloop.cpp:139
+#: src/modules/lyr_std/timeloop.cpp:148
 msgid "Only For Positive Duration"
 msgstr "Only For Positive Duration"
 
-#: src/modules/lyr_std/timeloop.cpp:140
+#: src/modules/lyr_std/timeloop.cpp:149
 msgid "When checked will loop only positive durations"
 msgstr "When checked will loop only positive durations"
 
-#: src/modules/lyr_std/timeloop.cpp:144
+#: src/modules/lyr_std/timeloop.cpp:153
 msgid "Symmetrical"
 msgstr "Symmetrical"
 
-#: src/modules/lyr_std/timeloop.cpp:145
+#: src/modules/lyr_std/timeloop.cpp:154
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr "When checked, loops are mirrored centred on Local Time"
 
@@ -888,115 +894,115 @@ msgstr "When checked, distorts inside the circle"
 msgid "When checked, distorts outside the circle"
 msgstr "When checked, distorts outside the circle"
 
-#: src/modules/lyr_std/warp.cpp:56
+#: src/modules/lyr_std/warp.cpp:57
 msgid "Warp"
 msgstr "Warp"
 
-#: src/modules/lyr_std/warp.cpp:374
+#: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
 msgstr "Source TL"
 
-#: src/modules/lyr_std/warp.cpp:376
+#: src/modules/lyr_std/warp.cpp:382
 msgid "Top Left corner of the source to warp"
 msgstr "Top Left corner of the source to warp"
 
-#: src/modules/lyr_std/warp.cpp:380
+#: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
 msgstr "Source BR"
 
-#: src/modules/lyr_std/warp.cpp:381
+#: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
 msgstr "Bottom Right corner of the source to warp"
 
-#: src/modules/lyr_std/warp.cpp:385
+#: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
 msgstr "Dest TL"
 
-#: src/modules/lyr_std/warp.cpp:387
+#: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
 msgstr "Top Left corner of the destination"
 
-#: src/modules/lyr_std/warp.cpp:391
+#: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
 msgstr "Dest TR"
 
-#: src/modules/lyr_std/warp.cpp:393
+#: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
 msgstr "Top Right corner of the destination"
 
-#: src/modules/lyr_std/warp.cpp:397
+#: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
 msgstr "Dest BR"
 
-#: src/modules/lyr_std/warp.cpp:399
+#: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
 msgstr "Bottom Right corner of the destination"
 
-#: src/modules/lyr_std/warp.cpp:403
+#: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
 msgstr "Dest BL"
 
-#: src/modules/lyr_std/warp.cpp:405
+#: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
 msgstr "Bottom Left corner of the destination"
 
-#: src/modules/lyr_std/warp.cpp:413
+#: src/modules/lyr_std/warp.cpp:419
 msgid "Horizon"
 msgstr "Horizon"
 
-#: src/modules/lyr_std/warp.cpp:414
+#: src/modules/lyr_std/warp.cpp:420
 msgid "Height that determines the horizon in perspectives"
 msgstr "Height that determines the horizon in perspectives"
 
-#: src/modules/lyr_std/curvewarp.cpp:55
+#: src/modules/lyr_std/curvewarp.cpp:56
 msgid "Curve Warp"
 msgstr "Curve Warp"
 
-#: src/modules/lyr_std/curvewarp.cpp:390
-msgid "Position of the source line"
-msgstr "Position of the source line"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:395
+#: src/modules/lyr_std/curvewarp.cpp:404
 msgid "How much is expanded the result perpendicular to the source line"
 msgstr "How much the result is expanded perpendicularly to the source line"
 
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:407
 msgid "Start Point"
 msgstr "Start Point"
 
-#: src/modules/lyr_std/curvewarp.cpp:400
+#: src/modules/lyr_std/curvewarp.cpp:409
 msgid "First point of the source line"
 msgstr "First point of the source line"
 
-#: src/modules/lyr_std/curvewarp.cpp:403
+#: src/modules/lyr_std/curvewarp.cpp:412
 msgid "End Point"
 msgstr "End Point"
 
-#: src/modules/lyr_std/curvewarp.cpp:404
+#: src/modules/lyr_std/curvewarp.cpp:413
 msgid "Final point of the source line"
 msgstr "Final point of the source line"
 
-#: src/modules/lyr_std/curvewarp.cpp:407
-#: src/modules/mod_geometry/advanced_outline.cpp:1123
-#: src/modules/mod_geometry/outline.cpp:814
-#: src/modules/mod_geometry/region.cpp:233
-#: src/modules/mod_gradient/curvegradient.cpp:546
-#: src/modules/mod_particle/plant.cpp:391
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
 msgid "Vertices"
 msgstr "Vertices"
 
-#: src/modules/lyr_std/curvewarp.cpp:410
+#: src/modules/lyr_std/curvewarp.cpp:419
 msgid "List of Spline Points where the source line is curved to"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:413
-#: src/modules/mod_geometry/advanced_outline.cpp:1178
-#: src/modules/mod_gradient/curvegradient.cpp:567
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
 msgid "Fast"
 msgstr "Fast"
 
-#: src/modules/lyr_std/curvewarp.cpp:414
-#: src/modules/mod_gradient/curvegradient.cpp:568
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
 msgid "When checked, renders quickly but with artifacts"
 msgstr "When checked, renders quickly but with artefacts"
 
@@ -1004,15 +1010,15 @@ msgstr "When checked, renders quickly but with artefacts"
 msgid "XOR Pattern"
 msgstr "XOR Pattern"
 
-#: src/modules/lyr_std/xorpattern.cpp:126
+#: src/modules/lyr_std/xorpattern.cpp:130
 msgid "Center of the pattern"
 msgstr "Centre of the pattern"
 
-#: src/modules/lyr_std/xorpattern.cpp:130
+#: src/modules/lyr_std/xorpattern.cpp:134
 msgid "Size of the pattern"
 msgstr "Size of the pattern"
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:143
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
 #: src/synfig/valuenode_blinecalctangent.cpp:261
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
 #: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
@@ -1023,7 +1029,7 @@ msgstr "Scale"
 msgid "Amount to scale to"
 msgstr "Amount to scale to"
 
-#: src/modules/lyr_std/zoom.cpp:105
+#: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
 msgstr "Point to scale from"
 
@@ -1041,22 +1047,22 @@ msgstr "%s is not in BMP format"
 #: src/modules/mod_bmp/mptr_bmp.cpp:150
 #, c-format
 msgid "Failure while reading BITMAPFILEHEADER from %s"
-msgstr "Failure while reading BITMAPFILEHEADER from %s"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:158
 #, c-format
 msgid "Failure while reading BITMAPINFOHEADER from %s"
-msgstr "Failure while reading BITMAPINFOHEADER from %s"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:168
 #, c-format
 msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
-msgstr "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:176
 #, c-format
 msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
-msgstr "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
 msgid "Reading compressed bitmaps is not supported"
@@ -1091,126 +1097,143 @@ msgstr "Unable to write info header"
 msgid "Unable to open pipe to encodedv"
 msgstr "Unable to open pipe to encodedv"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:201
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:208
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:218
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:272
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-msgid "Unable to open pipe to ffmpeg"
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:214
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no pipe)"
+msgstr "Unable to open pipe to ffmpeg"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:221
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (pid == -1)"
+msgstr "Unable to open pipe to ffmpeg"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:231
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
+msgstr "Unable to open pipe to ffmpeg"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:285
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (exec failed)"
 msgstr "Unable to open pipe to ffmpeg"
 
-#: src/modules/mod_filter/blur.cpp:68
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:303
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no file)"
+msgstr "Unable to open pipe to ffmpeg"
+
+#: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
 msgstr "Blur"
 
-#: src/modules/mod_filter/blur.cpp:69 src/modules/mod_filter/radialblur.cpp:56
+#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
 #: src/synfig/layer_motionblur.cpp:57
 msgid "Blurs"
 msgstr "Blurs"
 
-#: src/modules/mod_filter/blur.cpp:373
+#: src/modules/mod_filter/blur.cpp:414
 msgid "Size of Blur"
 msgstr "Size of Blur"
 
-#: src/modules/mod_filter/colorcorrect.cpp:55
+#: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
 msgstr "Colour Correct"
 
-#: src/modules/mod_filter/colorcorrect.cpp:211
+#: src/modules/mod_filter/colorcorrect.cpp:217
 msgid "Hue Adjust"
 msgstr "Hue Adjust"
 
-#: src/modules/mod_filter/colorcorrect.cpp:215
+#: src/modules/mod_filter/colorcorrect.cpp:221
 msgid "Brightness"
 msgstr "Brightness"
 
-#: src/modules/mod_filter/colorcorrect.cpp:219
+#: src/modules/mod_filter/colorcorrect.cpp:225
 msgid "Contrast"
 msgstr "Contrast"
 
-#: src/modules/mod_filter/colorcorrect.cpp:223
+#: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
 msgstr "Exposure Adjust"
 
-#: src/modules/mod_filter/colorcorrect.cpp:227 src/synfig/layer_bitmap.cpp:179
+#: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
 msgstr "Gamma Adjustment"
 
-#: src/modules/mod_filter/halftone2.cpp:58
+#: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
 msgstr "Halftone 2"
 
-#: src/modules/mod_filter/halftone2.cpp:151
+#: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
 msgstr "Mask Origin"
 
-#: src/modules/mod_filter/halftone2.cpp:155
+#: src/modules/mod_filter/halftone2.cpp:159
 msgid "Mask Angle"
 msgstr "Mask Angle"
 
-#: src/modules/mod_filter/halftone2.cpp:159
-#: src/modules/mod_filter/halftone3.cpp:309
+#: src/modules/mod_filter/halftone2.cpp:163
+#: src/modules/mod_filter/halftone3.cpp:328
 msgid "Mask Size"
 msgstr "Mask Size"
 
-#: src/modules/mod_filter/halftone2.cpp:164
+#: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
 msgstr "Light Colour"
 
-#: src/modules/mod_filter/halftone2.cpp:167
+#: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
 msgstr "Dark Colour"
 
-#: src/modules/mod_filter/halftone2.cpp:172
-#: src/modules/mod_filter/halftone3.cpp:314
+#: src/modules/mod_filter/halftone2.cpp:176
+#: src/modules/mod_filter/halftone3.cpp:333
 #: src/modules/mod_gradient/conicalgradient.cpp:125
 msgid "Symmetric"
 msgstr "Symmetric"
 
-#: src/modules/mod_filter/halftone2.cpp:173
-#: src/modules/mod_filter/halftone3.cpp:315
+#: src/modules/mod_filter/halftone2.cpp:177
+#: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
 msgstr "Light On Dark"
 
-#: src/modules/mod_filter/halftone2.cpp:175
-#: src/modules/mod_filter/halftone3.cpp:317
+#: src/modules/mod_filter/halftone2.cpp:179
+#: src/modules/mod_filter/halftone3.cpp:336
 msgid "Diamond"
 msgstr "Diamond"
 
-#: src/modules/mod_filter/halftone2.cpp:176
-#: src/modules/mod_filter/halftone3.cpp:318
+#: src/modules/mod_filter/halftone2.cpp:180
+#: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
 msgstr "Stripe"
 
-#: src/modules/mod_filter/halftone3.cpp:58
+#: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
 msgstr "Halftone 3"
 
-#: src/modules/mod_filter/halftone3.cpp:312
+#: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
 msgstr " Type"
 
-#: src/modules/mod_filter/halftone3.cpp:321
+#: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
 msgstr "Subtractive Flag"
 
-#: src/modules/mod_filter/halftone3.cpp:329
+#: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
 msgstr " Colour"
 
-#: src/modules/mod_filter/halftone3.cpp:333
+#: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
 msgstr " Mask Origin"
 
-#: src/modules/mod_filter/halftone3.cpp:337
+#: src/modules/mod_filter/halftone3.cpp:356
 msgid " Mask Angle"
 msgstr " Mask Angle"
 
-#: src/modules/mod_filter/lumakey.cpp:58
+#: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
 msgstr "Luma Key"
 
-#: src/modules/mod_filter/radialblur.cpp:55
+#: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
 msgstr "Radial Blur"
 
@@ -1232,19 +1255,19 @@ msgstr "Checkerboard"
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:62 src/synfig/layer_solidcolor.cpp:57
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
 msgstr "Geometry"
 
-#: src/modules/mod_geometry/checkerboard.cpp:123
+#: src/modules/mod_geometry/checkerboard.cpp:147
 msgid "Color of checkers"
 msgstr "Colour of checkers"
 
-#: src/modules/mod_geometry/checkerboard.cpp:127
+#: src/modules/mod_geometry/checkerboard.cpp:151
 msgid "Center of the checkers"
 msgstr "Centre of the checkers"
 
-#: src/modules/mod_geometry/checkerboard.cpp:131
+#: src/modules/mod_geometry/checkerboard.cpp:155
 msgid "Size of checkers"
 msgstr "Size of checkers"
 
@@ -1252,54 +1275,54 @@ msgstr "Size of checkers"
 msgid "Circle"
 msgstr "Circle"
 
-#: src/modules/mod_geometry/circle.cpp:134
+#: src/modules/mod_geometry/circle.cpp:152
 msgid "Radius of the circle"
 msgstr "Radius of the circle"
 
-#: src/modules/mod_geometry/circle.cpp:138 src/synfig/layer_shape.cpp:1206
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
 msgid "Feather"
 msgstr "Feather"
 
-#: src/modules/mod_geometry/circle.cpp:140
+#: src/modules/mod_geometry/circle.cpp:158
 msgid "Amount of feather of the circle"
 msgstr "Amount of feather of the circle"
 
-#: src/modules/mod_geometry/circle.cpp:148
+#: src/modules/mod_geometry/circle.cpp:166
 msgid "Invert the circle"
 msgstr "Invert the circle"
 
-#: src/modules/mod_geometry/circle.cpp:152
+#: src/modules/mod_geometry/circle.cpp:170
 msgid "Falloff"
 msgstr "Falloff"
 
-#: src/modules/mod_geometry/circle.cpp:153
+#: src/modules/mod_geometry/circle.cpp:171
 msgid "Determines the falloff function for the feather"
 msgstr "Determines the falloff function for the feather"
 
-#: src/modules/mod_geometry/circle.cpp:155
-#: src/modules/mod_noise/distort.cpp:234 src/modules/mod_noise/noise.cpp:275
-#: src/modules/mod_noise/valuenode_random.cpp:288
-#: src/synfig/layer_bitmap.cpp:173 src/synfig/layer_motionblur.cpp:150
-#: src/synfig/valuenode.cpp:139 src/synfig/valuenode_linear.cpp:146
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:289
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
 msgid "Linear"
 msgstr "Linear"
 
-#: src/modules/mod_geometry/circle.cpp:156
+#: src/modules/mod_geometry/circle.cpp:174
 msgid "Squared"
 msgstr "Squared"
 
-#: src/modules/mod_geometry/circle.cpp:157
+#: src/modules/mod_geometry/circle.cpp:175
 msgid "Square Root"
 msgstr "Square Root"
 
-#: src/modules/mod_geometry/circle.cpp:158
+#: src/modules/mod_geometry/circle.cpp:176
 msgid "Sigmond"
 msgstr "Sigmond"
 
-#: src/modules/mod_geometry/circle.cpp:159
-#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:276
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:174
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:290
+#: src/synfig/layer_bitmap.cpp:170
 msgid "Cosine"
 msgstr "Cosine"
 
@@ -1307,161 +1330,161 @@ msgstr "Cosine"
 msgid "Advanced Outline"
 msgstr "Advanced Outline"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:133
+#: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1125
-#: src/modules/mod_geometry/outline.cpp:817
-#: src/modules/mod_geometry/region.cpp:235
-#: src/modules/mod_gradient/curvegradient.cpp:549
-#: src/modules/mod_particle/plant.cpp:392
+#: src/modules/mod_geometry/advanced_outline.cpp:1136
+#: src/modules/mod_geometry/outline.cpp:826
+#: src/modules/mod_geometry/region.cpp:240
+#: src/modules/mod_gradient/curvegradient.cpp:562
+#: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1129
-#: src/modules/mod_geometry/outline.cpp:831
+#: src/modules/mod_geometry/advanced_outline.cpp:1140
+#: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
 msgstr "Outline Width"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1130
-#: src/modules/mod_geometry/outline.cpp:832
+#: src/modules/mod_geometry/advanced_outline.cpp:1141
+#: src/modules/mod_geometry/outline.cpp:841
 msgid "Global width of the outline"
 msgstr "Global width of the outline"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:837
+#: src/modules/mod_geometry/advanced_outline.cpp:1145
+#: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
 msgstr "Expand"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1135
-#: src/modules/mod_geometry/outline.cpp:838
+#: src/modules/mod_geometry/advanced_outline.cpp:1146
+#: src/modules/mod_geometry/outline.cpp:847
 msgid "Value to add to the global width"
 msgstr "Value to add to the global width"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1138
+#: src/modules/mod_geometry/advanced_outline.cpp:1149
 msgid "Tip Type at Start"
 msgstr "Tip Type at Start"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1139
+#: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1141
-#: src/modules/mod_geometry/advanced_outline.cpp:1150
-#: src/synfig/valuenode_composite.cpp:548
+#: src/modules/mod_geometry/advanced_outline.cpp:1152
+#: src/modules/mod_geometry/advanced_outline.cpp:1161
 #: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:587
-#: src/synfig/valuenode_composite.cpp:596
+#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:606
 msgid "Rounded Stop"
 msgstr "Rounded Stop"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1142
-#: src/modules/mod_geometry/advanced_outline.cpp:1151
-#: src/synfig/valuenode_composite.cpp:549
+#: src/modules/mod_geometry/advanced_outline.cpp:1153
+#: src/modules/mod_geometry/advanced_outline.cpp:1162
 #: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:588
-#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:607
 msgid "Squared Stop"
 msgstr "Squared Stop"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1143
-#: src/modules/mod_geometry/advanced_outline.cpp:1152
-#: src/synfig/valuenode_composite.cpp:550
+#: src/modules/mod_geometry/advanced_outline.cpp:1154
+#: src/modules/mod_geometry/advanced_outline.cpp:1163
 #: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:570
+#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:608
 msgid "Peak Stop"
 msgstr "Peak Stop"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1144
-#: src/modules/mod_geometry/advanced_outline.cpp:1153
-#: src/synfig/valuenode_composite.cpp:551
+#: src/modules/mod_geometry/advanced_outline.cpp:1155
+#: src/modules/mod_geometry/advanced_outline.cpp:1164
 #: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:590
-#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:571
+#: src/synfig/valuenode_composite.cpp:600
+#: src/synfig/valuenode_composite.cpp:609
 msgid "Flat Stop"
 msgstr "Flat Stop"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1147
+#: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
 msgstr "Tip Type at End"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1148
+#: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1156
+#: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
 msgstr "Cusps Type"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1157
-#: src/modules/mod_geometry/outline.cpp:843
+#: src/modules/mod_geometry/advanced_outline.cpp:1168
+#: src/modules/mod_geometry/outline.cpp:852
 msgid "Determines cusp type"
 msgstr "Determines cusp type"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1159
+#: src/modules/mod_geometry/advanced_outline.cpp:1170
 msgid "Sharp"
 msgstr "Sharp"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1160
+#: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
 msgstr "Rounded"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1164
+#: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
 msgstr "Smoothness"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1165
+#: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
 msgstr ""
 "Determines the interpolation between width points. (0) Linear (1) Smooth"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1168
-#: src/modules/mod_geometry/outline.cpp:859
+#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/outline.cpp:869
 #: src/synfig/valuenode_blinecalctangent.cpp:271
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
 msgstr "Homogeneous"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1169
+#: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
+#: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
 msgstr "Width Point List"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1175
+#: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
 msgstr "List of width Points that defines the variable width"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
 msgstr "When checked outline renders faster, but less accurately"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1182
+#: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
 msgstr "Dashed Outline"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1184
+#: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
 msgstr "When checked outline is dashed"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1187
+#: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
 msgstr "Dash Item List"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1190
+#: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
 msgstr "List of dash items that defines the dashed outline"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1193
+#: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
 msgstr "Dash Items Offset"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1196
+#: src/modules/mod_geometry/advanced_outline.cpp:1207
 msgid "Distance to Offset the Dash Items"
 msgstr "Distance to Offset the Dash Items"
 
@@ -1469,32 +1492,36 @@ msgstr "Distance to Offset the Dash Items"
 msgid "Outline"
 msgstr "Outline"
 
-#: src/modules/mod_geometry/outline.cpp:183
+#: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
 msgstr "No vertices in outline "
 
-#: src/modules/mod_geometry/outline.cpp:842
+#: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
 msgstr "Sharp Cusps"
 
-#: src/modules/mod_geometry/outline.cpp:847
+#: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
 msgstr "Rounded Begin"
 
-#: src/modules/mod_geometry/outline.cpp:848
-#: src/modules/mod_geometry/outline.cpp:853
+#: src/modules/mod_geometry/outline.cpp:857
+#: src/modules/mod_geometry/outline.cpp:862
 msgid "Round off the tip"
 msgstr "Round off the tip"
 
-#: src/modules/mod_geometry/outline.cpp:852
+#: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
 msgstr "Rounded End"
 
-#: src/modules/mod_geometry/outline.cpp:856
+#: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
 msgstr "Loopyness"
 
-#: src/modules/mod_geometry/outline.cpp:860
+#: src/modules/mod_geometry/outline.cpp:866
+msgid "(Currently not used)"
+msgstr ""
+
+#: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
 msgstr "When checked the width takes the length of the spline to interpolate"
 
@@ -1502,11 +1529,11 @@ msgstr "When checked the width takes the length of the spline to interpolate"
 msgid "Rectangle"
 msgstr "Rectangle"
 
-#: src/modules/mod_geometry/rectangle.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
 msgstr "Expand amount"
 
-#: src/modules/mod_geometry/rectangle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
 msgstr "Invert the rectangle"
 
@@ -1518,46 +1545,46 @@ msgstr "Region"
 msgid "Star"
 msgstr "Star"
 
-#: src/modules/mod_geometry/star.cpp:183
+#: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
 msgstr "Outer Radius"
 
-#: src/modules/mod_geometry/star.cpp:184
+#: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
 msgstr "The radius of the outer points in the star"
 
-#: src/modules/mod_geometry/star.cpp:190
+#: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
 msgstr "Inner Radius"
 
-#: src/modules/mod_geometry/star.cpp:191
+#: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
 msgstr "The radius of the inner points in the star"
 
-#: src/modules/mod_geometry/star.cpp:197
+#: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:129
+#: src/modules/mod_gradient/spiralgradient.cpp:130
 #: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr "Angle"
 
-#: src/modules/mod_geometry/star.cpp:198
+#: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr "The orientation of the star"
 
-#: src/modules/mod_geometry/star.cpp:203 src/synfig/distance.cpp:251
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
 msgid "Points"
 msgstr "Points"
 
-#: src/modules/mod_geometry/star.cpp:204
+#: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
 msgstr "The number of points in the star"
 
-#: src/modules/mod_geometry/star.cpp:208
+#: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
 msgstr "Regular Polygon"
 
-#: src/modules/mod_geometry/star.cpp:209
+#: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr "Whether to draw a star or a regular polygon"
 
@@ -1575,20 +1602,20 @@ msgid "Conical Gradient"
 msgstr "Conical Gradient"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
-#: src/modules/mod_gradient/curvegradient.cpp:61
+#: src/modules/mod_gradient/curvegradient.cpp:62
 #: src/modules/mod_gradient/lineargradient.cpp:55
 #: src/modules/mod_gradient/radialgradient.cpp:58
-#: src/modules/mod_gradient/spiralgradient.cpp:57
-#: src/modules/mod_noise/noise.cpp:58
+#: src/modules/mod_gradient/spiralgradient.cpp:58
+#: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
 msgstr "Gradients"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
-#: src/modules/mod_gradient/curvegradient.cpp:553
-#: src/modules/mod_gradient/lineargradient.cpp:200
+#: src/modules/mod_gradient/curvegradient.cpp:566
+#: src/modules/mod_gradient/lineargradient.cpp:195
 #: src/modules/mod_gradient/radialgradient.cpp:114
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:260
+#: src/modules/mod_gradient/spiralgradient.cpp:114
+#: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
 msgstr "Gradient to apply"
 
@@ -1601,27 +1628,27 @@ msgid "Rotation of the gradient around the center"
 msgstr "Rotation of the gradient around the centre"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
-#: src/modules/mod_gradient/curvegradient.cpp:557
-#: src/modules/mod_gradient/lineargradient.cpp:204
+#: src/modules/mod_gradient/curvegradient.cpp:570
+#: src/modules/mod_gradient/lineargradient.cpp:199
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr "When checked the gradient is looped"
 
-#: src/modules/mod_gradient/curvegradient.cpp:60
+#: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
 msgstr "Curve Gradient"
 
-#: src/modules/mod_gradient/curvegradient.cpp:538
-#: src/modules/mod_particle/plant.cpp:399
+#: src/modules/mod_gradient/curvegradient.cpp:551
+#: src/modules/mod_particle/plant.cpp:432
 msgid "Offset for the Vertices List"
 msgstr "Offset for the Vertices List"
 
-#: src/modules/mod_gradient/curvegradient.cpp:543
+#: src/modules/mod_gradient/curvegradient.cpp:556
 msgid "Global width of the gradient"
 msgstr "Global width of the gradient"
 
-#: src/modules/mod_gradient/curvegradient.cpp:556
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/curvegradient.cpp:569
+#: src/modules/mod_gradient/lineargradient.cpp:198
 #: src/modules/mod_gradient/radialgradient.cpp:130
 #: src/synfig/valuenode_blinecalctangent.cpp:246
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
@@ -1629,19 +1656,19 @@ msgstr "Global width of the gradient"
 msgid "Loop"
 msgstr "Loop"
 
-#: src/modules/mod_gradient/curvegradient.cpp:560
-#: src/modules/mod_gradient/lineargradient.cpp:207
+#: src/modules/mod_gradient/curvegradient.cpp:573
+#: src/modules/mod_gradient/lineargradient.cpp:202
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr "ZigZag"
 
-#: src/modules/mod_gradient/curvegradient.cpp:561
-#: src/modules/mod_gradient/lineargradient.cpp:208
+#: src/modules/mod_gradient/curvegradient.cpp:574
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:136
 msgid "When checked the gradient is summetrical at the center"
 msgstr "When checked the gradient is symmetrical at the centre"
 
-#: src/modules/mod_gradient/curvegradient.cpp:564
+#: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
 msgstr "Perpendicular"
 
@@ -1649,11 +1676,11 @@ msgstr "Perpendicular"
 msgid "Linear Gradient"
 msgstr "Linear Gradient"
 
-#: src/modules/mod_gradient/lineargradient.cpp:192
+#: src/modules/mod_gradient/lineargradient.cpp:187
 msgid "Start point of the gradient"
 msgstr "Start point of the gradient"
 
-#: src/modules/mod_gradient/lineargradient.cpp:196
+#: src/modules/mod_gradient/lineargradient.cpp:191
 msgid "End point of the gradient"
 msgstr "End point of the gradient"
 
@@ -1662,23 +1689,23 @@ msgid "Radial Gradient"
 msgstr "Radial Gradient"
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:119
 msgid "Center of the gradient"
 msgstr "Centre of the gradient"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:56
+#: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
 msgstr "Spiral Gradient"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:130
+#: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
 msgstr "Rotation of the spiral"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:135
+#: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
 msgstr "Clockwise"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:136
+#: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
 msgstr "When checked the spiral turns clockwise"
 
@@ -1691,13 +1718,15 @@ msgstr "No file to load"
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/listimporter.cpp:184 src/synfig/listimporter.cpp:185
+#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
+#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
 msgid "Unable to open "
 msgstr "Unable to open "
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/listimporter.cpp:191 src/synfig/listimporter.cpp:192
+#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
+#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
 msgid "Unable to get frame from "
 msgstr "Unable to get frame from "
 
@@ -1735,115 +1764,115 @@ msgstr "Premature end of file"
 msgid "Unable to open pipe to imagemagick's convert utility"
 msgstr "Unable to open pipe to imagemagick's convert utility"
 
-#: src/modules/mod_noise/distort.cpp:57
+#: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
 msgstr "Noise Distort"
 
-#: src/modules/mod_noise/distort.cpp:217
+#: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
 msgstr "Displacement"
 
-#: src/modules/mod_noise/distort.cpp:218
+#: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
 msgstr "How big the distortion displaces the context"
 
-#: src/modules/mod_noise/distort.cpp:223
+#: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
 msgstr "The distance between distortions"
 
-#: src/modules/mod_noise/distort.cpp:226 src/modules/mod_noise/noise.cpp:263
+#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
 msgstr "RandomNoise Seed"
 
-#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:264
+#: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
 msgstr "Change to modify the random seed of the noise"
 
-#: src/modules/mod_noise/distort.cpp:230 src/modules/mod_noise/noise.cpp:271
-#: src/modules/mod_noise/valuenode_random.cpp:284
-#: src/synfig/layer_bitmap.cpp:169
+#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr "Interpolation"
 
-#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
-#: src/synfig/layer_bitmap.cpp:170
+#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
+#: src/synfig/layer_bitmap.cpp:166
 msgid "What type of interpolation to use"
 msgstr "What type of interpolation to use"
 
-#: src/modules/mod_noise/distort.cpp:233 src/modules/mod_noise/noise.cpp:274
-#: src/synfig/layer_bitmap.cpp:172
+#: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
+#: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
 msgstr "Nearest Neighbor"
 
-#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:277
-#: src/modules/mod_noise/valuenode_random.cpp:290 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_bline.cpp:1001
+#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
+#: src/synfig/valuenode_bline.cpp:1006
 #: src/synfig/valuenode_blinecalctangent.cpp:241
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr "Spline"
 
-#: src/modules/mod_noise/distort.cpp:237 src/modules/mod_noise/noise.cpp:278
-#: src/modules/mod_noise/valuenode_random.cpp:291
-#: src/synfig/layer_bitmap.cpp:175
+#: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr "Cubic"
 
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:281
+#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
 msgstr "Detail"
 
-#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:282
+#: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
 msgstr "Increase to obtain finer details of the noise"
 
-#: src/modules/mod_noise/distort.cpp:244 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
 msgstr "Animation Speed"
 
-#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
 msgstr "In cycles per second"
 
-#: src/modules/mod_noise/distort.cpp:248 src/modules/mod_noise/noise.cpp:289
+#: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
 msgstr "Turbulent"
 
-#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:290
+#: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
 msgstr "When checked produces turbulent noise"
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:183
+#: src/modules/mod_noise/valuenode_random.cpp:184
 msgid "Random"
 msgstr "Random"
 
-#: src/modules/mod_noise/noise.cpp:57
+#: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
 msgstr "Noise Gradient"
 
-#: src/modules/mod_noise/noise.cpp:268
+#: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
 msgstr "Size of the noise"
 
-#: src/modules/mod_noise/noise.cpp:293
+#: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
 msgstr "Do Alpha"
 
-#: src/modules/mod_noise/noise.cpp:294
+#: src/modules/mod_noise/noise.cpp:303
 msgid "Uses transparency"
 msgstr "Uses transparency"
 
-#: src/modules/mod_noise/noise.cpp:297
+#: src/modules/mod_noise/noise.cpp:306
 msgid "Super Sampling"
 msgstr "Super Sampling"
 
-#: src/modules/mod_noise/noise.cpp:298
+#: src/modules/mod_noise/noise.cpp:307
 msgid "When checked the gradient is supersampled"
 msgstr "When checked the gradient is supersampled"
 
-#: src/modules/mod_noise/valuenode_random.cpp:264
+#: src/modules/mod_noise/valuenode_random.cpp:265
 #: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
 #: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
 #: src/synfig/valuenode_reciprocal.cpp:165
@@ -1852,105 +1881,105 @@ msgstr "When checked the gradient is supersampled"
 msgid "Link"
 msgstr "Link"
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "The value node source that provides the central value"
 msgstr "The value node source that provides the central value"
 
-#: src/modules/mod_noise/valuenode_random.cpp:270
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid "The value of the maximum random difference"
 msgstr "The value of the maximum random difference"
 
-#: src/modules/mod_noise/valuenode_random.cpp:274
-#: src/modules/mod_particle/plant.cpp:450
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr "Seed"
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:276
 msgid "Seeds the random number generator"
 msgstr "Seeds the random number generator"
 
-#: src/modules/mod_noise/valuenode_random.cpp:279
+#: src/modules/mod_noise/valuenode_random.cpp:280
 msgid "Speed"
 msgstr "Speed"
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:281
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 "Defines how often a new random value is chosen (in choices per second) "
 
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:286
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 "Determines how the value is interpolated from one random choice to the next"
 
-#: src/modules/mod_noise/valuenode_random.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:288
 msgid "No interpolation"
 msgstr "No interpolation"
 
-#: src/modules/mod_noise/valuenode_random.cpp:296
+#: src/modules/mod_noise/valuenode_random.cpp:297
 msgid "Loop Time"
 msgstr "Loop Time"
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:298
 msgid "Makes the random value repeat after the given time"
 msgstr "Makes the random value repeat after the given time"
 
-#: src/modules/mod_particle/plant.cpp:69
+#: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
 msgstr "Plant"
 
-#: src/modules/mod_particle/plant.cpp:404
+#: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
 msgstr "Gradient to be used for colouring the plant"
 
-#: src/modules/mod_particle/plant.cpp:408
+#: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
 msgstr "Split Angle"
 
-#: src/modules/mod_particle/plant.cpp:409
+#: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
 msgstr "Angle by which each split deviates from its parent"
 
-#: src/modules/mod_particle/plant.cpp:413
+#: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
 msgstr "Gravity"
 
-#: src/modules/mod_particle/plant.cpp:414
+#: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
 msgstr "Direction in which the shoots tend to face"
 
-#: src/modules/mod_particle/plant.cpp:419
+#: src/modules/mod_particle/plant.cpp:452
 msgid "Tangential Velocity"
 msgstr "Tangential Velocity"
 
-#: src/modules/mod_particle/plant.cpp:420
+#: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:424
+#: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
 msgstr "Perpendicular Velocity"
 
-#: src/modules/mod_particle/plant.cpp:425
+#: src/modules/mod_particle/plant.cpp:458
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:429
+#: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
 msgstr "Stem Size"
 
-#: src/modules/mod_particle/plant.cpp:430
+#: src/modules/mod_particle/plant.cpp:463
 msgid "Size of the stem"
 msgstr "Size of the stem"
 
-#: src/modules/mod_particle/plant.cpp:435
+#: src/modules/mod_particle/plant.cpp:468
 msgid "Size As Alpha"
 msgstr "Size As Alpha"
 
-#: src/modules/mod_particle/plant.cpp:436
+#: src/modules/mod_particle/plant.cpp:469
 msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
@@ -1958,66 +1987,66 @@ msgstr ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
 
-#: src/modules/mod_particle/plant.cpp:440
+#: src/modules/mod_particle/plant.cpp:473
 msgid "Reverse"
 msgstr "Reverse"
 
-#: src/modules/mod_particle/plant.cpp:441
+#: src/modules/mod_particle/plant.cpp:474
 msgid "If enabled, render the plant in the opposite direction"
 msgstr "If enabled, render the plant in the opposite direction"
 
-#: src/modules/mod_particle/plant.cpp:445 src/synfig/valuenode.cpp:170
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
 #: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
 msgid "Step"
 msgstr "Step"
 
-#: src/modules/mod_particle/plant.cpp:446
+#: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
 msgstr "Measure of the distance between points when rendering"
 
-#: src/modules/mod_particle/plant.cpp:451
+#: src/modules/mod_particle/plant.cpp:484
 msgid "Used to seed the pseudo-random number generator"
 msgstr "Used to seed the pseudo-random number generator"
 
-#: src/modules/mod_particle/plant.cpp:455
+#: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
 msgstr "Splits"
 
-#: src/modules/mod_particle/plant.cpp:456
+#: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
 msgstr "Maximum number of times that each sprout can sprout recursively"
 
-#: src/modules/mod_particle/plant.cpp:460
+#: src/modules/mod_particle/plant.cpp:493
 msgid "Sprouts"
 msgstr "Sprouts"
 
-#: src/modules/mod_particle/plant.cpp:461
+#: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:465
+#: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
 msgstr "Random Factor"
 
-#: src/modules/mod_particle/plant.cpp:466
+#: src/modules/mod_particle/plant.cpp:499
 msgid ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 msgstr ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 
-#: src/modules/mod_particle/plant.cpp:470
+#: src/modules/mod_particle/plant.cpp:503
 msgid "Drag"
 msgstr "Drag"
 
-#: src/modules/mod_particle/plant.cpp:471
+#: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
 msgstr "Drag slows the growth"
 
-#: src/modules/mod_particle/plant.cpp:475
+#: src/modules/mod_particle/plant.cpp:508
 msgid "Use Width"
 msgstr "Use Width"
 
-#: src/modules/mod_particle/plant.cpp:476
+#: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
@@ -2026,97 +2055,102 @@ msgstr ""
 msgid "%s was not in PPM format"
 msgstr "%s was not in PPM format"
 
-#: src/synfig/cairoimporter.cpp:87 src/synfig/importer.cpp:87
+#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
 msgid "Importer::open(): Cannot open empty filename"
 msgstr "Importer::open(): Cannot open empty filename"
 
-#: src/synfig/cairoimporter.cpp:101 src/synfig/importer.cpp:101
+#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
 msgid "Importer::open(): Couldn't find extension"
 msgstr "Importer::open(): Couldn't find extension"
 
-#: src/synfig/cairoimporter.cpp:112 src/synfig/importer.cpp:112
+#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
 msgid "Importer::open(): Unknown file type -- "
 msgstr "Importer::open(): Unknown file type -- "
 
-#: src/synfig/canvas.cpp:798 src/synfig/canvas.cpp:863
-#: src/synfig/canvas.cpp:886
+#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
+#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+msgid "No images in list"
+msgstr "No images in list"
+
+#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
+#: src/synfig/canvas.cpp:927
 msgid "in line"
 msgstr "in line"
 
-#: src/synfig/distance.cpp:249
+#: src/synfig/distance.cpp:251
 msgid "Units"
 msgstr "Units"
 
-#: src/synfig/distance.cpp:250
+#: src/synfig/distance.cpp:252
 msgid "Pixels"
 msgstr "Pixels"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:254
 msgid "Inches"
 msgstr "Inches"
 
-#: src/synfig/distance.cpp:253
+#: src/synfig/distance.cpp:255
 msgid "Meters"
 msgstr "Metres"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:256
 msgid "Millimeters"
 msgstr "Millimetres"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:257
 msgid "Centimeters"
 msgstr "Centimetres"
 
-#: src/synfig/layer.cpp:565 src/synfig/layer_composite.cpp:128
+#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
 msgid "Unable to create surface target"
 msgstr "Unable to create surface target"
 
-#: src/synfig/layer.cpp:619
+#: src/synfig/layer.cpp:605
 msgid "Z Depth"
 msgstr "Z Depth"
 
-#: src/synfig/layer.cpp:621
+#: src/synfig/layer.cpp:607
 msgid "Modifies the position of the layer in the layer stack"
 msgstr "Modifies the position of the layer in the layer stack"
 
-#: src/synfig/layer_bitmap.cpp:159
+#: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
 msgstr "Top-Left"
 
-#: src/synfig/layer_bitmap.cpp:160
+#: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
 msgstr "Upper left-hand Corner of image"
 
-#: src/synfig/layer_bitmap.cpp:164
+#: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
 msgstr "Bottom-Right"
 
-#: src/synfig/layer_bitmap.cpp:165
+#: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
 msgstr "Lower right-hand Corner of image"
 
-#: src/synfig/layer_composite.cpp:218
+#: src/synfig/layer_composite.cpp:250
 msgid "Alpha channel of the layer"
 msgstr "Alpha channel of the layer"
 
-#: src/synfig/layer_composite.cpp:221 src/synfig/paramdesc.cpp:62
+#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr "Blend Method"
 
-#: src/synfig/layer_composite.cpp:222
+#: src/synfig/layer_composite.cpp:254
 msgid "The blending method used to composite on the layers below"
 msgstr "The blending method used to composite on the layers below"
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:168
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
 #: src/synfig/valuenode_duplicate.cpp:174
 msgid "Duplicate"
 msgstr "Duplicate"
 
-#: src/synfig/layer_duplicate.cpp:148
+#: src/synfig/layer_duplicate.cpp:151
 msgid "Index"
 msgstr "Index"
 
-#: src/synfig/layer_duplicate.cpp:149
+#: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
 msgstr "Copy Index"
 
@@ -2128,156 +2162,156 @@ msgstr "[MIME]"
 msgid "Motion Blur"
 msgstr "Motion Blur"
 
-#: src/synfig/layer_motionblur.cpp:136
+#: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
 msgstr "Aperture"
 
-#: src/synfig/layer_motionblur.cpp:137
+#: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
 msgstr "Shutter Time"
 
-#: src/synfig/layer_motionblur.cpp:141
+#: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
 msgstr "Subsamples Factor"
 
-#: src/synfig/layer_motionblur.cpp:142
+#: src/synfig/layer_motionblur.cpp:141
 msgid "Multiplies The Number Of Subsamples Rendered"
 msgstr "Multiplies The Number Of Subsamples Rendered"
 
-#: src/synfig/layer_motionblur.cpp:146
+#: src/synfig/layer_motionblur.cpp:145
 msgid "Subsampling Type"
 msgstr "Subsampling Type"
 
-#: src/synfig/layer_motionblur.cpp:147
+#: src/synfig/layer_motionblur.cpp:146
 msgid "Curve Type For Weighting Subsamples"
 msgstr "Curve Type For Weighting Subsamples"
 
-#: src/synfig/layer_motionblur.cpp:149 src/synfig/valuenode_const.cpp:127
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
 msgid "Constant"
 msgstr "Constant"
 
-#: src/synfig/layer_motionblur.cpp:151
+#: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
 msgstr "Hyperbolic"
 
-#: src/synfig/layer_motionblur.cpp:155
+#: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
 msgstr "Subsample Start Amount"
 
-#: src/synfig/layer_motionblur.cpp:156
+#: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
 msgstr "Relative Amount Of The First Subsample, For Linear Weighting"
 
-#: src/synfig/layer_motionblur.cpp:160
+#: src/synfig/layer_motionblur.cpp:159
 msgid "Subsample End Amount"
 msgstr "Subsample End Amount"
 
-#: src/synfig/layer_motionblur.cpp:161
+#: src/synfig/layer_motionblur.cpp:160
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr "Relative Amount Of The Last Subsample, For Linear Weighting"
 
-#: src/synfig/layer_pastecanvas.cpp:78 src/synfig/layer_pastecanvas.cpp:120
-#: src/synfig/layer_pastecanvas.cpp:121
+#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
+#: src/synfig/layer_pastecanvas.cpp:124
 msgid "Group"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:137
+#: src/synfig/layer_pastecanvas.cpp:140
 msgid "Canvas"
 msgstr "Canvas"
 
-#: src/synfig/layer_pastecanvas.cpp:138
+#: src/synfig/layer_pastecanvas.cpp:141
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:144
 msgid "Zoom"
 msgstr "Zoom"
 
-#: src/synfig/layer_pastecanvas.cpp:142
+#: src/synfig/layer_pastecanvas.cpp:145
 msgid "Size of canvas"
 msgstr "Size of canvas"
 
-#: src/synfig/layer_pastecanvas.cpp:147
+#: src/synfig/layer_pastecanvas.cpp:152
 msgid "Time Offset to apply to the context"
 msgstr "Time Offset to apply to the context"
 
-#: src/synfig/layer_pastecanvas.cpp:151
+#: src/synfig/layer_pastecanvas.cpp:156
 msgid "Children Lock"
 msgstr "Children Lock"
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:157
 msgid "When checked prevents to select the children using the mouse click"
 msgstr "When checked prevents to select the children using the mouse click"
 
-#: src/synfig/layer_pastecanvas.cpp:156
+#: src/synfig/layer_pastecanvas.cpp:162
 msgid "Focus Point"
 msgstr "Focus Point"
 
-#: src/synfig/layer_pastecanvas.cpp:159
+#: src/synfig/layer_pastecanvas.cpp:165
 msgid "Point to remain fixed when zooming"
 msgstr "Point to remain fixed when zooming"
 
-#: src/synfig/layer_pastecanvas.cpp:164
+#: src/synfig/layer_pastecanvas.cpp:170
 msgid "Outline Grow"
 msgstr "Outline Grow"
 
-#: src/synfig/layer_pastecanvas.cpp:165
+#: src/synfig/layer_pastecanvas.cpp:171
 msgid "Exponential value to grow children Outline layers width"
 msgstr "Exponential value to grow children Outline layers width"
 
-#: src/synfig/layer_pastecanvas.cpp:180
+#: src/synfig/layer_pastecanvas.cpp:186
 msgid "Current Time"
 msgstr "Current Time"
 
-#: src/synfig/layer_polygon.cpp:61
+#: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
 msgstr "Polygon"
 
-#: src/synfig/layer_polygon.cpp:187
+#: src/synfig/layer_polygon.cpp:194
 msgid "Vertices List"
 msgstr "Vertices List"
 
-#: src/synfig/layer_polygon.cpp:188
+#: src/synfig/layer_polygon.cpp:195
 msgid "Define the corners of the polygon"
 msgstr "Define the corners of the polygon"
 
-#: src/synfig/layer_shape.cpp:64
+#: src/synfig/layer_shape.cpp:66
 msgid "Shape"
 msgstr "Shape"
 
-#: src/synfig/layer_shape.cpp:65
+#: src/synfig/layer_shape.cpp:67
 msgid "Internal"
 msgstr "Internal"
 
-#: src/synfig/layer_shape.cpp:1194
+#: src/synfig/layer_shape.cpp:1222
 msgid "Layer_Shape Color"
 msgstr "Layer_Shape Colour"
 
-#: src/synfig/layer_shape.cpp:1203
+#: src/synfig/layer_shape.cpp:1231
 msgid "Antialiasing"
 msgstr "Antialiasing"
 
-#: src/synfig/layer_shape.cpp:1210
+#: src/synfig/layer_shape.cpp:1238
 msgid "Type of Feather"
 msgstr "Type of Feather"
 
-#: src/synfig/layer_shape.cpp:1211
+#: src/synfig/layer_shape.cpp:1239
 msgid "Type of feathering to use"
 msgstr "Type of feathering to use"
 
-#: src/synfig/layer_shape.cpp:1220
+#: src/synfig/layer_shape.cpp:1248
 msgid "Winding Style"
 msgstr "Winding Style"
 
-#: src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_shape.cpp:1249
 msgid "Winding style to use"
 msgstr "Winding style to use"
 
-#: src/synfig/layer_shape.cpp:1223
+#: src/synfig/layer_shape.cpp:1251
 msgid "Non Zero"
 msgstr "Non Zero"
 
-#: src/synfig/layer_shape.cpp:1224
+#: src/synfig/layer_shape.cpp:1252
 msgid "Even/Odd"
 msgstr "Even/Odd"
 
@@ -2285,68 +2319,65 @@ msgstr "Even/Odd"
 msgid "Solid Color"
 msgstr "Solid Colour"
 
-#: src/synfig/listimporter.cpp:161 src/synfig/listimporter.cpp:162
-msgid "No images in list"
-msgstr "No images in list"
-
-#: src/synfig/loadcanvas.cpp:142
+#: src/synfig/loadcanvas.cpp:143
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr "cannot load '%s' recursively"
 
-#: src/synfig/loadcanvas.cpp:185
+#: src/synfig/loadcanvas.cpp:186
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr "Unexpected element <%s>, Expected <%s>"
 
-#: src/synfig/loadcanvas.cpp:191
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr "Unexpected element <%s>"
 
-#: src/synfig/loadcanvas.cpp:205
+#: src/synfig/loadcanvas.cpp:206
 msgid "Too many warnings"
 msgstr "Too many warnings"
 
-#: src/synfig/loadcanvas.cpp:236
+#: src/synfig/loadcanvas.cpp:237
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr "<%s> is missing \"%s\" attribute"
 
 #: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:469
-#: src/synfig/loadcanvas.cpp:1118
+#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
+#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr "<%s> should not contain anything"
 
 #: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:473
-#: src/synfig/loadcanvas.cpp:1122
+#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
+#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr "<%s> is missing \"value\" attribute"
 
-#: src/synfig/loadcanvas.cpp:484 src/synfig/loadcanvas.cpp:1144
+#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
+#: src/synfig/loadcanvas.cpp:1200
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr "Bad value \"%s\" in <%s>"
 
-#: src/synfig/loadcanvas.cpp:508
+#: src/synfig/loadcanvas.cpp:533
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr "<%s> is missing \"pos\" attribute"
 
-#: src/synfig/loadcanvas.cpp:1284
+#: src/synfig/loadcanvas.cpp:1353
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr "Unable to create <animated> with type \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1301
+#: src/synfig/loadcanvas.cpp:1375
 msgid "<waypoint> is missing attribute \"time\""
 msgstr "<waypoint> is missing attribute \"time\""
 
-#: src/synfig/loadcanvas.cpp:1314
+#: src/synfig/loadcanvas.cpp:1388
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
@@ -2354,149 +2385,148 @@ msgstr ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 
-#: src/synfig/loadcanvas.cpp:1330
+#: src/synfig/loadcanvas.cpp:1404
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr "Unknown ID (%s) referenced in waypoint"
 
-#: src/synfig/loadcanvas.cpp:1336 src/synfig/loadcanvas.cpp:1348
+#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
 #, c-format
 msgid "<%s> is missing its data"
 msgstr "<%s> is missing its data"
 
-#: src/synfig/loadcanvas.cpp:1365
+#: src/synfig/loadcanvas.cpp:1439
 msgid "Bad data for <waypoint>"
 msgstr "Bad data for <waypoint>"
 
-#: src/synfig/loadcanvas.cpp:1380
+#: src/synfig/loadcanvas.cpp:1455
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr "Unexpected element <%s> after <waypoint> data, ignoring..."
 
-#: src/synfig/loadcanvas.cpp:1424 src/synfig/loadcanvas.cpp:1443
-#, c-format
-msgid "\"%s\" not a valid value for attribute \"%s\" in <%s>"
-msgstr "\"%s\" not a valid value for attribute \"%s\" in <%s>"
-
-#: src/synfig/loadcanvas.cpp:1504
+#: src/synfig/loadcanvas.cpp:1556
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr "Missing attribute \"type\" in <%s>"
 
-#: src/synfig/loadcanvas.cpp:1512
+#: src/synfig/loadcanvas.cpp:1565
 #, c-format
 msgid "Bad type in <%s>"
 msgstr "Bad type in <%s>"
 
-#: src/synfig/loadcanvas.cpp:1522
+#: src/synfig/loadcanvas.cpp:1577
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 
-#: src/synfig/loadcanvas.cpp:1531
+#: src/synfig/loadcanvas.cpp:1587
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr "<%s> did not accept type '%s'"
 
-#: src/synfig/loadcanvas.cpp:1557 src/synfig/loadcanvas.cpp:1628
+#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr "'%s' was already defined in <%s>"
 
-#: src/synfig/loadcanvas.cpp:1570
+#: src/synfig/loadcanvas.cpp:1625
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr "'%s' attribute in <%s> references unknown ID '%s'"
 
-#: src/synfig/loadcanvas.cpp:1579
+#: src/synfig/loadcanvas.cpp:1634
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 
-#: src/synfig/loadcanvas.cpp:1603
+#: src/synfig/loadcanvas.cpp:1658
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr "Unknown Exception thrown when referencing ValueNode \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1643
+#: src/synfig/loadcanvas.cpp:1698
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr "element <%s> is missing its contents"
 
-#: src/synfig/loadcanvas.cpp:1652
+#: src/synfig/loadcanvas.cpp:1707
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr "Parse of '%s' failed"
 
-#: src/synfig/loadcanvas.cpp:1659
+#: src/synfig/loadcanvas.cpp:1714
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1677
+#: src/synfig/loadcanvas.cpp:1732
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr "Unknown Exception thrown when working on element \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1747
+#: src/synfig/loadcanvas.cpp:1811
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr "<%s> is missing link %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1841
-msgid "Unable to create <dynamic_list>"
-msgstr "Unable to create <dynamic_list>"
+#: src/synfig/loadcanvas.cpp:1861
+msgid "Unable to create <list>"
+msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1993
+#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr "<entry> is missing its contents or missing \"use\" element"
 
-#: src/synfig/loadcanvas.cpp:2038
+#: src/synfig/loadcanvas.cpp:1998
+msgid "Unable to create <dynamic_list>"
+msgstr "Unable to create <dynamic_list>"
+
+#: src/synfig/loadcanvas.cpp:2220
 #, c-format
 msgid "Bad data in <%s>"
 msgstr "Bad data in <%s>"
 
-#: src/synfig/loadcanvas.cpp:2076
+#: src/synfig/loadcanvas.cpp:2283
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr "Expected a ValueNode.  Refer to '%s'"
 
-#: src/synfig/loadcanvas.cpp:2097
+#: src/synfig/loadcanvas.cpp:2304
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr "Bad ID \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2102
+#: src/synfig/loadcanvas.cpp:2310
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr "Duplicate ID \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2107
+#: src/synfig/loadcanvas.cpp:2316
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr "Unknown Exception thrown when adding ValueNode \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2142
+#: src/synfig/loadcanvas.cpp:2373
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr "Missing \"type\" attribute to \"layer\" element"
 
-#: src/synfig/loadcanvas.cpp:2161
+#: src/synfig/loadcanvas.cpp:2392
 msgid "Installed layer version is smaller than layer version in file"
 msgstr "Installed layer version is smaller than layer version in file"
 
-#: src/synfig/loadcanvas.cpp:2181
+#: src/synfig/loadcanvas.cpp:2415
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr "<name> entry for <layer> is not yet supported. Ignoring..."
 
-#: src/synfig/loadcanvas.cpp:2184
+#: src/synfig/loadcanvas.cpp:2418
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr "<desc> entry for <layer> is not yet supported. Ignoring..."
 
-#: src/synfig/loadcanvas.cpp:2192
+#: src/synfig/loadcanvas.cpp:2426
 msgid "Missing \"name\" attribute for <param>."
 msgstr "Missing \"name\" attribute for <param>."
 
-#: src/synfig/loadcanvas.cpp:2209
+#: src/synfig/loadcanvas.cpp:2443
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
@@ -2504,192 +2534,196 @@ msgstr ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 
-#: src/synfig/loadcanvas.cpp:2214
+#: src/synfig/loadcanvas.cpp:2448
 msgid "Empty use=\"\" value in <param>"
 msgstr "Empty use=\"\" value in <param>"
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2454
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr "Failed to load subcanvas '%s'"
 
-#: src/synfig/loadcanvas.cpp:2222
+#: src/synfig/loadcanvas.cpp:2456
 msgid "Layer rejected canvas link"
 msgstr "Layer rejected canvas link"
 
-#: src/synfig/loadcanvas.cpp:2244
+#: src/synfig/loadcanvas.cpp:2480
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr "Unknown ID (%s) referenced in parameter \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2260
+#: src/synfig/loadcanvas.cpp:2496
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 "<param> is either missing its contents, or missing a \"use\" attribute."
 
-#: src/synfig/loadcanvas.cpp:2272 src/synfig/loadcanvas.cpp:2292
+#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
 msgid "Bad data for <param>"
 msgstr "Bad data for <param>"
 
-#: src/synfig/loadcanvas.cpp:2280
+#: src/synfig/loadcanvas.cpp:2516
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr "Layer '%s' rejected value for parameter '%s'"
 
-#: src/synfig/loadcanvas.cpp:2303
+#: src/synfig/loadcanvas.cpp:2539
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr "Unexpected element <%s> after <param> data, ignoring..."
 
-#: src/synfig/loadcanvas.cpp:2376 src/synfig/loadcanvas.cpp:2384
+#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
 msgid "Canvas with width or height less than one is not allowed"
 msgstr "Canvas with width or height less than one is not allowed"
 
-#: src/synfig/loadcanvas.cpp:2470
+#: src/synfig/loadcanvas.cpp:2710
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2478
+#: src/synfig/loadcanvas.cpp:2717
+msgid "Inline canvas cannot have a <bones> section"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2725
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2490
+#: src/synfig/loadcanvas.cpp:2737
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2498
+#: src/synfig/loadcanvas.cpp:2745
 msgid "<meta> must have a name"
 msgstr "<meta> must have a name"
 
-#: src/synfig/loadcanvas.cpp:2504
+#: src/synfig/loadcanvas.cpp:2751
 msgid "<meta> must have content"
 msgstr "<meta> must have content"
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:2763
 msgid "blank \"name\" entity"
 msgstr "blank \"name\" entity"
 
-#: src/synfig/loadcanvas.cpp:2531
+#: src/synfig/loadcanvas.cpp:2778
 msgid "blank \"desc\" entity"
 msgstr "blank \"desc\" entity"
 
-#: src/synfig/loadcanvas.cpp:2546
+#: src/synfig/loadcanvas.cpp:2793
 msgid "blank \"author\" entity"
 msgstr "blank \"author\" entity"
 
-#: src/synfig/loadcanvas.cpp:2578
+#: src/synfig/loadcanvas.cpp:2828
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr "Canvas '%s' has undefined %s: %s"
 
-#: src/synfig/loadcanvas.cpp:2580 src/synfig/valuenode.cpp:353
+#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
 msgid "ValueNode"
 msgstr "ValueNode"
 
-#: src/synfig/loadcanvas.cpp:2580
+#: src/synfig/loadcanvas.cpp:2830
 msgid "ValueNodes"
 msgstr "ValueNodes"
 
-#: src/synfig/loadcanvas.cpp:2660 src/synfig/loadcanvas.cpp:2716
+#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
 msgid "Can't open file"
 msgstr "Can't open file"
 
-#: src/synfig/main.cpp:102
+#: src/synfig/main.cpp:118
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr "API Version mismatch (LIB:%d, PROG:%d)"
 
-#: src/synfig/main.cpp:107
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr "Size of Vector mismatch (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:112
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr "Size of Colour mismatch (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:117
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr "Size of Canvas mismatch (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:122
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr "Size of Layer mismatch (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:184
+#: src/synfig/main.cpp:207
 msgid "Starting Subsystem \"Modules\""
 msgstr "Starting Subsystem \"Modules\""
 
-#: src/synfig/main.cpp:186
+#: src/synfig/main.cpp:209
 msgid "Unable to initialize subsystem \"Module\""
 msgstr "Unable to initialise subsystem \"Module\""
 
-#: src/synfig/main.cpp:188
+#: src/synfig/main.cpp:211
 msgid "Starting Subsystem \"Layers\""
 msgstr "Starting Subsystem \"Layers\""
 
-#: src/synfig/main.cpp:192
+#: src/synfig/main.cpp:215
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr "Unable to initialise subsystem \"Layers\""
 
-#: src/synfig/main.cpp:195
+#: src/synfig/main.cpp:218
 msgid "Starting Subsystem \"Targets\""
 msgstr "Starting Subsystem \"Targets\""
 
-#: src/synfig/main.cpp:200
+#: src/synfig/main.cpp:223
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr "Unable to initialise subsystem \"Targets\""
 
-#: src/synfig/main.cpp:203
+#: src/synfig/main.cpp:226
 msgid "Starting Subsystem \"Importers\""
 msgstr "Starting Subsystem \"Importers\""
 
-#: src/synfig/main.cpp:209
+#: src/synfig/main.cpp:232
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr "Unable to initialise subsystem \"Importers\""
 
-#: src/synfig/main.cpp:212
+#: src/synfig/main.cpp:235
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:219
+#: src/synfig/main.cpp:242
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:222
+#: src/synfig/main.cpp:245
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr "Starting Subsystem \"ValueNodes\""
 
-#: src/synfig/main.cpp:230
+#: src/synfig/main.cpp:253
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr "Unable to initialise subsystem \"ValueNodes\""
 
-#: src/synfig/main.cpp:267 src/synfig/main.cpp:268
+#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
 #, c-format
 msgid "Loading modules from %s"
 msgstr "Loading modules from %s"
 
-#: src/synfig/main.cpp:279
+#: src/synfig/main.cpp:302
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr "Unable to open module list file '%s'"
 
-#: src/synfig/main.cpp:293 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
 msgid "DONE"
 msgstr "DONE"
 
-#: src/synfig/main.cpp:360 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
 msgid "error"
 msgstr "error"
 
-#: src/synfig/main.cpp:375 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
 msgid "warning"
 msgstr "warning"
 
-#: src/synfig/main.cpp:390
+#: src/synfig/main.cpp:413
 msgid "info"
 msgstr "info"
 
@@ -2764,145 +2798,145 @@ msgstr "%s does not appear to be a valid %s palette file"
 msgid "%s does not appear to be a supported palette file"
 msgstr "%s does not appear to be a supported palette file"
 
-#: src/synfig/paramdesc.cpp:64 src/synfig/valuenode.cpp:140
-#: src/synfig/valuenode_composite.cpp:437
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
+#: src/synfig/valuenode_composite.cpp:447
 msgid "Composite"
 msgstr "Composite"
 
-#: src/synfig/paramdesc.cpp:65
+#: src/synfig/paramdesc.cpp:69
 msgid "Straight"
 msgstr "Straight"
 
-#: src/synfig/paramdesc.cpp:66
+#: src/synfig/paramdesc.cpp:70
 msgid "Onto"
 msgstr "Onto"
 
-#: src/synfig/paramdesc.cpp:67
+#: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
 msgstr "Straight Onto"
 
-#: src/synfig/paramdesc.cpp:68
+#: src/synfig/paramdesc.cpp:72
 msgid "Behind"
 msgstr "Behind"
 
-#: src/synfig/paramdesc.cpp:69
+#: src/synfig/paramdesc.cpp:73
 msgid "Screen"
 msgstr "Screen"
 
-#: src/synfig/paramdesc.cpp:70
+#: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
 msgstr "Overlay"
 
-#: src/synfig/paramdesc.cpp:71
+#: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
 msgstr "Hard Light"
 
-#: src/synfig/paramdesc.cpp:72
+#: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
 msgstr "Multiply"
 
-#: src/synfig/paramdesc.cpp:73
+#: src/synfig/paramdesc.cpp:77
 msgid "Divide"
 msgstr "Divide"
 
-#: src/synfig/paramdesc.cpp:74 src/synfig/valuenode.cpp:157
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
 #: src/synfig/valuenode_add.cpp:190
 msgid "Add"
 msgstr "Add"
 
-#: src/synfig/paramdesc.cpp:75 src/synfig/valuenode.cpp:147
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
 #: src/synfig/valuenode_subtract.cpp:194
 msgid "Subtract"
 msgstr "Subtract"
 
-#: src/synfig/paramdesc.cpp:76
+#: src/synfig/paramdesc.cpp:80
 msgid "Difference"
 msgstr "Difference"
 
-#: src/synfig/paramdesc.cpp:77
+#: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
 msgstr "Brighten"
 
-#: src/synfig/paramdesc.cpp:78
+#: src/synfig/paramdesc.cpp:82
 msgid "Darken"
 msgstr "Darken"
 
-#: src/synfig/paramdesc.cpp:80 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
 msgid "Hue"
 msgstr "Hue"
 
-#: src/synfig/paramdesc.cpp:81 src/synfig/valuenode_radialcomposite.cpp:260
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
 #: src/synfig/valuenode_radialcomposite.cpp:266
 msgid "Saturation"
 msgstr "Saturation"
 
-#: src/synfig/paramdesc.cpp:82
+#: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
 msgstr "Luminance"
 
-#: src/synfig/paramdesc.cpp:83
+#: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
 msgstr "Alpha Over"
 
-#: src/synfig/paramdesc.cpp:84
+#: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
 msgstr "Alpha Brighten"
 
-#: src/synfig/paramdesc.cpp:85
+#: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
 msgstr "Alpha Darken"
 
-#: src/synfig/render.cpp:246 src/synfig/render.cpp:247
-#: src/synfig/render.cpp:301 src/synfig/render.cpp:302
-#: src/synfig/render.cpp:536 src/synfig/render.cpp:537
-#: src/synfig/render.cpp:563 src/synfig/render.cpp:564
+#: src/synfig/render.cpp:248 src/synfig/render.cpp:249
+#: src/synfig/render.cpp:303 src/synfig/render.cpp:304
+#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
+#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
 msgid "Target panic"
 msgstr "Target panic"
 
-#: src/synfig/savecanvas.cpp:290
+#: src/synfig/savecanvas.cpp:359
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr "Unknown value(%s), cannot create XML representation!"
 
-#: src/synfig/savecanvas.cpp:543
+#: src/synfig/savecanvas.cpp:674 src/synfig/savecanvas.cpp:699
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr "Unknown ValueNode Type (%s), cannot create an XML representation"
 
-#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:185
+#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
 #: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:281
 msgid "Target initialization failure"
 msgstr "Target initialisation failure"
 
-#: src/synfig/target_cairo.cpp:146
+#: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:155 src/synfig/target_scanline.cpp:258
-#: src/synfig/target_scanline.cpp:405
+#: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:260
+#: src/synfig/target_scanline.cpp:407
 msgid "Unable to put surface on target"
 msgstr "Unable to put surface on target"
 
-#: src/synfig/target_cairo.cpp:162
+#: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:169 src/synfig/target_cairo_tile.cpp:248
-#: src/synfig/target_scanline.cpp:418 src/synfig/target_tile.cpp:396
+#: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
+#: src/synfig/target_scanline.cpp:420 src/synfig/target_tile.cpp:398
 msgid "Caught string :"
 msgstr "Caught string :"
 
-#: src/synfig/target_cairo.cpp:174 src/synfig/target_cairo_tile.cpp:253
-#: src/synfig/target_scanline.cpp:423 src/synfig/target_tile.cpp:401
+#: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
+#: src/synfig/target_scanline.cpp:425 src/synfig/target_tile.cpp:403
 msgid "Ran out of memory (Probably a bug)"
 msgstr "Ran out of memory (Probably a bug)"
 
-#: src/synfig/target_cairo.cpp:179 src/synfig/target_cairo_tile.cpp:258
-#: src/synfig/target_scanline.cpp:428 src/synfig/target_tile.cpp:406
+#: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
+#: src/synfig/target_scanline.cpp:430 src/synfig/target_tile.cpp:408
 msgid "Caught unknown error, rethrowing..."
 msgstr "Caught unknown error, rethrowing..."
 
-#: src/synfig/target_cairo.cpp:190
+#: src/synfig/target_cairo.cpp:201
 msgid "Cairo Surface bad status"
 msgstr ""
 
@@ -2910,24 +2944,24 @@ msgstr ""
 msgid "Bad Tile Size"
 msgstr "Bad Tile Size"
 
-#: src/synfig/target_cairo_tile.cpp:142 src/synfig/target_cairo_tile.cpp:240
-#: src/synfig/target_scanline.cpp:203 src/synfig/target_scanline.cpp:249
-#: src/synfig/target_scanline.cpp:348 src/synfig/target_scanline.cpp:396
+#: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
+#: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:251
+#: src/synfig/target_scanline.cpp:350 src/synfig/target_scanline.cpp:398
 #: src/synfig/target_tile.cpp:225
 msgid "Accelerated Renderer Failure"
 msgstr "Accelerated Renderer Failure"
 
-#: src/synfig/target_cairo_tile.cpp:150
+#: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:156 src/synfig/target_tile.cpp:179
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:179
 #: src/synfig/target_tile.cpp:245
 msgid "add_tile():Unable to put surface on target"
 msgstr "add_tile():Unable to put surface on target"
 
-#: src/synfig/target_cairo_tile.cpp:211
+#: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
 msgstr ""
 
@@ -2953,277 +2987,317 @@ msgstr ""
 "SECONDS"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:276 src/synfig/value.cpp:308 src/synfig/value.cpp:360
+#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
 msgid "bool"
 msgstr "bool"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:277 src/synfig/value.cpp:310 src/synfig/value.cpp:358
+#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
 msgid "integer"
 msgstr "integer"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:278 src/synfig/value.cpp:312
+#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
 msgid "angle"
 msgstr "angle"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:279 src/synfig/value.cpp:314 src/synfig/value.cpp:352
+#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
 msgid "time"
 msgstr "time"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:280 src/synfig/value.cpp:316 src/synfig/value.cpp:355
+#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
 msgid "real"
 msgstr "real"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:281 src/synfig/value.cpp:318
+#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
 msgid "vector"
 msgstr "vector"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:282 src/synfig/value.cpp:320
+#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
 msgid "color"
 msgstr "colour"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:283 src/synfig/value.cpp:322
+#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
 msgid "segment"
 msgstr "segment"
 
-#: src/synfig/value.cpp:284
+#: src/synfig/value.cpp:378
 msgid "bline_point"
 msgstr "bline_point"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:285 src/synfig/value.cpp:326
+#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
+msgid "matrix"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
+msgid "bone_weight_pair"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
 msgid "width_point"
 msgstr "width_point"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:286 src/synfig/value.cpp:328
+#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
 msgid "dash_item"
 msgstr "dash_item"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:287 src/synfig/value.cpp:330
+#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
 msgid "list"
 msgstr "list"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:288 src/synfig/value.cpp:332
+#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
 msgid "canvas"
 msgstr "canvas"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:289 src/synfig/value.cpp:334
+#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
 msgid "string"
 msgstr "string"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:290 src/synfig/value.cpp:336
+#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
 msgid "gradient"
 msgstr "gradient"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:291 src/synfig/value.cpp:338
+#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
+msgid "bone_object"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
+msgid "bone_valuenode"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
 msgid "nil"
 msgstr "nil"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:324
+#: src/synfig/value.cpp:422
 msgid "spline_point"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:141 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
 msgid "Radial Composite"
 msgstr "Radial Composite"
 
-#: src/synfig/valuenode.cpp:142 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr "Reference"
 
-#: src/synfig/valuenode.cpp:144 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr "Segment Tangent"
 
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr "Segment Vertex"
 
-#: src/synfig/valuenode.cpp:146 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr "Stripes"
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr "Two-Tone"
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_dynamiclist.cpp:755
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
 msgid "Dynamic List"
 msgstr "Dynamic List"
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr "Gradient Rotate"
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr "Sine"
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
 msgid "Timed Swap"
 msgstr "Timed Swap"
 
-#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr "Repeat Gradient"
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr "Exponential"
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
 msgid "Range"
 msgstr "Range"
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
 #: src/synfig/valuenode_switch.cpp:163
 msgid "Switch"
 msgstr "Switch"
 
-#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr "Cos"
 
-#: src/synfig/valuenode.cpp:164
+#: src/synfig/valuenode.cpp:170
 msgid "aTan2"
 msgstr "aTan2"
 
-#: src/synfig/valuenode.cpp:165
+#: src/synfig/valuenode.cpp:171
 msgid "Reverse Tangent"
 msgstr "Reverse Tangent"
 
-#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr "Reciprocal"
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
 msgid "Integer"
 msgstr "Integer"
 
-#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
 msgid "Vector Angle"
 msgstr "Vector Angle"
 
-#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
 msgid "Vector Length"
 msgstr "Vector Length"
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
 msgid "Vector X"
 msgstr "Vector X"
 
-#: src/synfig/valuenode.cpp:176 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
 msgid "Vector Y"
 msgstr "Vector Y"
 
-#: src/synfig/valuenode.cpp:177
+#: src/synfig/valuenode.cpp:183
 msgid "Gradient Color"
 msgstr "Gradient Colour"
 
-#: src/synfig/valuenode.cpp:178
+#: src/synfig/valuenode.cpp:184
 msgid "Dot Product"
 msgstr "Dot Product"
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
 msgid "Time String"
 msgstr "Time String"
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_real.cpp:161
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
 #: src/synfig/valuenode_realstring.cpp:175
 msgid "Real"
 msgstr "Real"
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
 msgid "Real String"
 msgstr "Real String"
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
 msgid "Joined List"
 msgstr "Joined List"
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:189
 msgid "Angle String"
 msgstr "Angle String"
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:190
 msgid "Int String"
 msgstr "Int String"
 
-#: src/synfig/valuenode.cpp:185
+#: src/synfig/valuenode.cpp:191
 msgid "Logarithm"
 msgstr "Logarithm"
 
-#: src/synfig/valuenode.cpp:187
+#: src/synfig/valuenode.cpp:192
 msgid "Greyed"
 msgstr "Greyed"
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr "Power"
 
-#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr "Compare"
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195
 msgid "Not"
 msgstr "Not"
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196
 msgid "And"
 msgstr "And"
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197
 msgid "Or"
 msgstr "Or"
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:199
+msgid "Bone Influence"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:200
+msgid "Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:201
+msgid "Root Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:202
+msgid "Static List"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:203
+msgid "Bone Weight Pair"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
 msgid "WPList"
 msgstr "WPList"
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:206
 msgid "DIList"
 msgstr "DIList"
 
-#: src/synfig/valuenode.cpp:233
+#: src/synfig/valuenode.cpp:241
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr "Bad type: ValueNode '%s' doesn't accept type '%s'"
 
-#: src/synfig/valuenode.cpp:513
+#: src/synfig/valuenode.cpp:540
 msgid "Placeholder"
 msgstr "Placeholder"
 
-#: src/synfig/valuenode.h:61
+#: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr "%s:%d wrong type for %s: need %s but got %s"
@@ -3290,32 +3364,32 @@ msgstr "Link2"
 msgid "Second operand of the AND operation"
 msgstr "Second operand of the conjunction"
 
-#: src/synfig/valuenode_animated.cpp:355 src/synfig/valuenode_animated.cpp:379
-#: src/synfig/valuenode_animated.cpp:703 src/synfig/valuenode_animated.cpp:721
-#: src/synfig/valuenode_animated.cpp:801 src/synfig/valuenode_animated.cpp:820
+#: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
+#: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
+#: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr "A waypoint already exists at this point in time"
 
-#: src/synfig/valuenode_animated.cpp:1134
+#: src/synfig/valuenode_animated.cpp:1173
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr "%s: You cannot use a %s in an animated ValueNode"
 
-#: src/synfig/valuenode_animated.cpp:1169
+#: src/synfig/valuenode_animated.cpp:1208
 msgid "Animated"
 msgstr "Animated"
 
-#: src/synfig/valuenode_bline.cpp:977 src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
 #: src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in list"
 msgstr "No entries in list"
 
-#: src/synfig/valuenode_bline.cpp:980 src/synfig/valuenode_dynamiclist.cpp:664
+#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
 #: src/synfig/valuenode_wplist.cpp:339
 msgid "No entries in ret_list"
 msgstr "No entries in ret_list"
 
-#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_bline.cpp:1023
+#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
 #, c-format
 msgid "Vertex %03d"
 msgstr "Vertex %03d"
@@ -3335,7 +3409,7 @@ msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:584
 #: src/synfig/valuenode_gradientrotate.cpp:169
 #: src/synfig/valuenode_linear.cpp:213
 msgid "Offset"
@@ -3389,190 +3463,186 @@ msgstr "Scale of the width"
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:219
+#: src/synfig/valuenode_composite.cpp:229
 msgid "Bad type for composite"
 msgstr "Bad type for composite"
 
-#: src/synfig/valuenode_composite.cpp:464
+#: src/synfig/valuenode_composite.cpp:474
 msgid "Red"
 msgstr "Red"
 
-#: src/synfig/valuenode_composite.cpp:465
+#: src/synfig/valuenode_composite.cpp:475
 msgid "The red component of the color"
 msgstr "The red component of the colour"
 
-#: src/synfig/valuenode_composite.cpp:468
+#: src/synfig/valuenode_composite.cpp:478
 msgid "Green"
 msgstr "Green"
 
-#: src/synfig/valuenode_composite.cpp:469
+#: src/synfig/valuenode_composite.cpp:479
 msgid "The green component of the color"
 msgstr "The green component of the colour"
 
-#: src/synfig/valuenode_composite.cpp:472
+#: src/synfig/valuenode_composite.cpp:482
 msgid "Blue"
 msgstr "Blue"
 
-#: src/synfig/valuenode_composite.cpp:473
+#: src/synfig/valuenode_composite.cpp:483
 msgid "The blue component of the color"
 msgstr "The blue component of the colour"
 
-#: src/synfig/valuenode_composite.cpp:476
+#: src/synfig/valuenode_composite.cpp:486
 msgid "Alpha"
 msgstr "Alpha"
 
-#: src/synfig/valuenode_composite.cpp:477
+#: src/synfig/valuenode_composite.cpp:487
 msgid "The alpha of the color"
 msgstr "The alpha of the colour"
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:492
 msgid "Vertex 1"
 msgstr "Vertex 1"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:493
 msgid "The first vertex of the segment"
 msgstr "The first vertex of the segment"
 
-#: src/synfig/valuenode_composite.cpp:486
-#: src/synfig/valuenode_composite.cpp:526
+#: src/synfig/valuenode_composite.cpp:496
+#: src/synfig/valuenode_composite.cpp:536
 msgid "Tangent 1"
 msgstr "Tangent 1"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:497
 msgid "The first tangent of the segment"
 msgstr "The first tangent of the segment"
 
-#: src/synfig/valuenode_composite.cpp:490
+#: src/synfig/valuenode_composite.cpp:500
 msgid "Vertex 2"
 msgstr "Vertex 2"
 
-#: src/synfig/valuenode_composite.cpp:491
+#: src/synfig/valuenode_composite.cpp:501
 msgid "The second vertex of the segment"
 msgstr "The second vertex of the segment"
 
-#: src/synfig/valuenode_composite.cpp:494
-#: src/synfig/valuenode_composite.cpp:530
+#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:540
 msgid "Tangent 2"
 msgstr "Tangent 2"
 
-#: src/synfig/valuenode_composite.cpp:495
+#: src/synfig/valuenode_composite.cpp:505
 msgid "The second tangent of the segment"
 msgstr "The second tangent of the segment"
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:510
 msgid "X-Axis"
 msgstr "X-Axis"
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:511
 msgid "The X-Axis component of the vector"
 msgstr "The X-Axis component of the vector"
 
-#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:514
 msgid "Y-Axis"
 msgstr "Y-Axis"
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:515
 msgid "The Y-Axis component of the vector"
 msgstr "The Y-Axis component of the vector"
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:520
 msgid "Vertex"
 msgstr "Vertex"
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:521
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:525
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:519
+#: src/synfig/valuenode_composite.cpp:529
 msgid "Defines the Off and On position relative to neighbours"
 msgstr "Defines the Off and On positions relative to neighbours"
 
-#: src/synfig/valuenode_composite.cpp:522
+#: src/synfig/valuenode_composite.cpp:532
 msgid "Split"
 msgstr "Split"
 
-#: src/synfig/valuenode_composite.cpp:523
+#: src/synfig/valuenode_composite.cpp:533
 msgid "When checked, tangents are independent"
 msgstr "When checked, tangents are independent"
 
-#: src/synfig/valuenode_composite.cpp:527
+#: src/synfig/valuenode_composite.cpp:537
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:531
+#: src/synfig/valuenode_composite.cpp:541
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:547
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:551
 msgid "The width of the Width Point"
 msgstr "The width of the Width Point"
 
-#: src/synfig/valuenode_composite.cpp:544
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_composite.cpp:554
+#: src/synfig/valuenode_composite.cpp:594
 msgid "Side Type Before"
 msgstr "Side Type Before"
 
-#: src/synfig/valuenode_composite.cpp:545
 #: src/synfig/valuenode_composite.cpp:555
+#: src/synfig/valuenode_composite.cpp:565
 msgid "Defines the interpolation type of the width point"
 msgstr "Defines the interpolation type of the width point"
 
-#: src/synfig/valuenode_composite.cpp:547
 #: src/synfig/valuenode_composite.cpp:557
+#: src/synfig/valuenode_composite.cpp:567
 msgid "Interpolate"
 msgstr "Interpolate"
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:593
+#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:603
 msgid "Side Type After"
 msgstr "Side Type After"
 
-#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:574
 msgid "Lower Boundary"
 msgstr "Lower Boundary"
 
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:575
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:578
 msgid "Upper Boundary"
 msgstr "Upper Boundary"
 
-#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:579
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:585
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:589
 #: src/synfig/valuenode_timedswap.cpp:260
 msgid "Length"
 msgstr "Length"
 
-#: src/synfig/valuenode_composite.cpp:580
+#: src/synfig/valuenode_composite.cpp:590
 msgid "The length of the Dash Item"
 msgstr "The length of the Dash Item"
 
-#: src/synfig/valuenode_composite.cpp:585
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:595
+#: src/synfig/valuenode_composite.cpp:604
 msgid "Defines the side type of the dash item"
 msgstr "Defines the side type of the dash item"
 
-#: src/synfig/valuenode_const.cpp:127
-msgid "Static"
-msgstr "Static"
-
 #: src/synfig/valuenode_compare.cpp:168
 msgid "The left side of the comparison"
 msgstr "The left hand side of the comparison"
@@ -3637,12 +3707,12 @@ msgstr "Final value of the index"
 msgid "Amount increment of the index"
 msgstr "Amount increment of the index"
 
-#: src/synfig/valuenode_dynamiclist.cpp:655
+#: src/synfig/valuenode_dynamiclist.cpp:661
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr "List type/item type mismatch, throwing away mismatch"
 
-#: src/synfig/valuenode_dynamiclist.cpp:703
-#: src/synfig/valuenode_dynamiclist.cpp:957
+#: src/synfig/valuenode_dynamiclist.cpp:709
+#: src/synfig/valuenode_dynamiclist.cpp:964
 #, c-format
 msgid "Item %03d"
 msgstr "Item %03d"
@@ -3970,8 +4040,8 @@ msgid "Intersection"
 msgstr "Intersection"
 
 #: src/synfig/valuenode_step.cpp:213
-msgid "Value that define whether the step is centerd on the value [0,1]"
-msgstr "Value that define whether the step is centred on the value [0,1]"
+msgid "Value that define whether the step is centered on the value [0,1]"
+msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
 msgid "Color 1"
@@ -4105,195 +4175,195 @@ msgstr "The vector the Y coordinate is extracted from"
 msgid "WidthPoint %03d"
 msgstr "WidthPoint %03d"
 
-#: src/tool/main.cpp:133
+#: src/tool/main.cpp:140
 msgid "FATAL: Synfig Version Mismatch"
 msgstr "FATAL: Synfig Version Mismatch"
 
-#: src/tool/main.cpp:169
+#: src/tool/main.cpp:176
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:171
+#: src/tool/main.cpp:178
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:172
+#: src/tool/main.cpp:179
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:173
+#: src/tool/main.cpp:180
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:174
+#: src/tool/main.cpp:181
 msgid "Set the diagonal size of image window (Span)"
 msgstr "Set the diagonal size of image window (Span)"
 
-#: src/tool/main.cpp:175
+#: src/tool/main.cpp:182
 msgid "Set antialias amount for parametric renderer."
 msgstr "Set antialias amount for parametric renderer."
 
-#: src/tool/main.cpp:176
+#: src/tool/main.cpp:183
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:184
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:178
+#: src/tool/main.cpp:185
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:186
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:187
 msgid "Specify output filename"
 msgstr "Specify output filename"
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:188
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:189
 msgid "Render the canvas with the given id instead of the root."
 msgstr "Render the canvas with the given id instead of the root."
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:190
 msgid "Set the frame rate"
 msgstr "Set the frame rate"
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:191
 msgid "Render a single frame at <seconds>"
 msgstr "Render a single frame at <seconds>"
 
-#: src/tool/main.cpp:185 src/tool/main.cpp:186
+#: src/tool/main.cpp:192 src/tool/main.cpp:193
 msgid "Set the starting time"
 msgstr "Set the starting time"
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:194
 msgid "Set the ending time"
 msgstr "Set the ending time"
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:195
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:196
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:197
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:193
+#: src/tool/main.cpp:200
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:202
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:203
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr "Quiet mode (No progress/time-remaining display)"
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:204
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:200
+#: src/tool/main.cpp:207
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:202
+#: src/tool/main.cpp:209
 msgid "Append layers in <filename> to composition"
 msgstr "Append layers in <filename> to composition"
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:210
 msgid "Print out specified details of the root canvas"
 msgstr "Print out specified details of the root canvas"
 
-#: src/tool/main.cpp:204 src/tool/main.cpp:230
+#: src/tool/main.cpp:211 src/tool/main.cpp:237
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:207
+#: src/tool/main.cpp:214
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:216
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:210
+#: src/tool/main.cpp:217
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:213
+#: src/tool/main.cpp:220
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:215
+#: src/tool/main.cpp:222
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:223
 msgid "Print out the list of available importers"
 msgstr "Print out the list of available importers"
 
-#: src/tool/main.cpp:217
+#: src/tool/main.cpp:224
 msgid "Print out misc build information"
 msgstr "Print out misc build information"
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:225
 msgid "Print out the list of available layers"
 msgstr "Print out the list of available layers"
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:226
 msgid "Print out layer's description, parameter info, etc."
 msgstr "Print out layer's description, parameter info, etc."
 
-#: src/tool/main.cpp:220
+#: src/tool/main.cpp:227
 msgid "Print out license information"
 msgstr "Print out license information"
 
-#: src/tool/main.cpp:221
+#: src/tool/main.cpp:228
 msgid "Print out the list of loaded modules"
 msgstr "Print out the list of loaded modules"
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:229
 msgid "Print out the list of available targets"
 msgstr "Print out the list of available targets"
 
-#: src/tool/main.cpp:223
+#: src/tool/main.cpp:230
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:231
 msgid "Print out the list of available ValueNodes"
 msgstr "Print out the list of available ValueNodes"
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:232
 msgid "Print out version information"
 msgstr "Print out version information"
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:241
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:236
+#: src/tool/main.cpp:243
 msgid "Test GUID generation"
 msgstr "Test GUID generation"
 
-#: src/tool/main.cpp:237
+#: src/tool/main.cpp:244
 msgid "Test signal implementation"
 msgstr "Test signal implementation"
 
@@ -4357,157 +4427,157 @@ msgstr ""
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:113
+#: src/tool/optionsprocessor.cpp:114
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:115
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:131
+#: src/tool/optionsprocessor.cpp:132
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:146
+#: src/tool/optionsprocessor.cpp:147
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:224
+#: src/tool/optionsprocessor.cpp:225
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:226
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:227
+#: src/tool/optionsprocessor.cpp:228
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:232
+#: src/tool/optionsprocessor.cpp:233
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:234
+#: src/tool/optionsprocessor.cpp:235
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:236
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:239
+#: src/tool/optionsprocessor.cpp:240
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:243
+#: src/tool/optionsprocessor.cpp:244
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:309
+#: src/tool/optionsprocessor.cpp:310
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:316
+#: src/tool/optionsprocessor.cpp:317
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:324
+#: src/tool/optionsprocessor.cpp:325
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:334
+#: src/tool/optionsprocessor.cpp:335
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:343
+#: src/tool/optionsprocessor.cpp:344
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:352
+#: src/tool/optionsprocessor.cpp:353
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:379
+#: src/tool/optionsprocessor.cpp:380
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:385
+#: src/tool/optionsprocessor.cpp:386
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:400
+#: src/tool/optionsprocessor.cpp:401
 #, c-format
 msgid "Resolution set to %dx%d"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:417
+#: src/tool/optionsprocessor.cpp:418
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:437
+#: src/tool/optionsprocessor.cpp:438
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:440
+#: src/tool/optionsprocessor.cpp:441
 #, c-format
 msgid "Target video codec set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:446
+#: src/tool/optionsprocessor.cpp:447
 #, c-format
 msgid "Target bitrate set to %dk"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:452
+#: src/tool/optionsprocessor.cpp:453
 #, c-format
 msgid "Output file sequence separator set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:487
+#: src/tool/optionsprocessor.cpp:488
 #, c-format
 msgid "Unable to load '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:494
+#: src/tool/optionsprocessor.cpp:495
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:499
+#: src/tool/optionsprocessor.cpp:500
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:513
+#: src/tool/optionsprocessor.cpp:514
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:532
+#: src/tool/optionsprocessor.cpp:533
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:539
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:557
+#: src/tool/optionsprocessor.cpp:558
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:571
+#: src/tool/optionsprocessor.cpp:572
 msgid "Appended contents of "
 msgstr ""
 
diff --git a/po/es.gmo b/po/es.gmo
index 7c65699..d23b8da 100644
Binary files a/po/es.gmo and b/po/es.gmo differ
diff --git a/po/es.po b/po/es.po
index acbcda1..5885600 100644
--- a/po/es.po
+++ b/po/es.po
@@ -1,13 +1,11 @@
-# translation of es.po to Español
-# Spanish translations for Synfig Core package
-# Traducciones al español para el paquete Synfig Core.
-# Copyright (C) 2012 Synfig Contributors
-# This file is distributed under the same license as the Synfig package.
+# Translation file for Synfig Core package.
+# Copyright (C) 2013 Synfig Contributors
+# This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
 # genete <genetita at gmail.com>, 2007, 2008, 2009, 2010, 2011, 2012
 # carlos_tutor <carlos_tutor at hotmail.com>, 2011
-# genete <genetita at gmail.com>, 2011
+# genete <genetita at gmail.com>, 2007-2013
 # genete <genetita at gmail.com>, 2013
 # genete <genetita at gmail.com>, 2011, 2012
 # morevnaproject <ksee.zelgadis at gmail.com>, 2011
@@ -15,89 +13,90 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2013-05-09 18:34+0200\n"
-"PO-Revision-Date: 2013-05-03 11:06+0000\n"
-"Last-Translator: genete <genetita at gmail.com>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
+"POT-Creation-Date: 2013-10-25 17:57+0700\n"
+"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
+"Language-Team: Spanish (http://www.transifex.com/projects/p/synfig/language/"
+"es/)\n"
 "Language: es\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:58
+#: src/modules/mod_example/filledrect.cpp:59
 msgid "Filled Rectangle"
 msgstr "Rectángulo Relleno"
 
-#: src/modules/mod_example/filledrect.cpp:59
+#: src/modules/mod_example/filledrect.cpp:60
 #: src/modules/mod_example/metaballs.cpp:58
 #: src/modules/mod_example/simplecircle.cpp:58
 msgid "Example"
 msgstr "Ejemplo"
 
-#: src/modules/mod_example/filledrect.cpp:120
+#: src/modules/mod_example/filledrect.cpp:131
 #: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:523
-#: src/modules/lyr_std/shade.cpp:564
-#: src/modules/mod_geometry/checkerboard.cpp:122
-#: src/modules/mod_geometry/circle.cpp:128
-#: src/modules/mod_geometry/rectangle.cpp:125 src/synfig/layer_shape.cpp:1193
-#: src/synfig/layer_solidcolor.cpp:102 src/synfig/paramdesc.cpp:79
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:620
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
 msgid "Color"
 msgstr "Color"
 
-#: src/modules/mod_example/filledrect.cpp:121
+#: src/modules/mod_example/filledrect.cpp:132
 #: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:129
-#: src/modules/mod_geometry/rectangle.cpp:126
-#: src/synfig/layer_solidcolor.cpp:103
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
 msgid "Fill color of the layer"
 msgstr "Color de relleno de la capa"
 
-#: src/modules/mod_example/filledrect.cpp:125
-#: src/modules/mod_geometry/rectangle.cpp:130
-#: src/modules/mod_gradient/lineargradient.cpp:190
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:185
 msgid "Point 1"
 msgstr "Punto 1"
 
-#: src/modules/mod_example/filledrect.cpp:126
-#: src/modules/mod_geometry/rectangle.cpp:132
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
 msgid "First corner of the rectangle"
 msgstr "Primera esquina del rectángulo"
 
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_geometry/rectangle.cpp:136
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:190
 msgid "Point 2"
 msgstr "Punto 2"
 
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_geometry/rectangle.cpp:137
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
 msgid "Second corner of the rectangle"
 msgstr "Segunda esquina del rectángulo"
 
-#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_example/filledrect.cpp:147
 msgid "Feather X"
 msgstr "Desvanecimiento X"
 
-#: src/modules/mod_example/filledrect.cpp:140
+#: src/modules/mod_example/filledrect.cpp:152
 msgid "Feather Y"
 msgstr "Desvanecimiento Y"
 
-#: src/modules/mod_example/filledrect.cpp:144 src/modules/lyr_std/bevel.cpp:68
-#: src/modules/mod_geometry/advanced_outline.cpp:1161
+#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
 msgid "Bevel"
 msgstr "Bisel"
 
-#: src/modules/mod_example/filledrect.cpp:145
+#: src/modules/mod_example/filledrect.cpp:158
 msgid "Use Bevel for the corners"
 msgstr "Usar bisel para las esquinas"
 
-#: src/modules/mod_example/filledrect.cpp:149
+#: src/modules/mod_example/filledrect.cpp:163
 msgid "Keep Bevel Circular"
 msgstr "Mantener bisel circular"
 
-#: src/modules/mod_example/filledrect.cpp:150
+#: src/modules/mod_example/filledrect.cpp:164
 msgid "When checked the bevel is circular"
 msgstr "Cuando está marcado el bisel es circular"
 
@@ -105,39 +104,39 @@ msgstr "Cuando está marcado el bisel es circular"
 msgid "Metaballs"
 msgstr "Metaballs"
 
-#: src/modules/mod_example/metaballs.cpp:135
+#: src/modules/mod_example/metaballs.cpp:129
 #: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:552
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:194
 #: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:112
-#: src/modules/mod_noise/noise.cpp:259 src/modules/mod_particle/plant.cpp:403
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
 #: src/synfig/valuenode_gradientrotate.cpp:164
 #: src/synfig/valuenode_repeat_gradient.cpp:203
 msgid "Gradient"
 msgstr "Gradiente"
 
-#: src/modules/mod_example/metaballs.cpp:139
+#: src/modules/mod_example/metaballs.cpp:133
 msgid "Balls"
 msgstr "Bolas"
 
-#: src/modules/mod_example/metaballs.cpp:143
+#: src/modules/mod_example/metaballs.cpp:137
 msgid "Radii"
 msgstr "Radios"
 
-#: src/modules/mod_example/metaballs.cpp:147
+#: src/modules/mod_example/metaballs.cpp:141
 msgid "Weights"
 msgstr "Pesos"
 
-#: src/modules/mod_example/metaballs.cpp:151
+#: src/modules/mod_example/metaballs.cpp:145
 msgid "Gradient Left"
 msgstr "Gradiente Izquierda"
 
-#: src/modules/mod_example/metaballs.cpp:155
+#: src/modules/mod_example/metaballs.cpp:149
 msgid "Gradient Right"
 msgstr "Gradiente Derecha"
 
-#: src/modules/mod_example/metaballs.cpp:159
+#: src/modules/mod_example/metaballs.cpp:153
 msgid "Positive Only"
 msgstr "Sólo Positivo"
 
@@ -149,21 +148,21 @@ msgstr "Círculo Simple"
 #: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
 #: src/modules/mod_gradient/conicalgradient.cpp:114
 #: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:117
+#: src/modules/mod_gradient/spiralgradient.cpp:118
 msgid "Center"
 msgstr "Centro"
 
 #: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:144
+#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
 msgid "Center of the circle"
 msgstr "Centro del círculo"
 
 #: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:151
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:132
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
 #: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:122
-#: src/modules/mod_noise/valuenode_random.cpp:269
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/valuenode_radialcomposite.cpp:272
 msgid "Radius"
 msgstr "Radio"
@@ -171,20 +170,20 @@ msgstr "Radio"
 #: src/modules/mod_example/simplecircle.cpp:118
 #: src/modules/lyr_std/twirl.cpp:118
 #: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:124
 msgid "This is the radius of the circle"
 msgstr "Este es el radio del círculo"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
-#: src/modules/lyr_freetype/lyr_freetype.cpp:517
+#: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Texto"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
 #: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
-#: src/modules/lyr_std/supersample.cpp:57 src/modules/lyr_std/timeloop.cpp:60
-#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:70
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:79
+#: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
+#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
 msgid "Other"
 msgstr "Otro"
 
@@ -192,247 +191,247 @@ msgstr "Otro"
 msgid "Text Layer"
 msgstr "Capa de texto"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:390
+#: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
 msgstr "imposible inicializar"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:409
+#: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
 msgstr "juego de fuentes vacío"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:518
+#: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
 msgstr "Texto para Renderizar"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:524
+#: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "Color del texto"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:528
+#: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
 msgstr "Familia de la Fuente"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:533
+#: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
 msgstr "Estilo"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:535
-#: src/modules/lyr_freetype/lyr_freetype.cpp:545
+#: src/modules/lyr_freetype/lyr_freetype.cpp:587
+#: src/modules/lyr_freetype/lyr_freetype.cpp:597
 msgid "Normal"
 msgstr "Normal"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:536
+#: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
 msgstr "Oblicua"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:537
+#: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
 msgstr "Cursiva"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:541
+#: src/modules/lyr_freetype/lyr_freetype.cpp:593
 msgid "Weight"
 msgstr "Peso"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:543
+#: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
 msgstr "Ultraligera"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:544
+#: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
 msgstr "Ligera"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:546
+#: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
 msgstr "Negrita"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:547
+#: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
 msgstr "Ultra negrita"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:548
+#: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
 msgstr "Pesada"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:551
+#: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
 msgstr "Espaciado Horizontal"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:552
+#: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
 msgstr "Describe cuánto de juntos están los glifos horizontalmente"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:556
+#: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
 msgstr "Espaciado Vertical"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:557
+#: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
 msgstr "Describe cuánto de juntos están los glifos verticalmente"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:561
-#: src/modules/lyr_std/shade.cpp:570 src/modules/lyr_std/xorpattern.cpp:129
-#: src/modules/mod_filter/blur.cpp:372
+#: src/modules/lyr_freetype/lyr_freetype.cpp:613
+#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:413
 #: src/modules/mod_filter/radialblur.cpp:115
-#: src/modules/mod_geometry/checkerboard.cpp:130
-#: src/modules/mod_noise/distort.cpp:222 src/modules/mod_noise/noise.cpp:267
+#: src/modules/mod_geometry/checkerboard.cpp:154
+#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
 msgstr "Tamaño"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:562
+#: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
 msgstr "Tamaño del texto"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:569
+#: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
 msgstr "Orientación"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:570
+#: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
 msgstr "Orientación del texto"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/insideout.cpp:143 src/modules/lyr_std/rotate.cpp:116
-#: src/modules/lyr_std/shade.cpp:567 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:389
-#: src/modules/lyr_std/xorpattern.cpp:125 src/modules/lyr_std/zoom.cpp:104
+#: src/modules/lyr_freetype/lyr_freetype.cpp:627
+#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
+#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
+#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
-#: src/modules/mod_geometry/checkerboard.cpp:126
-#: src/modules/mod_geometry/circle.cpp:143
-#: src/modules/mod_gradient/curvegradient.cpp:537
-#: src/modules/mod_particle/plant.cpp:398 src/synfig/layer_pastecanvas.cpp:133
-#: src/synfig/layer_shape.cpp:1197 src/synfig/valuenode_composite.cpp:518
+#: src/modules/mod_geometry/checkerboard.cpp:150
+#: src/modules/mod_geometry/circle.cpp:161
+#: src/modules/mod_gradient/curvegradient.cpp:550
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
+#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
 msgid "Origin"
 msgstr "Origen"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:576
+#: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
 msgstr "Posición del texto"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:580
+#: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
 msgstr "Fuente"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:581
+#: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
 msgstr "Nombre del archivo de la fuente a usar"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:588
+#: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
 msgstr "Solape de fuente"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:589
+#: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
 msgstr "Habilita/Deshabilita el solape de la fuente (si la fuente lo soporta)"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
 msgstr "Bordes afilados"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:594
+#: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
 msgstr "Desmarque esto si va a animar el texto"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:597
-#: src/modules/lyr_std/shade.cpp:587 src/modules/mod_geometry/circle.cpp:147
-#: src/synfig/layer_shape.cpp:1200
+#: src/modules/lyr_freetype/lyr_freetype.cpp:649
+#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1228
 msgid "Invert"
 msgstr "Invertir"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:654
+#: src/modules/lyr_freetype/lyr_freetype.cpp:714
 msgid "No face loaded, no text will be rendered."
 msgstr "Ninguna fuente cargada, no se mostrará ningún texto"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:680
+#: src/modules/lyr_freetype/lyr_freetype.cpp:740
 msgid "Text too small, no text will be rendered."
 msgstr "Texto demasiado pequeño, no se mostrará ningún texto"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:704
+#: src/modules/lyr_freetype/lyr_freetype.cpp:764
 msgid "Unable to set face size."
 msgstr "Imposible establecer el tamaño de fuente."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:747
+#: src/modules/lyr_freetype/lyr_freetype.cpp:807
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr "Secuencia multibyte inválida - se ha establecido el lenguaje local?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:754
+#: src/modules/lyr_freetype/lyr_freetype.cpp:814
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 "No puedo traducir carácter multibyte.\n"
 "\n"
 
-#: src/modules/lyr_std/bevel.cpp:69 src/modules/lyr_std/shade.cpp:68
+#: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "Estilizar"
 
-#: src/modules/lyr_std/bevel.cpp:570 src/modules/lyr_std/shade.cpp:576
-#: src/modules/mod_filter/blur.cpp:376
-#: src/modules/mod_filter/halftone2.cpp:170
+#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
+#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Tipo"
 
-#: src/modules/lyr_std/bevel.cpp:571 src/modules/lyr_std/shade.cpp:577
-#: src/modules/mod_filter/blur.cpp:377
+#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
+#: src/modules/mod_filter/blur.cpp:418
 msgid "Type of blur to use"
 msgstr "Tipo de desenfoque a usar"
 
-#: src/modules/lyr_std/bevel.cpp:573 src/modules/lyr_std/shade.cpp:579
-#: src/modules/mod_filter/blur.cpp:379 src/synfig/layer_shape.cpp:1213
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
 msgid "Box Blur"
 msgstr "Desenfoque \"Box\""
 
-#: src/modules/lyr_std/bevel.cpp:574 src/modules/lyr_std/shade.cpp:580
-#: src/modules/mod_filter/blur.cpp:380 src/synfig/layer_shape.cpp:1214
+#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
+#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
 msgid "Fast Gaussian Blur"
 msgstr "Desenfoque Gaussiano rápido"
 
-#: src/modules/lyr_std/bevel.cpp:575 src/modules/lyr_std/shade.cpp:581
-#: src/modules/mod_filter/blur.cpp:381 src/synfig/layer_shape.cpp:1215
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
 msgid "Cross-Hatch Blur"
 msgstr "Desenfoque Mallado"
 
-#: src/modules/lyr_std/bevel.cpp:576 src/modules/lyr_std/shade.cpp:582
-#: src/modules/mod_filter/blur.cpp:382 src/synfig/layer_shape.cpp:1216
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
 msgid "Gaussian Blur"
 msgstr "Desenfoque Gaussiano"
 
-#: src/modules/lyr_std/bevel.cpp:577 src/modules/lyr_std/shade.cpp:583
-#: src/modules/mod_filter/blur.cpp:383 src/synfig/layer_shape.cpp:1217
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
 msgid "Disc Blur"
 msgstr "Desenfoque Disco"
 
-#: src/modules/lyr_std/bevel.cpp:581
+#: src/modules/lyr_std/bevel.cpp:635
 msgid "Hi-Color"
 msgstr "Color Claro"
 
-#: src/modules/lyr_std/bevel.cpp:584
+#: src/modules/lyr_std/bevel.cpp:638
 msgid "Lo-Color"
 msgstr "Color Oscuro"
 
-#: src/modules/lyr_std/bevel.cpp:587
+#: src/modules/lyr_std/bevel.cpp:641
 msgid "Light Angle"
 msgstr "Angulo de la Luz"
 
-#: src/modules/lyr_std/bevel.cpp:591
+#: src/modules/lyr_std/bevel.cpp:645
 msgid "Depth of Bevel"
 msgstr "Profundidad del Bisel"
 
-#: src/modules/lyr_std/bevel.cpp:595
+#: src/modules/lyr_std/bevel.cpp:649
 msgid "Softness"
 msgstr "Suavidad"
 
-#: src/modules/lyr_std/bevel.cpp:598
+#: src/modules/lyr_std/bevel.cpp:652
 msgid "Use Luma"
 msgstr "Usar \"Luma\""
 
-#: src/modules/lyr_std/bevel.cpp:601
+#: src/modules/lyr_std/bevel.cpp:655
 msgid "Solid"
 msgstr "Sólido"
 
-#: src/modules/lyr_std/booleancurve.cpp:104
+#: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
 msgstr "Conjunto Región"
 
-#: src/modules/lyr_std/booleancurve.cpp:105
+#: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
 msgstr "Conjunto de Regiones a combinar"
 
@@ -440,38 +439,38 @@ msgstr "Conjunto de Regiones a combinar"
 msgid "Clamp"
 msgstr "Recortar"
 
-#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:56
-#: src/modules/mod_filter/halftone2.cpp:59
-#: src/modules/mod_filter/halftone3.cpp:59
-#: src/modules/mod_filter/lumakey.cpp:59
+#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:57
+#: src/modules/mod_filter/halftone2.cpp:60
+#: src/modules/mod_filter/halftone3.cpp:60
+#: src/modules/mod_filter/lumakey.cpp:60
 msgid "Filters"
 msgstr "Filtros"
 
-#: src/modules/lyr_std/clamp.cpp:158
+#: src/modules/lyr_std/clamp.cpp:162
 msgid "Invert Negative"
 msgstr "Invertir Negativo"
 
-#: src/modules/lyr_std/clamp.cpp:162
+#: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
 msgstr "Recortar Superior"
 
-#: src/modules/lyr_std/clamp.cpp:163
+#: src/modules/lyr_std/clamp.cpp:167
 msgid "When checked the Ceiling value is used"
 msgstr "Cuando está marcado, el valor superior es usado"
 
-#: src/modules/lyr_std/clamp.cpp:167
+#: src/modules/lyr_std/clamp.cpp:171
 msgid "Ceiling"
 msgstr "Superior"
 
-#: src/modules/lyr_std/clamp.cpp:168
+#: src/modules/lyr_std/clamp.cpp:172
 msgid "Upper boundary of the clamping"
 msgstr "Límite superior del recorte"
 
-#: src/modules/lyr_std/clamp.cpp:172
+#: src/modules/lyr_std/clamp.cpp:176
 msgid "Floor"
 msgstr "Inferior"
 
-#: src/modules/lyr_std/clamp.cpp:173
+#: src/modules/lyr_std/clamp.cpp:177
 msgid "Lower boundary of the clamping"
 msgstr "Límite inferior del recorte"
 
@@ -479,24 +478,24 @@ msgstr "Límite inferior del recorte"
 msgid "Import Image"
 msgstr "Importar Imagen"
 
-#: src/modules/lyr_std/import.cpp:151 src/modules/lyr_std/import.cpp:201
+#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr "Parece que el archivo ya ha sido llamado \"%s\" (%s)"
 
-#: src/modules/lyr_std/import.cpp:283
+#: src/modules/lyr_std/import.cpp:293
 msgid "Filename"
 msgstr "Nombre del Archivo"
 
-#: src/modules/lyr_std/import.cpp:284
+#: src/modules/lyr_std/import.cpp:294
 msgid "File to import"
 msgstr "Archivo a importar"
 
-#: src/modules/lyr_std/import.cpp:288 src/synfig/layer_pastecanvas.cpp:146
+#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
 msgid "Time Offset"
 msgstr "Desfase de Tiempo"
 
-#: src/modules/lyr_std/import.cpp:289
+#: src/modules/lyr_std/import.cpp:299
 msgid "Time Offset to apply to the imported file"
 msgstr "Desfase de tiempo para el archivo importado"
 
@@ -505,14 +504,14 @@ msgid "Inside Out"
 msgstr "Al revés"
 
 #: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:75
 #: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:57 src/modules/lyr_std/curvewarp.cpp:56
-#: src/modules/mod_noise/distort.cpp:58
+#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
+#: src/modules/mod_noise/distort.cpp:59
 msgid "Distortions"
 msgstr "Distorsiones"
 
-#: src/modules/lyr_std/insideout.cpp:144
+#: src/modules/lyr_std/insideout.cpp:163
 msgid "Defines the where the center will be"
 msgstr "Define donde estará el centro"
 
@@ -524,97 +523,97 @@ msgstr "Conjunto de Julia"
 msgid "Fractals"
 msgstr "Fractales"
 
-#: src/modules/lyr_std/julia.cpp:309
+#: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
 msgstr "Color Interior"
 
-#: src/modules/lyr_std/julia.cpp:310
+#: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
 msgstr "Color del Conjunto"
 
-#: src/modules/lyr_std/julia.cpp:313
+#: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
 msgstr "Color Exterior"
 
-#: src/modules/lyr_std/julia.cpp:314
+#: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
 msgstr "Color fuera del Conjunto"
 
-#: src/modules/lyr_std/julia.cpp:317
+#: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
 msgstr "Desplazamiento de Color"
 
-#: src/modules/lyr_std/julia.cpp:320 src/modules/lyr_std/mandelbrot.cpp:223
+#: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
 msgstr "Iteraciones"
 
-#: src/modules/lyr_std/julia.cpp:323
+#: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
 msgstr "Punto de Semilla"
 
-#: src/modules/lyr_std/julia.cpp:326 src/modules/lyr_std/mandelbrot.cpp:226
+#: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
 msgstr "Valor Base de Baliout"
 
-#: src/modules/lyr_std/julia.cpp:330 src/modules/lyr_std/mandelbrot.cpp:236
+#: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
 msgstr "Distorsionar dentro"
 
-#: src/modules/lyr_std/julia.cpp:333 src/modules/lyr_std/mandelbrot.cpp:240
+#: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
 msgstr "Sombrear Interior"
 
-#: src/modules/lyr_std/julia.cpp:336 src/modules/lyr_std/mandelbrot.cpp:244
+#: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
 msgstr "Interior Sólido"
 
-#: src/modules/lyr_std/julia.cpp:339 src/modules/lyr_std/mandelbrot.cpp:248
+#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
 msgstr "Invertir Interior"
 
-#: src/modules/lyr_std/julia.cpp:342
+#: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
 msgstr "Colorear Interior"
 
-#: src/modules/lyr_std/julia.cpp:345 src/modules/lyr_std/mandelbrot.cpp:265
+#: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
 msgstr "Distorsionar Exterior"
 
-#: src/modules/lyr_std/julia.cpp:348 src/modules/lyr_std/mandelbrot.cpp:269
+#: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
 msgstr "Sombrear Exterior"
 
-#: src/modules/lyr_std/julia.cpp:351 src/modules/lyr_std/mandelbrot.cpp:273
+#: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
 msgstr "Exterior Sólido"
 
-#: src/modules/lyr_std/julia.cpp:354 src/modules/lyr_std/mandelbrot.cpp:277
+#: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
 msgstr "Invertir Exterior"
 
-#: src/modules/lyr_std/julia.cpp:357
+#: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
 msgstr "Colorear Exterior"
 
-#: src/modules/lyr_std/julia.cpp:361
+#: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
 msgstr "Ciclar Color"
 
-#: src/modules/lyr_std/julia.cpp:364 src/modules/lyr_std/mandelbrot.cpp:285
+#: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
 msgstr "Exterior Suave"
 
-#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:286
+#: src/modules/lyr_std/julia.cpp:391 src/modules/lyr_std/mandelbrot.cpp:282
 msgid "Smooth the coloration outside the set"
 msgstr "Suavizar el coloreado fuera del Conjunto"
 
-#: src/modules/lyr_std/julia.cpp:368 src/modules/lyr_std/mandelbrot.cpp:230
+#: src/modules/lyr_std/julia.cpp:394 src/modules/lyr_std/mandelbrot.cpp:226
 msgid "Break Set"
 msgstr "Romper el Conjunto"
 
-#: src/modules/lyr_std/julia.cpp:369 src/modules/lyr_std/mandelbrot.cpp:231
+#: src/modules/lyr_std/julia.cpp:395 src/modules/lyr_std/mandelbrot.cpp:227
 msgid "Modify equation to achieve interesting results"
 msgstr "Modificar la ecuación para obtener resultados interesantes"
 
@@ -622,48 +621,48 @@ msgstr "Modificar la ecuación para obtener resultados interesantes"
 msgid "Mandelbrot Set"
 msgstr "Conjunto de Mandelbrot"
 
+#: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
 #: src/modules/lyr_std/mandelbrot.cpp:241
 #: src/modules/lyr_std/mandelbrot.cpp:245
 #: src/modules/lyr_std/mandelbrot.cpp:249
 #: src/modules/lyr_std/mandelbrot.cpp:253
 #: src/modules/lyr_std/mandelbrot.cpp:257
-#: src/modules/lyr_std/mandelbrot.cpp:261
 msgid "Inside"
 msgstr "Interior"
 
-#: src/modules/lyr_std/mandelbrot.cpp:252
+#: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
 msgstr "Gradiente Interior"
 
-#: src/modules/lyr_std/mandelbrot.cpp:256
+#: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
 msgstr "Desplazamiento Interior"
 
-#: src/modules/lyr_std/mandelbrot.cpp:260
+#: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
 msgstr "Bucle Interior"
 
+#: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
 #: src/modules/lyr_std/mandelbrot.cpp:270
 #: src/modules/lyr_std/mandelbrot.cpp:274
 #: src/modules/lyr_std/mandelbrot.cpp:278
-#: src/modules/lyr_std/mandelbrot.cpp:282
+#: src/modules/lyr_std/mandelbrot.cpp:283
 #: src/modules/lyr_std/mandelbrot.cpp:287
 #: src/modules/lyr_std/mandelbrot.cpp:291
-#: src/modules/lyr_std/mandelbrot.cpp:295
 msgid "Outside"
 msgstr "Exterior"
 
-#: src/modules/lyr_std/mandelbrot.cpp:281
+#: src/modules/lyr_std/mandelbrot.cpp:277
 msgid "Gradient outside"
 msgstr "Gradiente Exterior"
 
-#: src/modules/lyr_std/mandelbrot.cpp:290
+#: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
 msgstr "Desplazamiento Exterior"
 
-#: src/modules/lyr_std/mandelbrot.cpp:294
+#: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
 msgstr "Escala Exterior"
 
@@ -676,16 +675,16 @@ msgstr "Rotar"
 msgid "Transform"
 msgstr "Transformar"
 
-#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/translate.cpp:101
+#: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:134
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr "Apunta donde usted quiera que esté el origen"
 
-#: src/modules/lyr_std/rotate.cpp:121
-#: src/modules/lyr_std/sphere_distort.cpp:158
+#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:217
+#: src/synfig/layer_composite.cpp:249
 #: src/synfig/valuenode_blinecalctangent.cpp:251
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
@@ -694,61 +693,61 @@ msgstr "Apunta donde usted quiera que esté el origen"
 msgid "Amount"
 msgstr "Cantidad"
 
-#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
 msgstr "Cantidad de Rotación"
 
-#: src/modules/lyr_std/shade.cpp:67
+#: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
 msgstr "Sombra"
 
-#: src/modules/lyr_std/shade.cpp:571
+#: src/modules/lyr_std/shade.cpp:627
 msgid "Size of Shade"
 msgstr "Tamaño de Sombra"
 
-#: src/modules/lyr_std/sphere_distort.cpp:73
-#: src/modules/lyr_std/sphere_distort.cpp:172
+#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:167
 msgid "Spherize"
 msgstr "Esferizar"
 
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/synfig/valuenode_composite.cpp:536
+#: src/modules/lyr_std/sphere_distort.cpp:141
+#: src/synfig/valuenode_composite.cpp:546
 msgid "Position"
 msgstr "Posición"
 
-#: src/modules/lyr_std/sphere_distort.cpp:147
+#: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
 msgstr "Donde se centra la distorsión esférica"
 
-#: src/modules/lyr_std/sphere_distort.cpp:154
+#: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr "El tamaño de la distorsión esférica"
 
-#: src/modules/lyr_std/sphere_distort.cpp:160
+#: src/modules/lyr_std/sphere_distort.cpp:155
 msgid "The distortion intensity (negative values inverts effect)"
 msgstr "La intensidad de la distorsión (valores negativos invierte efecto)"
 
-#: src/modules/lyr_std/sphere_distort.cpp:164 src/modules/lyr_std/warp.cpp:409
+#: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
 msgstr "Recortar"
 
-#: src/modules/lyr_std/sphere_distort.cpp:165
+#: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
 msgstr "Cuando se habilita, el área fuera del Radio no se distorsiona"
 
-#: src/modules/lyr_std/sphere_distort.cpp:169
+#: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
 msgstr "Tipo de distorsión"
 
-#: src/modules/lyr_std/sphere_distort.cpp:170
+#: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
 msgstr "Dirección de la distorsión"
 
-#: src/modules/lyr_std/sphere_distort.cpp:173
+#: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
 msgstr "Barra vertical"
 
-#: src/modules/lyr_std/sphere_distort.cpp:174
+#: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
 msgstr "Barra horizontal"
 
@@ -768,104 +767,104 @@ msgstr "Donde la distorsión se centra"
 msgid "Stroboscope"
 msgstr "Estroboscopio"
 
-#: src/modules/lyr_std/stroboscope.cpp:102
+#: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
 msgstr "Frecuencia"
 
-#: src/modules/lyr_std/stroboscope.cpp:103
+#: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
 msgstr "Frecuencia del estroboscopio en veces por segundo"
 
-#: src/modules/lyr_std/supersample.cpp:56
+#: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
 msgstr "Super Muestreo"
 
-#: src/modules/lyr_std/supersample.cpp:129
+#: src/modules/lyr_std/supersample.cpp:146
 msgid "Unable to create SurfaceTarget"
 msgstr "Imposible crear Superficie Objetivo"
 
-#: src/modules/lyr_std/supersample.cpp:290
-#: src/modules/lyr_std/curvewarp.cpp:393
-#: src/modules/mod_gradient/curvegradient.cpp:542
-#: src/synfig/valuenode_composite.cpp:514
-#: src/synfig/valuenode_composite.cpp:540
+#: src/modules/lyr_std/supersample.cpp:337
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_composite.cpp:524
+#: src/synfig/valuenode_composite.cpp:550
 #: src/synfig/valuenode_realstring.cpp:180
 #: src/synfig/valuenode_repeat_gradient.cpp:213
 #: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
 msgid "Width"
 msgstr "Espesor"
 
-#: src/modules/lyr_std/supersample.cpp:291
+#: src/modules/lyr_std/supersample.cpp:338
 msgid "Width of sample area (In pixels)"
 msgstr "Espesor del área de muestreo (en pixels)"
 
-#: src/modules/lyr_std/supersample.cpp:294 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
 msgid "Height"
 msgstr "Altura"
 
-#: src/modules/lyr_std/supersample.cpp:295
+#: src/modules/lyr_std/supersample.cpp:342
 msgid "Height of sample area (In pixels)"
 msgstr "Altura del área de muestreo (en pixels)"
 
-#: src/modules/lyr_std/supersample.cpp:298
+#: src/modules/lyr_std/supersample.cpp:345
 msgid "Use Parametric"
 msgstr "Usa Paramétrico"
 
-#: src/modules/lyr_std/supersample.cpp:299
+#: src/modules/lyr_std/supersample.cpp:346
 msgid "Use the Parametric Renderer"
 msgstr "Usa el Renderizado Paramétrico"
 
-#: src/modules/lyr_std/supersample.cpp:302
+#: src/modules/lyr_std/supersample.cpp:349
 msgid "Be Alpha Safe"
 msgstr "Estar a salvo de Transparencia"
 
-#: src/modules/lyr_std/supersample.cpp:303
+#: src/modules/lyr_std/supersample.cpp:350
 msgid "Avoid alpha artifacts when checked"
 msgstr "Evita artefactos alfa cuando está marcado"
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:166
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr "Bucle de Tiempo"
 
-#: src/modules/lyr_std/timeloop.cpp:124 src/synfig/valuenode_timeloop.cpp:179
+#: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
 msgstr "Tiempo del Enlace"
 
-#: src/modules/lyr_std/timeloop.cpp:125
+#: src/modules/lyr_std/timeloop.cpp:134
 msgid "Start time of the loop for the cycled context"
 msgstr "Tiempo de inicio del bucle para el contexto sobre el que se aplica"
 
-#: src/modules/lyr_std/timeloop.cpp:129 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr "Tiempo Local"
 
-#: src/modules/lyr_std/timeloop.cpp:130 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr "El momento en que el bucle se inicia"
 
-#: src/modules/lyr_std/timeloop.cpp:134 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr "Duración"
 
-#: src/modules/lyr_std/timeloop.cpp:135 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
 msgid "Lenght of the loop"
 msgstr "Longitud del bucle"
 
-#: src/modules/lyr_std/timeloop.cpp:139
+#: src/modules/lyr_std/timeloop.cpp:148
 msgid "Only For Positive Duration"
 msgstr "Solo para Duración positiva"
 
-#: src/modules/lyr_std/timeloop.cpp:140
+#: src/modules/lyr_std/timeloop.cpp:149
 msgid "When checked will loop only positive durations"
 msgstr "Cuando está marcado se repetirá sólo para duraciones positivas"
 
-#: src/modules/lyr_std/timeloop.cpp:144
+#: src/modules/lyr_std/timeloop.cpp:153
 msgid "Symmetrical"
 msgstr "Simétrico"
 
-#: src/modules/lyr_std/timeloop.cpp:145
+#: src/modules/lyr_std/timeloop.cpp:154
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr "Cuando está marcado, los bucles se reflejan centrados en Tiempo Local"
 
@@ -893,116 +892,116 @@ msgstr "Cuando está marcado, distorsiona el interior del círculo"
 msgid "When checked, distorts outside the circle"
 msgstr "Cuando está marcado, distorsiona fuera del círculo"
 
-#: src/modules/lyr_std/warp.cpp:56
+#: src/modules/lyr_std/warp.cpp:57
 msgid "Warp"
 msgstr "Combar"
 
-#: src/modules/lyr_std/warp.cpp:374
+#: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
 msgstr "Origen TL"
 
-#: src/modules/lyr_std/warp.cpp:376
+#: src/modules/lyr_std/warp.cpp:382
 msgid "Top Left corner of the source to warp"
 msgstr "Esquina superior izquierda de la fuente a deformar"
 
-#: src/modules/lyr_std/warp.cpp:380
+#: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
 msgstr "Origen BR"
 
-#: src/modules/lyr_std/warp.cpp:381
+#: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
 msgstr "Esquina inferior derecha de la fuente a deformar"
 
-#: src/modules/lyr_std/warp.cpp:385
+#: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
 msgstr "Destino TL"
 
-#: src/modules/lyr_std/warp.cpp:387
+#: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
 msgstr "Esquina superior izquierda del destino"
 
-#: src/modules/lyr_std/warp.cpp:391
+#: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
 msgstr "Destino TR"
 
-#: src/modules/lyr_std/warp.cpp:393
+#: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
 msgstr "Esquina superior derecha del destino"
 
-#: src/modules/lyr_std/warp.cpp:397
+#: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
 msgstr "Destino BR"
 
-#: src/modules/lyr_std/warp.cpp:399
+#: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
 msgstr "Esquina inferior derecha del destino"
 
-#: src/modules/lyr_std/warp.cpp:403
+#: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
 msgstr "Destino BL"
 
-#: src/modules/lyr_std/warp.cpp:405
+#: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
 msgstr "Esquina inferior izquierda del destino"
 
-#: src/modules/lyr_std/warp.cpp:413
+#: src/modules/lyr_std/warp.cpp:419
 msgid "Horizon"
 msgstr "Horizonte"
 
-#: src/modules/lyr_std/warp.cpp:414
+#: src/modules/lyr_std/warp.cpp:420
 msgid "Height that determines the horizon in perspectives"
 msgstr "La altura que determina el horizonte de las perspectivas"
 
-#: src/modules/lyr_std/curvewarp.cpp:55
+#: src/modules/lyr_std/curvewarp.cpp:56
 msgid "Curve Warp"
 msgstr "Combar por Curva"
 
-#: src/modules/lyr_std/curvewarp.cpp:390
-msgid "Position of the source line"
-msgstr "Posición de la línea a combar curvado"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr "Posición del spline destino"
 
-#: src/modules/lyr_std/curvewarp.cpp:395
+#: src/modules/lyr_std/curvewarp.cpp:404
 msgid "How much is expanded the result perpendicular to the source line"
 msgstr ""
 "Cuanto se amplía el resultado perpendicularmente a la línea a combar curvado"
 
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:407
 msgid "Start Point"
 msgstr "Punto Inicial"
 
-#: src/modules/lyr_std/curvewarp.cpp:400
+#: src/modules/lyr_std/curvewarp.cpp:409
 msgid "First point of the source line"
 msgstr "Primer punto de la línea a combar curvado"
 
-#: src/modules/lyr_std/curvewarp.cpp:403
+#: src/modules/lyr_std/curvewarp.cpp:412
 msgid "End Point"
 msgstr "Punto Final"
 
-#: src/modules/lyr_std/curvewarp.cpp:404
+#: src/modules/lyr_std/curvewarp.cpp:413
 msgid "Final point of the source line"
 msgstr "Punto final de la línea a combar curvado"
 
-#: src/modules/lyr_std/curvewarp.cpp:407
-#: src/modules/mod_geometry/advanced_outline.cpp:1123
-#: src/modules/mod_geometry/outline.cpp:814
-#: src/modules/mod_geometry/region.cpp:233
-#: src/modules/mod_gradient/curvegradient.cpp:546
-#: src/modules/mod_particle/plant.cpp:391
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
 msgid "Vertices"
 msgstr "Vértices"
 
-#: src/modules/lyr_std/curvewarp.cpp:410
+#: src/modules/lyr_std/curvewarp.cpp:419
 msgid "List of Spline Points where the source line is curved to"
 msgstr "Lista de puntos de spline hacia donde la línea origen se curva"
 
-#: src/modules/lyr_std/curvewarp.cpp:413
-#: src/modules/mod_geometry/advanced_outline.cpp:1178
-#: src/modules/mod_gradient/curvegradient.cpp:567
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
 msgid "Fast"
 msgstr "Rápido"
 
-#: src/modules/lyr_std/curvewarp.cpp:414
-#: src/modules/mod_gradient/curvegradient.cpp:568
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
 msgid "When checked, renders quickly but with artifacts"
 msgstr "Cuando está marcado, muestrea rápidamente, pero con artefactos"
 
@@ -1010,15 +1009,15 @@ msgstr "Cuando está marcado, muestrea rápidamente, pero con artefactos"
 msgid "XOR Pattern"
 msgstr "Estampado XOR"
 
-#: src/modules/lyr_std/xorpattern.cpp:126
+#: src/modules/lyr_std/xorpattern.cpp:130
 msgid "Center of the pattern"
 msgstr "Centro del patrón"
 
-#: src/modules/lyr_std/xorpattern.cpp:130
+#: src/modules/lyr_std/xorpattern.cpp:134
 msgid "Size of the pattern"
 msgstr "Tamaño del patrón"
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:143
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
 #: src/synfig/valuenode_blinecalctangent.cpp:261
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
 #: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
@@ -1029,7 +1028,7 @@ msgstr "Escala"
 msgid "Amount to scale to"
 msgstr "Cantidad a escalar"
 
-#: src/modules/lyr_std/zoom.cpp:105
+#: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
 msgstr "Punto desde el que se escala"
 
@@ -1047,7 +1046,7 @@ msgstr "%s no está en formato BMP"
 #: src/modules/mod_bmp/mptr_bmp.cpp:150
 #, c-format
 msgid "Failure while reading BITMAPFILEHEADER from %s"
-msgstr "Falló mientras leía BITMAPFILEHEADER desde %s"
+msgstr "Fallo mientras se leía BITMAPFILEHEADER desde %s"
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:158
 #, c-format
@@ -1057,12 +1056,12 @@ msgstr "Falló mientras leía BITMAPINFOHEADER desde %s"
 #: src/modules/mod_bmp/mptr_bmp.cpp:168
 #, c-format
 msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
-msgstr "Mal BITMAPFILEHEADER en %s. (bfOffsetBits=%d, debería ser %d)"
+msgstr "Mal BITMAPFILEHEADER in %s. (bfOffsetBits=%d, debería ser %d)"
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:176
 #, c-format
 msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
-msgstr "Mal BITMAPINFOHEADER en %s. (biSize=%d, debería ser 40)"
+msgstr "Mal BITMAPINFOHEADER in %s. (biSize=%d, debería ser 40)"
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
 msgid "Reading compressed bitmaps is not supported"
@@ -1097,126 +1096,143 @@ msgstr "Imposible escribir la información de cabecera"
 msgid "Unable to open pipe to encodedv"
 msgstr "Imposible abrir tubería para encodedv"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:201
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:208
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:218
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:272
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-msgid "Unable to open pipe to ffmpeg"
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:214
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no pipe)"
 msgstr "Imposible abrir tubería para ffmpeg"
 
-#: src/modules/mod_filter/blur.cpp:68
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:221
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (pid == -1)"
+msgstr "Imposible abrir tubería para ffmpeg"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:231
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
+msgstr "Imposible abrir tubería para ffmpeg"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:285
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (exec failed)"
+msgstr "Imposible abrir tubería para ffmpeg"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:303
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no file)"
+msgstr "Imposible abrir tubería para ffmpeg"
+
+#: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
 msgstr "Desenfoque"
 
-#: src/modules/mod_filter/blur.cpp:69 src/modules/mod_filter/radialblur.cpp:56
+#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
 #: src/synfig/layer_motionblur.cpp:57
 msgid "Blurs"
 msgstr "Desenfoques"
 
-#: src/modules/mod_filter/blur.cpp:373
+#: src/modules/mod_filter/blur.cpp:414
 msgid "Size of Blur"
 msgstr "Tamaño del Desenfoque"
 
-#: src/modules/mod_filter/colorcorrect.cpp:55
+#: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
 msgstr "Corregir Color"
 
-#: src/modules/mod_filter/colorcorrect.cpp:211
+#: src/modules/mod_filter/colorcorrect.cpp:217
 msgid "Hue Adjust"
 msgstr "Ajuste del Matiz"
 
-#: src/modules/mod_filter/colorcorrect.cpp:215
+#: src/modules/mod_filter/colorcorrect.cpp:221
 msgid "Brightness"
 msgstr "Brillo"
 
-#: src/modules/mod_filter/colorcorrect.cpp:219
+#: src/modules/mod_filter/colorcorrect.cpp:225
 msgid "Contrast"
 msgstr "Contraste"
 
-#: src/modules/mod_filter/colorcorrect.cpp:223
+#: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
 msgstr "Ajuste de Exposición"
 
-#: src/modules/mod_filter/colorcorrect.cpp:227 src/synfig/layer_bitmap.cpp:179
+#: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
 msgstr "Ajuste de Gamma"
 
-#: src/modules/mod_filter/halftone2.cpp:58
+#: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
 msgstr "Medios Tonos 2"
 
-#: src/modules/mod_filter/halftone2.cpp:151
+#: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
 msgstr "Origen Máscara"
 
-#: src/modules/mod_filter/halftone2.cpp:155
+#: src/modules/mod_filter/halftone2.cpp:159
 msgid "Mask Angle"
 msgstr "Ángulo Máscara"
 
-#: src/modules/mod_filter/halftone2.cpp:159
-#: src/modules/mod_filter/halftone3.cpp:309
+#: src/modules/mod_filter/halftone2.cpp:163
+#: src/modules/mod_filter/halftone3.cpp:328
 msgid "Mask Size"
 msgstr "Tamaño Máscara"
 
-#: src/modules/mod_filter/halftone2.cpp:164
+#: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
 msgstr "Color Claro"
 
-#: src/modules/mod_filter/halftone2.cpp:167
+#: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
 msgstr "Color Oscuro"
 
-#: src/modules/mod_filter/halftone2.cpp:172
-#: src/modules/mod_filter/halftone3.cpp:314
+#: src/modules/mod_filter/halftone2.cpp:176
+#: src/modules/mod_filter/halftone3.cpp:333
 #: src/modules/mod_gradient/conicalgradient.cpp:125
 msgid "Symmetric"
 msgstr "Simétrico"
 
-#: src/modules/mod_filter/halftone2.cpp:173
-#: src/modules/mod_filter/halftone3.cpp:315
+#: src/modules/mod_filter/halftone2.cpp:177
+#: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
 msgstr "Claroscuro"
 
-#: src/modules/mod_filter/halftone2.cpp:175
-#: src/modules/mod_filter/halftone3.cpp:317
+#: src/modules/mod_filter/halftone2.cpp:179
+#: src/modules/mod_filter/halftone3.cpp:336
 msgid "Diamond"
 msgstr "Diamante"
 
-#: src/modules/mod_filter/halftone2.cpp:176
-#: src/modules/mod_filter/halftone3.cpp:318
+#: src/modules/mod_filter/halftone2.cpp:180
+#: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
 msgstr "Rayas"
 
-#: src/modules/mod_filter/halftone3.cpp:58
+#: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
 msgstr "Medios Tonos 3"
 
-#: src/modules/mod_filter/halftone3.cpp:312
+#: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
 msgstr "Tipo"
 
-#: src/modules/mod_filter/halftone3.cpp:321
+#: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
 msgstr "Sustractivo"
 
-#: src/modules/mod_filter/halftone3.cpp:329
+#: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
 msgstr "Color"
 
-#: src/modules/mod_filter/halftone3.cpp:333
+#: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
 msgstr "Origen Máscara"
 
-#: src/modules/mod_filter/halftone3.cpp:337
+#: src/modules/mod_filter/halftone3.cpp:356
 msgid " Mask Angle"
 msgstr "Ángulo Máscara"
 
-#: src/modules/mod_filter/lumakey.cpp:58
+#: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
 msgstr "Clave Luma"
 
-#: src/modules/mod_filter/radialblur.cpp:55
+#: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
 msgstr "Desenfoque Radial"
 
@@ -1238,19 +1254,19 @@ msgstr "Cuadrícula"
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:62 src/synfig/layer_solidcolor.cpp:57
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
 msgstr "Geometría"
 
-#: src/modules/mod_geometry/checkerboard.cpp:123
+#: src/modules/mod_geometry/checkerboard.cpp:147
 msgid "Color of checkers"
 msgstr "Color de la cuadrícula"
 
-#: src/modules/mod_geometry/checkerboard.cpp:127
+#: src/modules/mod_geometry/checkerboard.cpp:151
 msgid "Center of the checkers"
 msgstr "Centro de la cuadrícula"
 
-#: src/modules/mod_geometry/checkerboard.cpp:131
+#: src/modules/mod_geometry/checkerboard.cpp:155
 msgid "Size of checkers"
 msgstr "Tamaño de la cuadrícula"
 
@@ -1258,54 +1274,54 @@ msgstr "Tamaño de la cuadrícula"
 msgid "Circle"
 msgstr "Círculo"
 
-#: src/modules/mod_geometry/circle.cpp:134
+#: src/modules/mod_geometry/circle.cpp:152
 msgid "Radius of the circle"
 msgstr "Radio del círculo"
 
-#: src/modules/mod_geometry/circle.cpp:138 src/synfig/layer_shape.cpp:1206
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
 msgid "Feather"
 msgstr "Desvanecimiento"
 
-#: src/modules/mod_geometry/circle.cpp:140
+#: src/modules/mod_geometry/circle.cpp:158
 msgid "Amount of feather of the circle"
 msgstr "Cantidad de desvanecimiento del círculo"
 
-#: src/modules/mod_geometry/circle.cpp:148
+#: src/modules/mod_geometry/circle.cpp:166
 msgid "Invert the circle"
 msgstr "Invertir el círculo"
 
-#: src/modules/mod_geometry/circle.cpp:152
+#: src/modules/mod_geometry/circle.cpp:170
 msgid "Falloff"
 msgstr "Caída"
 
-#: src/modules/mod_geometry/circle.cpp:153
+#: src/modules/mod_geometry/circle.cpp:171
 msgid "Determines the falloff function for the feather"
 msgstr "Determina la función de caída del desvanecimiento"
 
-#: src/modules/mod_geometry/circle.cpp:155
-#: src/modules/mod_noise/distort.cpp:234 src/modules/mod_noise/noise.cpp:275
-#: src/modules/mod_noise/valuenode_random.cpp:288
-#: src/synfig/layer_bitmap.cpp:173 src/synfig/layer_motionblur.cpp:150
-#: src/synfig/valuenode.cpp:139 src/synfig/valuenode_linear.cpp:146
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:289
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
 msgid "Linear"
 msgstr "Linear"
 
-#: src/modules/mod_geometry/circle.cpp:156
+#: src/modules/mod_geometry/circle.cpp:174
 msgid "Squared"
 msgstr "Cuadrado"
 
-#: src/modules/mod_geometry/circle.cpp:157
+#: src/modules/mod_geometry/circle.cpp:175
 msgid "Square Root"
 msgstr "Raíz Cuadrada"
 
-#: src/modules/mod_geometry/circle.cpp:158
+#: src/modules/mod_geometry/circle.cpp:176
 msgid "Sigmond"
 msgstr "Sigmoidea"
 
-#: src/modules/mod_geometry/circle.cpp:159
-#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:276
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:174
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:290
+#: src/synfig/layer_bitmap.cpp:170
 msgid "Cosine"
 msgstr "Coseno"
 
@@ -1313,165 +1329,165 @@ msgstr "Coseno"
 msgid "Advanced Outline"
 msgstr "Contorno Avanzado"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:133
+#: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr "No vértices en el spline"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1125
-#: src/modules/mod_geometry/outline.cpp:817
-#: src/modules/mod_geometry/region.cpp:235
-#: src/modules/mod_gradient/curvegradient.cpp:549
-#: src/modules/mod_particle/plant.cpp:392
+#: src/modules/mod_geometry/advanced_outline.cpp:1136
+#: src/modules/mod_geometry/outline.cpp:826
+#: src/modules/mod_geometry/region.cpp:240
+#: src/modules/mod_gradient/curvegradient.cpp:562
+#: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
 msgstr "Una lista de puntos de spline"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1129
-#: src/modules/mod_geometry/outline.cpp:831
+#: src/modules/mod_geometry/advanced_outline.cpp:1140
+#: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
 msgstr "Ancho del Contorno"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1130
-#: src/modules/mod_geometry/outline.cpp:832
+#: src/modules/mod_geometry/advanced_outline.cpp:1141
+#: src/modules/mod_geometry/outline.cpp:841
 msgid "Global width of the outline"
 msgstr "Anchura global del contorno"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:837
+#: src/modules/mod_geometry/advanced_outline.cpp:1145
+#: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
 msgstr "Expandir"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1135
-#: src/modules/mod_geometry/outline.cpp:838
+#: src/modules/mod_geometry/advanced_outline.cpp:1146
+#: src/modules/mod_geometry/outline.cpp:847
 msgid "Value to add to the global width"
 msgstr "Valor a agregar a la anchura global"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1138
+#: src/modules/mod_geometry/advanced_outline.cpp:1149
 msgid "Tip Type at Start"
 msgstr "Tipo de punta en el inicio"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1139
+#: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
 msgstr ""
 "Define el tipo de punta del primer vértice del contorno cuando está abierto"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1141
-#: src/modules/mod_geometry/advanced_outline.cpp:1150
-#: src/synfig/valuenode_composite.cpp:548
+#: src/modules/mod_geometry/advanced_outline.cpp:1152
+#: src/modules/mod_geometry/advanced_outline.cpp:1161
 #: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:587
-#: src/synfig/valuenode_composite.cpp:596
+#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:606
 msgid "Rounded Stop"
 msgstr "Parada Redondeada"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1142
-#: src/modules/mod_geometry/advanced_outline.cpp:1151
-#: src/synfig/valuenode_composite.cpp:549
+#: src/modules/mod_geometry/advanced_outline.cpp:1153
+#: src/modules/mod_geometry/advanced_outline.cpp:1162
 #: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:588
-#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:607
 msgid "Squared Stop"
 msgstr "Parada Cuadrada"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1143
-#: src/modules/mod_geometry/advanced_outline.cpp:1152
-#: src/synfig/valuenode_composite.cpp:550
+#: src/modules/mod_geometry/advanced_outline.cpp:1154
+#: src/modules/mod_geometry/advanced_outline.cpp:1163
 #: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:570
+#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:608
 msgid "Peak Stop"
 msgstr "Parada en Punta"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1144
-#: src/modules/mod_geometry/advanced_outline.cpp:1153
-#: src/synfig/valuenode_composite.cpp:551
+#: src/modules/mod_geometry/advanced_outline.cpp:1155
+#: src/modules/mod_geometry/advanced_outline.cpp:1164
 #: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:590
-#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:571
+#: src/synfig/valuenode_composite.cpp:600
+#: src/synfig/valuenode_composite.cpp:609
 msgid "Flat Stop"
 msgstr "Parada Plana"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1147
+#: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
 msgstr "Tipo de punta en el final"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1148
+#: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
 msgstr ""
 "Define el tipo de punta del último vértice del contorno cuando está abierto"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1156
+#: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
 msgstr "Tipo de Cúspides"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1157
-#: src/modules/mod_geometry/outline.cpp:843
+#: src/modules/mod_geometry/advanced_outline.cpp:1168
+#: src/modules/mod_geometry/outline.cpp:852
 msgid "Determines cusp type"
 msgstr "Determina el tipo de esquina"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1159
+#: src/modules/mod_geometry/advanced_outline.cpp:1170
 msgid "Sharp"
 msgstr "Afilada"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1160
+#: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
 msgstr "Redondeada"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1164
+#: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
 msgstr "Suavidad"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1165
+#: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
 msgstr "Determina la interpolación entre withpoints. (0) Lineal (1) Suave"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1168
-#: src/modules/mod_geometry/outline.cpp:859
+#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/outline.cpp:869
 #: src/synfig/valuenode_blinecalctangent.cpp:271
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
 msgstr "Homogeneo"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1169
+#: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
 msgstr ""
 "Cuando se marca, la posición de los puntos de espesor se basan en la "
 "longitud del spline"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
+#: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
 msgstr "Lista de Puntos de Espesor"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1175
+#: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
 msgstr "Lista de Puntos de Espesor que define el espesor variable"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
 msgstr ""
 "Cuando se marca, el contorno se muestra más rápido, pero con menos precisión"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1182
+#: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
 msgstr "Usar guiones"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1184
+#: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
 msgstr "Cuando se marca el contorno usa guiones"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1187
+#: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
 msgstr "Lista de elementos guión"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1190
+#: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
 msgstr "Lista de elementos de guión que define el contorno que usa guiones"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1193
+#: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
 msgstr "Desplazamiento de los elementos guión"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1196
+#: src/modules/mod_geometry/advanced_outline.cpp:1207
 msgid "Distance to Offset the Dash Items"
 msgstr "Distancia a desplazar los elementos guiones"
 
@@ -1479,32 +1495,36 @@ msgstr "Distancia a desplazar los elementos guiones"
 msgid "Outline"
 msgstr "Contorno"
 
-#: src/modules/mod_geometry/outline.cpp:183
+#: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
 msgstr "No hay vértices en el contorno "
 
-#: src/modules/mod_geometry/outline.cpp:842
+#: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
 msgstr "Esquinas Afiladas"
 
-#: src/modules/mod_geometry/outline.cpp:847
+#: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
 msgstr "Comienzo Redondeado"
 
-#: src/modules/mod_geometry/outline.cpp:848
-#: src/modules/mod_geometry/outline.cpp:853
+#: src/modules/mod_geometry/outline.cpp:857
+#: src/modules/mod_geometry/outline.cpp:862
 msgid "Round off the tip"
 msgstr "Redondeo de la punta"
 
-#: src/modules/mod_geometry/outline.cpp:852
+#: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
 msgstr "Fin Redondeado"
 
-#: src/modules/mod_geometry/outline.cpp:856
+#: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
 msgstr "Loopyness"
 
-#: src/modules/mod_geometry/outline.cpp:860
+#: src/modules/mod_geometry/outline.cpp:866
+msgid "(Currently not used)"
+msgstr "(Actualmente no usado)"
+
+#: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
 msgstr ""
 "Cuando está marcado el ancho usa la longitud del spline para interpolar"
@@ -1513,11 +1533,11 @@ msgstr ""
 msgid "Rectangle"
 msgstr "Rectángulo"
 
-#: src/modules/mod_geometry/rectangle.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
 msgstr "Cantidad de expansión"
 
-#: src/modules/mod_geometry/rectangle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
 msgstr "Invertir el Rectángulo"
 
@@ -1529,46 +1549,46 @@ msgstr "Región"
 msgid "Star"
 msgstr "Estrella"
 
-#: src/modules/mod_geometry/star.cpp:183
+#: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
 msgstr "Radio Exterior"
 
-#: src/modules/mod_geometry/star.cpp:184
+#: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
 msgstr "El radio de los puntos exteriores de la estrella"
 
-#: src/modules/mod_geometry/star.cpp:190
+#: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
 msgstr "Radio Interior"
 
-#: src/modules/mod_geometry/star.cpp:191
+#: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
 msgstr "El radio de los puntos interiores de la estrella"
 
-#: src/modules/mod_geometry/star.cpp:197
+#: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:129
+#: src/modules/mod_gradient/spiralgradient.cpp:130
 #: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr "Ángulo"
 
-#: src/modules/mod_geometry/star.cpp:198
+#: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr "La orientación de la estrella"
 
-#: src/modules/mod_geometry/star.cpp:203 src/synfig/distance.cpp:251
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
 msgid "Points"
 msgstr "Puntos"
 
-#: src/modules/mod_geometry/star.cpp:204
+#: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
 msgstr "El número de puntos de la estrella"
 
-#: src/modules/mod_geometry/star.cpp:208
+#: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
 msgstr "Polígono Regular"
 
-#: src/modules/mod_geometry/star.cpp:209
+#: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr "Si dibuja un polígono regular o una estrella"
 
@@ -1586,20 +1606,20 @@ msgid "Conical Gradient"
 msgstr "Gradiente Cónico"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
-#: src/modules/mod_gradient/curvegradient.cpp:61
+#: src/modules/mod_gradient/curvegradient.cpp:62
 #: src/modules/mod_gradient/lineargradient.cpp:55
 #: src/modules/mod_gradient/radialgradient.cpp:58
-#: src/modules/mod_gradient/spiralgradient.cpp:57
-#: src/modules/mod_noise/noise.cpp:58
+#: src/modules/mod_gradient/spiralgradient.cpp:58
+#: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
 msgstr "Gradientes"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
-#: src/modules/mod_gradient/curvegradient.cpp:553
-#: src/modules/mod_gradient/lineargradient.cpp:200
+#: src/modules/mod_gradient/curvegradient.cpp:566
+#: src/modules/mod_gradient/lineargradient.cpp:195
 #: src/modules/mod_gradient/radialgradient.cpp:114
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:260
+#: src/modules/mod_gradient/spiralgradient.cpp:114
+#: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
 msgstr "Gradiente a aplicar"
 
@@ -1612,27 +1632,27 @@ msgid "Rotation of the gradient around the center"
 msgstr "La rotación del degradado gradiente alrededor del centro"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
-#: src/modules/mod_gradient/curvegradient.cpp:557
-#: src/modules/mod_gradient/lineargradient.cpp:204
+#: src/modules/mod_gradient/curvegradient.cpp:570
+#: src/modules/mod_gradient/lineargradient.cpp:199
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr "Cuando está marcado el gradiente se repite"
 
-#: src/modules/mod_gradient/curvegradient.cpp:60
+#: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
 msgstr "Gradiente Curvado"
 
-#: src/modules/mod_gradient/curvegradient.cpp:538
-#: src/modules/mod_particle/plant.cpp:399
+#: src/modules/mod_gradient/curvegradient.cpp:551
+#: src/modules/mod_particle/plant.cpp:432
 msgid "Offset for the Vertices List"
 msgstr "Desplazamiento de la lista de vértices"
 
-#: src/modules/mod_gradient/curvegradient.cpp:543
+#: src/modules/mod_gradient/curvegradient.cpp:556
 msgid "Global width of the gradient"
 msgstr "Ancho global del gradiente"
 
-#: src/modules/mod_gradient/curvegradient.cpp:556
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/curvegradient.cpp:569
+#: src/modules/mod_gradient/lineargradient.cpp:198
 #: src/modules/mod_gradient/radialgradient.cpp:130
 #: src/synfig/valuenode_blinecalctangent.cpp:246
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
@@ -1640,19 +1660,19 @@ msgstr "Ancho global del gradiente"
 msgid "Loop"
 msgstr "Bucle"
 
-#: src/modules/mod_gradient/curvegradient.cpp:560
-#: src/modules/mod_gradient/lineargradient.cpp:207
+#: src/modules/mod_gradient/curvegradient.cpp:573
+#: src/modules/mod_gradient/lineargradient.cpp:202
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr "Zig Zag"
 
-#: src/modules/mod_gradient/curvegradient.cpp:561
-#: src/modules/mod_gradient/lineargradient.cpp:208
+#: src/modules/mod_gradient/curvegradient.cpp:574
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:136
 msgid "When checked the gradient is summetrical at the center"
 msgstr "Cuando está marcado el gradiente es simétrico en el centro"
 
-#: src/modules/mod_gradient/curvegradient.cpp:564
+#: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
 msgstr "Perpendicular"
 
@@ -1660,11 +1680,11 @@ msgstr "Perpendicular"
 msgid "Linear Gradient"
 msgstr "Gradiente Linear"
 
-#: src/modules/mod_gradient/lineargradient.cpp:192
+#: src/modules/mod_gradient/lineargradient.cpp:187
 msgid "Start point of the gradient"
 msgstr "Punto de inicio del gradiente"
 
-#: src/modules/mod_gradient/lineargradient.cpp:196
+#: src/modules/mod_gradient/lineargradient.cpp:191
 msgid "End point of the gradient"
 msgstr "Punto final del gradiente"
 
@@ -1673,23 +1693,23 @@ msgid "Radial Gradient"
 msgstr "Gradiente Radial"
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:119
 msgid "Center of the gradient"
 msgstr "Centro del gradiente"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:56
+#: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
 msgstr "Gradiente Espiral"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:130
+#: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
 msgstr "La rotación de la espiral"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:135
+#: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
 msgstr "Horario"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:136
+#: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
 msgstr "Cuando está marcado la espiral gira en sentido horario"
 
@@ -1702,13 +1722,15 @@ msgstr "Sin archivo a cargar"
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/listimporter.cpp:184 src/synfig/listimporter.cpp:185
+#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
+#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
 msgid "Unable to open "
 msgstr "Imposible abrir "
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/listimporter.cpp:191 src/synfig/listimporter.cpp:192
+#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
+#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
 msgid "Unable to get frame from "
 msgstr "Imposible obtener fotograma desde "
 
@@ -1746,115 +1768,115 @@ msgstr "Prematuro fin de archivo"
 msgid "Unable to open pipe to imagemagick's convert utility"
 msgstr "Imposible abrir tubería hacia la utilidad de conversión de imagemagick"
 
-#: src/modules/mod_noise/distort.cpp:57
+#: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
 msgstr "Distorsión Ruidosa"
 
-#: src/modules/mod_noise/distort.cpp:217
+#: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
 msgstr "Desplazamiento"
 
-#: src/modules/mod_noise/distort.cpp:218
+#: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
 msgstr "Cómo de grande es la distorsión que desplaza el contexto"
 
-#: src/modules/mod_noise/distort.cpp:223
+#: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
 msgstr "La distancia entre las distorsiones"
 
-#: src/modules/mod_noise/distort.cpp:226 src/modules/mod_noise/noise.cpp:263
+#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
 msgstr "Semilla de Aleatoriedad"
 
-#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:264
+#: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
 msgstr "Cambiar para modificar la semilla aleatoria del ruido"
 
-#: src/modules/mod_noise/distort.cpp:230 src/modules/mod_noise/noise.cpp:271
-#: src/modules/mod_noise/valuenode_random.cpp:284
-#: src/synfig/layer_bitmap.cpp:169
+#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr "Interpolación"
 
-#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
-#: src/synfig/layer_bitmap.cpp:170
+#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
+#: src/synfig/layer_bitmap.cpp:166
 msgid "What type of interpolation to use"
 msgstr "Que tipo de interpolación usar"
 
-#: src/modules/mod_noise/distort.cpp:233 src/modules/mod_noise/noise.cpp:274
-#: src/synfig/layer_bitmap.cpp:172
+#: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
+#: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
 msgstr "Vecino más cercano"
 
-#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:277
-#: src/modules/mod_noise/valuenode_random.cpp:290 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_bline.cpp:1001
+#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
+#: src/synfig/valuenode_bline.cpp:1006
 #: src/synfig/valuenode_blinecalctangent.cpp:241
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr "Spline"
 
-#: src/modules/mod_noise/distort.cpp:237 src/modules/mod_noise/noise.cpp:278
-#: src/modules/mod_noise/valuenode_random.cpp:291
-#: src/synfig/layer_bitmap.cpp:175
+#: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr "Cúbico"
 
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:281
+#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
 msgstr "Detalle"
 
-#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:282
+#: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
 msgstr "Aumentar para obtener finos detalles del ruido"
 
-#: src/modules/mod_noise/distort.cpp:244 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
 msgstr "Velocidad Animación"
 
-#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
 msgstr "En ciclos por segundo"
 
-#: src/modules/mod_noise/distort.cpp:248 src/modules/mod_noise/noise.cpp:289
+#: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
 msgstr "Turbulento"
 
-#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:290
+#: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
 msgstr "Cuando está marcado produce ruido turbulento"
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:183
+#: src/modules/mod_noise/valuenode_random.cpp:184
 msgid "Random"
 msgstr "Aleatorio"
 
-#: src/modules/mod_noise/noise.cpp:57
+#: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
 msgstr "Gradiente Ruidoso"
 
-#: src/modules/mod_noise/noise.cpp:268
+#: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
 msgstr "Tamaño del ruido"
 
-#: src/modules/mod_noise/noise.cpp:293
+#: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
 msgstr "Hacer Transparencia"
 
-#: src/modules/mod_noise/noise.cpp:294
+#: src/modules/mod_noise/noise.cpp:303
 msgid "Uses transparency"
 msgstr "Utiliza la transparencia"
 
-#: src/modules/mod_noise/noise.cpp:297
+#: src/modules/mod_noise/noise.cpp:306
 msgid "Super Sampling"
 msgstr "Super Muestreo"
 
-#: src/modules/mod_noise/noise.cpp:298
+#: src/modules/mod_noise/noise.cpp:307
 msgid "When checked the gradient is supersampled"
 msgstr "Cuando está marcado el gradiente es supermuestreado"
 
-#: src/modules/mod_noise/valuenode_random.cpp:264
+#: src/modules/mod_noise/valuenode_random.cpp:265
 #: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
 #: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
 #: src/synfig/valuenode_reciprocal.cpp:165
@@ -1863,90 +1885,90 @@ msgstr "Cuando está marcado el gradiente es supermuestreado"
 msgid "Link"
 msgstr "Enlace"
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "The value node source that provides the central value"
 msgstr "El valor de nodo origen que proporciona el valor central"
 
-#: src/modules/mod_noise/valuenode_random.cpp:270
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid "The value of the maximum random difference"
 msgstr "El valor de la diferencia máxima al azar"
 
-#: src/modules/mod_noise/valuenode_random.cpp:274
-#: src/modules/mod_particle/plant.cpp:450
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr "Semilla"
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:276
 msgid "Seeds the random number generator"
 msgstr "Origina el generador de números aleatorios"
 
-#: src/modules/mod_noise/valuenode_random.cpp:279
+#: src/modules/mod_noise/valuenode_random.cpp:280
 msgid "Speed"
 msgstr "Velocidad"
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:281
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 "Define con que frecuencia se elige al azar un valor nuevo (en elecciones por "
 "segundo) "
 
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:286
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 "Determina cómo el valor es interpolado entre una elección al azar y la "
 "siguiente"
 
-#: src/modules/mod_noise/valuenode_random.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:288
 msgid "No interpolation"
 msgstr "Sin interpolación"
 
-#: src/modules/mod_noise/valuenode_random.cpp:296
+#: src/modules/mod_noise/valuenode_random.cpp:297
 msgid "Loop Time"
 msgstr "Tiempo de Bucle"
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:298
 msgid "Makes the random value repeat after the given time"
 msgstr "Hace que se repita de valor aleatorio después de un tiempo dado"
 
-#: src/modules/mod_particle/plant.cpp:69
+#: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
 msgstr "Planta"
 
-#: src/modules/mod_particle/plant.cpp:404
+#: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
 msgstr "Gradiente usado para colorear la planta"
 
-#: src/modules/mod_particle/plant.cpp:408
+#: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
 msgstr "Ángulo de división"
 
-#: src/modules/mod_particle/plant.cpp:409
+#: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
 msgstr "Ángulo mediante el cual cada división se desvía de su predecesora"
 
-#: src/modules/mod_particle/plant.cpp:413
+#: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
 msgstr "Gravedad"
 
-#: src/modules/mod_particle/plant.cpp:414
+#: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
 msgstr "Dirección hacia la cual las ramas tienden a apuntar"
 
-#: src/modules/mod_particle/plant.cpp:419
+#: src/modules/mod_particle/plant.cpp:452
 msgid "Tangential Velocity"
 msgstr "Velocidad Tangencial"
 
-#: src/modules/mod_particle/plant.cpp:420
+#: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
 msgstr ""
 "Cantidad que tienden a crecer las ramas en la dirección tangente al spline"
 
-#: src/modules/mod_particle/plant.cpp:424
+#: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
 msgstr "Velocidad Perpendicular"
 
-#: src/modules/mod_particle/plant.cpp:425
+#: src/modules/mod_particle/plant.cpp:458
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
@@ -1954,19 +1976,19 @@ msgstr ""
 "Cantidad que tienden a crecer las ramas en la dirección perpendicular a la "
 "tangente al Spline"
 
-#: src/modules/mod_particle/plant.cpp:429
+#: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
 msgstr "Tamaño del Tallo"
 
-#: src/modules/mod_particle/plant.cpp:430
+#: src/modules/mod_particle/plant.cpp:463
 msgid "Size of the stem"
 msgstr "Tamaño del Tallo"
 
-#: src/modules/mod_particle/plant.cpp:435
+#: src/modules/mod_particle/plant.cpp:468
 msgid "Size As Alpha"
 msgstr "Tamaño como Transparencia"
 
-#: src/modules/mod_particle/plant.cpp:436
+#: src/modules/mod_particle/plant.cpp:469
 msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
@@ -1975,68 +1997,68 @@ msgstr ""
 "el tamaño de tallo y un valor de transparencia de 1,0 se usa al mostrar el "
 "gradiente"
 
-#: src/modules/mod_particle/plant.cpp:440
+#: src/modules/mod_particle/plant.cpp:473
 msgid "Reverse"
 msgstr "Inversa"
 
-#: src/modules/mod_particle/plant.cpp:441
+#: src/modules/mod_particle/plant.cpp:474
 msgid "If enabled, render the plant in the opposite direction"
 msgstr "Si se habilita, la planta se muestra en la dirección opuesta"
 
-#: src/modules/mod_particle/plant.cpp:445 src/synfig/valuenode.cpp:170
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
 #: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
 msgid "Step"
 msgstr "Paso"
 
-#: src/modules/mod_particle/plant.cpp:446
+#: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
 msgstr "Medida de la distancia entre puntos cuendo se hace la muestra"
 
-#: src/modules/mod_particle/plant.cpp:451
+#: src/modules/mod_particle/plant.cpp:484
 msgid "Used to seed the pseudo-random number generator"
 msgstr "Usado para alimentar el generador de números seudo-aleatorios"
 
-#: src/modules/mod_particle/plant.cpp:455
+#: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
 msgstr "Divisiones"
 
-#: src/modules/mod_particle/plant.cpp:456
+#: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
 msgstr "Máximo número de veces que cada brote puede brotar recursivamente"
 
-#: src/modules/mod_particle/plant.cpp:460
+#: src/modules/mod_particle/plant.cpp:493
 msgid "Sprouts"
 msgstr "Brotes"
 
-#: src/modules/mod_particle/plant.cpp:461
+#: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
 msgstr ""
 "Número de veces que aparece un brote en cada sección de segmento del spline"
 
-#: src/modules/mod_particle/plant.cpp:465
+#: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
 msgstr "Factor de Aleatoriedad"
 
-#: src/modules/mod_particle/plant.cpp:466
+#: src/modules/mod_particle/plant.cpp:499
 msgid ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 msgstr ""
 "Usado para escalar todos los efectos aleatorios. Establecer a cero para "
 "desactivar la aleatoriedad"
 
-#: src/modules/mod_particle/plant.cpp:470
+#: src/modules/mod_particle/plant.cpp:503
 msgid "Drag"
 msgstr "Arrastre"
 
-#: src/modules/mod_particle/plant.cpp:471
+#: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
 msgstr "\"Arrastre\" enlentece el crecimiento"
 
-#: src/modules/mod_particle/plant.cpp:475
+#: src/modules/mod_particle/plant.cpp:508
 msgid "Use Width"
 msgstr "Usar Espesor"
 
-#: src/modules/mod_particle/plant.cpp:476
+#: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
 msgstr "Escala la velocidad mediante el espesor del spline"
 
@@ -2045,98 +2067,103 @@ msgstr "Escala la velocidad mediante el espesor del spline"
 msgid "%s was not in PPM format"
 msgstr "%s no estaba en formato PPM"
 
-#: src/synfig/cairoimporter.cpp:87 src/synfig/importer.cpp:87
+#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
 msgid "Importer::open(): Cannot open empty filename"
 msgstr "Importer::open(): No puede Abrir un Archivo vacío"
 
-#: src/synfig/cairoimporter.cpp:101 src/synfig/importer.cpp:101
+#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
 msgid "Importer::open(): Couldn't find extension"
 msgstr "Importer::open(): No puede econtrar la extensión"
 
-#: src/synfig/cairoimporter.cpp:112 src/synfig/importer.cpp:112
+#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
 msgid "Importer::open(): Unknown file type -- "
 msgstr "Importer::open(): Tipo de archivo desconocido -- "
 
-#: src/synfig/canvas.cpp:798 src/synfig/canvas.cpp:863
-#: src/synfig/canvas.cpp:886
+#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
+#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+msgid "No images in list"
+msgstr "Sin imágenes en la lista"
+
+#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
+#: src/synfig/canvas.cpp:927
 msgid "in line"
 msgstr "en línea"
 
-#: src/synfig/distance.cpp:249
+#: src/synfig/distance.cpp:251
 msgid "Units"
 msgstr "Unidades"
 
-#: src/synfig/distance.cpp:250
+#: src/synfig/distance.cpp:252
 msgid "Pixels"
 msgstr "Pixels"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:254
 msgid "Inches"
 msgstr "Pulgadas"
 
-#: src/synfig/distance.cpp:253
+#: src/synfig/distance.cpp:255
 msgid "Meters"
 msgstr "Metros"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:256
 msgid "Millimeters"
 msgstr "Milímetros"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:257
 msgid "Centimeters"
 msgstr "Centímetros"
 
-#: src/synfig/layer.cpp:565 src/synfig/layer_composite.cpp:128
+#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
 msgid "Unable to create surface target"
 msgstr "Imposible crear superficie objetivo"
 
-#: src/synfig/layer.cpp:619
+#: src/synfig/layer.cpp:605
 msgid "Z Depth"
 msgstr "Profundidad Z"
 
-#: src/synfig/layer.cpp:621
+#: src/synfig/layer.cpp:607
 msgid "Modifies the position of the layer in the layer stack"
 msgstr "Modifica la posición de la capa en la pila de capas"
 
-#: src/synfig/layer_bitmap.cpp:159
+#: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
 msgstr "Arriba-Izquierda"
 
-#: src/synfig/layer_bitmap.cpp:160
+#: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
 msgstr "Esquina superior izquierda de la imagen"
 
-#: src/synfig/layer_bitmap.cpp:164
+#: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
 msgstr "Abajo-Derecha"
 
-#: src/synfig/layer_bitmap.cpp:165
+#: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
 msgstr "Esquina inferior derecha de la imagen"
 
-#: src/synfig/layer_composite.cpp:218
+#: src/synfig/layer_composite.cpp:250
 msgid "Alpha channel of the layer"
 msgstr "Canal alfa de la capa"
 
-#: src/synfig/layer_composite.cpp:221 src/synfig/paramdesc.cpp:62
+#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr "Método de Mezcla"
 
-#: src/synfig/layer_composite.cpp:222
+#: src/synfig/layer_composite.cpp:254
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 "El método de mezcla utilizado para componerse sobre las capas inferiores"
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:168
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
 #: src/synfig/valuenode_duplicate.cpp:174
 msgid "Duplicate"
 msgstr "Duplicar"
 
-#: src/synfig/layer_duplicate.cpp:148
+#: src/synfig/layer_duplicate.cpp:151
 msgid "Index"
 msgstr "Índice"
 
-#: src/synfig/layer_duplicate.cpp:149
+#: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
 msgstr "Copiar Índice"
 
@@ -2148,158 +2175,158 @@ msgstr "[MIME]"
 msgid "Motion Blur"
 msgstr "Desenfoque de Movimiento"
 
-#: src/synfig/layer_motionblur.cpp:136
+#: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
 msgstr "Apertura"
 
-#: src/synfig/layer_motionblur.cpp:137
+#: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
 msgstr "Tiempo de disparo"
 
-#: src/synfig/layer_motionblur.cpp:141
+#: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
 msgstr "Factor de Submuestreo"
 
-#: src/synfig/layer_motionblur.cpp:142
+#: src/synfig/layer_motionblur.cpp:141
 msgid "Multiplies The Number Of Subsamples Rendered"
 msgstr "Multiplica el Número de Submuestreos en el Renderizado"
 
-#: src/synfig/layer_motionblur.cpp:146
+#: src/synfig/layer_motionblur.cpp:145
 msgid "Subsampling Type"
 msgstr "Tipo de Submuestreo"
 
-#: src/synfig/layer_motionblur.cpp:147
+#: src/synfig/layer_motionblur.cpp:146
 msgid "Curve Type For Weighting Subsamples"
 msgstr "Tipo de Curva para el Ponderar el Submuestreo"
 
-#: src/synfig/layer_motionblur.cpp:149 src/synfig/valuenode_const.cpp:127
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
 msgid "Constant"
 msgstr "Constante"
 
-#: src/synfig/layer_motionblur.cpp:151
+#: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
 msgstr "Hiperbólico"
 
-#: src/synfig/layer_motionblur.cpp:155
+#: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
 msgstr "Cantidad de Inicio del Submuestreo"
 
-#: src/synfig/layer_motionblur.cpp:156
+#: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
 msgstr "Cantidad Relativa del Primer Submuestreo Para Ponderación Lineal"
 
-#: src/synfig/layer_motionblur.cpp:160
+#: src/synfig/layer_motionblur.cpp:159
 msgid "Subsample End Amount"
 msgstr "Cantidad Final del Submuestreo"
 
-#: src/synfig/layer_motionblur.cpp:161
+#: src/synfig/layer_motionblur.cpp:160
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr "Cantidad Relativa del Último Submuestreo Para Ponderación Lineal"
 
-#: src/synfig/layer_pastecanvas.cpp:78 src/synfig/layer_pastecanvas.cpp:120
-#: src/synfig/layer_pastecanvas.cpp:121
+#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
+#: src/synfig/layer_pastecanvas.cpp:124
 msgid "Group"
 msgstr "Grupo"
 
-#: src/synfig/layer_pastecanvas.cpp:137
+#: src/synfig/layer_pastecanvas.cpp:140
 msgid "Canvas"
 msgstr "Lienzo"
 
-#: src/synfig/layer_pastecanvas.cpp:138
+#: src/synfig/layer_pastecanvas.cpp:141
 msgid "Group content"
 msgstr "Contenido del grupo"
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:144
 msgid "Zoom"
 msgstr "Aumento"
 
-#: src/synfig/layer_pastecanvas.cpp:142
+#: src/synfig/layer_pastecanvas.cpp:145
 msgid "Size of canvas"
 msgstr "Tamaño del Lienzo"
 
-#: src/synfig/layer_pastecanvas.cpp:147
+#: src/synfig/layer_pastecanvas.cpp:152
 msgid "Time Offset to apply to the context"
 msgstr "Desplazamiento de tiempo para aplicar al contexto"
 
-#: src/synfig/layer_pastecanvas.cpp:151
+#: src/synfig/layer_pastecanvas.cpp:156
 msgid "Children Lock"
 msgstr "Bloquear Descendientes"
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:157
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 "Cuando está marcado evita seleccionar a las capas descendientes mediante el "
 "clic del ratón"
 
-#: src/synfig/layer_pastecanvas.cpp:156
+#: src/synfig/layer_pastecanvas.cpp:162
 msgid "Focus Point"
 msgstr "Punto de Foco"
 
-#: src/synfig/layer_pastecanvas.cpp:159
+#: src/synfig/layer_pastecanvas.cpp:165
 msgid "Point to remain fixed when zooming"
 msgstr "Punto que permanece fijo cuando se hace zoom"
 
-#: src/synfig/layer_pastecanvas.cpp:164
+#: src/synfig/layer_pastecanvas.cpp:170
 msgid "Outline Grow"
 msgstr "Crecimiento de espesor"
 
-#: src/synfig/layer_pastecanvas.cpp:165
+#: src/synfig/layer_pastecanvas.cpp:171
 msgid "Exponential value to grow children Outline layers width"
 msgstr "Valor exponencial para crecer el espesor de las capas Contorno hijas"
 
-#: src/synfig/layer_pastecanvas.cpp:180
+#: src/synfig/layer_pastecanvas.cpp:186
 msgid "Current Time"
 msgstr "Tiempo Actual"
 
-#: src/synfig/layer_polygon.cpp:61
+#: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
 msgstr "Polígono"
 
-#: src/synfig/layer_polygon.cpp:187
+#: src/synfig/layer_polygon.cpp:194
 msgid "Vertices List"
 msgstr "Lista de Vértices"
 
-#: src/synfig/layer_polygon.cpp:188
+#: src/synfig/layer_polygon.cpp:195
 msgid "Define the corners of the polygon"
 msgstr "Define las esquinas del polígono"
 
-#: src/synfig/layer_shape.cpp:64
+#: src/synfig/layer_shape.cpp:66
 msgid "Shape"
 msgstr "Forma"
 
-#: src/synfig/layer_shape.cpp:65
+#: src/synfig/layer_shape.cpp:67
 msgid "Internal"
 msgstr "Interno"
 
-#: src/synfig/layer_shape.cpp:1194
+#: src/synfig/layer_shape.cpp:1222
 msgid "Layer_Shape Color"
 msgstr "Color de la Capa de Forma"
 
-#: src/synfig/layer_shape.cpp:1203
+#: src/synfig/layer_shape.cpp:1231
 msgid "Antialiasing"
 msgstr "Antialiasing"
 
-#: src/synfig/layer_shape.cpp:1210
+#: src/synfig/layer_shape.cpp:1238
 msgid "Type of Feather"
 msgstr "Tipo de Desvanecimiento"
 
-#: src/synfig/layer_shape.cpp:1211
+#: src/synfig/layer_shape.cpp:1239
 msgid "Type of feathering to use"
 msgstr "Tipo de desvanecimiento a usar"
 
-#: src/synfig/layer_shape.cpp:1220
+#: src/synfig/layer_shape.cpp:1248
 msgid "Winding Style"
 msgstr "Estilo de Solape"
 
-#: src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_shape.cpp:1249
 msgid "Winding style to use"
 msgstr "Estilo de solape a usar"
 
-#: src/synfig/layer_shape.cpp:1223
+#: src/synfig/layer_shape.cpp:1251
 msgid "Non Zero"
 msgstr "No Cero"
 
-#: src/synfig/layer_shape.cpp:1224
+#: src/synfig/layer_shape.cpp:1252
 msgid "Even/Odd"
 msgstr "Par/Impar"
 
@@ -2307,68 +2334,65 @@ msgstr "Par/Impar"
 msgid "Solid Color"
 msgstr "Color Sólido"
 
-#: src/synfig/listimporter.cpp:161 src/synfig/listimporter.cpp:162
-msgid "No images in list"
-msgstr "Sin imágenes en la lista"
-
-#: src/synfig/loadcanvas.cpp:142
+#: src/synfig/loadcanvas.cpp:143
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr "No puedo cargar '%s' recursivamente"
 
-#: src/synfig/loadcanvas.cpp:185
+#: src/synfig/loadcanvas.cpp:186
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr "Elemento inesperado <%s>, Esperado <%s>"
 
-#: src/synfig/loadcanvas.cpp:191
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr "Elemento inesperado <%s>"
 
-#: src/synfig/loadcanvas.cpp:205
+#: src/synfig/loadcanvas.cpp:206
 msgid "Too many warnings"
 msgstr "Demasiados avisos"
 
-#: src/synfig/loadcanvas.cpp:236
+#: src/synfig/loadcanvas.cpp:237
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr "<%s> no se encuentra atributo \"%s\""
 
 #: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:469
-#: src/synfig/loadcanvas.cpp:1118
+#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
+#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr "<%s> no debería contener nada"
 
 #: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:473
-#: src/synfig/loadcanvas.cpp:1122
+#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
+#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr "<%s>no se encuentra atributo \"value\""
 
-#: src/synfig/loadcanvas.cpp:484 src/synfig/loadcanvas.cpp:1144
+#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
+#: src/synfig/loadcanvas.cpp:1200
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr "Mal valor \"%s\" en <%s>"
 
-#: src/synfig/loadcanvas.cpp:508
+#: src/synfig/loadcanvas.cpp:533
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr "<%s> no se encuentra atributo \"pos\""
 
-#: src/synfig/loadcanvas.cpp:1284
+#: src/synfig/loadcanvas.cpp:1353
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr "Imposible crear  <animated> con el tipo \"%s \""
 
-#: src/synfig/loadcanvas.cpp:1301
+#: src/synfig/loadcanvas.cpp:1375
 msgid "<waypoint> is missing attribute \"time\""
 msgstr "<waypoint> ha perdido el atributo \"time\""
 
-#: src/synfig/loadcanvas.cpp:1314
+#: src/synfig/loadcanvas.cpp:1388
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
@@ -2376,153 +2400,152 @@ msgstr ""
 "Encontrado \"use\" atributo para <waypoint>, pero no estaba vacío. Ignorando "
 "contenidos..."
 
-#: src/synfig/loadcanvas.cpp:1330
+#: src/synfig/loadcanvas.cpp:1404
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr "ID (%s) desconocido referenciado en interpolación"
 
-#: src/synfig/loadcanvas.cpp:1336 src/synfig/loadcanvas.cpp:1348
+#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
 #, c-format
 msgid "<%s> is missing its data"
 msgstr "<%s> esta perdiendo sus datos"
 
-#: src/synfig/loadcanvas.cpp:1365
+#: src/synfig/loadcanvas.cpp:1439
 msgid "Bad data for <waypoint>"
 msgstr "Mal dato para <waypoint>"
 
-#: src/synfig/loadcanvas.cpp:1380
+#: src/synfig/loadcanvas.cpp:1455
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr "Inesperado elemento <%s> después del dato <waypoint>, ignorando..."
 
-#: src/synfig/loadcanvas.cpp:1424 src/synfig/loadcanvas.cpp:1443
-#, c-format
-msgid "\"%s\" not a valid value for attribute \"%s\" in <%s>"
-msgstr "\"%s\" no un valor válido para el atributo \"%s\" en <%s>"
-
-#: src/synfig/loadcanvas.cpp:1504
+#: src/synfig/loadcanvas.cpp:1556
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr "Perdido atributo \"type\" en <%s>"
 
-#: src/synfig/loadcanvas.cpp:1512
+#: src/synfig/loadcanvas.cpp:1565
 #, c-format
 msgid "Bad type in <%s>"
 msgstr "Mal tipo en <%s>"
 
-#: src/synfig/loadcanvas.cpp:1522
+#: src/synfig/loadcanvas.cpp:1577
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr "Error creando el Valor de Nodo <%s> con el tipo '%s'. Refiere a '%s'"
 
-#: src/synfig/loadcanvas.cpp:1531
+#: src/synfig/loadcanvas.cpp:1587
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr "<%s> no acepta este tipo '%s'"
 
-#: src/synfig/loadcanvas.cpp:1557 src/synfig/loadcanvas.cpp:1628
+#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr "'%s' fue ya definido en <%s>"
 
-#: src/synfig/loadcanvas.cpp:1570
+#: src/synfig/loadcanvas.cpp:1625
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr "Atributo '%s' en <%s> hace referencia a un ID desconocido '%s'"
 
-#: src/synfig/loadcanvas.cpp:1579
+#: src/synfig/loadcanvas.cpp:1634
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 "Imposible enlazar \"%s\" al Valor de Nodo \"%s\" (enlace #%d en \"%s\")"
 
-#: src/synfig/loadcanvas.cpp:1603
+#: src/synfig/loadcanvas.cpp:1658
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 "Lanzada excepción desconocida cuando se referencia al Valor de Nodo \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1643
+#: src/synfig/loadcanvas.cpp:1698
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr "El elemento <%s> esta perdiendo su contenido"
 
-#: src/synfig/loadcanvas.cpp:1652
+#: src/synfig/loadcanvas.cpp:1707
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr "Interpretación de '%s' falló"
 
-#: src/synfig/loadcanvas.cpp:1659
+#: src/synfig/loadcanvas.cpp:1714
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 "Imposible conectar el valor de nodo ('%s' de tipo '%s') para enlazar %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1677
+#: src/synfig/loadcanvas.cpp:1732
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr "Lanzada excepción desconocida al trabajar con el elemento \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1747
+#: src/synfig/loadcanvas.cpp:1811
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr "<%s>esta perdiendo el enlace %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1841
-msgid "Unable to create <dynamic_list>"
-msgstr "Imposible crear <dynamic_list>"
+#: src/synfig/loadcanvas.cpp:1861
+msgid "Unable to create <list>"
+msgstr "Imposible crear <list>"
 
-#: src/synfig/loadcanvas.cpp:1993
+#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr "<entry> esta perdiendo su contenido o perdiendo el elemento \"use\""
 
-#: src/synfig/loadcanvas.cpp:2038
+#: src/synfig/loadcanvas.cpp:1998
+msgid "Unable to create <dynamic_list>"
+msgstr "Imposible crear <dynamic_list>"
+
+#: src/synfig/loadcanvas.cpp:2220
 #, c-format
 msgid "Bad data in <%s>"
 msgstr "Mal dato en <%s>"
 
-#: src/synfig/loadcanvas.cpp:2076
+#: src/synfig/loadcanvas.cpp:2283
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr "Esperado un Valor de Nodo. Refiere a '%s'"
 
-#: src/synfig/loadcanvas.cpp:2097
+#: src/synfig/loadcanvas.cpp:2304
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr "Mal ID \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2102
+#: src/synfig/loadcanvas.cpp:2310
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr "Duplicado ID \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2107
+#: src/synfig/loadcanvas.cpp:2316
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr "Lanzada excepción desconocida al añadir el Valor de Nodo \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2142
+#: src/synfig/loadcanvas.cpp:2373
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr "Perdido atributo \"type\" al elemento \"layer\""
 
-#: src/synfig/loadcanvas.cpp:2161
+#: src/synfig/loadcanvas.cpp:2392
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 "Versión de capa instalada es menor que la versión de capa en el fichero"
 
-#: src/synfig/loadcanvas.cpp:2181
+#: src/synfig/loadcanvas.cpp:2415
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr "Entrada <name> para <layer> no está aún soportada. Ignorando..."
 
-#: src/synfig/loadcanvas.cpp:2184
+#: src/synfig/loadcanvas.cpp:2418
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr "Entrada <desc> para <layer> no está aún soportada. Ignorando..."
 
-#: src/synfig/loadcanvas.cpp:2192
+#: src/synfig/loadcanvas.cpp:2426
 msgid "Missing \"name\" attribute for <param>."
 msgstr "Pedido atributo \"name\" para <param>"
 
-#: src/synfig/loadcanvas.cpp:2209
+#: src/synfig/loadcanvas.cpp:2443
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
@@ -2530,191 +2553,195 @@ msgstr ""
 "Encontrado atributo \"use\" para <param>, pero no estaba vacío. Ignorando "
 "contenidos..."
 
-#: src/synfig/loadcanvas.cpp:2214
+#: src/synfig/loadcanvas.cpp:2448
 msgid "Empty use=\"\" value in <param>"
 msgstr "Uso vacío=\"\" valor en <param>"
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2454
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr "Fallo al cargar el sub-lienzo '%s'"
 
-#: src/synfig/loadcanvas.cpp:2222
+#: src/synfig/loadcanvas.cpp:2456
 msgid "Layer rejected canvas link"
 msgstr "La capa rechazó el enlace al lienzo"
 
-#: src/synfig/loadcanvas.cpp:2244
+#: src/synfig/loadcanvas.cpp:2480
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr "ID (%s) desconocido referenciado en parámetro \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2260
+#: src/synfig/loadcanvas.cpp:2496
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr "<param> esta perdiendo su contenido o perdiendo un atributo \"use\"."
 
-#: src/synfig/loadcanvas.cpp:2272 src/synfig/loadcanvas.cpp:2292
+#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
 msgid "Bad data for <param>"
 msgstr "Mal dato para <param>"
 
-#: src/synfig/loadcanvas.cpp:2280
+#: src/synfig/loadcanvas.cpp:2516
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr "La capa '%s' rechazó el valor para el parámetro '%s'"
 
-#: src/synfig/loadcanvas.cpp:2303
+#: src/synfig/loadcanvas.cpp:2539
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr "Inesperado elemento <%s> después del dato <param>, ignorando..."
 
-#: src/synfig/loadcanvas.cpp:2376 src/synfig/loadcanvas.cpp:2384
+#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
 msgid "Canvas with width or height less than one is not allowed"
 msgstr "Lienzo con ancho o alto menor que uno no está permitido"
 
-#: src/synfig/loadcanvas.cpp:2470
+#: src/synfig/loadcanvas.cpp:2710
 msgid "Group canvases cannot have a <defs> section"
 msgstr "Lienzos de grupo no pueden tener una sección <defs>"
 
-#: src/synfig/loadcanvas.cpp:2478
+#: src/synfig/loadcanvas.cpp:2717
+msgid "Inline canvas cannot have a <bones> section"
+msgstr "Lienzo en línea no puede tener una sección <bones>"
+
+#: src/synfig/loadcanvas.cpp:2725
 msgid "Group canvases cannot have keyframes"
 msgstr "Lienzo de un grupo no pueden tener fotogramas clave"
 
-#: src/synfig/loadcanvas.cpp:2490
+#: src/synfig/loadcanvas.cpp:2737
 msgid "Group canvases cannot have metadata"
 msgstr "Lienzos de un grupo no pueden tener meta datos"
 
-#: src/synfig/loadcanvas.cpp:2498
+#: src/synfig/loadcanvas.cpp:2745
 msgid "<meta> must have a name"
 msgstr "<meta> debe tener un nombre"
 
-#: src/synfig/loadcanvas.cpp:2504
+#: src/synfig/loadcanvas.cpp:2751
 msgid "<meta> must have content"
 msgstr "<meta> debe tener contenido"
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:2763
 msgid "blank \"name\" entity"
 msgstr "entidad \"name\" vacía"
 
-#: src/synfig/loadcanvas.cpp:2531
+#: src/synfig/loadcanvas.cpp:2778
 msgid "blank \"desc\" entity"
 msgstr "entidad \"desc\" vacía"
 
-#: src/synfig/loadcanvas.cpp:2546
+#: src/synfig/loadcanvas.cpp:2793
 msgid "blank \"author\" entity"
 msgstr "entidad \"author\" vacía"
 
-#: src/synfig/loadcanvas.cpp:2578
+#: src/synfig/loadcanvas.cpp:2828
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr "Lienzo '%s' tiene sin definir '%s':'%s'"
 
-#: src/synfig/loadcanvas.cpp:2580 src/synfig/valuenode.cpp:353
+#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
 msgid "ValueNode"
 msgstr "Valor de Nodo"
 
-#: src/synfig/loadcanvas.cpp:2580
+#: src/synfig/loadcanvas.cpp:2830
 msgid "ValueNodes"
 msgstr "Valores de Nodos"
 
-#: src/synfig/loadcanvas.cpp:2660 src/synfig/loadcanvas.cpp:2716
+#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
 msgid "Can't open file"
 msgstr "No se puede abrir archivo"
 
-#: src/synfig/main.cpp:102
+#: src/synfig/main.cpp:118
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr "Desajuste en la versión API (LIB:%d, PROG:%d)"
 
-#: src/synfig/main.cpp:107
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr "Desajuste en el tamaño del Vector (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:112
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr "Desajuste en el tamaño del Color (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:117
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr "Desajuste en el tamaño del Lienzo (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:122
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr "Desajuste en el tamaño de la Capa (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:184
+#: src/synfig/main.cpp:207
 msgid "Starting Subsystem \"Modules\""
 msgstr "Comenzando Subsistema \"Modules\""
 
-#: src/synfig/main.cpp:186
+#: src/synfig/main.cpp:209
 msgid "Unable to initialize subsystem \"Module\""
 msgstr "Imposible inicializar el subsistema \"Module\""
 
-#: src/synfig/main.cpp:188
+#: src/synfig/main.cpp:211
 msgid "Starting Subsystem \"Layers\""
 msgstr "Comenzando subsistema \"Layers\""
 
-#: src/synfig/main.cpp:192
+#: src/synfig/main.cpp:215
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr "Imposible inicializar el subsistema \"Layers\""
 
-#: src/synfig/main.cpp:195
+#: src/synfig/main.cpp:218
 msgid "Starting Subsystem \"Targets\""
 msgstr "Comenzando subsistema \"Targets\""
 
-#: src/synfig/main.cpp:200
+#: src/synfig/main.cpp:223
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr "Imposible comenzar el subsistema \"Targets\""
 
-#: src/synfig/main.cpp:203
+#: src/synfig/main.cpp:226
 msgid "Starting Subsystem \"Importers\""
 msgstr "Comenzando subsistema \"Importers\""
 
-#: src/synfig/main.cpp:209
+#: src/synfig/main.cpp:232
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr "Imposible inicializar el subsistema \"Importers\""
 
-#: src/synfig/main.cpp:212
+#: src/synfig/main.cpp:235
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr "Comenzando subsistema \"Cairo Importers\""
 
-#: src/synfig/main.cpp:219
+#: src/synfig/main.cpp:242
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr "Imposible comenzar el subsistema \"Cairo Importers\""
 
-#: src/synfig/main.cpp:222
+#: src/synfig/main.cpp:245
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr "Comenzando subsistema \"ValueNodes\""
 
-#: src/synfig/main.cpp:230
+#: src/synfig/main.cpp:253
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr "Imposible inicializar el subsistema \"ValueNodes\""
 
-#: src/synfig/main.cpp:267 src/synfig/main.cpp:268
+#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
 #, c-format
 msgid "Loading modules from %s"
 msgstr "Cargando módulos desde %s"
 
-#: src/synfig/main.cpp:279
+#: src/synfig/main.cpp:302
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr "Imposible abrir archivo de lista de módulos '%s'"
 
-#: src/synfig/main.cpp:293 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
 msgid "DONE"
 msgstr "HECHO"
 
-#: src/synfig/main.cpp:360 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
 msgid "error"
 msgstr "error"
 
-#: src/synfig/main.cpp:375 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
 msgid "warning"
 msgstr "precaución"
 
-#: src/synfig/main.cpp:390
+#: src/synfig/main.cpp:413
 msgid "info"
 msgstr "información"
 
@@ -2789,146 +2816,146 @@ msgstr "%s no parece ser un archivo de paleta %s válido"
 msgid "%s does not appear to be a supported palette file"
 msgstr "%s no parece ser un archivo de paleta soportado"
 
-#: src/synfig/paramdesc.cpp:64 src/synfig/valuenode.cpp:140
-#: src/synfig/valuenode_composite.cpp:437
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
+#: src/synfig/valuenode_composite.cpp:447
 msgid "Composite"
 msgstr "Componer"
 
-#: src/synfig/paramdesc.cpp:65
+#: src/synfig/paramdesc.cpp:69
 msgid "Straight"
 msgstr "Directo"
 
-#: src/synfig/paramdesc.cpp:66
+#: src/synfig/paramdesc.cpp:70
 msgid "Onto"
 msgstr "Encima"
 
-#: src/synfig/paramdesc.cpp:67
+#: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
 msgstr "Directo Encima"
 
-#: src/synfig/paramdesc.cpp:68
+#: src/synfig/paramdesc.cpp:72
 msgid "Behind"
 msgstr "Debajo"
 
-#: src/synfig/paramdesc.cpp:69
+#: src/synfig/paramdesc.cpp:73
 msgid "Screen"
 msgstr "Pantalla"
 
-#: src/synfig/paramdesc.cpp:70
+#: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
 msgstr "Solapar"
 
-#: src/synfig/paramdesc.cpp:71
+#: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
 msgstr "Clarear fuerte"
 
-#: src/synfig/paramdesc.cpp:72
+#: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
 msgstr "Multiplicar"
 
-#: src/synfig/paramdesc.cpp:73
+#: src/synfig/paramdesc.cpp:77
 msgid "Divide"
 msgstr "Dividir"
 
-#: src/synfig/paramdesc.cpp:74 src/synfig/valuenode.cpp:157
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
 #: src/synfig/valuenode_add.cpp:190
 msgid "Add"
 msgstr "Sumar"
 
-#: src/synfig/paramdesc.cpp:75 src/synfig/valuenode.cpp:147
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
 #: src/synfig/valuenode_subtract.cpp:194
 msgid "Subtract"
 msgstr "Restar"
 
-#: src/synfig/paramdesc.cpp:76
+#: src/synfig/paramdesc.cpp:80
 msgid "Difference"
 msgstr "Diferencia"
 
-#: src/synfig/paramdesc.cpp:77
+#: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
 msgstr "Clarear"
 
-#: src/synfig/paramdesc.cpp:78
+#: src/synfig/paramdesc.cpp:82
 msgid "Darken"
 msgstr "Oscurecer"
 
-#: src/synfig/paramdesc.cpp:80 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
 msgid "Hue"
 msgstr "Tono"
 
-#: src/synfig/paramdesc.cpp:81 src/synfig/valuenode_radialcomposite.cpp:260
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
 #: src/synfig/valuenode_radialcomposite.cpp:266
 msgid "Saturation"
 msgstr "Saturación"
 
-#: src/synfig/paramdesc.cpp:82
+#: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
 msgstr "Luminancia"
 
-#: src/synfig/paramdesc.cpp:83
+#: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
 msgstr "Transparentar"
 
-#: src/synfig/paramdesc.cpp:84
+#: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
 msgstr "Clarear Alpha."
 
-#: src/synfig/paramdesc.cpp:85
+#: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
 msgstr "Oscurecer transp."
 
-#: src/synfig/render.cpp:246 src/synfig/render.cpp:247
-#: src/synfig/render.cpp:301 src/synfig/render.cpp:302
-#: src/synfig/render.cpp:536 src/synfig/render.cpp:537
-#: src/synfig/render.cpp:563 src/synfig/render.cpp:564
+#: src/synfig/render.cpp:248 src/synfig/render.cpp:249
+#: src/synfig/render.cpp:303 src/synfig/render.cpp:304
+#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
+#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
 msgid "Target panic"
 msgstr "Pánico en Formato"
 
-#: src/synfig/savecanvas.cpp:290
+#: src/synfig/savecanvas.cpp:359
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr "Desconocido valor (%s), ¡no puedo crear una representación XML!"
 
-#: src/synfig/savecanvas.cpp:543
+#: src/synfig/savecanvas.cpp:674 src/synfig/savecanvas.cpp:699
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 "Desconocido Tipo de Valor de Nodo (%s), no puedo crear una representación XML"
 
-#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:185
+#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
 #: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:281
 msgid "Target initialization failure"
 msgstr "Fallo de inicialización de formato"
 
-#: src/synfig/target_cairo.cpp:146
+#: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
 msgstr "Fallo del Renderizado de Fotograma"
 
-#: src/synfig/target_cairo.cpp:155 src/synfig/target_scanline.cpp:258
-#: src/synfig/target_scanline.cpp:405
+#: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:260
+#: src/synfig/target_scanline.cpp:407
 msgid "Unable to put surface on target"
 msgstr "Imposible poner superficie en el objetivo"
 
-#: src/synfig/target_cairo.cpp:162
+#: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
 msgstr "Método de renderizado no soportado"
 
-#: src/synfig/target_cairo.cpp:169 src/synfig/target_cairo_tile.cpp:248
-#: src/synfig/target_scanline.cpp:418 src/synfig/target_tile.cpp:396
+#: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
+#: src/synfig/target_scanline.cpp:420 src/synfig/target_tile.cpp:398
 msgid "Caught string :"
 msgstr "Cadena cogida :"
 
-#: src/synfig/target_cairo.cpp:174 src/synfig/target_cairo_tile.cpp:253
-#: src/synfig/target_scanline.cpp:423 src/synfig/target_tile.cpp:401
+#: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
+#: src/synfig/target_scanline.cpp:425 src/synfig/target_tile.cpp:403
 msgid "Ran out of memory (Probably a bug)"
 msgstr "Sin memoria (Probablemente un fallo)"
 
-#: src/synfig/target_cairo.cpp:179 src/synfig/target_cairo_tile.cpp:258
-#: src/synfig/target_scanline.cpp:428 src/synfig/target_tile.cpp:406
+#: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
+#: src/synfig/target_scanline.cpp:430 src/synfig/target_tile.cpp:408
 msgid "Caught unknown error, rethrowing..."
 msgstr "Cogido error desconocido, relanzando..."
 
-#: src/synfig/target_cairo.cpp:190
+#: src/synfig/target_cairo.cpp:201
 msgid "Cairo Surface bad status"
 msgstr "Mal estatus en Superficie Cairo"
 
@@ -2936,24 +2963,24 @@ msgstr "Mal estatus en Superficie Cairo"
 msgid "Bad Tile Size"
 msgstr "Mal tamaño de enlosado"
 
-#: src/synfig/target_cairo_tile.cpp:142 src/synfig/target_cairo_tile.cpp:240
-#: src/synfig/target_scanline.cpp:203 src/synfig/target_scanline.cpp:249
-#: src/synfig/target_scanline.cpp:348 src/synfig/target_scanline.cpp:396
+#: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
+#: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:251
+#: src/synfig/target_scanline.cpp:350 src/synfig/target_scanline.cpp:398
 #: src/synfig/target_tile.cpp:225
 msgid "Accelerated Renderer Failure"
 msgstr "Fallo de Renderizado Acelerado"
 
-#: src/synfig/target_cairo_tile.cpp:150
+#: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
 msgstr "Mala superficie: %s"
 
-#: src/synfig/target_cairo_tile.cpp:156 src/synfig/target_tile.cpp:179
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:179
 #: src/synfig/target_tile.cpp:245
 msgid "add_tile():Unable to put surface on target"
 msgstr "add_tile():Imposible poner la superficie en el objetivo"
 
-#: src/synfig/target_cairo_tile.cpp:211
+#: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
 msgstr "No puedo comenzar el fotograma"
 
@@ -2980,277 +3007,317 @@ msgstr ""
 "desconocido! Asumiendo SEGUNDOS"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:276 src/synfig/value.cpp:308 src/synfig/value.cpp:360
+#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
 msgid "bool"
 msgstr "Booleano"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:277 src/synfig/value.cpp:310 src/synfig/value.cpp:358
+#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
 msgid "integer"
 msgstr "Entero"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:278 src/synfig/value.cpp:312
+#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
 msgid "angle"
 msgstr "Ángulo"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:279 src/synfig/value.cpp:314 src/synfig/value.cpp:352
+#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
 msgid "time"
 msgstr "Tiempo"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:280 src/synfig/value.cpp:316 src/synfig/value.cpp:355
+#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
 msgid "real"
 msgstr "Real"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:281 src/synfig/value.cpp:318
+#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
 msgid "vector"
 msgstr "Vector"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:282 src/synfig/value.cpp:320
+#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
 msgid "color"
 msgstr "Color"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:283 src/synfig/value.cpp:322
+#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
 msgid "segment"
 msgstr "Segmento"
 
-#: src/synfig/value.cpp:284
+#: src/synfig/value.cpp:378
 msgid "bline_point"
 msgstr "Punto de Spline"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:285 src/synfig/value.cpp:326
+#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
+msgid "matrix"
+msgstr "matriz"
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
+msgid "bone_weight_pair"
+msgstr "par_hueso_peso"
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
 msgid "width_point"
 msgstr "width_point"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:286 src/synfig/value.cpp:328
+#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
 msgid "dash_item"
 msgstr "elemento_guión"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:287 src/synfig/value.cpp:330
+#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
 msgid "list"
 msgstr "Lista"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:288 src/synfig/value.cpp:332
+#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
 msgid "canvas"
 msgstr "Lienzo"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:289 src/synfig/value.cpp:334
+#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
 msgid "string"
 msgstr "Cadena"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:290 src/synfig/value.cpp:336
+#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
 msgid "gradient"
 msgstr "Gradiente"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:291 src/synfig/value.cpp:338
+#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
+msgid "bone_object"
+msgstr "objeto_hueso"
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
+msgid "bone_valuenode"
+msgstr "valor_de_nodo_hueso"
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
 msgid "nil"
 msgstr "nulo"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:324
+#: src/synfig/value.cpp:422
 msgid "spline_point"
 msgstr "punto_spline"
 
-#: src/synfig/valuenode.cpp:141 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
 msgid "Radial Composite"
 msgstr "Composición Radial"
 
-#: src/synfig/valuenode.cpp:142 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr "Referencia"
 
-#: src/synfig/valuenode.cpp:144 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr "Tangente de Segmento"
 
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr "Vértice de Segmento"
 
-#: src/synfig/valuenode.cpp:146 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr "Bandas"
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr "Dos Tonos"
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_dynamiclist.cpp:755
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
 msgid "Dynamic List"
 msgstr "Lista Dinámica"
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr "Rotar Gradiente"
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr "Seno"
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
 msgid "Timed Swap"
 msgstr "Intercambio Temporizado"
 
-#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr "Repetir Gradiente"
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr "Exponencial"
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
 msgid "Spline Tangent"
 msgstr "Tangente de Spline"
 
-#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr "Vértice de Spline"
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
 msgid "Range"
 msgstr "Rango"
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
 #: src/synfig/valuenode_switch.cpp:163
 msgid "Switch"
 msgstr "Interruptor"
 
-#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr "Coseno"
 
-#: src/synfig/valuenode.cpp:164
+#: src/synfig/valuenode.cpp:170
 msgid "aTan2"
 msgstr "aTan2"
 
-#: src/synfig/valuenode.cpp:165
+#: src/synfig/valuenode.cpp:171
 msgid "Reverse Tangent"
 msgstr "Revertir Tangente"
 
-#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr "Recíproco"
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
 msgid "Integer"
 msgstr "Entero"
 
-#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr "Espesor de Contorno"
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
 msgid "Vector Angle"
 msgstr "Ángulo de Vector"
 
-#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
 msgid "Vector Length"
 msgstr "Longitud de Vector"
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
 msgid "Vector X"
 msgstr "X de Vector"
 
-#: src/synfig/valuenode.cpp:176 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
 msgid "Vector Y"
 msgstr "Y de Vector"
 
-#: src/synfig/valuenode.cpp:177
+#: src/synfig/valuenode.cpp:183
 msgid "Gradient Color"
 msgstr "Gradiente de color"
 
-#: src/synfig/valuenode.cpp:178
+#: src/synfig/valuenode.cpp:184
 msgid "Dot Product"
 msgstr "Producto Escalar"
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
 msgid "Time String"
 msgstr "Cadena de Tiempo"
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_real.cpp:161
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
 #: src/synfig/valuenode_realstring.cpp:175
 msgid "Real"
 msgstr "Real"
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
 msgid "Real String"
 msgstr "Cadena de Real"
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
 msgid "Joined List"
 msgstr "Lista Unida"
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:189
 msgid "Angle String"
 msgstr "Cadena de Ángulo"
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:190
 msgid "Int String"
 msgstr "Cadena de Entero"
 
-#: src/synfig/valuenode.cpp:185
+#: src/synfig/valuenode.cpp:191
 msgid "Logarithm"
 msgstr "Logaritmo"
 
-#: src/synfig/valuenode.cpp:187
+#: src/synfig/valuenode.cpp:192
 msgid "Greyed"
 msgstr "Inalterable"
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr "Potencia"
 
-#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr "Comparar"
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195
 msgid "Not"
 msgstr "Negado"
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196
 msgid "And"
 msgstr "Y"
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197
 msgid "Or"
 msgstr "O"
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:199
+msgid "Bone Influence"
+msgstr "Influencia de Hueso"
+
+#: src/synfig/valuenode.cpp:200
+msgid "Bone"
+msgstr "Hueso"
+
+#: src/synfig/valuenode.cpp:201
+msgid "Root Bone"
+msgstr "Hueso Raíz"
+
+#: src/synfig/valuenode.cpp:202
+msgid "Static List"
+msgstr "Lista Estática"
+
+#: src/synfig/valuenode.cpp:203
+msgid "Bone Weight Pair"
+msgstr "Par Hueso-Peso"
+
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
 msgid "WPList"
 msgstr "Lista de Espesores"
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:206
 msgid "DIList"
 msgstr "Lista de Elementos Guión"
 
-#: src/synfig/valuenode.cpp:233
+#: src/synfig/valuenode.cpp:241
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr "Mal tipo: Valor de Nodo %s no acepta el tipo %s"
 
-#: src/synfig/valuenode.cpp:513
+#: src/synfig/valuenode.cpp:540
 msgid "Placeholder"
 msgstr "Casilla"
 
-#: src/synfig/valuenode.h:61
+#: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr "%s:%d mal tipo para %s: necesito %s pero obtengo %s"
@@ -3317,32 +3384,32 @@ msgstr "Enlace2"
 msgid "Second operand of the AND operation"
 msgstr "El segundo operando de la operación Y"
 
-#: src/synfig/valuenode_animated.cpp:355 src/synfig/valuenode_animated.cpp:379
-#: src/synfig/valuenode_animated.cpp:703 src/synfig/valuenode_animated.cpp:721
-#: src/synfig/valuenode_animated.cpp:801 src/synfig/valuenode_animated.cpp:820
+#: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
+#: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
+#: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr "Un punto de interpolación existe actualmente en este punto de tiempo"
 
-#: src/synfig/valuenode_animated.cpp:1134
+#: src/synfig/valuenode_animated.cpp:1173
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr "%s: No puede usar %s en un Valor de Nodo animado"
 
-#: src/synfig/valuenode_animated.cpp:1169
+#: src/synfig/valuenode_animated.cpp:1208
 msgid "Animated"
 msgstr "Animado"
 
-#: src/synfig/valuenode_bline.cpp:977 src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
 #: src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in list"
 msgstr "Sin entradas en la lista"
 
-#: src/synfig/valuenode_bline.cpp:980 src/synfig/valuenode_dynamiclist.cpp:664
+#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
 #: src/synfig/valuenode_wplist.cpp:339
 msgid "No entries in ret_list"
 msgstr "Sin entradas en ret_list"
 
-#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_bline.cpp:1023
+#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
 #, c-format
 msgid "Vertex %03d"
 msgstr "Vértice %03d"
@@ -3362,7 +3429,7 @@ msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr "La posición de la tangente enlazada al spline (0,1]"
 
 #: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:584
 #: src/synfig/valuenode_gradientrotate.cpp:169
 #: src/synfig/valuenode_linear.cpp:213
 msgid "Offset"
@@ -3416,192 +3483,188 @@ msgstr "Escala del espesor"
 msgid "When checked, the width is spline length based"
 msgstr "Cuando se marca, el espesor se basa en la longitud del spline"
 
-#: src/synfig/valuenode_composite.cpp:219
+#: src/synfig/valuenode_composite.cpp:229
 msgid "Bad type for composite"
 msgstr "Mal tipo para componer"
 
-#: src/synfig/valuenode_composite.cpp:464
+#: src/synfig/valuenode_composite.cpp:474
 msgid "Red"
 msgstr "Rojo"
 
-#: src/synfig/valuenode_composite.cpp:465
+#: src/synfig/valuenode_composite.cpp:475
 msgid "The red component of the color"
 msgstr "El componente rojo del color"
 
-#: src/synfig/valuenode_composite.cpp:468
+#: src/synfig/valuenode_composite.cpp:478
 msgid "Green"
 msgstr "Verde"
 
-#: src/synfig/valuenode_composite.cpp:469
+#: src/synfig/valuenode_composite.cpp:479
 msgid "The green component of the color"
 msgstr "El componente verde del color"
 
-#: src/synfig/valuenode_composite.cpp:472
+#: src/synfig/valuenode_composite.cpp:482
 msgid "Blue"
 msgstr "Azul"
 
-#: src/synfig/valuenode_composite.cpp:473
+#: src/synfig/valuenode_composite.cpp:483
 msgid "The blue component of the color"
 msgstr "El componente azul del color"
 
-#: src/synfig/valuenode_composite.cpp:476
+#: src/synfig/valuenode_composite.cpp:486
 msgid "Alpha"
 msgstr "Alfa"
 
-#: src/synfig/valuenode_composite.cpp:477
+#: src/synfig/valuenode_composite.cpp:487
 msgid "The alpha of the color"
 msgstr "El alfa del color"
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:492
 msgid "Vertex 1"
 msgstr "Vértice 1"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:493
 msgid "The first vertex of the segment"
 msgstr "El primer vértice del segmento"
 
-#: src/synfig/valuenode_composite.cpp:486
-#: src/synfig/valuenode_composite.cpp:526
+#: src/synfig/valuenode_composite.cpp:496
+#: src/synfig/valuenode_composite.cpp:536
 msgid "Tangent 1"
 msgstr "Tangente 1"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:497
 msgid "The first tangent of the segment"
 msgstr "La primera tangente del segmento"
 
-#: src/synfig/valuenode_composite.cpp:490
+#: src/synfig/valuenode_composite.cpp:500
 msgid "Vertex 2"
 msgstr "Vértice 2"
 
-#: src/synfig/valuenode_composite.cpp:491
+#: src/synfig/valuenode_composite.cpp:501
 msgid "The second vertex of the segment"
 msgstr "El segundo vértice del segmento"
 
-#: src/synfig/valuenode_composite.cpp:494
-#: src/synfig/valuenode_composite.cpp:530
+#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:540
 msgid "Tangent 2"
 msgstr "Tangente 2"
 
-#: src/synfig/valuenode_composite.cpp:495
+#: src/synfig/valuenode_composite.cpp:505
 msgid "The second tangent of the segment"
 msgstr "La segunda tangente del segmento"
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:510
 msgid "X-Axis"
 msgstr "El eje X"
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:511
 msgid "The X-Axis component of the vector"
 msgstr "La componente X del vector"
 
-#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:514
 msgid "Y-Axis"
 msgstr "El eje Y"
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:515
 msgid "The Y-Axis component of the vector"
 msgstr "La componente Y del vector"
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:520
 msgid "Vertex"
 msgstr "Vértice"
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:521
 msgid "The vertex of the Spline Point"
 msgstr "El vértice del punto de spline"
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:525
 msgid "The width of the Spline Point"
 msgstr "El espesor del punto de spline"
 
-#: src/synfig/valuenode_composite.cpp:519
+#: src/synfig/valuenode_composite.cpp:529
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 "Define la posición de apagado y encendido en relación con los puntos vecinos"
 
-#: src/synfig/valuenode_composite.cpp:522
+#: src/synfig/valuenode_composite.cpp:532
 msgid "Split"
 msgstr "Separar"
 
-#: src/synfig/valuenode_composite.cpp:523
+#: src/synfig/valuenode_composite.cpp:533
 msgid "When checked, tangents are independent"
 msgstr "Cuando está marcado, las tangentes son independientes"
 
-#: src/synfig/valuenode_composite.cpp:527
+#: src/synfig/valuenode_composite.cpp:537
 msgid "The first tangent of the Spline Point"
 msgstr "La primera tangente del punto de spline"
 
-#: src/synfig/valuenode_composite.cpp:531
+#: src/synfig/valuenode_composite.cpp:541
 msgid "The second tangent of the Spline Point"
 msgstr "La segunda tangente del punto de spline"
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:547
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr "La posición [0,1] del Punto de Espesor sobre el spline"
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:551
 msgid "The width of the Width Point"
 msgstr "El espesor del Punto de Espesor"
 
-#: src/synfig/valuenode_composite.cpp:544
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_composite.cpp:554
+#: src/synfig/valuenode_composite.cpp:594
 msgid "Side Type Before"
 msgstr "Tipo de Lado anterior"
 
-#: src/synfig/valuenode_composite.cpp:545
 #: src/synfig/valuenode_composite.cpp:555
+#: src/synfig/valuenode_composite.cpp:565
 msgid "Defines the interpolation type of the width point"
 msgstr "Define el tipo de interpolación del punto de espesor"
 
-#: src/synfig/valuenode_composite.cpp:547
 #: src/synfig/valuenode_composite.cpp:557
+#: src/synfig/valuenode_composite.cpp:567
 msgid "Interpolate"
 msgstr "Interpolar"
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:593
+#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:603
 msgid "Side Type After"
 msgstr "Tipo de Lado posterior"
 
-#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:574
 msgid "Lower Boundary"
 msgstr "Límite inferior"
 
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:575
 msgid "Defines the position at start of the Spline"
 msgstr "Define la posición al comienzo del Spline"
 
-#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:578
 msgid "Upper Boundary"
 msgstr "Límite Superior"
 
-#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:579
 msgid "Defines the position at end of the Spline"
 msgstr "Define la posición al final del Spline"
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:585
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 "El desplazamiento del elemento guión respecto al anterior sobre el Spline"
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:589
 #: src/synfig/valuenode_timedswap.cpp:260
 msgid "Length"
 msgstr "Longitud"
 
-#: src/synfig/valuenode_composite.cpp:580
+#: src/synfig/valuenode_composite.cpp:590
 msgid "The length of the Dash Item"
 msgstr "La longitud del elemento guión"
 
-#: src/synfig/valuenode_composite.cpp:585
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:595
+#: src/synfig/valuenode_composite.cpp:604
 msgid "Defines the side type of the dash item"
 msgstr "Define el tipo de lado para el elemento guión"
 
-#: src/synfig/valuenode_const.cpp:127
-msgid "Static"
-msgstr "Estático"
-
 #: src/synfig/valuenode_compare.cpp:168
 msgid "The left side of the comparison"
 msgstr "El lado izquierdo de la comparación"
@@ -3666,14 +3729,14 @@ msgstr "Valor final del índice"
 msgid "Amount increment of the index"
 msgstr "Cantidad de incremento del índice"
 
-#: src/synfig/valuenode_dynamiclist.cpp:655
+#: src/synfig/valuenode_dynamiclist.cpp:661
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 "Tipo de lista/tipo de elemento mal emparejado, descartando el "
 "desemparejamiento "
 
-#: src/synfig/valuenode_dynamiclist.cpp:703
-#: src/synfig/valuenode_dynamiclist.cpp:957
+#: src/synfig/valuenode_dynamiclist.cpp:709
+#: src/synfig/valuenode_dynamiclist.cpp:964
 #, c-format
 msgid "Item %03d"
 msgstr "Elemento %03d"
@@ -4006,8 +4069,8 @@ msgid "Intersection"
 msgstr "Intersección"
 
 #: src/synfig/valuenode_step.cpp:213
-msgid "Value that define whether the step is centerd on the value [0,1]"
-msgstr "Valor que define si el paso es centrado sobre el valor [0,1]"
+msgid "Value that define whether the step is centered on the value [0,1]"
+msgstr "Valor que definine si el paso es centrado sobre el valor [0,1]"
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
 msgid "Color 1"
@@ -4146,62 +4209,62 @@ msgstr "El vector sobre el que se extrae la coordenada Y"
 msgid "WidthPoint %03d"
 msgstr "Punto de Espesor %03d"
 
-#: src/tool/main.cpp:133
+#: src/tool/main.cpp:140
 msgid "FATAL: Synfig Version Mismatch"
 msgstr "FATAL: Versión de Synfig discordante"
 
-#: src/tool/main.cpp:169
+#: src/tool/main.cpp:176
 msgid "Settings"
 msgstr "Preferencias"
 
-#: src/tool/main.cpp:171
+#: src/tool/main.cpp:178
 msgid "Specify output target (Default: PNG)"
 msgstr "Especificar formato de salida (Por defecto PNG)"
 
-#: src/tool/main.cpp:172
+#: src/tool/main.cpp:179
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 "Establecer el ancho de la imagen en pixels (Usar cero para el de defecto del "
 "fichero)"
 
-#: src/tool/main.cpp:173
+#: src/tool/main.cpp:180
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 "Establecer el alto de la imagen en pixels (Usar cero para el de defecto del "
 "archivo)"
 
-#: src/tool/main.cpp:174
+#: src/tool/main.cpp:181
 msgid "Set the diagonal size of image window (Span)"
 msgstr "Establecer el tamaño de la diagonal del a ventana de la imagen (Span)"
 
-#: src/tool/main.cpp:175
+#: src/tool/main.cpp:182
 msgid "Set antialias amount for parametric renderer."
 msgstr "Establecer el valor de antialias para el renderizado paramétrico"
 
-#: src/tool/main.cpp:176
+#: src/tool/main.cpp:183
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 "Especificar la calidad de la imagen para el muestreo acelerado (por defecto: "
 "%d)"
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:184
 msgid "Gamma"
 msgstr "Gamma"
 
-#: src/tool/main.cpp:178
+#: src/tool/main.cpp:185
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr "Habilitar muestreo multihilo usando un número de hilos especificado."
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:186
 msgid "Specify input filename"
 msgstr "Especificar nombre del archivo de entrada"
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:187
 msgid "Specify output filename"
 msgstr "Especificar nombre del archivo de salida"
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:188
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
@@ -4209,142 +4272,142 @@ msgstr ""
 "Cadena separadora para secuencia de imágenes (Usar dobles comillas si quiere "
 "usar espacios)"
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:189
 msgid "Render the canvas with the given id instead of the root."
 msgstr "Mostrar el lienzo con el ID dado en lugar del raíz."
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:190
 msgid "Set the frame rate"
 msgstr "Establecer el ratio de fotogramas"
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:191
 msgid "Render a single frame at <seconds>"
 msgstr "Mostrar un solo fotograma en <segundos>"
 
-#: src/tool/main.cpp:185 src/tool/main.cpp:186
+#: src/tool/main.cpp:192 src/tool/main.cpp:193
 msgid "Set the starting time"
 msgstr "Establecer el tiempo de comienzo"
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:194
 msgid "Set the ending time"
 msgstr "Establecer el tiempo de fin"
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:195
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr "Establecer la resolución física (puntos por pulgada)"
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:196
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr "Establecer la resolución física en X (puntos por pulgada)"
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:197
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr "Establecer la resolución física en Y (puntos por pulgada)"
 
-#: src/tool/main.cpp:193
+#: src/tool/main.cpp:200
 msgid "Switch options"
 msgstr "Opciones "
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:202
 msgid "Output verbosity level"
 msgstr "Nivel de información de salida"
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:203
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr "Modo silencioso (sin mostrar el progreso/tiempo restante)"
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:204
 msgid "Print benchmarks"
 msgstr "Imprimir récords"
 
-#: src/tool/main.cpp:200
+#: src/tool/main.cpp:207
 msgid "Misc options"
 msgstr "Opciones varias"
 
-#: src/tool/main.cpp:202
+#: src/tool/main.cpp:209
 msgid "Append layers in <filename> to composition"
 msgstr "Añade las capas en <filename> a la composición"
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:210
 msgid "Print out specified details of the root canvas"
 msgstr "Imprime detalles específicos del lienzo raíz"
 
-#: src/tool/main.cpp:204 src/tool/main.cpp:230
+#: src/tool/main.cpp:211 src/tool/main.cpp:237
 msgid "Print out the list of exported canvases in the composition"
 msgstr "Lista los lienzos exportados en la composición"
 
-#: src/tool/main.cpp:207
+#: src/tool/main.cpp:214
 msgid "FFMPEG target options"
 msgstr "Opciones de objetivo FFMPEG"
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:216
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr "Establece el códec para el vídeo. Ver --ffmpeg-video-codecs"
 
-#: src/tool/main.cpp:210
+#: src/tool/main.cpp:217
 msgid "Set the bitrate for the output video"
 msgstr "Establece el ratio de bits para salida de vídeo"
 
-#: src/tool/main.cpp:213
+#: src/tool/main.cpp:220
 msgid "Synfig info options"
 msgstr "Opciones de información de Synfig"
 
-#: src/tool/main.cpp:215
+#: src/tool/main.cpp:222
 msgid "Produce this help message"
 msgstr "Produce este mensaje de ayuda"
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:223
 msgid "Print out the list of available importers"
 msgstr "Imprimir la lista de importadores disponibles"
 
-#: src/tool/main.cpp:217
+#: src/tool/main.cpp:224
 msgid "Print out misc build information"
 msgstr "Imprimir información de construcción miscelánea"
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:225
 msgid "Print out the list of available layers"
 msgstr "Imprimir la lista de capas disponibles"
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:226
 msgid "Print out layer's description, parameter info, etc."
 msgstr "Imprimir la descripión de la capa, información del parámetro, etc."
 
-#: src/tool/main.cpp:220
+#: src/tool/main.cpp:227
 msgid "Print out license information"
 msgstr "Imprimir información de la licencia"
 
-#: src/tool/main.cpp:221
+#: src/tool/main.cpp:228
 msgid "Print out the list of loaded modules"
 msgstr "Imprimir la lista de módulos cargados"
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:229
 msgid "Print out the list of available targets"
 msgstr "Imprimir la lista de formatos disponibles"
 
-#: src/tool/main.cpp:223
+#: src/tool/main.cpp:230
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 "Imprimir la lista de códigos de vídeo disponibles cuando se codifica con "
 "FFMPEG"
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:231
 msgid "Print out the list of available ValueNodes"
 msgstr "Imprimir la lista de Valores de Nodo disponibles"
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:232
 msgid "Print out version information"
 msgstr "Imprimir información de la versión"
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:241
 msgid "Synfig debug flags"
 msgstr "Banderas de depuración de Synfig"
 
-#: src/tool/main.cpp:236
+#: src/tool/main.cpp:243
 msgid "Test GUID generation"
 msgstr "Probar la generación del GUID"
 
-#: src/tool/main.cpp:237
+#: src/tool/main.cpp:244
 msgid "Test signal implementation"
 msgstr "Probar la implementación de la señal"
 
@@ -4408,139 +4471,139 @@ msgstr "segundos."
 msgid "Done."
 msgstr "Hecho."
 
-#: src/tool/optionsprocessor.cpp:113
+#: src/tool/optionsprocessor.cpp:114
 msgid "Unrecognised canvas variable: "
 msgstr "Variable de lienzo no reconocida:"
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:115
 msgid "Recognized variables are:"
 msgstr "Las variables reconocidas son:"
 
-#: src/tool/optionsprocessor.cpp:131
+#: src/tool/optionsprocessor.cpp:132
 msgid "verbosity set to "
 msgstr "Verbosidad establecida a"
 
-#: src/tool/optionsprocessor.cpp:146
+#: src/tool/optionsprocessor.cpp:147
 msgid "Threads set to "
 msgstr "Hilos establecidos a"
 
-#: src/tool/optionsprocessor.cpp:224
+#: src/tool/optionsprocessor.cpp:225
 msgid "Layer Name: "
 msgstr "Nombre de la Capa:"
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:226
 msgid "Localized Layer Name: "
 msgstr "Nombre Local de la Capa:"
 
-#: src/tool/optionsprocessor.cpp:227
+#: src/tool/optionsprocessor.cpp:228
 msgid "Version: "
 msgstr "Versión:"
 
-#: src/tool/optionsprocessor.cpp:232
+#: src/tool/optionsprocessor.cpp:233
 msgid "param - "
 msgstr "parámetro - "
 
-#: src/tool/optionsprocessor.cpp:234
+#: src/tool/optionsprocessor.cpp:235
 msgid " (not critical)"
 msgstr "(no crítico)"
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:236
 msgid "\tLocalized Name: "
 msgstr "»Nombre Local: "
 
-#: src/tool/optionsprocessor.cpp:239
+#: src/tool/optionsprocessor.cpp:240
 msgid "\tDescription: "
 msgstr "»Descripción: "
 
-#: src/tool/optionsprocessor.cpp:243
+#: src/tool/optionsprocessor.cpp:244
 msgid "\tHint: "
 msgstr "»Pista: "
 
-#: src/tool/optionsprocessor.cpp:309
+#: src/tool/optionsprocessor.cpp:310
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr "Antialias establecido a %d (%d muestras por punto)"
 
-#: src/tool/optionsprocessor.cpp:316
+#: src/tool/optionsprocessor.cpp:317
 #, c-format
 msgid "Span set to %d units"
 msgstr "Establecer la envergadura a %d unidades"
 
-#: src/tool/optionsprocessor.cpp:324
+#: src/tool/optionsprocessor.cpp:325
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr "Establecer el ratio de fotogramas a %d fotogramas por segundo"
 
-#: src/tool/optionsprocessor.cpp:334
+#: src/tool/optionsprocessor.cpp:335
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr "Establecer resolución física a %f dpi"
 
-#: src/tool/optionsprocessor.cpp:343
+#: src/tool/optionsprocessor.cpp:344
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr "Establecida resolución X física a %f dpi"
 
-#: src/tool/optionsprocessor.cpp:352
+#: src/tool/optionsprocessor.cpp:353
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr "Establecida resolución Y física a %f dpi"
 
-#: src/tool/optionsprocessor.cpp:379
+#: src/tool/optionsprocessor.cpp:380
 msgid "Rendering frame at "
 msgstr "Renderizando fotograma en"
 
-#: src/tool/optionsprocessor.cpp:385
+#: src/tool/optionsprocessor.cpp:386
 msgid "Gamma argument is currently ignored"
 msgstr "El argumento Gamma is ignorado de momento"
 
-#: src/tool/optionsprocessor.cpp:400
+#: src/tool/optionsprocessor.cpp:401
 #, c-format
 msgid "Resolution set to %dx%d"
 msgstr "Establecida resolución a %dx%d"
 
-#: src/tool/optionsprocessor.cpp:417
+#: src/tool/optionsprocessor.cpp:418
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr "Ambos parámetros códec de vídeo y ratio de bits son necesarios."
 
-#: src/tool/optionsprocessor.cpp:437
+#: src/tool/optionsprocessor.cpp:438
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr "Códec de vídeo \"%s\" no está soportado."
 
-#: src/tool/optionsprocessor.cpp:440
+#: src/tool/optionsprocessor.cpp:441
 #, c-format
 msgid "Target video codec set to %s"
 msgstr "Establecido el códec de vídeo del objetivo a %s"
 
-#: src/tool/optionsprocessor.cpp:446
+#: src/tool/optionsprocessor.cpp:447
 #, c-format
 msgid "Target bitrate set to %dk"
 msgstr "Establecido el ratio de bits a %dk"
 
-#: src/tool/optionsprocessor.cpp:452
+#: src/tool/optionsprocessor.cpp:453
 #, c-format
 msgid "Output file sequence separator set to %s"
 msgstr "Separador de secuencia del fichero de salida establecido a %s"
 
-#: src/tool/optionsprocessor.cpp:487
+#: src/tool/optionsprocessor.cpp:488
 #, c-format
 msgid "Unable to load '%s'."
 msgstr "Imposible cargar '%s'."
 
-#: src/tool/optionsprocessor.cpp:494
+#: src/tool/optionsprocessor.cpp:495
 msgid "No input file provided."
 msgstr "No se ha suministrado fichero de entrada."
 
-#: src/tool/optionsprocessor.cpp:499
+#: src/tool/optionsprocessor.cpp:500
 msgid "Target set to "
 msgstr "Objetivo establecido a "
 
-#: src/tool/optionsprocessor.cpp:513
+#: src/tool/optionsprocessor.cpp:514
 msgid "Quality set to "
 msgstr "Calidad establecida a "
 
-#: src/tool/optionsprocessor.cpp:532
+#: src/tool/optionsprocessor.cpp:533
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
@@ -4549,7 +4612,7 @@ msgstr ""
 "Imposible encontrar lienzo con ID \"%s\" en %s.\n"
 "Descartando trabajo..."
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:539
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
@@ -4558,11 +4621,11 @@ msgstr ""
 "Nombre de lienzo invalido \"%s\" en %s.\n"
 "Descartando trabajo..."
 
-#: src/tool/optionsprocessor.cpp:557
+#: src/tool/optionsprocessor.cpp:558
 msgid "Unable to append '"
 msgstr "Imposible concatenear '"
 
-#: src/tool/optionsprocessor.cpp:571
+#: src/tool/optionsprocessor.cpp:572
 msgid "Appended contents of "
 msgstr "Concatenado el contenido de"
 
diff --git a/po/eu.gmo b/po/eu.gmo
new file mode 100644
index 0000000..13e9014
Binary files /dev/null and b/po/eu.gmo differ
diff --git a/po/ja_JP.po b/po/eu.po
similarity index 67%
copy from po/ja_JP.po
copy to po/eu.po
index 280f206..c9517e8 100644
--- a/po/ja_JP.po
+++ b/po/eu.po
@@ -1,96 +1,97 @@
-# translation of cs.po to Japanese (Japan)
+# Translation file for Synfig Core package.
 # Copyright (C) 2013 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
-# cyaoeu <cyaoeu at gmail.com>, 2013
+# alexgabilondo <alexgabi at openmailbox.org>, 2013
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2013-05-09 18:34+0200\n"
-"PO-Revision-Date: 2013-05-02 12:39+0000\n"
-"Last-Translator: genete <genetita at gmail.com>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
-"Language: ja_JP\n"
+"POT-Creation-Date: 2013-10-25 17:57+0700\n"
+"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
+"Language-Team: Basque (http://www.transifex.com/projects/p/synfig/language/"
+"eu/)\n"
+"Language: eu\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:58
+#: src/modules/mod_example/filledrect.cpp:59
 msgid "Filled Rectangle"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:59
+#: src/modules/mod_example/filledrect.cpp:60
 #: src/modules/mod_example/metaballs.cpp:58
 #: src/modules/mod_example/simplecircle.cpp:58
 msgid "Example"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:120
+#: src/modules/mod_example/filledrect.cpp:131
 #: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:523
-#: src/modules/lyr_std/shade.cpp:564
-#: src/modules/mod_geometry/checkerboard.cpp:122
-#: src/modules/mod_geometry/circle.cpp:128
-#: src/modules/mod_geometry/rectangle.cpp:125 src/synfig/layer_shape.cpp:1193
-#: src/synfig/layer_solidcolor.cpp:102 src/synfig/paramdesc.cpp:79
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:620
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
 msgid "Color"
-msgstr "色彩"
+msgstr "Kolorea"
 
-#: src/modules/mod_example/filledrect.cpp:121
+#: src/modules/mod_example/filledrect.cpp:132
 #: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:129
-#: src/modules/mod_geometry/rectangle.cpp:126
-#: src/synfig/layer_solidcolor.cpp:103
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
 msgid "Fill color of the layer"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:125
-#: src/modules/mod_geometry/rectangle.cpp:130
-#: src/modules/mod_gradient/lineargradient.cpp:190
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:185
 msgid "Point 1"
-msgstr "頂点 1"
+msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:126
-#: src/modules/mod_geometry/rectangle.cpp:132
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
 msgid "First corner of the rectangle"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_geometry/rectangle.cpp:136
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:190
 msgid "Point 2"
-msgstr "頂点 2"
+msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_geometry/rectangle.cpp:137
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
 msgid "Second corner of the rectangle"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_example/filledrect.cpp:147
 msgid "Feather X"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:140
+#: src/modules/mod_example/filledrect.cpp:152
 msgid "Feather Y"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:144 src/modules/lyr_std/bevel.cpp:68
-#: src/modules/mod_geometry/advanced_outline.cpp:1161
+#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
 msgid "Bevel"
-msgstr "ベベル"
+msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:145
+#: src/modules/mod_example/filledrect.cpp:158
 msgid "Use Bevel for the corners"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:149
+#: src/modules/mod_example/filledrect.cpp:163
 msgid "Keep Bevel Circular"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:150
+#: src/modules/mod_example/filledrect.cpp:164
 msgid "When checked the bevel is circular"
 msgstr ""
 
@@ -98,39 +99,39 @@ msgstr ""
 msgid "Metaballs"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:135
+#: src/modules/mod_example/metaballs.cpp:129
 #: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:552
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:194
 #: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:112
-#: src/modules/mod_noise/noise.cpp:259 src/modules/mod_particle/plant.cpp:403
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
 #: src/synfig/valuenode_gradientrotate.cpp:164
 #: src/synfig/valuenode_repeat_gradient.cpp:203
 msgid "Gradient"
-msgstr ""
+msgstr "Gradientea"
 
-#: src/modules/mod_example/metaballs.cpp:139
+#: src/modules/mod_example/metaballs.cpp:133
 msgid "Balls"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:143
+#: src/modules/mod_example/metaballs.cpp:137
 msgid "Radii"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:147
+#: src/modules/mod_example/metaballs.cpp:141
 msgid "Weights"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:151
+#: src/modules/mod_example/metaballs.cpp:145
 msgid "Gradient Left"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:155
+#: src/modules/mod_example/metaballs.cpp:149
 msgid "Gradient Right"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:159
+#: src/modules/mod_example/metaballs.cpp:153
 msgid "Positive Only"
 msgstr ""
 
@@ -142,288 +143,288 @@ msgstr ""
 #: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
 #: src/modules/mod_gradient/conicalgradient.cpp:114
 #: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:117
+#: src/modules/mod_gradient/spiralgradient.cpp:118
 msgid "Center"
-msgstr "中心"
+msgstr ""
 
 #: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:144
+#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
 msgid "Center of the circle"
-msgstr "円の中心"
+msgstr ""
 
 #: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:151
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:132
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
 #: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:122
-#: src/modules/mod_noise/valuenode_random.cpp:269
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/valuenode_radialcomposite.cpp:272
 msgid "Radius"
-msgstr "半径"
+msgstr "Erradioa"
 
 #: src/modules/mod_example/simplecircle.cpp:118
 #: src/modules/lyr_std/twirl.cpp:118
 #: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:124
 msgid "This is the radius of the circle"
-msgstr "これが円の半径です"
+msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
-#: src/modules/lyr_freetype/lyr_freetype.cpp:517
+#: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
-msgstr "テキスト"
+msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
 #: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
-#: src/modules/lyr_std/supersample.cpp:57 src/modules/lyr_std/timeloop.cpp:60
-#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:70
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:79
+#: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
+#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
 msgid "Other"
-msgstr ""
+msgstr "Beste bat"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:97
 msgid "Text Layer"
-msgstr "テキストレイヤー"
+msgstr "Testu-geruza"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:390
+#: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:409
+#: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:518
+#: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:524
+#: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:528
+#: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:533
+#: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:535
-#: src/modules/lyr_freetype/lyr_freetype.cpp:545
+#: src/modules/lyr_freetype/lyr_freetype.cpp:587
+#: src/modules/lyr_freetype/lyr_freetype.cpp:597
 msgid "Normal"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:536
+#: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:537
+#: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:541
+#: src/modules/lyr_freetype/lyr_freetype.cpp:593
 msgid "Weight"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:543
+#: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:544
+#: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:546
+#: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:547
+#: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:548
+#: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:551
+#: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:552
+#: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:556
+#: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:557
+#: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:561
-#: src/modules/lyr_std/shade.cpp:570 src/modules/lyr_std/xorpattern.cpp:129
-#: src/modules/mod_filter/blur.cpp:372
+#: src/modules/lyr_freetype/lyr_freetype.cpp:613
+#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:413
 #: src/modules/mod_filter/radialblur.cpp:115
-#: src/modules/mod_geometry/checkerboard.cpp:130
-#: src/modules/mod_noise/distort.cpp:222 src/modules/mod_noise/noise.cpp:267
+#: src/modules/mod_geometry/checkerboard.cpp:154
+#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
-msgstr "サイズ"
+msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:562
+#: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
-msgstr "テキストのサイズ"
+msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:569
+#: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:570
+#: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/insideout.cpp:143 src/modules/lyr_std/rotate.cpp:116
-#: src/modules/lyr_std/shade.cpp:567 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:389
-#: src/modules/lyr_std/xorpattern.cpp:125 src/modules/lyr_std/zoom.cpp:104
+#: src/modules/lyr_freetype/lyr_freetype.cpp:627
+#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
+#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
+#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
-#: src/modules/mod_geometry/checkerboard.cpp:126
-#: src/modules/mod_geometry/circle.cpp:143
-#: src/modules/mod_gradient/curvegradient.cpp:537
-#: src/modules/mod_particle/plant.cpp:398 src/synfig/layer_pastecanvas.cpp:133
-#: src/synfig/layer_shape.cpp:1197 src/synfig/valuenode_composite.cpp:518
+#: src/modules/mod_geometry/checkerboard.cpp:150
+#: src/modules/mod_geometry/circle.cpp:161
+#: src/modules/mod_gradient/curvegradient.cpp:550
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
+#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
 msgid "Origin"
-msgstr ""
+msgstr "Jatorria"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:576
+#: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:580
+#: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:581
+#: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:588
+#: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:589
+#: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:594
+#: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:597
-#: src/modules/lyr_std/shade.cpp:587 src/modules/mod_geometry/circle.cpp:147
-#: src/synfig/layer_shape.cpp:1200
+#: src/modules/lyr_freetype/lyr_freetype.cpp:649
+#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1228
 msgid "Invert"
-msgstr ""
+msgstr "Alderantzizkatu"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:654
+#: src/modules/lyr_freetype/lyr_freetype.cpp:714
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:680
+#: src/modules/lyr_freetype/lyr_freetype.cpp:740
 msgid "Text too small, no text will be rendered."
-msgstr "テキストが小さすぎるためレンダーできません。"
+msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:704
+#: src/modules/lyr_freetype/lyr_freetype.cpp:764
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:747
+#: src/modules/lyr_freetype/lyr_freetype.cpp:807
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:754
+#: src/modules/lyr_freetype/lyr_freetype.cpp:814
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:69 src/modules/lyr_std/shade.cpp:68
+#: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:570 src/modules/lyr_std/shade.cpp:576
-#: src/modules/mod_filter/blur.cpp:376
-#: src/modules/mod_filter/halftone2.cpp:170
+#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
+#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
-msgstr ""
+msgstr "Mota"
 
-#: src/modules/lyr_std/bevel.cpp:571 src/modules/lyr_std/shade.cpp:577
-#: src/modules/mod_filter/blur.cpp:377
+#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
+#: src/modules/mod_filter/blur.cpp:418
 msgid "Type of blur to use"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:573 src/modules/lyr_std/shade.cpp:579
-#: src/modules/mod_filter/blur.cpp:379 src/synfig/layer_shape.cpp:1213
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:574 src/modules/lyr_std/shade.cpp:580
-#: src/modules/mod_filter/blur.cpp:380 src/synfig/layer_shape.cpp:1214
+#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
+#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
 msgid "Fast Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:575 src/modules/lyr_std/shade.cpp:581
-#: src/modules/mod_filter/blur.cpp:381 src/synfig/layer_shape.cpp:1215
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
 msgid "Cross-Hatch Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:576 src/modules/lyr_std/shade.cpp:582
-#: src/modules/mod_filter/blur.cpp:382 src/synfig/layer_shape.cpp:1216
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
 msgid "Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:577 src/modules/lyr_std/shade.cpp:583
-#: src/modules/mod_filter/blur.cpp:383 src/synfig/layer_shape.cpp:1217
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:581
+#: src/modules/lyr_std/bevel.cpp:635
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:584
+#: src/modules/lyr_std/bevel.cpp:638
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:587
+#: src/modules/lyr_std/bevel.cpp:641
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:591
+#: src/modules/lyr_std/bevel.cpp:645
 msgid "Depth of Bevel"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:595
+#: src/modules/lyr_std/bevel.cpp:649
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:598
+#: src/modules/lyr_std/bevel.cpp:652
 msgid "Use Luma"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:601
+#: src/modules/lyr_std/bevel.cpp:655
 msgid "Solid"
 msgstr ""
 
-#: src/modules/lyr_std/booleancurve.cpp:104
+#: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
 msgstr ""
 
-#: src/modules/lyr_std/booleancurve.cpp:105
+#: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
 msgstr ""
 
@@ -431,63 +432,63 @@ msgstr ""
 msgid "Clamp"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:56
-#: src/modules/mod_filter/halftone2.cpp:59
-#: src/modules/mod_filter/halftone3.cpp:59
-#: src/modules/mod_filter/lumakey.cpp:59
+#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:57
+#: src/modules/mod_filter/halftone2.cpp:60
+#: src/modules/mod_filter/halftone3.cpp:60
+#: src/modules/mod_filter/lumakey.cpp:60
 msgid "Filters"
-msgstr "フィルター"
+msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:158
+#: src/modules/lyr_std/clamp.cpp:162
 msgid "Invert Negative"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:162
+#: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:163
+#: src/modules/lyr_std/clamp.cpp:167
 msgid "When checked the Ceiling value is used"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:167
+#: src/modules/lyr_std/clamp.cpp:171
 msgid "Ceiling"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:168
+#: src/modules/lyr_std/clamp.cpp:172
 msgid "Upper boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:172
+#: src/modules/lyr_std/clamp.cpp:176
 msgid "Floor"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:173
+#: src/modules/lyr_std/clamp.cpp:177
 msgid "Lower boundary of the clamping"
 msgstr ""
 
 #: src/modules/lyr_std/import.cpp:59
 msgid "Import Image"
-msgstr ""
+msgstr "Inportatu irudia"
 
-#: src/modules/lyr_std/import.cpp:151 src/modules/lyr_std/import.cpp:201
+#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:283
+#: src/modules/lyr_std/import.cpp:293
 msgid "Filename"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:284
+#: src/modules/lyr_std/import.cpp:294
 msgid "File to import"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:288 src/synfig/layer_pastecanvas.cpp:146
+#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:289
+#: src/modules/lyr_std/import.cpp:299
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -496,14 +497,14 @@ msgid "Inside Out"
 msgstr ""
 
 #: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:75
 #: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:57 src/modules/lyr_std/curvewarp.cpp:56
-#: src/modules/mod_noise/distort.cpp:58
+#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
+#: src/modules/mod_noise/distort.cpp:59
 msgid "Distortions"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:144
+#: src/modules/lyr_std/insideout.cpp:163
 msgid "Defines the where the center will be"
 msgstr ""
 
@@ -515,97 +516,97 @@ msgstr ""
 msgid "Fractals"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:309
+#: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:310
+#: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:313
+#: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:314
+#: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:317
+#: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:320 src/modules/lyr_std/mandelbrot.cpp:223
+#: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:323
+#: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:326 src/modules/lyr_std/mandelbrot.cpp:226
+#: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:330 src/modules/lyr_std/mandelbrot.cpp:236
+#: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:333 src/modules/lyr_std/mandelbrot.cpp:240
+#: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:336 src/modules/lyr_std/mandelbrot.cpp:244
+#: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:339 src/modules/lyr_std/mandelbrot.cpp:248
+#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:342
+#: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:345 src/modules/lyr_std/mandelbrot.cpp:265
+#: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:348 src/modules/lyr_std/mandelbrot.cpp:269
+#: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:351 src/modules/lyr_std/mandelbrot.cpp:273
+#: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:354 src/modules/lyr_std/mandelbrot.cpp:277
+#: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:357
+#: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:361
+#: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:364 src/modules/lyr_std/mandelbrot.cpp:285
+#: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:286
+#: src/modules/lyr_std/julia.cpp:391 src/modules/lyr_std/mandelbrot.cpp:282
 msgid "Smooth the coloration outside the set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:368 src/modules/lyr_std/mandelbrot.cpp:230
+#: src/modules/lyr_std/julia.cpp:394 src/modules/lyr_std/mandelbrot.cpp:226
 msgid "Break Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:369 src/modules/lyr_std/mandelbrot.cpp:231
+#: src/modules/lyr_std/julia.cpp:395 src/modules/lyr_std/mandelbrot.cpp:227
 msgid "Modify equation to achieve interesting results"
 msgstr ""
 
@@ -613,133 +614,133 @@ msgstr ""
 msgid "Mandelbrot Set"
 msgstr ""
 
+#: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
 #: src/modules/lyr_std/mandelbrot.cpp:241
 #: src/modules/lyr_std/mandelbrot.cpp:245
 #: src/modules/lyr_std/mandelbrot.cpp:249
 #: src/modules/lyr_std/mandelbrot.cpp:253
 #: src/modules/lyr_std/mandelbrot.cpp:257
-#: src/modules/lyr_std/mandelbrot.cpp:261
 msgid "Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:252
+#: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:256
+#: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:260
+#: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
 msgstr ""
 
+#: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
 #: src/modules/lyr_std/mandelbrot.cpp:270
 #: src/modules/lyr_std/mandelbrot.cpp:274
 #: src/modules/lyr_std/mandelbrot.cpp:278
-#: src/modules/lyr_std/mandelbrot.cpp:282
+#: src/modules/lyr_std/mandelbrot.cpp:283
 #: src/modules/lyr_std/mandelbrot.cpp:287
 #: src/modules/lyr_std/mandelbrot.cpp:291
-#: src/modules/lyr_std/mandelbrot.cpp:295
 msgid "Outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:281
+#: src/modules/lyr_std/mandelbrot.cpp:277
 msgid "Gradient outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:290
+#: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:294
+#: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
 msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:56
 msgid "Rotate"
-msgstr "回転"
+msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:57 src/modules/lyr_std/translate.cpp:56
 #: src/modules/lyr_std/zoom.cpp:53
 msgid "Transform"
-msgstr "変形"
+msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/translate.cpp:101
+#: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:134
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:121
-#: src/modules/lyr_std/sphere_distort.cpp:158
+#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:217
+#: src/synfig/layer_composite.cpp:249
 #: src/synfig/valuenode_blinecalctangent.cpp:251
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
 #: src/synfig/valuenode_segcalcvertex.cpp:159
 msgid "Amount"
-msgstr ""
+msgstr "Kopurua"
 
-#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:67
+#: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:571
+#: src/modules/lyr_std/shade.cpp:627
 msgid "Size of Shade"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:73
-#: src/modules/lyr_std/sphere_distort.cpp:172
+#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:167
 msgid "Spherize"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/synfig/valuenode_composite.cpp:536
+#: src/modules/lyr_std/sphere_distort.cpp:141
+#: src/synfig/valuenode_composite.cpp:546
 msgid "Position"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:147
+#: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:154
+#: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:160
+#: src/modules/lyr_std/sphere_distort.cpp:155
 msgid "The distortion intensity (negative values inverts effect)"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:164 src/modules/lyr_std/warp.cpp:409
+#: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:165
+#: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:169
+#: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:170
+#: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:173
+#: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:174
+#: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
 msgstr ""
 
@@ -759,110 +760,110 @@ msgstr ""
 msgid "Stroboscope"
 msgstr ""
 
-#: src/modules/lyr_std/stroboscope.cpp:102
+#: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
 msgstr ""
 
-#: src/modules/lyr_std/stroboscope.cpp:103
+#: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:56
+#: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:129
+#: src/modules/lyr_std/supersample.cpp:146
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:290
-#: src/modules/lyr_std/curvewarp.cpp:393
-#: src/modules/mod_gradient/curvegradient.cpp:542
-#: src/synfig/valuenode_composite.cpp:514
-#: src/synfig/valuenode_composite.cpp:540
+#: src/modules/lyr_std/supersample.cpp:337
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_composite.cpp:524
+#: src/synfig/valuenode_composite.cpp:550
 #: src/synfig/valuenode_realstring.cpp:180
 #: src/synfig/valuenode_repeat_gradient.cpp:213
 #: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
 msgid "Width"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:291
+#: src/modules/lyr_std/supersample.cpp:338
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:294 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
 msgid "Height"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:295
+#: src/modules/lyr_std/supersample.cpp:342
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:298
+#: src/modules/lyr_std/supersample.cpp:345
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:299
+#: src/modules/lyr_std/supersample.cpp:346
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:302
+#: src/modules/lyr_std/supersample.cpp:349
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:303
+#: src/modules/lyr_std/supersample.cpp:350
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:166
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:124 src/synfig/valuenode_timeloop.cpp:179
+#: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:125
+#: src/modules/lyr_std/timeloop.cpp:134
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:129 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:130 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:134 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:135 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139
+#: src/modules/lyr_std/timeloop.cpp:148
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:140
+#: src/modules/lyr_std/timeloop.cpp:149
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144
+#: src/modules/lyr_std/timeloop.cpp:153
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:145
+#: src/modules/lyr_std/timeloop.cpp:154
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
 #: src/modules/lyr_std/translate.cpp:55
 msgid "Translate"
-msgstr "移動"
+msgstr ""
 
 #: src/modules/lyr_std/twirl.cpp:56
 msgid "Twirl"
@@ -884,115 +885,115 @@ msgstr ""
 msgid "When checked, distorts outside the circle"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:56
+#: src/modules/lyr_std/warp.cpp:57
 msgid "Warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:374
+#: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:376
+#: src/modules/lyr_std/warp.cpp:382
 msgid "Top Left corner of the source to warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:380
+#: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:381
+#: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:385
+#: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:387
+#: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:391
+#: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:393
+#: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:397
+#: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:399
+#: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:403
+#: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:405
+#: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:413
+#: src/modules/lyr_std/warp.cpp:419
 msgid "Horizon"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:414
+#: src/modules/lyr_std/warp.cpp:420
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:55
+#: src/modules/lyr_std/curvewarp.cpp:56
 msgid "Curve Warp"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:390
-msgid "Position of the source line"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:395
+#: src/modules/lyr_std/curvewarp.cpp:404
 msgid "How much is expanded the result perpendicular to the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:407
 msgid "Start Point"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:400
+#: src/modules/lyr_std/curvewarp.cpp:409
 msgid "First point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:403
+#: src/modules/lyr_std/curvewarp.cpp:412
 msgid "End Point"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:404
+#: src/modules/lyr_std/curvewarp.cpp:413
 msgid "Final point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:407
-#: src/modules/mod_geometry/advanced_outline.cpp:1123
-#: src/modules/mod_geometry/outline.cpp:814
-#: src/modules/mod_geometry/region.cpp:233
-#: src/modules/mod_gradient/curvegradient.cpp:546
-#: src/modules/mod_particle/plant.cpp:391
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
 msgid "Vertices"
-msgstr "頂点"
+msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:410
+#: src/modules/lyr_std/curvewarp.cpp:419
 msgid "List of Spline Points where the source line is curved to"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:413
-#: src/modules/mod_geometry/advanced_outline.cpp:1178
-#: src/modules/mod_gradient/curvegradient.cpp:567
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
 msgid "Fast"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:414
-#: src/modules/mod_gradient/curvegradient.cpp:568
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
 msgid "When checked, renders quickly but with artifacts"
 msgstr ""
 
@@ -1000,15 +1001,15 @@ msgstr ""
 msgid "XOR Pattern"
 msgstr ""
 
-#: src/modules/lyr_std/xorpattern.cpp:126
+#: src/modules/lyr_std/xorpattern.cpp:130
 msgid "Center of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/xorpattern.cpp:130
+#: src/modules/lyr_std/xorpattern.cpp:134
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:143
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
 #: src/synfig/valuenode_blinecalctangent.cpp:261
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
 #: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
@@ -1019,7 +1020,7 @@ msgstr ""
 msgid "Amount to scale to"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:105
+#: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
 msgstr ""
 
@@ -1069,7 +1070,7 @@ msgstr ""
 
 #: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
 msgid "Unable to open file"
-msgstr "ファイルを開けません"
+msgstr "Ezin da fitxategia ireki"
 
 #: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
 msgid "Unable to write file header to file"
@@ -1087,126 +1088,141 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:201
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:208
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:218
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:272
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-msgid "Unable to open pipe to ffmpeg"
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:214
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no pipe)"
+msgstr "Ezin da fitxategia ireki"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:221
+msgid "Unable to open pipe to ffmpeg (pid == -1)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:231
+msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:68
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:285
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (exec failed)"
+msgstr "Ezin da fitxategia ireki"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:303
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no file)"
+msgstr "Ezin da fitxategia ireki"
+
+#: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:69 src/modules/mod_filter/radialblur.cpp:56
+#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
 #: src/synfig/layer_motionblur.cpp:57
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:373
+#: src/modules/mod_filter/blur.cpp:414
 msgid "Size of Blur"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:55
+#: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:211
+#: src/modules/mod_filter/colorcorrect.cpp:217
 msgid "Hue Adjust"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:215
+#: src/modules/mod_filter/colorcorrect.cpp:221
 msgid "Brightness"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:219
+#: src/modules/mod_filter/colorcorrect.cpp:225
 msgid "Contrast"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:223
+#: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:227 src/synfig/layer_bitmap.cpp:179
+#: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:58
+#: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:151
+#: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:155
+#: src/modules/mod_filter/halftone2.cpp:159
 msgid "Mask Angle"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:159
-#: src/modules/mod_filter/halftone3.cpp:309
+#: src/modules/mod_filter/halftone2.cpp:163
+#: src/modules/mod_filter/halftone3.cpp:328
 msgid "Mask Size"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:164
+#: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:167
+#: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:172
-#: src/modules/mod_filter/halftone3.cpp:314
+#: src/modules/mod_filter/halftone2.cpp:176
+#: src/modules/mod_filter/halftone3.cpp:333
 #: src/modules/mod_gradient/conicalgradient.cpp:125
 msgid "Symmetric"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:173
-#: src/modules/mod_filter/halftone3.cpp:315
+#: src/modules/mod_filter/halftone2.cpp:177
+#: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:175
-#: src/modules/mod_filter/halftone3.cpp:317
+#: src/modules/mod_filter/halftone2.cpp:179
+#: src/modules/mod_filter/halftone3.cpp:336
 msgid "Diamond"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:176
-#: src/modules/mod_filter/halftone3.cpp:318
+#: src/modules/mod_filter/halftone2.cpp:180
+#: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:58
+#: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:312
+#: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:321
+#: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:329
+#: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:333
+#: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:337
+#: src/modules/mod_filter/halftone3.cpp:356
 msgid " Mask Angle"
 msgstr ""
 
-#: src/modules/mod_filter/lumakey.cpp:58
+#: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
 msgstr ""
 
-#: src/modules/mod_filter/radialblur.cpp:55
+#: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
 msgstr ""
 
@@ -1228,235 +1244,235 @@ msgstr ""
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:62 src/synfig/layer_solidcolor.cpp:57
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:123
+#: src/modules/mod_geometry/checkerboard.cpp:147
 msgid "Color of checkers"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:127
+#: src/modules/mod_geometry/checkerboard.cpp:151
 msgid "Center of the checkers"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:131
+#: src/modules/mod_geometry/checkerboard.cpp:155
 msgid "Size of checkers"
 msgstr ""
 
 #: src/modules/mod_geometry/circle.cpp:56
 msgid "Circle"
-msgstr "円"
+msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:134
+#: src/modules/mod_geometry/circle.cpp:152
 msgid "Radius of the circle"
-msgstr "円の半径"
+msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:138 src/synfig/layer_shape.cpp:1206
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
 msgid "Feather"
-msgstr ""
+msgstr "Difuminatu"
 
-#: src/modules/mod_geometry/circle.cpp:140
+#: src/modules/mod_geometry/circle.cpp:158
 msgid "Amount of feather of the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:148
+#: src/modules/mod_geometry/circle.cpp:166
 msgid "Invert the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:152
+#: src/modules/mod_geometry/circle.cpp:170
 msgid "Falloff"
-msgstr ""
+msgstr "Erorketa"
 
-#: src/modules/mod_geometry/circle.cpp:153
+#: src/modules/mod_geometry/circle.cpp:171
 msgid "Determines the falloff function for the feather"
-msgstr ""
+msgstr "Zehaztu erorketa-funtzioa difuminatuarentzat"
 
-#: src/modules/mod_geometry/circle.cpp:155
-#: src/modules/mod_noise/distort.cpp:234 src/modules/mod_noise/noise.cpp:275
-#: src/modules/mod_noise/valuenode_random.cpp:288
-#: src/synfig/layer_bitmap.cpp:173 src/synfig/layer_motionblur.cpp:150
-#: src/synfig/valuenode.cpp:139 src/synfig/valuenode_linear.cpp:146
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:289
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
 msgid "Linear"
-msgstr "リネア"
+msgstr "Lineala"
 
-#: src/modules/mod_geometry/circle.cpp:156
+#: src/modules/mod_geometry/circle.cpp:174
 msgid "Squared"
-msgstr ""
+msgstr "Karratua"
 
-#: src/modules/mod_geometry/circle.cpp:157
+#: src/modules/mod_geometry/circle.cpp:175
 msgid "Square Root"
-msgstr ""
+msgstr "Erro karratua"
 
-#: src/modules/mod_geometry/circle.cpp:158
+#: src/modules/mod_geometry/circle.cpp:176
 msgid "Sigmond"
-msgstr ""
+msgstr "Sigmond"
 
-#: src/modules/mod_geometry/circle.cpp:159
-#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:276
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:174
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:290
+#: src/synfig/layer_bitmap.cpp:170
 msgid "Cosine"
-msgstr ""
+msgstr "kosinu"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:67
 msgid "Advanced Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:133
+#: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1125
-#: src/modules/mod_geometry/outline.cpp:817
-#: src/modules/mod_geometry/region.cpp:235
-#: src/modules/mod_gradient/curvegradient.cpp:549
-#: src/modules/mod_particle/plant.cpp:392
+#: src/modules/mod_geometry/advanced_outline.cpp:1136
+#: src/modules/mod_geometry/outline.cpp:826
+#: src/modules/mod_geometry/region.cpp:240
+#: src/modules/mod_gradient/curvegradient.cpp:562
+#: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1129
-#: src/modules/mod_geometry/outline.cpp:831
+#: src/modules/mod_geometry/advanced_outline.cpp:1140
+#: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1130
-#: src/modules/mod_geometry/outline.cpp:832
+#: src/modules/mod_geometry/advanced_outline.cpp:1141
+#: src/modules/mod_geometry/outline.cpp:841
 msgid "Global width of the outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:837
+#: src/modules/mod_geometry/advanced_outline.cpp:1145
+#: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1135
-#: src/modules/mod_geometry/outline.cpp:838
+#: src/modules/mod_geometry/advanced_outline.cpp:1146
+#: src/modules/mod_geometry/outline.cpp:847
 msgid "Value to add to the global width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1138
+#: src/modules/mod_geometry/advanced_outline.cpp:1149
 msgid "Tip Type at Start"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1139
+#: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1141
-#: src/modules/mod_geometry/advanced_outline.cpp:1150
-#: src/synfig/valuenode_composite.cpp:548
+#: src/modules/mod_geometry/advanced_outline.cpp:1152
+#: src/modules/mod_geometry/advanced_outline.cpp:1161
 #: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:587
-#: src/synfig/valuenode_composite.cpp:596
+#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:606
 msgid "Rounded Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1142
-#: src/modules/mod_geometry/advanced_outline.cpp:1151
-#: src/synfig/valuenode_composite.cpp:549
+#: src/modules/mod_geometry/advanced_outline.cpp:1153
+#: src/modules/mod_geometry/advanced_outline.cpp:1162
 #: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:588
-#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:607
 msgid "Squared Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1143
-#: src/modules/mod_geometry/advanced_outline.cpp:1152
-#: src/synfig/valuenode_composite.cpp:550
+#: src/modules/mod_geometry/advanced_outline.cpp:1154
+#: src/modules/mod_geometry/advanced_outline.cpp:1163
 #: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:570
+#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:608
 msgid "Peak Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1144
-#: src/modules/mod_geometry/advanced_outline.cpp:1153
-#: src/synfig/valuenode_composite.cpp:551
+#: src/modules/mod_geometry/advanced_outline.cpp:1155
+#: src/modules/mod_geometry/advanced_outline.cpp:1164
 #: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:590
-#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:571
+#: src/synfig/valuenode_composite.cpp:600
+#: src/synfig/valuenode_composite.cpp:609
 msgid "Flat Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1147
+#: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1148
+#: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1156
+#: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1157
-#: src/modules/mod_geometry/outline.cpp:843
+#: src/modules/mod_geometry/advanced_outline.cpp:1168
+#: src/modules/mod_geometry/outline.cpp:852
 msgid "Determines cusp type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1159
+#: src/modules/mod_geometry/advanced_outline.cpp:1170
 msgid "Sharp"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1160
+#: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1164
+#: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1165
+#: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1168
-#: src/modules/mod_geometry/outline.cpp:859
+#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/outline.cpp:869
 #: src/synfig/valuenode_blinecalctangent.cpp:271
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1169
+#: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
+#: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1175
+#: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1182
+#: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1184
+#: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1187
+#: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1190
+#: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1193
+#: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1196
+#: src/modules/mod_geometry/advanced_outline.cpp:1207
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
@@ -1464,32 +1480,36 @@ msgstr ""
 msgid "Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:183
+#: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:842
+#: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:847
+#: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:848
-#: src/modules/mod_geometry/outline.cpp:853
+#: src/modules/mod_geometry/outline.cpp:857
+#: src/modules/mod_geometry/outline.cpp:862
 msgid "Round off the tip"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:852
+#: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:856
+#: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:860
+#: src/modules/mod_geometry/outline.cpp:866
+msgid "(Currently not used)"
+msgstr ""
+
+#: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
 msgstr ""
 
@@ -1497,11 +1517,11 @@ msgstr ""
 msgid "Rectangle"
 msgstr ""
 
-#: src/modules/mod_geometry/rectangle.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
 msgstr ""
 
-#: src/modules/mod_geometry/rectangle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
 msgstr ""
 
@@ -1513,46 +1533,46 @@ msgstr ""
 msgid "Star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:183
+#: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:184
+#: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190
+#: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:191
+#: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:197
+#: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:129
+#: src/modules/mod_gradient/spiralgradient.cpp:130
 #: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
-msgstr ""
+msgstr "Angelua"
 
-#: src/modules/mod_geometry/star.cpp:198
+#: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:203 src/synfig/distance.cpp:251
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
 msgid "Points"
-msgstr ""
+msgstr "Puntuak"
 
-#: src/modules/mod_geometry/star.cpp:204
+#: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:208
+#: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
-msgstr ""
+msgstr "Poligono erregularra"
 
-#: src/modules/mod_geometry/star.cpp:209
+#: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
@@ -1570,20 +1590,20 @@ msgid "Conical Gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
-#: src/modules/mod_gradient/curvegradient.cpp:61
+#: src/modules/mod_gradient/curvegradient.cpp:62
 #: src/modules/mod_gradient/lineargradient.cpp:55
 #: src/modules/mod_gradient/radialgradient.cpp:58
-#: src/modules/mod_gradient/spiralgradient.cpp:57
-#: src/modules/mod_noise/noise.cpp:58
+#: src/modules/mod_gradient/spiralgradient.cpp:58
+#: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
-#: src/modules/mod_gradient/curvegradient.cpp:553
-#: src/modules/mod_gradient/lineargradient.cpp:200
+#: src/modules/mod_gradient/curvegradient.cpp:566
+#: src/modules/mod_gradient/lineargradient.cpp:195
 #: src/modules/mod_gradient/radialgradient.cpp:114
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:260
+#: src/modules/mod_gradient/spiralgradient.cpp:114
+#: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
 msgstr ""
 
@@ -1596,27 +1616,27 @@ msgid "Rotation of the gradient around the center"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
-#: src/modules/mod_gradient/curvegradient.cpp:557
-#: src/modules/mod_gradient/lineargradient.cpp:204
+#: src/modules/mod_gradient/curvegradient.cpp:570
+#: src/modules/mod_gradient/lineargradient.cpp:199
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:60
+#: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:538
-#: src/modules/mod_particle/plant.cpp:399
+#: src/modules/mod_gradient/curvegradient.cpp:551
+#: src/modules/mod_particle/plant.cpp:432
 msgid "Offset for the Vertices List"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:543
+#: src/modules/mod_gradient/curvegradient.cpp:556
 msgid "Global width of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:556
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/curvegradient.cpp:569
+#: src/modules/mod_gradient/lineargradient.cpp:198
 #: src/modules/mod_gradient/radialgradient.cpp:130
 #: src/synfig/valuenode_blinecalctangent.cpp:246
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
@@ -1624,19 +1644,19 @@ msgstr ""
 msgid "Loop"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:560
-#: src/modules/mod_gradient/lineargradient.cpp:207
+#: src/modules/mod_gradient/curvegradient.cpp:573
+#: src/modules/mod_gradient/lineargradient.cpp:202
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:561
-#: src/modules/mod_gradient/lineargradient.cpp:208
+#: src/modules/mod_gradient/curvegradient.cpp:574
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:136
 msgid "When checked the gradient is summetrical at the center"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:564
+#: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
 msgstr ""
 
@@ -1644,11 +1664,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:192
+#: src/modules/mod_gradient/lineargradient.cpp:187
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:196
+#: src/modules/mod_gradient/lineargradient.cpp:191
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1657,23 +1677,23 @@ msgid "Radial Gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:119
 msgid "Center of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:56
+#: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:130
+#: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:135
+#: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:136
+#: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
@@ -1686,13 +1706,15 @@ msgstr ""
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/listimporter.cpp:184 src/synfig/listimporter.cpp:185
+#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
+#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
 msgid "Unable to open "
 msgstr ""
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/listimporter.cpp:191 src/synfig/listimporter.cpp:192
+#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
+#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
 msgid "Unable to get frame from "
 msgstr ""
 
@@ -1730,284 +1752,284 @@ msgstr ""
 msgid "Unable to open pipe to imagemagick's convert utility"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:57
+#: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:217
+#: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:218
+#: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:223
+#: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:226 src/modules/mod_noise/noise.cpp:263
+#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:264
+#: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:230 src/modules/mod_noise/noise.cpp:271
-#: src/modules/mod_noise/valuenode_random.cpp:284
-#: src/synfig/layer_bitmap.cpp:169
+#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
-msgstr ""
+msgstr "Interpolazioa"
 
-#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
-#: src/synfig/layer_bitmap.cpp:170
+#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
+#: src/synfig/layer_bitmap.cpp:166
 msgid "What type of interpolation to use"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:233 src/modules/mod_noise/noise.cpp:274
-#: src/synfig/layer_bitmap.cpp:172
+#: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
+#: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:277
-#: src/modules/mod_noise/valuenode_random.cpp:290 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_bline.cpp:1001
+#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
+#: src/synfig/valuenode_bline.cpp:1006
 #: src/synfig/valuenode_blinecalctangent.cpp:241
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:237 src/modules/mod_noise/noise.cpp:278
-#: src/modules/mod_noise/valuenode_random.cpp:291
-#: src/synfig/layer_bitmap.cpp:175
+#: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:281
+#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:282
+#: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:244 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:248 src/modules/mod_noise/noise.cpp:289
+#: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:290
+#: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:183
+#: src/modules/mod_noise/valuenode_random.cpp:184
 msgid "Random"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:57
+#: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:268
+#: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:293
+#: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:294
+#: src/modules/mod_noise/noise.cpp:303
 msgid "Uses transparency"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:297
+#: src/modules/mod_noise/noise.cpp:306
 msgid "Super Sampling"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:298
+#: src/modules/mod_noise/noise.cpp:307
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:264
+#: src/modules/mod_noise/valuenode_random.cpp:265
 #: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
 #: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
 #: src/synfig/valuenode_reciprocal.cpp:165
 #: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
 #: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
-msgstr ""
+msgstr "Estela"
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:270
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:274
-#: src/modules/mod_particle/plant.cpp:450
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:276
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:279
+#: src/modules/mod_noise/valuenode_random.cpp:280
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:281
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:286
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:288
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:296
+#: src/modules/mod_noise/valuenode_random.cpp:297
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:298
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:69
+#: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:404
+#: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:408
+#: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:409
+#: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:413
+#: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:414
+#: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:419
+#: src/modules/mod_particle/plant.cpp:452
 msgid "Tangential Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:420
+#: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:424
+#: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:425
+#: src/modules/mod_particle/plant.cpp:458
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:429
+#: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:430
+#: src/modules/mod_particle/plant.cpp:463
 msgid "Size of the stem"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:435
+#: src/modules/mod_particle/plant.cpp:468
 msgid "Size As Alpha"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:436
+#: src/modules/mod_particle/plant.cpp:469
 msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:440
+#: src/modules/mod_particle/plant.cpp:473
 msgid "Reverse"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:441
+#: src/modules/mod_particle/plant.cpp:474
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:445 src/synfig/valuenode.cpp:170
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
 #: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
 msgid "Step"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:446
+#: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:451
+#: src/modules/mod_particle/plant.cpp:484
 msgid "Used to seed the pseudo-random number generator"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:455
+#: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:456
+#: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:460
+#: src/modules/mod_particle/plant.cpp:493
 msgid "Sprouts"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:461
+#: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:465
+#: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:466
+#: src/modules/mod_particle/plant.cpp:499
 msgid ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:470
+#: src/modules/mod_particle/plant.cpp:503
 msgid "Drag"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:471
+#: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:475
+#: src/modules/mod_particle/plant.cpp:508
 msgid "Use Width"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:476
+#: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
@@ -2016,97 +2038,102 @@ msgstr ""
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:87 src/synfig/importer.cpp:87
+#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
 msgid "Importer::open(): Cannot open empty filename"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:101 src/synfig/importer.cpp:101
+#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
 msgid "Importer::open(): Couldn't find extension"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:112 src/synfig/importer.cpp:112
+#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
 msgid "Importer::open(): Unknown file type -- "
 msgstr ""
 
-#: src/synfig/canvas.cpp:798 src/synfig/canvas.cpp:863
-#: src/synfig/canvas.cpp:886
+#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
+#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+msgid "No images in list"
+msgstr ""
+
+#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
+#: src/synfig/canvas.cpp:927
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:249
+#: src/synfig/distance.cpp:251
 msgid "Units"
-msgstr ""
+msgstr "Unitate"
 
-#: src/synfig/distance.cpp:250
+#: src/synfig/distance.cpp:252
 msgid "Pixels"
-msgstr ""
+msgstr "Pixelak"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:254
 msgid "Inches"
-msgstr ""
+msgstr "Hazbeteak "
 
-#: src/synfig/distance.cpp:253
+#: src/synfig/distance.cpp:255
 msgid "Meters"
-msgstr ""
+msgstr "Metroak"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:256
 msgid "Millimeters"
-msgstr ""
+msgstr "Milimetroak"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:257
 msgid "Centimeters"
-msgstr ""
+msgstr "Centimetroak"
 
-#: src/synfig/layer.cpp:565 src/synfig/layer_composite.cpp:128
+#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:619
+#: src/synfig/layer.cpp:605
 msgid "Z Depth"
-msgstr ""
+msgstr "Z sakonera"
 
-#: src/synfig/layer.cpp:621
+#: src/synfig/layer.cpp:607
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:159
+#: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:160
+#: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:164
+#: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:165
+#: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:218
+#: src/synfig/layer_composite.cpp:250
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:221 src/synfig/paramdesc.cpp:62
+#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
-msgstr ""
+msgstr "Nahasketa-metodoa"
 
-#: src/synfig/layer_composite.cpp:222
+#: src/synfig/layer_composite.cpp:254
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:168
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
 #: src/synfig/valuenode_duplicate.cpp:174
 msgid "Duplicate"
-msgstr ""
+msgstr "Bikoiztu"
 
-#: src/synfig/layer_duplicate.cpp:148
+#: src/synfig/layer_duplicate.cpp:151
 msgid "Index"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:149
+#: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
 msgstr ""
 
@@ -2118,156 +2145,156 @@ msgstr ""
 msgid "Motion Blur"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:136
+#: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:137
+#: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:141
+#: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:142
+#: src/synfig/layer_motionblur.cpp:141
 msgid "Multiplies The Number Of Subsamples Rendered"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:146
+#: src/synfig/layer_motionblur.cpp:145
 msgid "Subsampling Type"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:147
+#: src/synfig/layer_motionblur.cpp:146
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:149 src/synfig/valuenode_const.cpp:127
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
 msgid "Constant"
-msgstr ""
+msgstr "Konstantea"
 
-#: src/synfig/layer_motionblur.cpp:151
+#: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:155
+#: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:156
+#: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:160
+#: src/synfig/layer_motionblur.cpp:159
 msgid "Subsample End Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:161
+#: src/synfig/layer_motionblur.cpp:160
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:78 src/synfig/layer_pastecanvas.cpp:120
-#: src/synfig/layer_pastecanvas.cpp:121
+#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
+#: src/synfig/layer_pastecanvas.cpp:124
 msgid "Group"
-msgstr ""
+msgstr "Taldea"
 
-#: src/synfig/layer_pastecanvas.cpp:137
+#: src/synfig/layer_pastecanvas.cpp:140
 msgid "Canvas"
-msgstr ""
+msgstr "Oihala"
 
-#: src/synfig/layer_pastecanvas.cpp:138
+#: src/synfig/layer_pastecanvas.cpp:141
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:144
 msgid "Zoom"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:142
+#: src/synfig/layer_pastecanvas.cpp:145
 msgid "Size of canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:147
+#: src/synfig/layer_pastecanvas.cpp:152
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:151
+#: src/synfig/layer_pastecanvas.cpp:156
 msgid "Children Lock"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:157
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
+#: src/synfig/layer_pastecanvas.cpp:162
 msgid "Focus Point"
-msgstr ""
+msgstr "Fokatze-puntua"
 
-#: src/synfig/layer_pastecanvas.cpp:159
+#: src/synfig/layer_pastecanvas.cpp:165
 msgid "Point to remain fixed when zooming"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:164
+#: src/synfig/layer_pastecanvas.cpp:170
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:165
+#: src/synfig/layer_pastecanvas.cpp:171
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:180
+#: src/synfig/layer_pastecanvas.cpp:186
 msgid "Current Time"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:61
+#: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:187
+#: src/synfig/layer_polygon.cpp:194
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:188
+#: src/synfig/layer_polygon.cpp:195
 msgid "Define the corners of the polygon"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:64
+#: src/synfig/layer_shape.cpp:66
 msgid "Shape"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:65
+#: src/synfig/layer_shape.cpp:67
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1194
+#: src/synfig/layer_shape.cpp:1222
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1203
+#: src/synfig/layer_shape.cpp:1231
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1210
+#: src/synfig/layer_shape.cpp:1238
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1211
+#: src/synfig/layer_shape.cpp:1239
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1220
+#: src/synfig/layer_shape.cpp:1248
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_shape.cpp:1249
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1223
+#: src/synfig/layer_shape.cpp:1251
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1224
+#: src/synfig/layer_shape.cpp:1252
 msgid "Even/Odd"
 msgstr ""
 
@@ -2275,406 +2302,406 @@ msgstr ""
 msgid "Solid Color"
 msgstr ""
 
-#: src/synfig/listimporter.cpp:161 src/synfig/listimporter.cpp:162
-msgid "No images in list"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:142
+#: src/synfig/loadcanvas.cpp:143
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:185
+#: src/synfig/loadcanvas.cpp:186
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:191
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:205
+#: src/synfig/loadcanvas.cpp:206
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:236
+#: src/synfig/loadcanvas.cpp:237
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:469
-#: src/synfig/loadcanvas.cpp:1118
+#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
+#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:473
-#: src/synfig/loadcanvas.cpp:1122
+#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
+#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:484 src/synfig/loadcanvas.cpp:1144
+#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
+#: src/synfig/loadcanvas.cpp:1200
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:508
+#: src/synfig/loadcanvas.cpp:533
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1284
+#: src/synfig/loadcanvas.cpp:1353
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1301
+#: src/synfig/loadcanvas.cpp:1375
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1314
+#: src/synfig/loadcanvas.cpp:1388
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1330
+#: src/synfig/loadcanvas.cpp:1404
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1336 src/synfig/loadcanvas.cpp:1348
+#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1365
+#: src/synfig/loadcanvas.cpp:1439
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1380
+#: src/synfig/loadcanvas.cpp:1455
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1424 src/synfig/loadcanvas.cpp:1443
-#, c-format
-msgid "\"%s\" not a valid value for attribute \"%s\" in <%s>"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:1504
+#: src/synfig/loadcanvas.cpp:1556
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1512
+#: src/synfig/loadcanvas.cpp:1565
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1522
+#: src/synfig/loadcanvas.cpp:1577
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1531
+#: src/synfig/loadcanvas.cpp:1587
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1557 src/synfig/loadcanvas.cpp:1628
+#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1570
+#: src/synfig/loadcanvas.cpp:1625
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1579
+#: src/synfig/loadcanvas.cpp:1634
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1603
+#: src/synfig/loadcanvas.cpp:1658
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1643
+#: src/synfig/loadcanvas.cpp:1698
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1652
+#: src/synfig/loadcanvas.cpp:1707
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1659
+#: src/synfig/loadcanvas.cpp:1714
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1677
+#: src/synfig/loadcanvas.cpp:1732
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1747
+#: src/synfig/loadcanvas.cpp:1811
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1841
-msgid "Unable to create <dynamic_list>"
+#: src/synfig/loadcanvas.cpp:1861
+msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1993
+#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2038
+#: src/synfig/loadcanvas.cpp:1998
+msgid "Unable to create <dynamic_list>"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2220
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2076
+#: src/synfig/loadcanvas.cpp:2283
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2097
+#: src/synfig/loadcanvas.cpp:2304
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2102
+#: src/synfig/loadcanvas.cpp:2310
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2107
+#: src/synfig/loadcanvas.cpp:2316
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2142
+#: src/synfig/loadcanvas.cpp:2373
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2161
+#: src/synfig/loadcanvas.cpp:2392
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2181
+#: src/synfig/loadcanvas.cpp:2415
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2184
+#: src/synfig/loadcanvas.cpp:2418
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2192
+#: src/synfig/loadcanvas.cpp:2426
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2209
+#: src/synfig/loadcanvas.cpp:2443
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2214
+#: src/synfig/loadcanvas.cpp:2448
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2454
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2222
+#: src/synfig/loadcanvas.cpp:2456
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2244
+#: src/synfig/loadcanvas.cpp:2480
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2260
+#: src/synfig/loadcanvas.cpp:2496
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2272 src/synfig/loadcanvas.cpp:2292
+#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2280
+#: src/synfig/loadcanvas.cpp:2516
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2303
+#: src/synfig/loadcanvas.cpp:2539
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2376 src/synfig/loadcanvas.cpp:2384
+#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2470
+#: src/synfig/loadcanvas.cpp:2710
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2478
+#: src/synfig/loadcanvas.cpp:2717
+msgid "Inline canvas cannot have a <bones> section"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2725
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2490
+#: src/synfig/loadcanvas.cpp:2737
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2498
+#: src/synfig/loadcanvas.cpp:2745
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2504
+#: src/synfig/loadcanvas.cpp:2751
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:2763
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2531
+#: src/synfig/loadcanvas.cpp:2778
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2546
+#: src/synfig/loadcanvas.cpp:2793
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2578
+#: src/synfig/loadcanvas.cpp:2828
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580 src/synfig/valuenode.cpp:353
+#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
 msgid "ValueNode"
-msgstr ""
+msgstr "ValueNode"
 
-#: src/synfig/loadcanvas.cpp:2580
+#: src/synfig/loadcanvas.cpp:2830
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2660 src/synfig/loadcanvas.cpp:2716
+#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:102
+#: src/synfig/main.cpp:118
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:107
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:112
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:117
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:122
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:184
+#: src/synfig/main.cpp:207
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:186
+#: src/synfig/main.cpp:209
 msgid "Unable to initialize subsystem \"Module\""
 msgstr ""
 
-#: src/synfig/main.cpp:188
+#: src/synfig/main.cpp:211
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:192
+#: src/synfig/main.cpp:215
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:195
+#: src/synfig/main.cpp:218
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:200
+#: src/synfig/main.cpp:223
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:203
+#: src/synfig/main.cpp:226
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
+#: src/synfig/main.cpp:232
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:212
+#: src/synfig/main.cpp:235
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:219
+#: src/synfig/main.cpp:242
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:222
+#: src/synfig/main.cpp:245
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:230
+#: src/synfig/main.cpp:253
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:267 src/synfig/main.cpp:268
+#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:279
+#: src/synfig/main.cpp:302
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:293 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:360 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:375 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:390
+#: src/synfig/main.cpp:413
 msgid "info"
 msgstr ""
 
@@ -2749,145 +2776,145 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:64 src/synfig/valuenode.cpp:140
-#: src/synfig/valuenode_composite.cpp:437
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
+#: src/synfig/valuenode_composite.cpp:447
 msgid "Composite"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:65
+#: src/synfig/paramdesc.cpp:69
 msgid "Straight"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:66
+#: src/synfig/paramdesc.cpp:70
 msgid "Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:67
+#: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68
+#: src/synfig/paramdesc.cpp:72
 msgid "Behind"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:69
+#: src/synfig/paramdesc.cpp:73
 msgid "Screen"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:70
+#: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:71
+#: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:72
+#: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:73
+#: src/synfig/paramdesc.cpp:77
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:74 src/synfig/valuenode.cpp:157
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
 #: src/synfig/valuenode_add.cpp:190
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:75 src/synfig/valuenode.cpp:147
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
 #: src/synfig/valuenode_subtract.cpp:194
 msgid "Subtract"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:76
+#: src/synfig/paramdesc.cpp:80
 msgid "Difference"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:77
+#: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78
+#: src/synfig/paramdesc.cpp:82
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:80 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
 msgid "Hue"
-msgstr ""
+msgstr "Ñabardura"
 
-#: src/synfig/paramdesc.cpp:81 src/synfig/valuenode_radialcomposite.cpp:260
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
 #: src/synfig/valuenode_radialcomposite.cpp:266
 msgid "Saturation"
-msgstr ""
+msgstr "Saturazioa"
 
-#: src/synfig/paramdesc.cpp:82
+#: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:83
+#: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84
+#: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85
+#: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
 msgstr ""
 
-#: src/synfig/render.cpp:246 src/synfig/render.cpp:247
-#: src/synfig/render.cpp:301 src/synfig/render.cpp:302
-#: src/synfig/render.cpp:536 src/synfig/render.cpp:537
-#: src/synfig/render.cpp:563 src/synfig/render.cpp:564
+#: src/synfig/render.cpp:248 src/synfig/render.cpp:249
+#: src/synfig/render.cpp:303 src/synfig/render.cpp:304
+#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
+#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:290
+#: src/synfig/savecanvas.cpp:359
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:543
+#: src/synfig/savecanvas.cpp:674 src/synfig/savecanvas.cpp:699
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:185
+#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
 #: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:281
 msgid "Target initialization failure"
-msgstr ""
+msgstr "Errorea helburua hasieratzean"
 
-#: src/synfig/target_cairo.cpp:146
+#: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:155 src/synfig/target_scanline.cpp:258
-#: src/synfig/target_scanline.cpp:405
+#: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:260
+#: src/synfig/target_scanline.cpp:407
 msgid "Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:162
+#: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:169 src/synfig/target_cairo_tile.cpp:248
-#: src/synfig/target_scanline.cpp:418 src/synfig/target_tile.cpp:396
+#: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
+#: src/synfig/target_scanline.cpp:420 src/synfig/target_tile.cpp:398
 msgid "Caught string :"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:174 src/synfig/target_cairo_tile.cpp:253
-#: src/synfig/target_scanline.cpp:423 src/synfig/target_tile.cpp:401
+#: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
+#: src/synfig/target_scanline.cpp:425 src/synfig/target_tile.cpp:403
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:179 src/synfig/target_cairo_tile.cpp:258
-#: src/synfig/target_scanline.cpp:428 src/synfig/target_tile.cpp:406
+#: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
+#: src/synfig/target_scanline.cpp:430 src/synfig/target_tile.cpp:408
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:190
+#: src/synfig/target_cairo.cpp:201
 msgid "Cairo Surface bad status"
 msgstr ""
 
@@ -2895,24 +2922,24 @@ msgstr ""
 msgid "Bad Tile Size"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:142 src/synfig/target_cairo_tile.cpp:240
-#: src/synfig/target_scanline.cpp:203 src/synfig/target_scanline.cpp:249
-#: src/synfig/target_scanline.cpp:348 src/synfig/target_scanline.cpp:396
+#: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
+#: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:251
+#: src/synfig/target_scanline.cpp:350 src/synfig/target_scanline.cpp:398
 #: src/synfig/target_tile.cpp:225
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:150
+#: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:156 src/synfig/target_tile.cpp:179
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:179
 #: src/synfig/target_tile.cpp:245
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:211
+#: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
 msgstr ""
 
@@ -2936,277 +2963,317 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:276 src/synfig/value.cpp:308 src/synfig/value.cpp:360
+#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
 msgid "bool"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:277 src/synfig/value.cpp:310 src/synfig/value.cpp:358
+#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
 msgid "integer"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:278 src/synfig/value.cpp:312
+#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
 msgid "angle"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:279 src/synfig/value.cpp:314 src/synfig/value.cpp:352
+#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
 msgid "time"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:280 src/synfig/value.cpp:316 src/synfig/value.cpp:355
+#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
 msgid "real"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:281 src/synfig/value.cpp:318
+#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
 msgid "vector"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:282 src/synfig/value.cpp:320
+#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
 msgid "color"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:283 src/synfig/value.cpp:322
+#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
 msgid "segment"
 msgstr ""
 
-#: src/synfig/value.cpp:284
+#: src/synfig/value.cpp:378
 msgid "bline_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:285 src/synfig/value.cpp:326
+#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
+msgid "matrix"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
+msgid "bone_weight_pair"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
 msgid "width_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:286 src/synfig/value.cpp:328
+#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
 msgid "dash_item"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:287 src/synfig/value.cpp:330
+#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
 msgid "list"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:288 src/synfig/value.cpp:332
+#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
 msgid "canvas"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:289 src/synfig/value.cpp:334
+#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
 msgid "string"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:290 src/synfig/value.cpp:336
+#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
 msgid "gradient"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:291 src/synfig/value.cpp:338
+#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
+msgid "bone_object"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
+msgid "bone_valuenode"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
 msgid "nil"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:324
+#: src/synfig/value.cpp:422
 msgid "spline_point"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:141 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:142 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
-msgstr ""
+msgstr "Erreferentzia"
 
-#: src/synfig/valuenode.cpp:144 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:146 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_dynamiclist.cpp:755
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
 #: src/synfig/valuenode_switch.cpp:163
 msgid "Switch"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164
+#: src/synfig/valuenode.cpp:170
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165
+#: src/synfig/valuenode.cpp:171
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
 msgid "Integer"
-msgstr ""
+msgstr "Osokoa"
 
-#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:176 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177
+#: src/synfig/valuenode.cpp:183
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:178
+#: src/synfig/valuenode.cpp:184
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_real.cpp:161
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
 #: src/synfig/valuenode_realstring.cpp:175
 msgid "Real"
-msgstr ""
+msgstr "Erreala"
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:189
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:190
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185
+#: src/synfig/valuenode.cpp:191
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187
+#: src/synfig/valuenode.cpp:192
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:199
+msgid "Bone Influence"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:200
+msgid "Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:201
+msgid "Root Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:202
+msgid "Static List"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:203
+msgid "Bone Weight Pair"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:206
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:233
+#: src/synfig/valuenode.cpp:241
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:513
+#: src/synfig/valuenode.cpp:540
 msgid "Placeholder"
 msgstr ""
 
-#: src/synfig/valuenode.h:61
+#: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
@@ -3273,32 +3340,32 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:355 src/synfig/valuenode_animated.cpp:379
-#: src/synfig/valuenode_animated.cpp:703 src/synfig/valuenode_animated.cpp:721
-#: src/synfig/valuenode_animated.cpp:801 src/synfig/valuenode_animated.cpp:820
+#: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
+#: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
+#: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1134
+#: src/synfig/valuenode_animated.cpp:1173
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1169
+#: src/synfig/valuenode_animated.cpp:1208
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:977 src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
 #: src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:980 src/synfig/valuenode_dynamiclist.cpp:664
+#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
 #: src/synfig/valuenode_wplist.cpp:339
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_bline.cpp:1023
+#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
@@ -3318,7 +3385,7 @@ msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:584
 #: src/synfig/valuenode_gradientrotate.cpp:169
 #: src/synfig/valuenode_linear.cpp:213
 msgid "Offset"
@@ -3372,190 +3439,186 @@ msgstr ""
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:219
+#: src/synfig/valuenode_composite.cpp:229
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:464
+#: src/synfig/valuenode_composite.cpp:474
 msgid "Red"
-msgstr ""
+msgstr "Gorria"
 
-#: src/synfig/valuenode_composite.cpp:465
+#: src/synfig/valuenode_composite.cpp:475
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:468
+#: src/synfig/valuenode_composite.cpp:478
 msgid "Green"
-msgstr ""
+msgstr "Berdea"
 
-#: src/synfig/valuenode_composite.cpp:469
+#: src/synfig/valuenode_composite.cpp:479
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:472
+#: src/synfig/valuenode_composite.cpp:482
 msgid "Blue"
-msgstr ""
+msgstr "Urdina"
 
-#: src/synfig/valuenode_composite.cpp:473
+#: src/synfig/valuenode_composite.cpp:483
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:476
+#: src/synfig/valuenode_composite.cpp:486
 msgid "Alpha"
-msgstr ""
+msgstr "Alfa"
 
-#: src/synfig/valuenode_composite.cpp:477
+#: src/synfig/valuenode_composite.cpp:487
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:492
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:493
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
-#: src/synfig/valuenode_composite.cpp:526
+#: src/synfig/valuenode_composite.cpp:496
+#: src/synfig/valuenode_composite.cpp:536
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:497
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:490
+#: src/synfig/valuenode_composite.cpp:500
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:491
+#: src/synfig/valuenode_composite.cpp:501
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:494
-#: src/synfig/valuenode_composite.cpp:530
+#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:540
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:495
+#: src/synfig/valuenode_composite.cpp:505
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:510
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:511
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:514
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:515
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:520
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:521
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:525
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:519
+#: src/synfig/valuenode_composite.cpp:529
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:522
+#: src/synfig/valuenode_composite.cpp:532
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:523
+#: src/synfig/valuenode_composite.cpp:533
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:527
+#: src/synfig/valuenode_composite.cpp:537
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:531
+#: src/synfig/valuenode_composite.cpp:541
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:547
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:551
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:544
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_composite.cpp:554
+#: src/synfig/valuenode_composite.cpp:594
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:545
 #: src/synfig/valuenode_composite.cpp:555
+#: src/synfig/valuenode_composite.cpp:565
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
 #: src/synfig/valuenode_composite.cpp:557
+#: src/synfig/valuenode_composite.cpp:567
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:593
+#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:603
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:574
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:575
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:578
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:579
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:585
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:589
 #: src/synfig/valuenode_timedswap.cpp:260
 msgid "Length"
-msgstr ""
+msgstr "Luzera"
 
-#: src/synfig/valuenode_composite.cpp:580
+#: src/synfig/valuenode_composite.cpp:590
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:595
+#: src/synfig/valuenode_composite.cpp:604
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_const.cpp:127
-msgid "Static"
-msgstr ""
-
 #: src/synfig/valuenode_compare.cpp:168
 msgid "The left side of the comparison"
 msgstr ""
@@ -3620,12 +3683,12 @@ msgstr ""
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:655
+#: src/synfig/valuenode_dynamiclist.cpp:661
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:703
-#: src/synfig/valuenode_dynamiclist.cpp:957
+#: src/synfig/valuenode_dynamiclist.cpp:709
+#: src/synfig/valuenode_dynamiclist.cpp:964
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3752,7 +3815,7 @@ msgstr ""
 
 #: src/synfig/valuenode_radialcomposite.cpp:257
 msgid "Luma"
-msgstr ""
+msgstr "Luminantzia"
 
 #: src/synfig/valuenode_radialcomposite.cpp:273
 msgid "The length of the vector"
@@ -3902,7 +3965,7 @@ msgstr ""
 #: src/synfig/valuenode_segcalctangent.cpp:156
 #: src/synfig/valuenode_segcalcvertex.cpp:154
 msgid "Segment"
-msgstr ""
+msgstr "Segmentoa"
 
 #: src/synfig/valuenode_segcalctangent.cpp:157
 msgid "The Segment where the tangent is linked to"
@@ -3949,7 +4012,7 @@ msgid "Intersection"
 msgstr ""
 
 #: src/synfig/valuenode_step.cpp:213
-msgid "Value that define whether the step is centerd on the value [0,1]"
+msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
@@ -4023,7 +4086,7 @@ msgstr ""
 #: src/synfig/valuenode_timedswap.cpp:255
 #: src/synfig/valuenode_timestring.cpp:163
 msgid "Time"
-msgstr ""
+msgstr "Denbora"
 
 #: src/synfig/valuenode_timedswap.cpp:256
 msgid "The time when the linear interpolation ends"
@@ -4059,7 +4122,7 @@ msgstr ""
 #: src/synfig/valuenode_vectorlength.cpp:145
 #: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
 msgid "Vector"
-msgstr ""
+msgstr "Bektorea"
 
 #: src/synfig/valuenode_vectorangle.cpp:148
 msgid "The vector where the angle is calculated from"
@@ -4082,195 +4145,195 @@ msgstr ""
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:133
+#: src/tool/main.cpp:140
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:169
+#: src/tool/main.cpp:176
 msgid "Settings"
-msgstr ""
+msgstr "Ezarpenak"
 
-#: src/tool/main.cpp:171
+#: src/tool/main.cpp:178
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:172
+#: src/tool/main.cpp:179
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:173
+#: src/tool/main.cpp:180
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:174
+#: src/tool/main.cpp:181
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:175
+#: src/tool/main.cpp:182
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:176
+#: src/tool/main.cpp:183
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:184
 msgid "Gamma"
-msgstr ""
+msgstr "Gamma"
 
-#: src/tool/main.cpp:178
+#: src/tool/main.cpp:185
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:186
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:187
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:188
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:189
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:190
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:191
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:185 src/tool/main.cpp:186
+#: src/tool/main.cpp:192 src/tool/main.cpp:193
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:194
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:195
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:196
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:197
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:193
+#: src/tool/main.cpp:200
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:202
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:203
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:204
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:200
+#: src/tool/main.cpp:207
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:202
+#: src/tool/main.cpp:209
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:210
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:204 src/tool/main.cpp:230
+#: src/tool/main.cpp:211 src/tool/main.cpp:237
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:207
+#: src/tool/main.cpp:214
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:216
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:210
+#: src/tool/main.cpp:217
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:213
+#: src/tool/main.cpp:220
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:215
+#: src/tool/main.cpp:222
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:223
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:217
+#: src/tool/main.cpp:224
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:225
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:226
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:220
+#: src/tool/main.cpp:227
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:221
+#: src/tool/main.cpp:228
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:229
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:223
+#: src/tool/main.cpp:230
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:231
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:232
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:241
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:236
+#: src/tool/main.cpp:243
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:237
+#: src/tool/main.cpp:244
 msgid "Test signal implementation"
 msgstr ""
 
@@ -4320,7 +4383,7 @@ msgstr ""
 
 #: src/tool/joblistprocessor.cpp:229
 msgid "Rendering..."
-msgstr ""
+msgstr "Errendatzen..."
 
 #: src/tool/joblistprocessor.cpp:239
 msgid ": Rendered in "
@@ -4332,159 +4395,159 @@ msgstr ""
 
 #: src/tool/joblistprocessor.cpp:243
 msgid "Done."
-msgstr ""
+msgstr "Egina."
 
-#: src/tool/optionsprocessor.cpp:113
+#: src/tool/optionsprocessor.cpp:114
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:115
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:131
+#: src/tool/optionsprocessor.cpp:132
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:146
+#: src/tool/optionsprocessor.cpp:147
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:224
+#: src/tool/optionsprocessor.cpp:225
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:226
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:227
+#: src/tool/optionsprocessor.cpp:228
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:232
+#: src/tool/optionsprocessor.cpp:233
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:234
+#: src/tool/optionsprocessor.cpp:235
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:236
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:239
+#: src/tool/optionsprocessor.cpp:240
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:243
+#: src/tool/optionsprocessor.cpp:244
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:309
+#: src/tool/optionsprocessor.cpp:310
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:316
+#: src/tool/optionsprocessor.cpp:317
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:324
+#: src/tool/optionsprocessor.cpp:325
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:334
+#: src/tool/optionsprocessor.cpp:335
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:343
+#: src/tool/optionsprocessor.cpp:344
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:352
+#: src/tool/optionsprocessor.cpp:353
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:379
+#: src/tool/optionsprocessor.cpp:380
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:385
+#: src/tool/optionsprocessor.cpp:386
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:400
+#: src/tool/optionsprocessor.cpp:401
 #, c-format
 msgid "Resolution set to %dx%d"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:417
+#: src/tool/optionsprocessor.cpp:418
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:437
+#: src/tool/optionsprocessor.cpp:438
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:440
+#: src/tool/optionsprocessor.cpp:441
 #, c-format
 msgid "Target video codec set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:446
+#: src/tool/optionsprocessor.cpp:447
 #, c-format
 msgid "Target bitrate set to %dk"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:452
+#: src/tool/optionsprocessor.cpp:453
 #, c-format
 msgid "Output file sequence separator set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:487
+#: src/tool/optionsprocessor.cpp:488
 #, c-format
 msgid "Unable to load '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:494
+#: src/tool/optionsprocessor.cpp:495
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:499
+#: src/tool/optionsprocessor.cpp:500
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:513
+#: src/tool/optionsprocessor.cpp:514
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:532
+#: src/tool/optionsprocessor.cpp:533
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:539
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:557
+#: src/tool/optionsprocessor.cpp:558
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:571
+#: src/tool/optionsprocessor.cpp:572
 msgid "Appended contents of "
 msgstr ""
 
diff --git a/po/eu_ES.gmo b/po/eu_ES.gmo
new file mode 100644
index 0000000..42e837a
Binary files /dev/null and b/po/eu_ES.gmo differ
diff --git a/po/ja_JP.po b/po/eu_ES.po
similarity index 67%
copy from po/ja_JP.po
copy to po/eu_ES.po
index 280f206..9ea3e91 100644
--- a/po/ja_JP.po
+++ b/po/eu_ES.po
@@ -1,96 +1,97 @@
-# translation of cs.po to Japanese (Japan)
+# Translation file for Synfig Core package.
 # Copyright (C) 2013 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
-# cyaoeu <cyaoeu at gmail.com>, 2013
+# alexgabilondo <alexgabi at openmailbox.org>, 2013
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2013-05-09 18:34+0200\n"
-"PO-Revision-Date: 2013-05-02 12:39+0000\n"
-"Last-Translator: genete <genetita at gmail.com>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
-"Language: ja_JP\n"
+"POT-Creation-Date: 2013-10-25 17:57+0700\n"
+"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
+"Language-Team: Basque (Spain) (http://www.transifex.com/projects/p/synfig/"
+"language/eu_ES/)\n"
+"Language: eu_ES\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:58
+#: src/modules/mod_example/filledrect.cpp:59
 msgid "Filled Rectangle"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:59
+#: src/modules/mod_example/filledrect.cpp:60
 #: src/modules/mod_example/metaballs.cpp:58
 #: src/modules/mod_example/simplecircle.cpp:58
 msgid "Example"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:120
+#: src/modules/mod_example/filledrect.cpp:131
 #: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:523
-#: src/modules/lyr_std/shade.cpp:564
-#: src/modules/mod_geometry/checkerboard.cpp:122
-#: src/modules/mod_geometry/circle.cpp:128
-#: src/modules/mod_geometry/rectangle.cpp:125 src/synfig/layer_shape.cpp:1193
-#: src/synfig/layer_solidcolor.cpp:102 src/synfig/paramdesc.cpp:79
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:620
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
 msgid "Color"
-msgstr "色彩"
+msgstr "Kolorea"
 
-#: src/modules/mod_example/filledrect.cpp:121
+#: src/modules/mod_example/filledrect.cpp:132
 #: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:129
-#: src/modules/mod_geometry/rectangle.cpp:126
-#: src/synfig/layer_solidcolor.cpp:103
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
 msgid "Fill color of the layer"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:125
-#: src/modules/mod_geometry/rectangle.cpp:130
-#: src/modules/mod_gradient/lineargradient.cpp:190
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:185
 msgid "Point 1"
-msgstr "頂点 1"
+msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:126
-#: src/modules/mod_geometry/rectangle.cpp:132
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
 msgid "First corner of the rectangle"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_geometry/rectangle.cpp:136
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:190
 msgid "Point 2"
-msgstr "頂点 2"
+msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_geometry/rectangle.cpp:137
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
 msgid "Second corner of the rectangle"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_example/filledrect.cpp:147
 msgid "Feather X"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:140
+#: src/modules/mod_example/filledrect.cpp:152
 msgid "Feather Y"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:144 src/modules/lyr_std/bevel.cpp:68
-#: src/modules/mod_geometry/advanced_outline.cpp:1161
+#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
 msgid "Bevel"
-msgstr "ベベル"
+msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:145
+#: src/modules/mod_example/filledrect.cpp:158
 msgid "Use Bevel for the corners"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:149
+#: src/modules/mod_example/filledrect.cpp:163
 msgid "Keep Bevel Circular"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:150
+#: src/modules/mod_example/filledrect.cpp:164
 msgid "When checked the bevel is circular"
 msgstr ""
 
@@ -98,39 +99,39 @@ msgstr ""
 msgid "Metaballs"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:135
+#: src/modules/mod_example/metaballs.cpp:129
 #: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:552
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:194
 #: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:112
-#: src/modules/mod_noise/noise.cpp:259 src/modules/mod_particle/plant.cpp:403
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
 #: src/synfig/valuenode_gradientrotate.cpp:164
 #: src/synfig/valuenode_repeat_gradient.cpp:203
 msgid "Gradient"
-msgstr ""
+msgstr "Gradientea"
 
-#: src/modules/mod_example/metaballs.cpp:139
+#: src/modules/mod_example/metaballs.cpp:133
 msgid "Balls"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:143
+#: src/modules/mod_example/metaballs.cpp:137
 msgid "Radii"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:147
+#: src/modules/mod_example/metaballs.cpp:141
 msgid "Weights"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:151
+#: src/modules/mod_example/metaballs.cpp:145
 msgid "Gradient Left"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:155
+#: src/modules/mod_example/metaballs.cpp:149
 msgid "Gradient Right"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:159
+#: src/modules/mod_example/metaballs.cpp:153
 msgid "Positive Only"
 msgstr ""
 
@@ -142,288 +143,288 @@ msgstr ""
 #: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
 #: src/modules/mod_gradient/conicalgradient.cpp:114
 #: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:117
+#: src/modules/mod_gradient/spiralgradient.cpp:118
 msgid "Center"
-msgstr "中心"
+msgstr ""
 
 #: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:144
+#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
 msgid "Center of the circle"
-msgstr "円の中心"
+msgstr ""
 
 #: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:151
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:132
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
 #: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:122
-#: src/modules/mod_noise/valuenode_random.cpp:269
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/valuenode_radialcomposite.cpp:272
 msgid "Radius"
-msgstr "半径"
+msgstr "Erradioa"
 
 #: src/modules/mod_example/simplecircle.cpp:118
 #: src/modules/lyr_std/twirl.cpp:118
 #: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:124
 msgid "This is the radius of the circle"
-msgstr "これが円の半径です"
+msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
-#: src/modules/lyr_freetype/lyr_freetype.cpp:517
+#: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
-msgstr "テキスト"
+msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
 #: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
-#: src/modules/lyr_std/supersample.cpp:57 src/modules/lyr_std/timeloop.cpp:60
-#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:70
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:79
+#: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
+#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
 msgid "Other"
-msgstr ""
+msgstr "Beste bat"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:97
 msgid "Text Layer"
-msgstr "テキストレイヤー"
+msgstr "Testu-geruza"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:390
+#: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:409
+#: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:518
+#: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:524
+#: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:528
+#: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:533
+#: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:535
-#: src/modules/lyr_freetype/lyr_freetype.cpp:545
+#: src/modules/lyr_freetype/lyr_freetype.cpp:587
+#: src/modules/lyr_freetype/lyr_freetype.cpp:597
 msgid "Normal"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:536
+#: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:537
+#: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:541
+#: src/modules/lyr_freetype/lyr_freetype.cpp:593
 msgid "Weight"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:543
+#: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:544
+#: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:546
+#: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:547
+#: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:548
+#: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:551
+#: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:552
+#: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:556
+#: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:557
+#: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:561
-#: src/modules/lyr_std/shade.cpp:570 src/modules/lyr_std/xorpattern.cpp:129
-#: src/modules/mod_filter/blur.cpp:372
+#: src/modules/lyr_freetype/lyr_freetype.cpp:613
+#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:413
 #: src/modules/mod_filter/radialblur.cpp:115
-#: src/modules/mod_geometry/checkerboard.cpp:130
-#: src/modules/mod_noise/distort.cpp:222 src/modules/mod_noise/noise.cpp:267
+#: src/modules/mod_geometry/checkerboard.cpp:154
+#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
-msgstr "サイズ"
+msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:562
+#: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
-msgstr "テキストのサイズ"
+msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:569
+#: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:570
+#: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/insideout.cpp:143 src/modules/lyr_std/rotate.cpp:116
-#: src/modules/lyr_std/shade.cpp:567 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:389
-#: src/modules/lyr_std/xorpattern.cpp:125 src/modules/lyr_std/zoom.cpp:104
+#: src/modules/lyr_freetype/lyr_freetype.cpp:627
+#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
+#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
+#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
-#: src/modules/mod_geometry/checkerboard.cpp:126
-#: src/modules/mod_geometry/circle.cpp:143
-#: src/modules/mod_gradient/curvegradient.cpp:537
-#: src/modules/mod_particle/plant.cpp:398 src/synfig/layer_pastecanvas.cpp:133
-#: src/synfig/layer_shape.cpp:1197 src/synfig/valuenode_composite.cpp:518
+#: src/modules/mod_geometry/checkerboard.cpp:150
+#: src/modules/mod_geometry/circle.cpp:161
+#: src/modules/mod_gradient/curvegradient.cpp:550
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
+#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
 msgid "Origin"
-msgstr ""
+msgstr "Jatorria"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:576
+#: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:580
+#: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:581
+#: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:588
+#: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:589
+#: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:594
+#: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:597
-#: src/modules/lyr_std/shade.cpp:587 src/modules/mod_geometry/circle.cpp:147
-#: src/synfig/layer_shape.cpp:1200
+#: src/modules/lyr_freetype/lyr_freetype.cpp:649
+#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1228
 msgid "Invert"
-msgstr ""
+msgstr "Alderantzizkatu"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:654
+#: src/modules/lyr_freetype/lyr_freetype.cpp:714
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:680
+#: src/modules/lyr_freetype/lyr_freetype.cpp:740
 msgid "Text too small, no text will be rendered."
-msgstr "テキストが小さすぎるためレンダーできません。"
+msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:704
+#: src/modules/lyr_freetype/lyr_freetype.cpp:764
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:747
+#: src/modules/lyr_freetype/lyr_freetype.cpp:807
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:754
+#: src/modules/lyr_freetype/lyr_freetype.cpp:814
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:69 src/modules/lyr_std/shade.cpp:68
+#: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:570 src/modules/lyr_std/shade.cpp:576
-#: src/modules/mod_filter/blur.cpp:376
-#: src/modules/mod_filter/halftone2.cpp:170
+#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
+#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
-msgstr ""
+msgstr "Mota"
 
-#: src/modules/lyr_std/bevel.cpp:571 src/modules/lyr_std/shade.cpp:577
-#: src/modules/mod_filter/blur.cpp:377
+#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
+#: src/modules/mod_filter/blur.cpp:418
 msgid "Type of blur to use"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:573 src/modules/lyr_std/shade.cpp:579
-#: src/modules/mod_filter/blur.cpp:379 src/synfig/layer_shape.cpp:1213
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:574 src/modules/lyr_std/shade.cpp:580
-#: src/modules/mod_filter/blur.cpp:380 src/synfig/layer_shape.cpp:1214
+#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
+#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
 msgid "Fast Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:575 src/modules/lyr_std/shade.cpp:581
-#: src/modules/mod_filter/blur.cpp:381 src/synfig/layer_shape.cpp:1215
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
 msgid "Cross-Hatch Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:576 src/modules/lyr_std/shade.cpp:582
-#: src/modules/mod_filter/blur.cpp:382 src/synfig/layer_shape.cpp:1216
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
 msgid "Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:577 src/modules/lyr_std/shade.cpp:583
-#: src/modules/mod_filter/blur.cpp:383 src/synfig/layer_shape.cpp:1217
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:581
+#: src/modules/lyr_std/bevel.cpp:635
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:584
+#: src/modules/lyr_std/bevel.cpp:638
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:587
+#: src/modules/lyr_std/bevel.cpp:641
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:591
+#: src/modules/lyr_std/bevel.cpp:645
 msgid "Depth of Bevel"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:595
+#: src/modules/lyr_std/bevel.cpp:649
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:598
+#: src/modules/lyr_std/bevel.cpp:652
 msgid "Use Luma"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:601
+#: src/modules/lyr_std/bevel.cpp:655
 msgid "Solid"
 msgstr ""
 
-#: src/modules/lyr_std/booleancurve.cpp:104
+#: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
 msgstr ""
 
-#: src/modules/lyr_std/booleancurve.cpp:105
+#: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
 msgstr ""
 
@@ -431,63 +432,63 @@ msgstr ""
 msgid "Clamp"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:56
-#: src/modules/mod_filter/halftone2.cpp:59
-#: src/modules/mod_filter/halftone3.cpp:59
-#: src/modules/mod_filter/lumakey.cpp:59
+#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:57
+#: src/modules/mod_filter/halftone2.cpp:60
+#: src/modules/mod_filter/halftone3.cpp:60
+#: src/modules/mod_filter/lumakey.cpp:60
 msgid "Filters"
-msgstr "フィルター"
+msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:158
+#: src/modules/lyr_std/clamp.cpp:162
 msgid "Invert Negative"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:162
+#: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:163
+#: src/modules/lyr_std/clamp.cpp:167
 msgid "When checked the Ceiling value is used"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:167
+#: src/modules/lyr_std/clamp.cpp:171
 msgid "Ceiling"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:168
+#: src/modules/lyr_std/clamp.cpp:172
 msgid "Upper boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:172
+#: src/modules/lyr_std/clamp.cpp:176
 msgid "Floor"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:173
+#: src/modules/lyr_std/clamp.cpp:177
 msgid "Lower boundary of the clamping"
 msgstr ""
 
 #: src/modules/lyr_std/import.cpp:59
 msgid "Import Image"
-msgstr ""
+msgstr "Inportatu irudia"
 
-#: src/modules/lyr_std/import.cpp:151 src/modules/lyr_std/import.cpp:201
+#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:283
+#: src/modules/lyr_std/import.cpp:293
 msgid "Filename"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:284
+#: src/modules/lyr_std/import.cpp:294
 msgid "File to import"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:288 src/synfig/layer_pastecanvas.cpp:146
+#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:289
+#: src/modules/lyr_std/import.cpp:299
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -496,14 +497,14 @@ msgid "Inside Out"
 msgstr ""
 
 #: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:75
 #: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:57 src/modules/lyr_std/curvewarp.cpp:56
-#: src/modules/mod_noise/distort.cpp:58
+#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
+#: src/modules/mod_noise/distort.cpp:59
 msgid "Distortions"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:144
+#: src/modules/lyr_std/insideout.cpp:163
 msgid "Defines the where the center will be"
 msgstr ""
 
@@ -515,97 +516,97 @@ msgstr ""
 msgid "Fractals"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:309
+#: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:310
+#: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:313
+#: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:314
+#: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:317
+#: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:320 src/modules/lyr_std/mandelbrot.cpp:223
+#: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:323
+#: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:326 src/modules/lyr_std/mandelbrot.cpp:226
+#: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:330 src/modules/lyr_std/mandelbrot.cpp:236
+#: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:333 src/modules/lyr_std/mandelbrot.cpp:240
+#: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:336 src/modules/lyr_std/mandelbrot.cpp:244
+#: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:339 src/modules/lyr_std/mandelbrot.cpp:248
+#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:342
+#: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:345 src/modules/lyr_std/mandelbrot.cpp:265
+#: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:348 src/modules/lyr_std/mandelbrot.cpp:269
+#: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:351 src/modules/lyr_std/mandelbrot.cpp:273
+#: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:354 src/modules/lyr_std/mandelbrot.cpp:277
+#: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:357
+#: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:361
+#: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:364 src/modules/lyr_std/mandelbrot.cpp:285
+#: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:286
+#: src/modules/lyr_std/julia.cpp:391 src/modules/lyr_std/mandelbrot.cpp:282
 msgid "Smooth the coloration outside the set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:368 src/modules/lyr_std/mandelbrot.cpp:230
+#: src/modules/lyr_std/julia.cpp:394 src/modules/lyr_std/mandelbrot.cpp:226
 msgid "Break Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:369 src/modules/lyr_std/mandelbrot.cpp:231
+#: src/modules/lyr_std/julia.cpp:395 src/modules/lyr_std/mandelbrot.cpp:227
 msgid "Modify equation to achieve interesting results"
 msgstr ""
 
@@ -613,133 +614,133 @@ msgstr ""
 msgid "Mandelbrot Set"
 msgstr ""
 
+#: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
 #: src/modules/lyr_std/mandelbrot.cpp:241
 #: src/modules/lyr_std/mandelbrot.cpp:245
 #: src/modules/lyr_std/mandelbrot.cpp:249
 #: src/modules/lyr_std/mandelbrot.cpp:253
 #: src/modules/lyr_std/mandelbrot.cpp:257
-#: src/modules/lyr_std/mandelbrot.cpp:261
 msgid "Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:252
+#: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:256
+#: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:260
+#: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
 msgstr ""
 
+#: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
 #: src/modules/lyr_std/mandelbrot.cpp:270
 #: src/modules/lyr_std/mandelbrot.cpp:274
 #: src/modules/lyr_std/mandelbrot.cpp:278
-#: src/modules/lyr_std/mandelbrot.cpp:282
+#: src/modules/lyr_std/mandelbrot.cpp:283
 #: src/modules/lyr_std/mandelbrot.cpp:287
 #: src/modules/lyr_std/mandelbrot.cpp:291
-#: src/modules/lyr_std/mandelbrot.cpp:295
 msgid "Outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:281
+#: src/modules/lyr_std/mandelbrot.cpp:277
 msgid "Gradient outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:290
+#: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:294
+#: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
 msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:56
 msgid "Rotate"
-msgstr "回転"
+msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:57 src/modules/lyr_std/translate.cpp:56
 #: src/modules/lyr_std/zoom.cpp:53
 msgid "Transform"
-msgstr "変形"
+msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/translate.cpp:101
+#: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:134
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:121
-#: src/modules/lyr_std/sphere_distort.cpp:158
+#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:217
+#: src/synfig/layer_composite.cpp:249
 #: src/synfig/valuenode_blinecalctangent.cpp:251
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
 #: src/synfig/valuenode_segcalcvertex.cpp:159
 msgid "Amount"
-msgstr ""
+msgstr "Kopurua"
 
-#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:67
+#: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:571
+#: src/modules/lyr_std/shade.cpp:627
 msgid "Size of Shade"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:73
-#: src/modules/lyr_std/sphere_distort.cpp:172
+#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:167
 msgid "Spherize"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/synfig/valuenode_composite.cpp:536
+#: src/modules/lyr_std/sphere_distort.cpp:141
+#: src/synfig/valuenode_composite.cpp:546
 msgid "Position"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:147
+#: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:154
+#: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:160
+#: src/modules/lyr_std/sphere_distort.cpp:155
 msgid "The distortion intensity (negative values inverts effect)"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:164 src/modules/lyr_std/warp.cpp:409
+#: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:165
+#: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:169
+#: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:170
+#: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:173
+#: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:174
+#: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
 msgstr ""
 
@@ -759,110 +760,110 @@ msgstr ""
 msgid "Stroboscope"
 msgstr ""
 
-#: src/modules/lyr_std/stroboscope.cpp:102
+#: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
 msgstr ""
 
-#: src/modules/lyr_std/stroboscope.cpp:103
+#: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:56
+#: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:129
+#: src/modules/lyr_std/supersample.cpp:146
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:290
-#: src/modules/lyr_std/curvewarp.cpp:393
-#: src/modules/mod_gradient/curvegradient.cpp:542
-#: src/synfig/valuenode_composite.cpp:514
-#: src/synfig/valuenode_composite.cpp:540
+#: src/modules/lyr_std/supersample.cpp:337
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_composite.cpp:524
+#: src/synfig/valuenode_composite.cpp:550
 #: src/synfig/valuenode_realstring.cpp:180
 #: src/synfig/valuenode_repeat_gradient.cpp:213
 #: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
 msgid "Width"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:291
+#: src/modules/lyr_std/supersample.cpp:338
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:294 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
 msgid "Height"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:295
+#: src/modules/lyr_std/supersample.cpp:342
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:298
+#: src/modules/lyr_std/supersample.cpp:345
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:299
+#: src/modules/lyr_std/supersample.cpp:346
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:302
+#: src/modules/lyr_std/supersample.cpp:349
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:303
+#: src/modules/lyr_std/supersample.cpp:350
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:166
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:124 src/synfig/valuenode_timeloop.cpp:179
+#: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:125
+#: src/modules/lyr_std/timeloop.cpp:134
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:129 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:130 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:134 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:135 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139
+#: src/modules/lyr_std/timeloop.cpp:148
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:140
+#: src/modules/lyr_std/timeloop.cpp:149
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144
+#: src/modules/lyr_std/timeloop.cpp:153
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:145
+#: src/modules/lyr_std/timeloop.cpp:154
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
 #: src/modules/lyr_std/translate.cpp:55
 msgid "Translate"
-msgstr "移動"
+msgstr ""
 
 #: src/modules/lyr_std/twirl.cpp:56
 msgid "Twirl"
@@ -884,115 +885,115 @@ msgstr ""
 msgid "When checked, distorts outside the circle"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:56
+#: src/modules/lyr_std/warp.cpp:57
 msgid "Warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:374
+#: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:376
+#: src/modules/lyr_std/warp.cpp:382
 msgid "Top Left corner of the source to warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:380
+#: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:381
+#: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:385
+#: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:387
+#: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:391
+#: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:393
+#: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:397
+#: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:399
+#: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:403
+#: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:405
+#: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:413
+#: src/modules/lyr_std/warp.cpp:419
 msgid "Horizon"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:414
+#: src/modules/lyr_std/warp.cpp:420
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:55
+#: src/modules/lyr_std/curvewarp.cpp:56
 msgid "Curve Warp"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:390
-msgid "Position of the source line"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:395
+#: src/modules/lyr_std/curvewarp.cpp:404
 msgid "How much is expanded the result perpendicular to the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:407
 msgid "Start Point"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:400
+#: src/modules/lyr_std/curvewarp.cpp:409
 msgid "First point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:403
+#: src/modules/lyr_std/curvewarp.cpp:412
 msgid "End Point"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:404
+#: src/modules/lyr_std/curvewarp.cpp:413
 msgid "Final point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:407
-#: src/modules/mod_geometry/advanced_outline.cpp:1123
-#: src/modules/mod_geometry/outline.cpp:814
-#: src/modules/mod_geometry/region.cpp:233
-#: src/modules/mod_gradient/curvegradient.cpp:546
-#: src/modules/mod_particle/plant.cpp:391
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
 msgid "Vertices"
-msgstr "頂点"
+msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:410
+#: src/modules/lyr_std/curvewarp.cpp:419
 msgid "List of Spline Points where the source line is curved to"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:413
-#: src/modules/mod_geometry/advanced_outline.cpp:1178
-#: src/modules/mod_gradient/curvegradient.cpp:567
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
 msgid "Fast"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:414
-#: src/modules/mod_gradient/curvegradient.cpp:568
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
 msgid "When checked, renders quickly but with artifacts"
 msgstr ""
 
@@ -1000,15 +1001,15 @@ msgstr ""
 msgid "XOR Pattern"
 msgstr ""
 
-#: src/modules/lyr_std/xorpattern.cpp:126
+#: src/modules/lyr_std/xorpattern.cpp:130
 msgid "Center of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/xorpattern.cpp:130
+#: src/modules/lyr_std/xorpattern.cpp:134
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:143
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
 #: src/synfig/valuenode_blinecalctangent.cpp:261
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
 #: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
@@ -1019,7 +1020,7 @@ msgstr ""
 msgid "Amount to scale to"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:105
+#: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
 msgstr ""
 
@@ -1069,7 +1070,7 @@ msgstr ""
 
 #: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
 msgid "Unable to open file"
-msgstr "ファイルを開けません"
+msgstr "Ezin da fitxategia ireki"
 
 #: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
 msgid "Unable to write file header to file"
@@ -1087,126 +1088,141 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:201
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:208
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:218
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:272
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-msgid "Unable to open pipe to ffmpeg"
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:214
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no pipe)"
+msgstr "Ezin da fitxategia ireki"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:221
+msgid "Unable to open pipe to ffmpeg (pid == -1)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:231
+msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:68
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:285
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (exec failed)"
+msgstr "Ezin da fitxategia ireki"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:303
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no file)"
+msgstr "Ezin da fitxategia ireki"
+
+#: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:69 src/modules/mod_filter/radialblur.cpp:56
+#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
 #: src/synfig/layer_motionblur.cpp:57
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:373
+#: src/modules/mod_filter/blur.cpp:414
 msgid "Size of Blur"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:55
+#: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:211
+#: src/modules/mod_filter/colorcorrect.cpp:217
 msgid "Hue Adjust"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:215
+#: src/modules/mod_filter/colorcorrect.cpp:221
 msgid "Brightness"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:219
+#: src/modules/mod_filter/colorcorrect.cpp:225
 msgid "Contrast"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:223
+#: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:227 src/synfig/layer_bitmap.cpp:179
+#: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:58
+#: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:151
+#: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:155
+#: src/modules/mod_filter/halftone2.cpp:159
 msgid "Mask Angle"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:159
-#: src/modules/mod_filter/halftone3.cpp:309
+#: src/modules/mod_filter/halftone2.cpp:163
+#: src/modules/mod_filter/halftone3.cpp:328
 msgid "Mask Size"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:164
+#: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:167
+#: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:172
-#: src/modules/mod_filter/halftone3.cpp:314
+#: src/modules/mod_filter/halftone2.cpp:176
+#: src/modules/mod_filter/halftone3.cpp:333
 #: src/modules/mod_gradient/conicalgradient.cpp:125
 msgid "Symmetric"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:173
-#: src/modules/mod_filter/halftone3.cpp:315
+#: src/modules/mod_filter/halftone2.cpp:177
+#: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:175
-#: src/modules/mod_filter/halftone3.cpp:317
+#: src/modules/mod_filter/halftone2.cpp:179
+#: src/modules/mod_filter/halftone3.cpp:336
 msgid "Diamond"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:176
-#: src/modules/mod_filter/halftone3.cpp:318
+#: src/modules/mod_filter/halftone2.cpp:180
+#: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:58
+#: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:312
+#: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:321
+#: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:329
+#: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:333
+#: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:337
+#: src/modules/mod_filter/halftone3.cpp:356
 msgid " Mask Angle"
 msgstr ""
 
-#: src/modules/mod_filter/lumakey.cpp:58
+#: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
 msgstr ""
 
-#: src/modules/mod_filter/radialblur.cpp:55
+#: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
 msgstr ""
 
@@ -1228,235 +1244,235 @@ msgstr ""
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:62 src/synfig/layer_solidcolor.cpp:57
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:123
+#: src/modules/mod_geometry/checkerboard.cpp:147
 msgid "Color of checkers"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:127
+#: src/modules/mod_geometry/checkerboard.cpp:151
 msgid "Center of the checkers"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:131
+#: src/modules/mod_geometry/checkerboard.cpp:155
 msgid "Size of checkers"
 msgstr ""
 
 #: src/modules/mod_geometry/circle.cpp:56
 msgid "Circle"
-msgstr "円"
+msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:134
+#: src/modules/mod_geometry/circle.cpp:152
 msgid "Radius of the circle"
-msgstr "円の半径"
+msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:138 src/synfig/layer_shape.cpp:1206
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
 msgid "Feather"
-msgstr ""
+msgstr "Difuminatu"
 
-#: src/modules/mod_geometry/circle.cpp:140
+#: src/modules/mod_geometry/circle.cpp:158
 msgid "Amount of feather of the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:148
+#: src/modules/mod_geometry/circle.cpp:166
 msgid "Invert the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:152
+#: src/modules/mod_geometry/circle.cpp:170
 msgid "Falloff"
-msgstr ""
+msgstr "Erorketa"
 
-#: src/modules/mod_geometry/circle.cpp:153
+#: src/modules/mod_geometry/circle.cpp:171
 msgid "Determines the falloff function for the feather"
-msgstr ""
+msgstr "Zehaztu erorketa-funtzioa difuminatuarentzat"
 
-#: src/modules/mod_geometry/circle.cpp:155
-#: src/modules/mod_noise/distort.cpp:234 src/modules/mod_noise/noise.cpp:275
-#: src/modules/mod_noise/valuenode_random.cpp:288
-#: src/synfig/layer_bitmap.cpp:173 src/synfig/layer_motionblur.cpp:150
-#: src/synfig/valuenode.cpp:139 src/synfig/valuenode_linear.cpp:146
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:289
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
 msgid "Linear"
-msgstr "リネア"
+msgstr "Lineala"
 
-#: src/modules/mod_geometry/circle.cpp:156
+#: src/modules/mod_geometry/circle.cpp:174
 msgid "Squared"
-msgstr ""
+msgstr "Karratua"
 
-#: src/modules/mod_geometry/circle.cpp:157
+#: src/modules/mod_geometry/circle.cpp:175
 msgid "Square Root"
-msgstr ""
+msgstr "Erro karratua"
 
-#: src/modules/mod_geometry/circle.cpp:158
+#: src/modules/mod_geometry/circle.cpp:176
 msgid "Sigmond"
-msgstr ""
+msgstr "Sigmond"
 
-#: src/modules/mod_geometry/circle.cpp:159
-#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:276
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:174
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:290
+#: src/synfig/layer_bitmap.cpp:170
 msgid "Cosine"
-msgstr ""
+msgstr "kosinu"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:67
 msgid "Advanced Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:133
+#: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1125
-#: src/modules/mod_geometry/outline.cpp:817
-#: src/modules/mod_geometry/region.cpp:235
-#: src/modules/mod_gradient/curvegradient.cpp:549
-#: src/modules/mod_particle/plant.cpp:392
+#: src/modules/mod_geometry/advanced_outline.cpp:1136
+#: src/modules/mod_geometry/outline.cpp:826
+#: src/modules/mod_geometry/region.cpp:240
+#: src/modules/mod_gradient/curvegradient.cpp:562
+#: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1129
-#: src/modules/mod_geometry/outline.cpp:831
+#: src/modules/mod_geometry/advanced_outline.cpp:1140
+#: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1130
-#: src/modules/mod_geometry/outline.cpp:832
+#: src/modules/mod_geometry/advanced_outline.cpp:1141
+#: src/modules/mod_geometry/outline.cpp:841
 msgid "Global width of the outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:837
+#: src/modules/mod_geometry/advanced_outline.cpp:1145
+#: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1135
-#: src/modules/mod_geometry/outline.cpp:838
+#: src/modules/mod_geometry/advanced_outline.cpp:1146
+#: src/modules/mod_geometry/outline.cpp:847
 msgid "Value to add to the global width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1138
+#: src/modules/mod_geometry/advanced_outline.cpp:1149
 msgid "Tip Type at Start"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1139
+#: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1141
-#: src/modules/mod_geometry/advanced_outline.cpp:1150
-#: src/synfig/valuenode_composite.cpp:548
+#: src/modules/mod_geometry/advanced_outline.cpp:1152
+#: src/modules/mod_geometry/advanced_outline.cpp:1161
 #: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:587
-#: src/synfig/valuenode_composite.cpp:596
+#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:606
 msgid "Rounded Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1142
-#: src/modules/mod_geometry/advanced_outline.cpp:1151
-#: src/synfig/valuenode_composite.cpp:549
+#: src/modules/mod_geometry/advanced_outline.cpp:1153
+#: src/modules/mod_geometry/advanced_outline.cpp:1162
 #: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:588
-#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:607
 msgid "Squared Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1143
-#: src/modules/mod_geometry/advanced_outline.cpp:1152
-#: src/synfig/valuenode_composite.cpp:550
+#: src/modules/mod_geometry/advanced_outline.cpp:1154
+#: src/modules/mod_geometry/advanced_outline.cpp:1163
 #: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:570
+#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:608
 msgid "Peak Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1144
-#: src/modules/mod_geometry/advanced_outline.cpp:1153
-#: src/synfig/valuenode_composite.cpp:551
+#: src/modules/mod_geometry/advanced_outline.cpp:1155
+#: src/modules/mod_geometry/advanced_outline.cpp:1164
 #: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:590
-#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:571
+#: src/synfig/valuenode_composite.cpp:600
+#: src/synfig/valuenode_composite.cpp:609
 msgid "Flat Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1147
+#: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1148
+#: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1156
+#: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1157
-#: src/modules/mod_geometry/outline.cpp:843
+#: src/modules/mod_geometry/advanced_outline.cpp:1168
+#: src/modules/mod_geometry/outline.cpp:852
 msgid "Determines cusp type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1159
+#: src/modules/mod_geometry/advanced_outline.cpp:1170
 msgid "Sharp"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1160
+#: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1164
+#: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1165
+#: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1168
-#: src/modules/mod_geometry/outline.cpp:859
+#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/outline.cpp:869
 #: src/synfig/valuenode_blinecalctangent.cpp:271
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1169
+#: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
+#: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1175
+#: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1182
+#: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1184
+#: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1187
+#: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1190
+#: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1193
+#: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1196
+#: src/modules/mod_geometry/advanced_outline.cpp:1207
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
@@ -1464,32 +1480,36 @@ msgstr ""
 msgid "Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:183
+#: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:842
+#: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:847
+#: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:848
-#: src/modules/mod_geometry/outline.cpp:853
+#: src/modules/mod_geometry/outline.cpp:857
+#: src/modules/mod_geometry/outline.cpp:862
 msgid "Round off the tip"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:852
+#: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:856
+#: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:860
+#: src/modules/mod_geometry/outline.cpp:866
+msgid "(Currently not used)"
+msgstr ""
+
+#: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
 msgstr ""
 
@@ -1497,11 +1517,11 @@ msgstr ""
 msgid "Rectangle"
 msgstr ""
 
-#: src/modules/mod_geometry/rectangle.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
 msgstr ""
 
-#: src/modules/mod_geometry/rectangle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
 msgstr ""
 
@@ -1513,46 +1533,46 @@ msgstr ""
 msgid "Star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:183
+#: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:184
+#: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190
+#: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:191
+#: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:197
+#: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:129
+#: src/modules/mod_gradient/spiralgradient.cpp:130
 #: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
-msgstr ""
+msgstr "Angelua"
 
-#: src/modules/mod_geometry/star.cpp:198
+#: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:203 src/synfig/distance.cpp:251
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
 msgid "Points"
-msgstr ""
+msgstr "Puntuak"
 
-#: src/modules/mod_geometry/star.cpp:204
+#: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:208
+#: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
-msgstr ""
+msgstr "Poligono erregularra"
 
-#: src/modules/mod_geometry/star.cpp:209
+#: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
@@ -1570,20 +1590,20 @@ msgid "Conical Gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
-#: src/modules/mod_gradient/curvegradient.cpp:61
+#: src/modules/mod_gradient/curvegradient.cpp:62
 #: src/modules/mod_gradient/lineargradient.cpp:55
 #: src/modules/mod_gradient/radialgradient.cpp:58
-#: src/modules/mod_gradient/spiralgradient.cpp:57
-#: src/modules/mod_noise/noise.cpp:58
+#: src/modules/mod_gradient/spiralgradient.cpp:58
+#: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
-#: src/modules/mod_gradient/curvegradient.cpp:553
-#: src/modules/mod_gradient/lineargradient.cpp:200
+#: src/modules/mod_gradient/curvegradient.cpp:566
+#: src/modules/mod_gradient/lineargradient.cpp:195
 #: src/modules/mod_gradient/radialgradient.cpp:114
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:260
+#: src/modules/mod_gradient/spiralgradient.cpp:114
+#: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
 msgstr ""
 
@@ -1596,27 +1616,27 @@ msgid "Rotation of the gradient around the center"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
-#: src/modules/mod_gradient/curvegradient.cpp:557
-#: src/modules/mod_gradient/lineargradient.cpp:204
+#: src/modules/mod_gradient/curvegradient.cpp:570
+#: src/modules/mod_gradient/lineargradient.cpp:199
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:60
+#: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:538
-#: src/modules/mod_particle/plant.cpp:399
+#: src/modules/mod_gradient/curvegradient.cpp:551
+#: src/modules/mod_particle/plant.cpp:432
 msgid "Offset for the Vertices List"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:543
+#: src/modules/mod_gradient/curvegradient.cpp:556
 msgid "Global width of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:556
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/curvegradient.cpp:569
+#: src/modules/mod_gradient/lineargradient.cpp:198
 #: src/modules/mod_gradient/radialgradient.cpp:130
 #: src/synfig/valuenode_blinecalctangent.cpp:246
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
@@ -1624,19 +1644,19 @@ msgstr ""
 msgid "Loop"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:560
-#: src/modules/mod_gradient/lineargradient.cpp:207
+#: src/modules/mod_gradient/curvegradient.cpp:573
+#: src/modules/mod_gradient/lineargradient.cpp:202
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:561
-#: src/modules/mod_gradient/lineargradient.cpp:208
+#: src/modules/mod_gradient/curvegradient.cpp:574
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:136
 msgid "When checked the gradient is summetrical at the center"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:564
+#: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
 msgstr ""
 
@@ -1644,11 +1664,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:192
+#: src/modules/mod_gradient/lineargradient.cpp:187
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:196
+#: src/modules/mod_gradient/lineargradient.cpp:191
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1657,23 +1677,23 @@ msgid "Radial Gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:119
 msgid "Center of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:56
+#: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:130
+#: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:135
+#: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:136
+#: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
@@ -1686,13 +1706,15 @@ msgstr ""
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/listimporter.cpp:184 src/synfig/listimporter.cpp:185
+#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
+#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
 msgid "Unable to open "
 msgstr ""
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/listimporter.cpp:191 src/synfig/listimporter.cpp:192
+#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
+#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
 msgid "Unable to get frame from "
 msgstr ""
 
@@ -1730,284 +1752,284 @@ msgstr ""
 msgid "Unable to open pipe to imagemagick's convert utility"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:57
+#: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:217
+#: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:218
+#: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:223
+#: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:226 src/modules/mod_noise/noise.cpp:263
+#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:264
+#: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:230 src/modules/mod_noise/noise.cpp:271
-#: src/modules/mod_noise/valuenode_random.cpp:284
-#: src/synfig/layer_bitmap.cpp:169
+#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
-msgstr ""
+msgstr "Interpolazioa"
 
-#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
-#: src/synfig/layer_bitmap.cpp:170
+#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
+#: src/synfig/layer_bitmap.cpp:166
 msgid "What type of interpolation to use"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:233 src/modules/mod_noise/noise.cpp:274
-#: src/synfig/layer_bitmap.cpp:172
+#: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
+#: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:277
-#: src/modules/mod_noise/valuenode_random.cpp:290 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_bline.cpp:1001
+#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
+#: src/synfig/valuenode_bline.cpp:1006
 #: src/synfig/valuenode_blinecalctangent.cpp:241
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:237 src/modules/mod_noise/noise.cpp:278
-#: src/modules/mod_noise/valuenode_random.cpp:291
-#: src/synfig/layer_bitmap.cpp:175
+#: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:281
+#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:282
+#: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:244 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:248 src/modules/mod_noise/noise.cpp:289
+#: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:290
+#: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:183
+#: src/modules/mod_noise/valuenode_random.cpp:184
 msgid "Random"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:57
+#: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:268
+#: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:293
+#: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:294
+#: src/modules/mod_noise/noise.cpp:303
 msgid "Uses transparency"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:297
+#: src/modules/mod_noise/noise.cpp:306
 msgid "Super Sampling"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:298
+#: src/modules/mod_noise/noise.cpp:307
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:264
+#: src/modules/mod_noise/valuenode_random.cpp:265
 #: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
 #: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
 #: src/synfig/valuenode_reciprocal.cpp:165
 #: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
 #: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
-msgstr ""
+msgstr "Estela"
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:270
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:274
-#: src/modules/mod_particle/plant.cpp:450
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:276
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:279
+#: src/modules/mod_noise/valuenode_random.cpp:280
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:281
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:286
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:288
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:296
+#: src/modules/mod_noise/valuenode_random.cpp:297
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:298
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:69
+#: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:404
+#: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:408
+#: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:409
+#: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:413
+#: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:414
+#: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:419
+#: src/modules/mod_particle/plant.cpp:452
 msgid "Tangential Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:420
+#: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:424
+#: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:425
+#: src/modules/mod_particle/plant.cpp:458
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:429
+#: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:430
+#: src/modules/mod_particle/plant.cpp:463
 msgid "Size of the stem"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:435
+#: src/modules/mod_particle/plant.cpp:468
 msgid "Size As Alpha"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:436
+#: src/modules/mod_particle/plant.cpp:469
 msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:440
+#: src/modules/mod_particle/plant.cpp:473
 msgid "Reverse"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:441
+#: src/modules/mod_particle/plant.cpp:474
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:445 src/synfig/valuenode.cpp:170
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
 #: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
 msgid "Step"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:446
+#: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:451
+#: src/modules/mod_particle/plant.cpp:484
 msgid "Used to seed the pseudo-random number generator"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:455
+#: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:456
+#: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:460
+#: src/modules/mod_particle/plant.cpp:493
 msgid "Sprouts"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:461
+#: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:465
+#: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:466
+#: src/modules/mod_particle/plant.cpp:499
 msgid ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:470
+#: src/modules/mod_particle/plant.cpp:503
 msgid "Drag"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:471
+#: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:475
+#: src/modules/mod_particle/plant.cpp:508
 msgid "Use Width"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:476
+#: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
@@ -2016,97 +2038,102 @@ msgstr ""
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:87 src/synfig/importer.cpp:87
+#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
 msgid "Importer::open(): Cannot open empty filename"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:101 src/synfig/importer.cpp:101
+#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
 msgid "Importer::open(): Couldn't find extension"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:112 src/synfig/importer.cpp:112
+#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
 msgid "Importer::open(): Unknown file type -- "
 msgstr ""
 
-#: src/synfig/canvas.cpp:798 src/synfig/canvas.cpp:863
-#: src/synfig/canvas.cpp:886
+#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
+#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+msgid "No images in list"
+msgstr ""
+
+#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
+#: src/synfig/canvas.cpp:927
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:249
+#: src/synfig/distance.cpp:251
 msgid "Units"
-msgstr ""
+msgstr "Unitate"
 
-#: src/synfig/distance.cpp:250
+#: src/synfig/distance.cpp:252
 msgid "Pixels"
-msgstr ""
+msgstr "Pixelak"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:254
 msgid "Inches"
-msgstr ""
+msgstr "Hazbeteak "
 
-#: src/synfig/distance.cpp:253
+#: src/synfig/distance.cpp:255
 msgid "Meters"
-msgstr ""
+msgstr "Metroak"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:256
 msgid "Millimeters"
-msgstr ""
+msgstr "Milimetroak"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:257
 msgid "Centimeters"
-msgstr ""
+msgstr "Centimetroak"
 
-#: src/synfig/layer.cpp:565 src/synfig/layer_composite.cpp:128
+#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:619
+#: src/synfig/layer.cpp:605
 msgid "Z Depth"
-msgstr ""
+msgstr "Z sakonera"
 
-#: src/synfig/layer.cpp:621
+#: src/synfig/layer.cpp:607
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:159
+#: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:160
+#: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:164
+#: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:165
+#: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:218
+#: src/synfig/layer_composite.cpp:250
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:221 src/synfig/paramdesc.cpp:62
+#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
-msgstr ""
+msgstr "Nahasketa-metodoa"
 
-#: src/synfig/layer_composite.cpp:222
+#: src/synfig/layer_composite.cpp:254
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:168
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
 #: src/synfig/valuenode_duplicate.cpp:174
 msgid "Duplicate"
-msgstr ""
+msgstr "Bikoiztu"
 
-#: src/synfig/layer_duplicate.cpp:148
+#: src/synfig/layer_duplicate.cpp:151
 msgid "Index"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:149
+#: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
 msgstr ""
 
@@ -2118,156 +2145,156 @@ msgstr ""
 msgid "Motion Blur"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:136
+#: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:137
+#: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:141
+#: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:142
+#: src/synfig/layer_motionblur.cpp:141
 msgid "Multiplies The Number Of Subsamples Rendered"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:146
+#: src/synfig/layer_motionblur.cpp:145
 msgid "Subsampling Type"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:147
+#: src/synfig/layer_motionblur.cpp:146
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:149 src/synfig/valuenode_const.cpp:127
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
 msgid "Constant"
-msgstr ""
+msgstr "Konstantea"
 
-#: src/synfig/layer_motionblur.cpp:151
+#: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:155
+#: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:156
+#: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:160
+#: src/synfig/layer_motionblur.cpp:159
 msgid "Subsample End Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:161
+#: src/synfig/layer_motionblur.cpp:160
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:78 src/synfig/layer_pastecanvas.cpp:120
-#: src/synfig/layer_pastecanvas.cpp:121
+#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
+#: src/synfig/layer_pastecanvas.cpp:124
 msgid "Group"
-msgstr ""
+msgstr "Taldea"
 
-#: src/synfig/layer_pastecanvas.cpp:137
+#: src/synfig/layer_pastecanvas.cpp:140
 msgid "Canvas"
-msgstr ""
+msgstr "Oihala"
 
-#: src/synfig/layer_pastecanvas.cpp:138
+#: src/synfig/layer_pastecanvas.cpp:141
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:144
 msgid "Zoom"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:142
+#: src/synfig/layer_pastecanvas.cpp:145
 msgid "Size of canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:147
+#: src/synfig/layer_pastecanvas.cpp:152
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:151
+#: src/synfig/layer_pastecanvas.cpp:156
 msgid "Children Lock"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:157
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
+#: src/synfig/layer_pastecanvas.cpp:162
 msgid "Focus Point"
-msgstr ""
+msgstr "Fokatze-puntua"
 
-#: src/synfig/layer_pastecanvas.cpp:159
+#: src/synfig/layer_pastecanvas.cpp:165
 msgid "Point to remain fixed when zooming"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:164
+#: src/synfig/layer_pastecanvas.cpp:170
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:165
+#: src/synfig/layer_pastecanvas.cpp:171
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:180
+#: src/synfig/layer_pastecanvas.cpp:186
 msgid "Current Time"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:61
+#: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:187
+#: src/synfig/layer_polygon.cpp:194
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:188
+#: src/synfig/layer_polygon.cpp:195
 msgid "Define the corners of the polygon"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:64
+#: src/synfig/layer_shape.cpp:66
 msgid "Shape"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:65
+#: src/synfig/layer_shape.cpp:67
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1194
+#: src/synfig/layer_shape.cpp:1222
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1203
+#: src/synfig/layer_shape.cpp:1231
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1210
+#: src/synfig/layer_shape.cpp:1238
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1211
+#: src/synfig/layer_shape.cpp:1239
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1220
+#: src/synfig/layer_shape.cpp:1248
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_shape.cpp:1249
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1223
+#: src/synfig/layer_shape.cpp:1251
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1224
+#: src/synfig/layer_shape.cpp:1252
 msgid "Even/Odd"
 msgstr ""
 
@@ -2275,406 +2302,406 @@ msgstr ""
 msgid "Solid Color"
 msgstr ""
 
-#: src/synfig/listimporter.cpp:161 src/synfig/listimporter.cpp:162
-msgid "No images in list"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:142
+#: src/synfig/loadcanvas.cpp:143
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:185
+#: src/synfig/loadcanvas.cpp:186
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:191
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:205
+#: src/synfig/loadcanvas.cpp:206
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:236
+#: src/synfig/loadcanvas.cpp:237
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:469
-#: src/synfig/loadcanvas.cpp:1118
+#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
+#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:473
-#: src/synfig/loadcanvas.cpp:1122
+#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
+#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:484 src/synfig/loadcanvas.cpp:1144
+#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
+#: src/synfig/loadcanvas.cpp:1200
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:508
+#: src/synfig/loadcanvas.cpp:533
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1284
+#: src/synfig/loadcanvas.cpp:1353
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1301
+#: src/synfig/loadcanvas.cpp:1375
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1314
+#: src/synfig/loadcanvas.cpp:1388
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1330
+#: src/synfig/loadcanvas.cpp:1404
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1336 src/synfig/loadcanvas.cpp:1348
+#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1365
+#: src/synfig/loadcanvas.cpp:1439
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1380
+#: src/synfig/loadcanvas.cpp:1455
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1424 src/synfig/loadcanvas.cpp:1443
-#, c-format
-msgid "\"%s\" not a valid value for attribute \"%s\" in <%s>"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:1504
+#: src/synfig/loadcanvas.cpp:1556
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1512
+#: src/synfig/loadcanvas.cpp:1565
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1522
+#: src/synfig/loadcanvas.cpp:1577
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1531
+#: src/synfig/loadcanvas.cpp:1587
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1557 src/synfig/loadcanvas.cpp:1628
+#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1570
+#: src/synfig/loadcanvas.cpp:1625
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1579
+#: src/synfig/loadcanvas.cpp:1634
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1603
+#: src/synfig/loadcanvas.cpp:1658
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1643
+#: src/synfig/loadcanvas.cpp:1698
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1652
+#: src/synfig/loadcanvas.cpp:1707
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1659
+#: src/synfig/loadcanvas.cpp:1714
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1677
+#: src/synfig/loadcanvas.cpp:1732
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1747
+#: src/synfig/loadcanvas.cpp:1811
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1841
-msgid "Unable to create <dynamic_list>"
+#: src/synfig/loadcanvas.cpp:1861
+msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1993
+#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2038
+#: src/synfig/loadcanvas.cpp:1998
+msgid "Unable to create <dynamic_list>"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2220
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2076
+#: src/synfig/loadcanvas.cpp:2283
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2097
+#: src/synfig/loadcanvas.cpp:2304
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2102
+#: src/synfig/loadcanvas.cpp:2310
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2107
+#: src/synfig/loadcanvas.cpp:2316
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2142
+#: src/synfig/loadcanvas.cpp:2373
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2161
+#: src/synfig/loadcanvas.cpp:2392
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2181
+#: src/synfig/loadcanvas.cpp:2415
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2184
+#: src/synfig/loadcanvas.cpp:2418
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2192
+#: src/synfig/loadcanvas.cpp:2426
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2209
+#: src/synfig/loadcanvas.cpp:2443
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2214
+#: src/synfig/loadcanvas.cpp:2448
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2454
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2222
+#: src/synfig/loadcanvas.cpp:2456
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2244
+#: src/synfig/loadcanvas.cpp:2480
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2260
+#: src/synfig/loadcanvas.cpp:2496
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2272 src/synfig/loadcanvas.cpp:2292
+#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2280
+#: src/synfig/loadcanvas.cpp:2516
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2303
+#: src/synfig/loadcanvas.cpp:2539
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2376 src/synfig/loadcanvas.cpp:2384
+#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2470
+#: src/synfig/loadcanvas.cpp:2710
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2478
+#: src/synfig/loadcanvas.cpp:2717
+msgid "Inline canvas cannot have a <bones> section"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2725
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2490
+#: src/synfig/loadcanvas.cpp:2737
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2498
+#: src/synfig/loadcanvas.cpp:2745
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2504
+#: src/synfig/loadcanvas.cpp:2751
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:2763
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2531
+#: src/synfig/loadcanvas.cpp:2778
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2546
+#: src/synfig/loadcanvas.cpp:2793
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2578
+#: src/synfig/loadcanvas.cpp:2828
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580 src/synfig/valuenode.cpp:353
+#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
 msgid "ValueNode"
-msgstr ""
+msgstr "ValueNode"
 
-#: src/synfig/loadcanvas.cpp:2580
+#: src/synfig/loadcanvas.cpp:2830
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2660 src/synfig/loadcanvas.cpp:2716
+#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:102
+#: src/synfig/main.cpp:118
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:107
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:112
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:117
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:122
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:184
+#: src/synfig/main.cpp:207
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:186
+#: src/synfig/main.cpp:209
 msgid "Unable to initialize subsystem \"Module\""
 msgstr ""
 
-#: src/synfig/main.cpp:188
+#: src/synfig/main.cpp:211
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:192
+#: src/synfig/main.cpp:215
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:195
+#: src/synfig/main.cpp:218
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:200
+#: src/synfig/main.cpp:223
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:203
+#: src/synfig/main.cpp:226
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
+#: src/synfig/main.cpp:232
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:212
+#: src/synfig/main.cpp:235
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:219
+#: src/synfig/main.cpp:242
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:222
+#: src/synfig/main.cpp:245
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:230
+#: src/synfig/main.cpp:253
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:267 src/synfig/main.cpp:268
+#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:279
+#: src/synfig/main.cpp:302
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:293 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:360 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:375 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:390
+#: src/synfig/main.cpp:413
 msgid "info"
 msgstr ""
 
@@ -2749,145 +2776,145 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:64 src/synfig/valuenode.cpp:140
-#: src/synfig/valuenode_composite.cpp:437
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
+#: src/synfig/valuenode_composite.cpp:447
 msgid "Composite"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:65
+#: src/synfig/paramdesc.cpp:69
 msgid "Straight"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:66
+#: src/synfig/paramdesc.cpp:70
 msgid "Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:67
+#: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68
+#: src/synfig/paramdesc.cpp:72
 msgid "Behind"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:69
+#: src/synfig/paramdesc.cpp:73
 msgid "Screen"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:70
+#: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:71
+#: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:72
+#: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:73
+#: src/synfig/paramdesc.cpp:77
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:74 src/synfig/valuenode.cpp:157
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
 #: src/synfig/valuenode_add.cpp:190
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:75 src/synfig/valuenode.cpp:147
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
 #: src/synfig/valuenode_subtract.cpp:194
 msgid "Subtract"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:76
+#: src/synfig/paramdesc.cpp:80
 msgid "Difference"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:77
+#: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78
+#: src/synfig/paramdesc.cpp:82
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:80 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
 msgid "Hue"
-msgstr ""
+msgstr "Ñabardura"
 
-#: src/synfig/paramdesc.cpp:81 src/synfig/valuenode_radialcomposite.cpp:260
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
 #: src/synfig/valuenode_radialcomposite.cpp:266
 msgid "Saturation"
-msgstr ""
+msgstr "Saturazioa"
 
-#: src/synfig/paramdesc.cpp:82
+#: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:83
+#: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84
+#: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85
+#: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
 msgstr ""
 
-#: src/synfig/render.cpp:246 src/synfig/render.cpp:247
-#: src/synfig/render.cpp:301 src/synfig/render.cpp:302
-#: src/synfig/render.cpp:536 src/synfig/render.cpp:537
-#: src/synfig/render.cpp:563 src/synfig/render.cpp:564
+#: src/synfig/render.cpp:248 src/synfig/render.cpp:249
+#: src/synfig/render.cpp:303 src/synfig/render.cpp:304
+#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
+#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:290
+#: src/synfig/savecanvas.cpp:359
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:543
+#: src/synfig/savecanvas.cpp:674 src/synfig/savecanvas.cpp:699
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:185
+#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
 #: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:281
 msgid "Target initialization failure"
-msgstr ""
+msgstr "Errorea helburua hasieratzean"
 
-#: src/synfig/target_cairo.cpp:146
+#: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:155 src/synfig/target_scanline.cpp:258
-#: src/synfig/target_scanline.cpp:405
+#: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:260
+#: src/synfig/target_scanline.cpp:407
 msgid "Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:162
+#: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:169 src/synfig/target_cairo_tile.cpp:248
-#: src/synfig/target_scanline.cpp:418 src/synfig/target_tile.cpp:396
+#: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
+#: src/synfig/target_scanline.cpp:420 src/synfig/target_tile.cpp:398
 msgid "Caught string :"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:174 src/synfig/target_cairo_tile.cpp:253
-#: src/synfig/target_scanline.cpp:423 src/synfig/target_tile.cpp:401
+#: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
+#: src/synfig/target_scanline.cpp:425 src/synfig/target_tile.cpp:403
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:179 src/synfig/target_cairo_tile.cpp:258
-#: src/synfig/target_scanline.cpp:428 src/synfig/target_tile.cpp:406
+#: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
+#: src/synfig/target_scanline.cpp:430 src/synfig/target_tile.cpp:408
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:190
+#: src/synfig/target_cairo.cpp:201
 msgid "Cairo Surface bad status"
 msgstr ""
 
@@ -2895,24 +2922,24 @@ msgstr ""
 msgid "Bad Tile Size"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:142 src/synfig/target_cairo_tile.cpp:240
-#: src/synfig/target_scanline.cpp:203 src/synfig/target_scanline.cpp:249
-#: src/synfig/target_scanline.cpp:348 src/synfig/target_scanline.cpp:396
+#: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
+#: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:251
+#: src/synfig/target_scanline.cpp:350 src/synfig/target_scanline.cpp:398
 #: src/synfig/target_tile.cpp:225
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:150
+#: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:156 src/synfig/target_tile.cpp:179
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:179
 #: src/synfig/target_tile.cpp:245
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:211
+#: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
 msgstr ""
 
@@ -2936,277 +2963,317 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:276 src/synfig/value.cpp:308 src/synfig/value.cpp:360
+#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
 msgid "bool"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:277 src/synfig/value.cpp:310 src/synfig/value.cpp:358
+#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
 msgid "integer"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:278 src/synfig/value.cpp:312
+#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
 msgid "angle"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:279 src/synfig/value.cpp:314 src/synfig/value.cpp:352
+#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
 msgid "time"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:280 src/synfig/value.cpp:316 src/synfig/value.cpp:355
+#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
 msgid "real"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:281 src/synfig/value.cpp:318
+#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
 msgid "vector"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:282 src/synfig/value.cpp:320
+#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
 msgid "color"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:283 src/synfig/value.cpp:322
+#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
 msgid "segment"
 msgstr ""
 
-#: src/synfig/value.cpp:284
+#: src/synfig/value.cpp:378
 msgid "bline_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:285 src/synfig/value.cpp:326
+#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
+msgid "matrix"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
+msgid "bone_weight_pair"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
 msgid "width_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:286 src/synfig/value.cpp:328
+#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
 msgid "dash_item"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:287 src/synfig/value.cpp:330
+#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
 msgid "list"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:288 src/synfig/value.cpp:332
+#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
 msgid "canvas"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:289 src/synfig/value.cpp:334
+#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
 msgid "string"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:290 src/synfig/value.cpp:336
+#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
 msgid "gradient"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:291 src/synfig/value.cpp:338
+#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
+msgid "bone_object"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
+msgid "bone_valuenode"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
 msgid "nil"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:324
+#: src/synfig/value.cpp:422
 msgid "spline_point"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:141 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:142 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
-msgstr ""
+msgstr "Erreferentzia"
 
-#: src/synfig/valuenode.cpp:144 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:146 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_dynamiclist.cpp:755
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
 #: src/synfig/valuenode_switch.cpp:163
 msgid "Switch"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164
+#: src/synfig/valuenode.cpp:170
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165
+#: src/synfig/valuenode.cpp:171
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
 msgid "Integer"
-msgstr ""
+msgstr "Osokoa"
 
-#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:176 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177
+#: src/synfig/valuenode.cpp:183
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:178
+#: src/synfig/valuenode.cpp:184
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_real.cpp:161
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
 #: src/synfig/valuenode_realstring.cpp:175
 msgid "Real"
-msgstr ""
+msgstr "Erreala"
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:189
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:190
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185
+#: src/synfig/valuenode.cpp:191
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187
+#: src/synfig/valuenode.cpp:192
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:199
+msgid "Bone Influence"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:200
+msgid "Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:201
+msgid "Root Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:202
+msgid "Static List"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:203
+msgid "Bone Weight Pair"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:206
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:233
+#: src/synfig/valuenode.cpp:241
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:513
+#: src/synfig/valuenode.cpp:540
 msgid "Placeholder"
 msgstr ""
 
-#: src/synfig/valuenode.h:61
+#: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
@@ -3273,32 +3340,32 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:355 src/synfig/valuenode_animated.cpp:379
-#: src/synfig/valuenode_animated.cpp:703 src/synfig/valuenode_animated.cpp:721
-#: src/synfig/valuenode_animated.cpp:801 src/synfig/valuenode_animated.cpp:820
+#: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
+#: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
+#: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1134
+#: src/synfig/valuenode_animated.cpp:1173
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1169
+#: src/synfig/valuenode_animated.cpp:1208
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:977 src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
 #: src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:980 src/synfig/valuenode_dynamiclist.cpp:664
+#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
 #: src/synfig/valuenode_wplist.cpp:339
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_bline.cpp:1023
+#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
@@ -3318,7 +3385,7 @@ msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:584
 #: src/synfig/valuenode_gradientrotate.cpp:169
 #: src/synfig/valuenode_linear.cpp:213
 msgid "Offset"
@@ -3372,190 +3439,186 @@ msgstr ""
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:219
+#: src/synfig/valuenode_composite.cpp:229
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:464
+#: src/synfig/valuenode_composite.cpp:474
 msgid "Red"
-msgstr ""
+msgstr "Gorria"
 
-#: src/synfig/valuenode_composite.cpp:465
+#: src/synfig/valuenode_composite.cpp:475
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:468
+#: src/synfig/valuenode_composite.cpp:478
 msgid "Green"
-msgstr ""
+msgstr "Berdea"
 
-#: src/synfig/valuenode_composite.cpp:469
+#: src/synfig/valuenode_composite.cpp:479
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:472
+#: src/synfig/valuenode_composite.cpp:482
 msgid "Blue"
-msgstr ""
+msgstr "Urdina"
 
-#: src/synfig/valuenode_composite.cpp:473
+#: src/synfig/valuenode_composite.cpp:483
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:476
+#: src/synfig/valuenode_composite.cpp:486
 msgid "Alpha"
-msgstr ""
+msgstr "Alfa"
 
-#: src/synfig/valuenode_composite.cpp:477
+#: src/synfig/valuenode_composite.cpp:487
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:492
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:493
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
-#: src/synfig/valuenode_composite.cpp:526
+#: src/synfig/valuenode_composite.cpp:496
+#: src/synfig/valuenode_composite.cpp:536
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:497
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:490
+#: src/synfig/valuenode_composite.cpp:500
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:491
+#: src/synfig/valuenode_composite.cpp:501
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:494
-#: src/synfig/valuenode_composite.cpp:530
+#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:540
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:495
+#: src/synfig/valuenode_composite.cpp:505
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:510
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:511
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:514
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:515
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:520
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:521
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:525
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:519
+#: src/synfig/valuenode_composite.cpp:529
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:522
+#: src/synfig/valuenode_composite.cpp:532
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:523
+#: src/synfig/valuenode_composite.cpp:533
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:527
+#: src/synfig/valuenode_composite.cpp:537
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:531
+#: src/synfig/valuenode_composite.cpp:541
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:547
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:551
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:544
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_composite.cpp:554
+#: src/synfig/valuenode_composite.cpp:594
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:545
 #: src/synfig/valuenode_composite.cpp:555
+#: src/synfig/valuenode_composite.cpp:565
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
 #: src/synfig/valuenode_composite.cpp:557
+#: src/synfig/valuenode_composite.cpp:567
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:593
+#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:603
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:574
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:575
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:578
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:579
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:585
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:589
 #: src/synfig/valuenode_timedswap.cpp:260
 msgid "Length"
-msgstr ""
+msgstr "Luzera"
 
-#: src/synfig/valuenode_composite.cpp:580
+#: src/synfig/valuenode_composite.cpp:590
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:595
+#: src/synfig/valuenode_composite.cpp:604
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_const.cpp:127
-msgid "Static"
-msgstr ""
-
 #: src/synfig/valuenode_compare.cpp:168
 msgid "The left side of the comparison"
 msgstr ""
@@ -3620,12 +3683,12 @@ msgstr ""
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:655
+#: src/synfig/valuenode_dynamiclist.cpp:661
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:703
-#: src/synfig/valuenode_dynamiclist.cpp:957
+#: src/synfig/valuenode_dynamiclist.cpp:709
+#: src/synfig/valuenode_dynamiclist.cpp:964
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3752,7 +3815,7 @@ msgstr ""
 
 #: src/synfig/valuenode_radialcomposite.cpp:257
 msgid "Luma"
-msgstr ""
+msgstr "Luminantzia"
 
 #: src/synfig/valuenode_radialcomposite.cpp:273
 msgid "The length of the vector"
@@ -3902,7 +3965,7 @@ msgstr ""
 #: src/synfig/valuenode_segcalctangent.cpp:156
 #: src/synfig/valuenode_segcalcvertex.cpp:154
 msgid "Segment"
-msgstr ""
+msgstr "Segmentoa"
 
 #: src/synfig/valuenode_segcalctangent.cpp:157
 msgid "The Segment where the tangent is linked to"
@@ -3949,7 +4012,7 @@ msgid "Intersection"
 msgstr ""
 
 #: src/synfig/valuenode_step.cpp:213
-msgid "Value that define whether the step is centerd on the value [0,1]"
+msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
@@ -4023,7 +4086,7 @@ msgstr ""
 #: src/synfig/valuenode_timedswap.cpp:255
 #: src/synfig/valuenode_timestring.cpp:163
 msgid "Time"
-msgstr ""
+msgstr "Denbora"
 
 #: src/synfig/valuenode_timedswap.cpp:256
 msgid "The time when the linear interpolation ends"
@@ -4059,7 +4122,7 @@ msgstr ""
 #: src/synfig/valuenode_vectorlength.cpp:145
 #: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
 msgid "Vector"
-msgstr ""
+msgstr "Bektorea"
 
 #: src/synfig/valuenode_vectorangle.cpp:148
 msgid "The vector where the angle is calculated from"
@@ -4082,195 +4145,195 @@ msgstr ""
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:133
+#: src/tool/main.cpp:140
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:169
+#: src/tool/main.cpp:176
 msgid "Settings"
-msgstr ""
+msgstr "Ezarpenak"
 
-#: src/tool/main.cpp:171
+#: src/tool/main.cpp:178
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:172
+#: src/tool/main.cpp:179
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:173
+#: src/tool/main.cpp:180
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:174
+#: src/tool/main.cpp:181
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:175
+#: src/tool/main.cpp:182
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:176
+#: src/tool/main.cpp:183
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:184
 msgid "Gamma"
-msgstr ""
+msgstr "Gamma"
 
-#: src/tool/main.cpp:178
+#: src/tool/main.cpp:185
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:186
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:187
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:188
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:189
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:190
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:191
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:185 src/tool/main.cpp:186
+#: src/tool/main.cpp:192 src/tool/main.cpp:193
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:194
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:195
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:196
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:197
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:193
+#: src/tool/main.cpp:200
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:202
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:203
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:204
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:200
+#: src/tool/main.cpp:207
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:202
+#: src/tool/main.cpp:209
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:210
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:204 src/tool/main.cpp:230
+#: src/tool/main.cpp:211 src/tool/main.cpp:237
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:207
+#: src/tool/main.cpp:214
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:216
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:210
+#: src/tool/main.cpp:217
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:213
+#: src/tool/main.cpp:220
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:215
+#: src/tool/main.cpp:222
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:223
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:217
+#: src/tool/main.cpp:224
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:225
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:226
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:220
+#: src/tool/main.cpp:227
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:221
+#: src/tool/main.cpp:228
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:229
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:223
+#: src/tool/main.cpp:230
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:231
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:232
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:241
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:236
+#: src/tool/main.cpp:243
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:237
+#: src/tool/main.cpp:244
 msgid "Test signal implementation"
 msgstr ""
 
@@ -4320,7 +4383,7 @@ msgstr ""
 
 #: src/tool/joblistprocessor.cpp:229
 msgid "Rendering..."
-msgstr ""
+msgstr "Errendatzen..."
 
 #: src/tool/joblistprocessor.cpp:239
 msgid ": Rendered in "
@@ -4332,159 +4395,159 @@ msgstr ""
 
 #: src/tool/joblistprocessor.cpp:243
 msgid "Done."
-msgstr ""
+msgstr "Egina."
 
-#: src/tool/optionsprocessor.cpp:113
+#: src/tool/optionsprocessor.cpp:114
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:115
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:131
+#: src/tool/optionsprocessor.cpp:132
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:146
+#: src/tool/optionsprocessor.cpp:147
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:224
+#: src/tool/optionsprocessor.cpp:225
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:226
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:227
+#: src/tool/optionsprocessor.cpp:228
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:232
+#: src/tool/optionsprocessor.cpp:233
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:234
+#: src/tool/optionsprocessor.cpp:235
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:236
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:239
+#: src/tool/optionsprocessor.cpp:240
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:243
+#: src/tool/optionsprocessor.cpp:244
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:309
+#: src/tool/optionsprocessor.cpp:310
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:316
+#: src/tool/optionsprocessor.cpp:317
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:324
+#: src/tool/optionsprocessor.cpp:325
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:334
+#: src/tool/optionsprocessor.cpp:335
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:343
+#: src/tool/optionsprocessor.cpp:344
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:352
+#: src/tool/optionsprocessor.cpp:353
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:379
+#: src/tool/optionsprocessor.cpp:380
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:385
+#: src/tool/optionsprocessor.cpp:386
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:400
+#: src/tool/optionsprocessor.cpp:401
 #, c-format
 msgid "Resolution set to %dx%d"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:417
+#: src/tool/optionsprocessor.cpp:418
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:437
+#: src/tool/optionsprocessor.cpp:438
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:440
+#: src/tool/optionsprocessor.cpp:441
 #, c-format
 msgid "Target video codec set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:446
+#: src/tool/optionsprocessor.cpp:447
 #, c-format
 msgid "Target bitrate set to %dk"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:452
+#: src/tool/optionsprocessor.cpp:453
 #, c-format
 msgid "Output file sequence separator set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:487
+#: src/tool/optionsprocessor.cpp:488
 #, c-format
 msgid "Unable to load '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:494
+#: src/tool/optionsprocessor.cpp:495
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:499
+#: src/tool/optionsprocessor.cpp:500
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:513
+#: src/tool/optionsprocessor.cpp:514
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:532
+#: src/tool/optionsprocessor.cpp:533
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:539
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:557
+#: src/tool/optionsprocessor.cpp:558
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:571
+#: src/tool/optionsprocessor.cpp:572
 msgid "Appended contents of "
 msgstr ""
 
diff --git a/po/fa_IR.gmo b/po/fa_IR.gmo
index 9943c3e..cbcb43b 100644
Binary files a/po/fa_IR.gmo and b/po/fa_IR.gmo differ
diff --git a/po/fa_IR.po b/po/fa_IR.po
index 8a82f2a..41a0769 100644
--- a/po/fa_IR.po
+++ b/po/fa_IR.po
@@ -1,6 +1,6 @@
-# Iranian (Persian) trsanlation for Synfig Core.
-# Copyright (C) 2012 Synfig Contributors
-# This file is distributed under the same license as the Synfig package.
+# Translation file for Synfig Core package.
+# Copyright (C) 2013 Synfig Contributors
+# This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
 # Hadi Fadakar <h_adi_f at yahoo.com>, 2011
@@ -8,89 +8,90 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2013-05-09 18:34+0200\n"
-"PO-Revision-Date: 2013-05-02 12:39+0000\n"
-"Last-Translator: genete <genetita at gmail.com>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
+"POT-Creation-Date: 2013-10-25 17:57+0700\n"
+"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
+"Language-Team: Persian (Iran) (http://www.transifex.com/projects/p/synfig/"
+"language/fa_IR/)\n"
 "Language: fa_IR\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-#: src/modules/mod_example/filledrect.cpp:58
+#: src/modules/mod_example/filledrect.cpp:59
 msgid "Filled Rectangle"
 msgstr "مستطیل پر"
 
-#: src/modules/mod_example/filledrect.cpp:59
+#: src/modules/mod_example/filledrect.cpp:60
 #: src/modules/mod_example/metaballs.cpp:58
 #: src/modules/mod_example/simplecircle.cpp:58
 msgid "Example"
 msgstr "مثال"
 
-#: src/modules/mod_example/filledrect.cpp:120
+#: src/modules/mod_example/filledrect.cpp:131
 #: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:523
-#: src/modules/lyr_std/shade.cpp:564
-#: src/modules/mod_geometry/checkerboard.cpp:122
-#: src/modules/mod_geometry/circle.cpp:128
-#: src/modules/mod_geometry/rectangle.cpp:125 src/synfig/layer_shape.cpp:1193
-#: src/synfig/layer_solidcolor.cpp:102 src/synfig/paramdesc.cpp:79
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:620
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
 msgid "Color"
 msgstr "رنگ"
 
-#: src/modules/mod_example/filledrect.cpp:121
+#: src/modules/mod_example/filledrect.cpp:132
 #: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:129
-#: src/modules/mod_geometry/rectangle.cpp:126
-#: src/synfig/layer_solidcolor.cpp:103
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
 msgid "Fill color of the layer"
 msgstr "پر کردن رنگ لایه"
 
-#: src/modules/mod_example/filledrect.cpp:125
-#: src/modules/mod_geometry/rectangle.cpp:130
-#: src/modules/mod_gradient/lineargradient.cpp:190
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:185
 msgid "Point 1"
 msgstr "نقطه 1"
 
-#: src/modules/mod_example/filledrect.cpp:126
-#: src/modules/mod_geometry/rectangle.cpp:132
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
 msgid "First corner of the rectangle"
 msgstr "گوشه ی اول مستطیل"
 
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_geometry/rectangle.cpp:136
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:190
 msgid "Point 2"
 msgstr "نقطه 2"
 
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_geometry/rectangle.cpp:137
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
 msgid "Second corner of the rectangle"
 msgstr "گوشه ی دوم مستطیل"
 
-#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_example/filledrect.cpp:147
 msgid "Feather X"
 msgstr "پر X"
 
-#: src/modules/mod_example/filledrect.cpp:140
+#: src/modules/mod_example/filledrect.cpp:152
 msgid "Feather Y"
 msgstr "پر Y"
 
-#: src/modules/mod_example/filledrect.cpp:144 src/modules/lyr_std/bevel.cpp:68
-#: src/modules/mod_geometry/advanced_outline.cpp:1161
+#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
 msgid "Bevel"
 msgstr "مورب"
 
-#: src/modules/mod_example/filledrect.cpp:145
+#: src/modules/mod_example/filledrect.cpp:158
 msgid "Use Bevel for the corners"
 msgstr "استفاده از گوشه های مورب"
 
-#: src/modules/mod_example/filledrect.cpp:149
+#: src/modules/mod_example/filledrect.cpp:163
 msgid "Keep Bevel Circular"
 msgstr "ابزار خط مورب دایره ای شکل است"
 
-#: src/modules/mod_example/filledrect.cpp:150
+#: src/modules/mod_example/filledrect.cpp:164
 msgid "When checked the bevel is circular"
 msgstr "وقتی که علامت خورده باشد ابزار خط مورب دایره ای  شکل است."
 
@@ -98,39 +99,39 @@ msgstr "وقتی که علامت خورده باشد ابزار خط مورب د
 msgid "Metaballs"
 msgstr "فراتوپ ها"
 
-#: src/modules/mod_example/metaballs.cpp:135
+#: src/modules/mod_example/metaballs.cpp:129
 #: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:552
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:194
 #: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:112
-#: src/modules/mod_noise/noise.cpp:259 src/modules/mod_particle/plant.cpp:403
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
 #: src/synfig/valuenode_gradientrotate.cpp:164
 #: src/synfig/valuenode_repeat_gradient.cpp:203
 msgid "Gradient"
 msgstr "تغییر رنگ تدریجی"
 
-#: src/modules/mod_example/metaballs.cpp:139
+#: src/modules/mod_example/metaballs.cpp:133
 msgid "Balls"
 msgstr "توپ ها"
 
-#: src/modules/mod_example/metaballs.cpp:143
+#: src/modules/mod_example/metaballs.cpp:137
 msgid "Radii"
 msgstr "شعاع"
 
-#: src/modules/mod_example/metaballs.cpp:147
+#: src/modules/mod_example/metaballs.cpp:141
 msgid "Weights"
 msgstr "وزن"
 
-#: src/modules/mod_example/metaballs.cpp:151
+#: src/modules/mod_example/metaballs.cpp:145
 msgid "Gradient Left"
 msgstr "تغییر رنگ تدریجی از چپ"
 
-#: src/modules/mod_example/metaballs.cpp:155
+#: src/modules/mod_example/metaballs.cpp:149
 msgid "Gradient Right"
 msgstr "تغییر رنگ تدریجی از راست"
 
-#: src/modules/mod_example/metaballs.cpp:159
+#: src/modules/mod_example/metaballs.cpp:153
 msgid "Positive Only"
 msgstr "فقط مثبت "
 
@@ -142,21 +143,21 @@ msgstr "دایره ی ساده"
 #: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
 #: src/modules/mod_gradient/conicalgradient.cpp:114
 #: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:117
+#: src/modules/mod_gradient/spiralgradient.cpp:118
 msgid "Center"
 msgstr "مرکز"
 
 #: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:144
+#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
 msgid "Center of the circle"
 msgstr "مرکز دایره"
 
 #: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:151
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:132
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
 #: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:122
-#: src/modules/mod_noise/valuenode_random.cpp:269
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/valuenode_radialcomposite.cpp:272
 msgid "Radius"
 msgstr "شعاع"
@@ -164,20 +165,20 @@ msgstr "شعاع"
 #: src/modules/mod_example/simplecircle.cpp:118
 #: src/modules/lyr_std/twirl.cpp:118
 #: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:124
 msgid "This is the radius of the circle"
 msgstr "این شعاع دایره است"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
-#: src/modules/lyr_freetype/lyr_freetype.cpp:517
+#: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "متن"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
 #: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
-#: src/modules/lyr_std/supersample.cpp:57 src/modules/lyr_std/timeloop.cpp:60
-#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:70
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:79
+#: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
+#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
 msgid "Other"
 msgstr "سایر"
 
@@ -185,245 +186,245 @@ msgstr "سایر"
 msgid "Text Layer"
 msgstr "لایه ی متن"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:390
+#: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
 msgstr "ناتوان از مقداردهی اولیه"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:409
+#: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
 msgstr "مجموعه فونت خالی"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:518
+#: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
 msgstr "متن  به بارگزاری صفحه"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:524
+#: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "رنگ متن"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:528
+#: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
 msgstr "خانواده ی متن"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:533
+#: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
 msgstr "سبک"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:535
-#: src/modules/lyr_freetype/lyr_freetype.cpp:545
+#: src/modules/lyr_freetype/lyr_freetype.cpp:587
+#: src/modules/lyr_freetype/lyr_freetype.cpp:597
 msgid "Normal"
 msgstr "عادی"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:536
+#: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
 msgstr "اریب"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:537
+#: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
 msgstr "کج"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:541
+#: src/modules/lyr_freetype/lyr_freetype.cpp:593
 msgid "Weight"
 msgstr "وزن"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:543
+#: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
 msgstr "فرانور"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:544
+#: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
 msgstr "نور"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:546
+#: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
 msgstr "جسور"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:547
+#: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
 msgstr "فرا-تو-پر"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:548
+#: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
 msgstr "سنگین"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:551
+#: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
 msgstr "فاصله افقی"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:552
+#: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
 msgstr "توضیح می دهد که glyph ها چقدر به طور هافقی به هم نزدیکند"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:556
+#: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
 msgstr "فاصله عمودی"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:557
+#: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
 msgstr "توضیح می دهد که خط های متن چقدر به طور عمودی نزدیک هستند"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:561
-#: src/modules/lyr_std/shade.cpp:570 src/modules/lyr_std/xorpattern.cpp:129
-#: src/modules/mod_filter/blur.cpp:372
+#: src/modules/lyr_freetype/lyr_freetype.cpp:613
+#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:413
 #: src/modules/mod_filter/radialblur.cpp:115
-#: src/modules/mod_geometry/checkerboard.cpp:130
-#: src/modules/mod_noise/distort.cpp:222 src/modules/mod_noise/noise.cpp:267
+#: src/modules/mod_geometry/checkerboard.cpp:154
+#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
 msgstr "اندازه"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:562
+#: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
 msgstr "اندازه متن"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:569
+#: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
 msgstr "جهت"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:570
+#: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
 msgstr "جهت متن"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/insideout.cpp:143 src/modules/lyr_std/rotate.cpp:116
-#: src/modules/lyr_std/shade.cpp:567 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:389
-#: src/modules/lyr_std/xorpattern.cpp:125 src/modules/lyr_std/zoom.cpp:104
+#: src/modules/lyr_freetype/lyr_freetype.cpp:627
+#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
+#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
+#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
-#: src/modules/mod_geometry/checkerboard.cpp:126
-#: src/modules/mod_geometry/circle.cpp:143
-#: src/modules/mod_gradient/curvegradient.cpp:537
-#: src/modules/mod_particle/plant.cpp:398 src/synfig/layer_pastecanvas.cpp:133
-#: src/synfig/layer_shape.cpp:1197 src/synfig/valuenode_composite.cpp:518
+#: src/modules/mod_geometry/checkerboard.cpp:150
+#: src/modules/mod_geometry/circle.cpp:161
+#: src/modules/mod_gradient/curvegradient.cpp:550
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
+#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
 msgid "Origin"
 msgstr "منشاء"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:576
+#: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
 msgstr "موقعیت متن"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:580
+#: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
 msgstr "خط نگارشی"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:581
+#: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
 msgstr "نام فایل خط برای استفاده"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:588
+#: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
 msgstr "Kerning"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:589
+#: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
 msgstr "فعال/غیرفعال کردن kerning خط(در صورتی که خط از آن پشتیبانی کند)"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
 msgstr "تیزکردن لبه ها"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:594
+#: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
 msgstr "اگر می خواهید متن را پویانمایی کنید این را خاموش کنید "
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:597
-#: src/modules/lyr_std/shade.cpp:587 src/modules/mod_geometry/circle.cpp:147
-#: src/synfig/layer_shape.cpp:1200
+#: src/modules/lyr_freetype/lyr_freetype.cpp:649
+#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1228
 msgid "Invert"
 msgstr "معکوس"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:654
+#: src/modules/lyr_freetype/lyr_freetype.cpp:714
 msgid "No face loaded, no text will be rendered."
 msgstr "هیچ  ظاهری بارگذاری نشده ، هیچ متنی رندر نخواهد شد."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:680
+#: src/modules/lyr_freetype/lyr_freetype.cpp:740
 msgid "Text too small, no text will be rendered."
 msgstr "متن خیلی کوچک است، هیچ متنی رندر نخواهد شد."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:704
+#: src/modules/lyr_freetype/lyr_freetype.cpp:764
 msgid "Unable to set face size."
 msgstr "ناتوان از تعیین اندازه ی ظاهری"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:747
+#: src/modules/lyr_freetype/lyr_freetype.cpp:807
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr "دنباله ی چندبایتی نامعتبر- is the locale set?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:754
+#: src/modules/lyr_freetype/lyr_freetype.cpp:814
 msgid "Can't parse multibyte character.\n"
 msgstr "ناتوان از تکه کردن کاراکترهای چندبایتی\n"
 
-#: src/modules/lyr_std/bevel.cpp:69 src/modules/lyr_std/shade.cpp:68
+#: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "سبک سازی"
 
-#: src/modules/lyr_std/bevel.cpp:570 src/modules/lyr_std/shade.cpp:576
-#: src/modules/mod_filter/blur.cpp:376
-#: src/modules/mod_filter/halftone2.cpp:170
+#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
+#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "نوع"
 
-#: src/modules/lyr_std/bevel.cpp:571 src/modules/lyr_std/shade.cpp:577
-#: src/modules/mod_filter/blur.cpp:377
+#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
+#: src/modules/mod_filter/blur.cpp:418
 msgid "Type of blur to use"
 msgstr "نوع تیرگی برای استفاده"
 
-#: src/modules/lyr_std/bevel.cpp:573 src/modules/lyr_std/shade.cpp:579
-#: src/modules/mod_filter/blur.cpp:379 src/synfig/layer_shape.cpp:1213
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
 msgid "Box Blur"
 msgstr "تاری جعبه ای "
 
-#: src/modules/lyr_std/bevel.cpp:574 src/modules/lyr_std/shade.cpp:580
-#: src/modules/mod_filter/blur.cpp:380 src/synfig/layer_shape.cpp:1214
+#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
+#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
 msgid "Fast Gaussian Blur"
 msgstr "تاری گاوسی سریع "
 
-#: src/modules/lyr_std/bevel.cpp:575 src/modules/lyr_std/shade.cpp:581
-#: src/modules/mod_filter/blur.cpp:381 src/synfig/layer_shape.cpp:1215
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
 msgid "Cross-Hatch Blur"
 msgstr "تاری کراس هچ "
 
-#: src/modules/lyr_std/bevel.cpp:576 src/modules/lyr_std/shade.cpp:582
-#: src/modules/mod_filter/blur.cpp:382 src/synfig/layer_shape.cpp:1216
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
 msgid "Gaussian Blur"
 msgstr "تاری گاوسی "
 
-#: src/modules/lyr_std/bevel.cpp:577 src/modules/lyr_std/shade.cpp:583
-#: src/modules/mod_filter/blur.cpp:383 src/synfig/layer_shape.cpp:1217
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
 msgid "Disc Blur"
 msgstr "تاری دیسک "
 
-#: src/modules/lyr_std/bevel.cpp:581
+#: src/modules/lyr_std/bevel.cpp:635
 msgid "Hi-Color"
 msgstr "Hi-Color"
 
-#: src/modules/lyr_std/bevel.cpp:584
+#: src/modules/lyr_std/bevel.cpp:638
 msgid "Lo-Color"
 msgstr "Lo-Color"
 
-#: src/modules/lyr_std/bevel.cpp:587
+#: src/modules/lyr_std/bevel.cpp:641
 msgid "Light Angle"
 msgstr "نور زاویه ای "
 
-#: src/modules/lyr_std/bevel.cpp:591
+#: src/modules/lyr_std/bevel.cpp:645
 msgid "Depth of Bevel"
 msgstr "عمق ابزار مورب سازی"
 
-#: src/modules/lyr_std/bevel.cpp:595
+#: src/modules/lyr_std/bevel.cpp:649
 msgid "Softness"
 msgstr "نرمی"
 
-#: src/modules/lyr_std/bevel.cpp:598
+#: src/modules/lyr_std/bevel.cpp:652
 msgid "Use Luma"
 msgstr "استفاده از Luma"
 
-#: src/modules/lyr_std/bevel.cpp:601
+#: src/modules/lyr_std/bevel.cpp:655
 msgid "Solid"
 msgstr "ثابت"
 
-#: src/modules/lyr_std/booleancurve.cpp:104
+#: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
 msgstr "قرار دادن محدوده"
 
-#: src/modules/lyr_std/booleancurve.cpp:105
+#: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
 msgstr "مشخص کردن محدوده های ترکیب"
 
@@ -431,38 +432,38 @@ msgstr "مشخص کردن محدوده های ترکیب"
 msgid "Clamp"
 msgstr "گیره"
 
-#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:56
-#: src/modules/mod_filter/halftone2.cpp:59
-#: src/modules/mod_filter/halftone3.cpp:59
-#: src/modules/mod_filter/lumakey.cpp:59
+#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:57
+#: src/modules/mod_filter/halftone2.cpp:60
+#: src/modules/mod_filter/halftone3.cpp:60
+#: src/modules/mod_filter/lumakey.cpp:60
 msgid "Filters"
 msgstr "فیلترها"
 
-#: src/modules/lyr_std/clamp.cpp:158
+#: src/modules/lyr_std/clamp.cpp:162
 msgid "Invert Negative"
 msgstr "نگاتیو معکوس"
 
-#: src/modules/lyr_std/clamp.cpp:162
+#: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
 msgstr "گیره های سقفی"
 
-#: src/modules/lyr_std/clamp.cpp:163
+#: src/modules/lyr_std/clamp.cpp:167
 msgid "When checked the Ceiling value is used"
 msgstr "وقتی که علامت خورده باشد سقف مقدار استفاده می شود"
 
-#: src/modules/lyr_std/clamp.cpp:167
+#: src/modules/lyr_std/clamp.cpp:171
 msgid "Ceiling"
 msgstr "سقف"
 
-#: src/modules/lyr_std/clamp.cpp:168
+#: src/modules/lyr_std/clamp.cpp:172
 msgid "Upper boundary of the clamping"
 msgstr "مرز فوقانی گیره"
 
-#: src/modules/lyr_std/clamp.cpp:172
+#: src/modules/lyr_std/clamp.cpp:176
 msgid "Floor"
 msgstr "کف"
 
-#: src/modules/lyr_std/clamp.cpp:173
+#: src/modules/lyr_std/clamp.cpp:177
 msgid "Lower boundary of the clamping"
 msgstr "مرز پایین تر گیره"
 
@@ -470,24 +471,24 @@ msgstr "مرز پایین تر گیره"
 msgid "Import Image"
 msgstr "ورود تصویر"
 
-#: src/modules/lyr_std/import.cpp:151 src/modules/lyr_std/import.cpp:201
+#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr "به نظر می آید نام فایل قبلا به %s(%s) قرار داده شده است"
 
-#: src/modules/lyr_std/import.cpp:283
+#: src/modules/lyr_std/import.cpp:293
 msgid "Filename"
 msgstr "نام فایل"
 
-#: src/modules/lyr_std/import.cpp:284
+#: src/modules/lyr_std/import.cpp:294
 msgid "File to import"
 msgstr "فایل برای وارد کردن"
 
-#: src/modules/lyr_std/import.cpp:288 src/synfig/layer_pastecanvas.cpp:146
+#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
 msgid "Time Offset"
 msgstr "زمان افست"
 
-#: src/modules/lyr_std/import.cpp:289
+#: src/modules/lyr_std/import.cpp:299
 msgid "Time Offset to apply to the imported file"
 msgstr "انحراف زمانی برای اعمال بر فایل ورودی"
 
@@ -496,14 +497,14 @@ msgid "Inside Out"
 msgstr "ورو"
 
 #: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:75
 #: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:57 src/modules/lyr_std/curvewarp.cpp:56
-#: src/modules/mod_noise/distort.cpp:58
+#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
+#: src/modules/mod_noise/distort.cpp:59
 msgid "Distortions"
 msgstr "انحراف ها"
 
-#: src/modules/lyr_std/insideout.cpp:144
+#: src/modules/lyr_std/insideout.cpp:163
 msgid "Defines the where the center will be"
 msgstr "جایی رو که مرکز هست رو تعریف می کند."
 
@@ -515,97 +516,97 @@ msgstr "جولیا تنظیم"
 msgid "Fractals"
 msgstr "فرکتال ها"
 
-#: src/modules/lyr_std/julia.cpp:309
+#: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
 msgstr "رنگ های داخلی"
 
-#: src/modules/lyr_std/julia.cpp:310
+#: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
 msgstr "رنگ مجموعه"
 
-#: src/modules/lyr_std/julia.cpp:313
+#: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
 msgstr "رنگ قسمت های خارجی"
 
-#: src/modules/lyr_std/julia.cpp:314
+#: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
 msgstr "رنگ خارج از مجموعه"
 
-#: src/modules/lyr_std/julia.cpp:317
+#: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
 msgstr "تبدیل رنگ "
 
-#: src/modules/lyr_std/julia.cpp:320 src/modules/lyr_std/mandelbrot.cpp:223
+#: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
 msgstr "تکرارها"
 
-#: src/modules/lyr_std/julia.cpp:323
+#: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
 msgstr "نقطه دانه "
 
-#: src/modules/lyr_std/julia.cpp:326 src/modules/lyr_std/mandelbrot.cpp:226
+#: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
 msgstr "نجات مفدار پایه "
 
-#: src/modules/lyr_std/julia.cpp:330 src/modules/lyr_std/mandelbrot.cpp:236
+#: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
 msgstr "انحراف داخل"
 
-#: src/modules/lyr_std/julia.cpp:333 src/modules/lyr_std/mandelbrot.cpp:240
+#: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
 msgstr "سایه ی داخل"
 
-#: src/modules/lyr_std/julia.cpp:336 src/modules/lyr_std/mandelbrot.cpp:244
+#: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
 msgstr "شکل یک دست برای داخل"
 
-#: src/modules/lyr_std/julia.cpp:339 src/modules/lyr_std/mandelbrot.cpp:248
+#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
 msgstr "در داخل برعکس شود"
 
-#: src/modules/lyr_std/julia.cpp:342
+#: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
 msgstr "رنگ داخل"
 
-#: src/modules/lyr_std/julia.cpp:345 src/modules/lyr_std/mandelbrot.cpp:265
+#: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
 msgstr "انحراف خارج"
 
-#: src/modules/lyr_std/julia.cpp:348 src/modules/lyr_std/mandelbrot.cpp:269
+#: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
 msgstr "سایه ی خارج"
 
-#: src/modules/lyr_std/julia.cpp:351 src/modules/lyr_std/mandelbrot.cpp:273
+#: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
 msgstr "رنگ یک دست خارج"
 
-#: src/modules/lyr_std/julia.cpp:354 src/modules/lyr_std/mandelbrot.cpp:277
+#: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
 msgstr "خارج برعکس شود"
 
-#: src/modules/lyr_std/julia.cpp:357
+#: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
 msgstr "رنگ خارج"
 
-#: src/modules/lyr_std/julia.cpp:361
+#: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
 msgstr "چرخه رنگ"
 
-#: src/modules/lyr_std/julia.cpp:364 src/modules/lyr_std/mandelbrot.cpp:285
+#: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
 msgstr "صاف در خارج"
 
-#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:286
+#: src/modules/lyr_std/julia.cpp:391 src/modules/lyr_std/mandelbrot.cpp:282
 msgid "Smooth the coloration outside the set"
 msgstr "رنگ امیزی صاف  در خارج از مجموعه"
 
-#: src/modules/lyr_std/julia.cpp:368 src/modules/lyr_std/mandelbrot.cpp:230
+#: src/modules/lyr_std/julia.cpp:394 src/modules/lyr_std/mandelbrot.cpp:226
 msgid "Break Set"
 msgstr "جدا سازی اعضای مجموعه"
 
-#: src/modules/lyr_std/julia.cpp:369 src/modules/lyr_std/mandelbrot.cpp:231
+#: src/modules/lyr_std/julia.cpp:395 src/modules/lyr_std/mandelbrot.cpp:227
 msgid "Modify equation to achieve interesting results"
 msgstr "تغییر معادله برای رسیدن به نتایج جالب"
 
@@ -613,48 +614,48 @@ msgstr "تغییر معادله برای رسیدن به نتایج جالب"
 msgid "Mandelbrot Set"
 msgstr "مجموعه ی مندلبرات"
 
+#: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
 #: src/modules/lyr_std/mandelbrot.cpp:241
 #: src/modules/lyr_std/mandelbrot.cpp:245
 #: src/modules/lyr_std/mandelbrot.cpp:249
 #: src/modules/lyr_std/mandelbrot.cpp:253
 #: src/modules/lyr_std/mandelbrot.cpp:257
-#: src/modules/lyr_std/mandelbrot.cpp:261
 msgid "Inside"
 msgstr "داخل"
 
-#: src/modules/lyr_std/mandelbrot.cpp:252
+#: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
 msgstr "گرادیانت در داخل"
 
-#: src/modules/lyr_std/mandelbrot.cpp:256
+#: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
 msgstr "انحراف در داخل"
 
-#: src/modules/lyr_std/mandelbrot.cpp:260
+#: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
 msgstr "  حلقه داخل"
 
+#: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
 #: src/modules/lyr_std/mandelbrot.cpp:270
 #: src/modules/lyr_std/mandelbrot.cpp:274
 #: src/modules/lyr_std/mandelbrot.cpp:278
-#: src/modules/lyr_std/mandelbrot.cpp:282
+#: src/modules/lyr_std/mandelbrot.cpp:283
 #: src/modules/lyr_std/mandelbrot.cpp:287
 #: src/modules/lyr_std/mandelbrot.cpp:291
-#: src/modules/lyr_std/mandelbrot.cpp:295
 msgid "Outside"
 msgstr "خارج"
 
-#: src/modules/lyr_std/mandelbrot.cpp:281
+#: src/modules/lyr_std/mandelbrot.cpp:277
 msgid "Gradient outside"
 msgstr "گرادیانت در خارج"
 
-#: src/modules/lyr_std/mandelbrot.cpp:290
+#: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
 msgstr "انحراف در خارج"
 
-#: src/modules/lyr_std/mandelbrot.cpp:294
+#: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
 msgstr "مقیاس خارج"
 
@@ -667,16 +668,16 @@ msgstr "چرخاندن"
 msgid "Transform"
 msgstr "تبدیل"
 
-#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/translate.cpp:101
+#: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:134
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr "نقطه ای که شما می خواهید به منشاء شود را نشان دهید"
 
-#: src/modules/lyr_std/rotate.cpp:121
-#: src/modules/lyr_std/sphere_distort.cpp:158
+#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:217
+#: src/synfig/layer_composite.cpp:249
 #: src/synfig/valuenode_blinecalctangent.cpp:251
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
@@ -685,61 +686,61 @@ msgstr "نقطه ای که شما می خواهید به منشاء شود را
 msgid "Amount"
 msgstr "مقدار"
 
-#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
 msgstr "مقدار چرخش"
 
-#: src/modules/lyr_std/shade.cpp:67
+#: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
 msgstr "سایه"
 
-#: src/modules/lyr_std/shade.cpp:571
+#: src/modules/lyr_std/shade.cpp:627
 msgid "Size of Shade"
 msgstr "اندازه سایه"
 
-#: src/modules/lyr_std/sphere_distort.cpp:73
-#: src/modules/lyr_std/sphere_distort.cpp:172
+#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:167
 msgid "Spherize"
 msgstr "کره ای شدن"
 
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/synfig/valuenode_composite.cpp:536
+#: src/modules/lyr_std/sphere_distort.cpp:141
+#: src/synfig/valuenode_composite.cpp:546
 msgid "Position"
 msgstr "موقعیت"
 
-#: src/modules/lyr_std/sphere_distort.cpp:147
+#: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
 msgstr "جایی انحراف گردی متمرکز می شود "
 
-#: src/modules/lyr_std/sphere_distort.cpp:154
+#: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr "اندازه انحراف کره"
 
-#: src/modules/lyr_std/sphere_distort.cpp:160
+#: src/modules/lyr_std/sphere_distort.cpp:155
 msgid "The distortion intensity (negative values inverts effect)"
 msgstr "شدت انحراف (مقادیر منفی اثر را معکوس می کند)"
 
-#: src/modules/lyr_std/sphere_distort.cpp:164 src/modules/lyr_std/warp.cpp:409
+#: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
 msgstr "کلیپ"
 
-#: src/modules/lyr_std/sphere_distort.cpp:165
+#: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
 msgstr "وقتی علامت خورده شده باشد، محدوده ی بیرون از شعاع منحرف نمی شود"
 
-#: src/modules/lyr_std/sphere_distort.cpp:169
+#: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
 msgstr "نوع انحراف"
 
-#: src/modules/lyr_std/sphere_distort.cpp:170
+#: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
 msgstr "جهت انحراف"
 
-#: src/modules/lyr_std/sphere_distort.cpp:173
+#: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
 msgstr "نوار عمودی"
 
-#: src/modules/lyr_std/sphere_distort.cpp:174
+#: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
 msgstr "نوار افقی"
 
@@ -759,104 +760,104 @@ msgstr "جایی که انحراف بسط متمرکز می شود"
 msgid "Stroboscope"
 msgstr "دامنه ی بارق"
 
-#: src/modules/lyr_std/stroboscope.cpp:102
+#: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
 msgstr "فراوانی"
 
-#: src/modules/lyr_std/stroboscope.cpp:103
+#: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
 msgstr "فراوانی بارق در تعداد دفعات در ثانیه"
 
-#: src/modules/lyr_std/supersample.cpp:56
+#: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
 msgstr "فرا نمونه"
 
-#: src/modules/lyr_std/supersample.cpp:129
+#: src/modules/lyr_std/supersample.cpp:146
 msgid "Unable to create SurfaceTarget"
 msgstr "ناتوان از ایجاد سطح مقصد"
 
-#: src/modules/lyr_std/supersample.cpp:290
-#: src/modules/lyr_std/curvewarp.cpp:393
-#: src/modules/mod_gradient/curvegradient.cpp:542
-#: src/synfig/valuenode_composite.cpp:514
-#: src/synfig/valuenode_composite.cpp:540
+#: src/modules/lyr_std/supersample.cpp:337
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_composite.cpp:524
+#: src/synfig/valuenode_composite.cpp:550
 #: src/synfig/valuenode_realstring.cpp:180
 #: src/synfig/valuenode_repeat_gradient.cpp:213
 #: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
 msgid "Width"
 msgstr "عرض"
 
-#: src/modules/lyr_std/supersample.cpp:291
+#: src/modules/lyr_std/supersample.cpp:338
 msgid "Width of sample area (In pixels)"
 msgstr "عرض محدوده ی نمونه(به پیکسل)"
 
-#: src/modules/lyr_std/supersample.cpp:294 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
 msgid "Height"
 msgstr "ارتفاع"
 
-#: src/modules/lyr_std/supersample.cpp:295
+#: src/modules/lyr_std/supersample.cpp:342
 msgid "Height of sample area (In pixels)"
 msgstr "ارتفاع محدوده ی نمونه(به پیکسل)"
 
-#: src/modules/lyr_std/supersample.cpp:298
+#: src/modules/lyr_std/supersample.cpp:345
 msgid "Use Parametric"
 msgstr "استفاده پارامتری"
 
-#: src/modules/lyr_std/supersample.cpp:299
+#: src/modules/lyr_std/supersample.cpp:346
 msgid "Use the Parametric Renderer"
 msgstr "استفاده از رندر پارامتری"
 
-#: src/modules/lyr_std/supersample.cpp:302
+#: src/modules/lyr_std/supersample.cpp:349
 msgid "Be Alpha Safe"
 msgstr "آلفا ایمن باش"
 
-#: src/modules/lyr_std/supersample.cpp:303
+#: src/modules/lyr_std/supersample.cpp:350
 msgid "Avoid alpha artifacts when checked"
 msgstr "اجتناب از آثار  آلفا هنگامی که علامت خورده باشد"
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:166
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr "حلقه ی زمان"
 
-#: src/modules/lyr_std/timeloop.cpp:124 src/synfig/valuenode_timeloop.cpp:179
+#: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
 msgstr "پیوند زمان"
 
-#: src/modules/lyr_std/timeloop.cpp:125
+#: src/modules/lyr_std/timeloop.cpp:134
 msgid "Start time of the loop for the cycled context"
 msgstr "زمان شروع حلقه برای چرخه ی بافت "
 
-#: src/modules/lyr_std/timeloop.cpp:129 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr "وقت محلی"
 
-#: src/modules/lyr_std/timeloop.cpp:130 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr "زمانی که حلقه ی تنتیجه شروع می شود"
 
-#: src/modules/lyr_std/timeloop.cpp:134 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr "مدت"
 
-#: src/modules/lyr_std/timeloop.cpp:135 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
 msgid "Lenght of the loop"
 msgstr "طول حلقه"
 
-#: src/modules/lyr_std/timeloop.cpp:139
+#: src/modules/lyr_std/timeloop.cpp:148
 msgid "Only For Positive Duration"
 msgstr "فقط برای مدت مثبت"
 
-#: src/modules/lyr_std/timeloop.cpp:140
+#: src/modules/lyr_std/timeloop.cpp:149
 msgid "When checked will loop only positive durations"
 msgstr "مقتی علامت خورده باشد فقط دوره ی مثبت را حلقه می کند"
 
-#: src/modules/lyr_std/timeloop.cpp:144
+#: src/modules/lyr_std/timeloop.cpp:153
 msgid "Symmetrical"
 msgstr "به صورت متقارن"
 
-#: src/modules/lyr_std/timeloop.cpp:145
+#: src/modules/lyr_std/timeloop.cpp:154
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr "اگر علامت خورده باشد، حلقه ها در وقت محلی در مرکز آینه می شوند"
 
@@ -884,115 +885,115 @@ msgstr "وقتی که علامت خورده باشد، به داخل دایره
 msgid "When checked, distorts outside the circle"
 msgstr "وقتی که علامت خورده باشد، به بیرون دایره منحرف می شود."
 
-#: src/modules/lyr_std/warp.cpp:56
+#: src/modules/lyr_std/warp.cpp:57
 msgid "Warp"
 msgstr "پیچاندن"
 
-#: src/modules/lyr_std/warp.cpp:374
+#: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
 msgstr "منبع TL"
 
-#: src/modules/lyr_std/warp.cpp:376
+#: src/modules/lyr_std/warp.cpp:382
 msgid "Top Left corner of the source to warp"
 msgstr "پیچاندن گوشه سمت چپ بالای منبع"
 
-#: src/modules/lyr_std/warp.cpp:380
+#: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
 msgstr "منبع BR"
 
-#: src/modules/lyr_std/warp.cpp:381
+#: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
 msgstr "پیچاندن پایین گوشه سمت راست منبع"
 
-#: src/modules/lyr_std/warp.cpp:385
+#: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
 msgstr "Dest TL"
 
-#: src/modules/lyr_std/warp.cpp:387
+#: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
 msgstr "بالا گوشه سمت چپ مقصد"
 
-#: src/modules/lyr_std/warp.cpp:391
+#: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
 msgstr "Dest فوروم"
 
-#: src/modules/lyr_std/warp.cpp:393
+#: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
 msgstr "بالا گوشه سمت راست مقصد"
 
-#: src/modules/lyr_std/warp.cpp:397
+#: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
 msgstr "Dest BR"
 
-#: src/modules/lyr_std/warp.cpp:399
+#: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
 msgstr "پایین گوشه سمت راست مقصد"
 
-#: src/modules/lyr_std/warp.cpp:403
+#: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
 msgstr "Dest BL"
 
-#: src/modules/lyr_std/warp.cpp:405
+#: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
 msgstr "پایین گوشه سمت چپ مقصد"
 
-#: src/modules/lyr_std/warp.cpp:413
+#: src/modules/lyr_std/warp.cpp:419
 msgid "Horizon"
 msgstr "افق"
 
-#: src/modules/lyr_std/warp.cpp:414
+#: src/modules/lyr_std/warp.cpp:420
 msgid "Height that determines the horizon in perspectives"
 msgstr "ارتفاعی که افق را در پرسپکتیو مشخص می کند"
 
-#: src/modules/lyr_std/curvewarp.cpp:55
+#: src/modules/lyr_std/curvewarp.cpp:56
 msgid "Curve Warp"
 msgstr "پیچاندن منحنی"
 
-#: src/modules/lyr_std/curvewarp.cpp:390
-msgid "Position of the source line"
-msgstr "موقعیت خط منبع"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:395
+#: src/modules/lyr_std/curvewarp.cpp:404
 msgid "How much is expanded the result perpendicular to the source line"
 msgstr "میزان گسترش به خاطر عمود خط منبع"
 
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:407
 msgid "Start Point"
 msgstr "نقطه آغاز"
 
-#: src/modules/lyr_std/curvewarp.cpp:400
+#: src/modules/lyr_std/curvewarp.cpp:409
 msgid "First point of the source line"
 msgstr "نقطه ی اول خط منبع"
 
-#: src/modules/lyr_std/curvewarp.cpp:403
+#: src/modules/lyr_std/curvewarp.cpp:412
 msgid "End Point"
 msgstr "نقطه پایان"
 
-#: src/modules/lyr_std/curvewarp.cpp:404
+#: src/modules/lyr_std/curvewarp.cpp:413
 msgid "Final point of the source line"
 msgstr "نقطه ی آخر خط منبع"
 
-#: src/modules/lyr_std/curvewarp.cpp:407
-#: src/modules/mod_geometry/advanced_outline.cpp:1123
-#: src/modules/mod_geometry/outline.cpp:814
-#: src/modules/mod_geometry/region.cpp:233
-#: src/modules/mod_gradient/curvegradient.cpp:546
-#: src/modules/mod_particle/plant.cpp:391
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
 msgid "Vertices"
 msgstr "رئوس"
 
-#: src/modules/lyr_std/curvewarp.cpp:410
+#: src/modules/lyr_std/curvewarp.cpp:419
 msgid "List of Spline Points where the source line is curved to"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:413
-#: src/modules/mod_geometry/advanced_outline.cpp:1178
-#: src/modules/mod_gradient/curvegradient.cpp:567
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
 msgid "Fast"
 msgstr "سریع"
 
-#: src/modules/lyr_std/curvewarp.cpp:414
-#: src/modules/mod_gradient/curvegradient.cpp:568
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
 msgid "When checked, renders quickly but with artifacts"
 msgstr "ووقتی که علامت خورده باشد، به سرعت ولی به طور مصنوعی رندر می کند "
 
@@ -1000,15 +1001,15 @@ msgstr "ووقتی که علامت خورده باشد، به سرعت ولی ب
 msgid "XOR Pattern"
 msgstr "الگوی \"یا\"ی مانع الجمع"
 
-#: src/modules/lyr_std/xorpattern.cpp:126
+#: src/modules/lyr_std/xorpattern.cpp:130
 msgid "Center of the pattern"
 msgstr "مرکز الگو"
 
-#: src/modules/lyr_std/xorpattern.cpp:130
+#: src/modules/lyr_std/xorpattern.cpp:134
 msgid "Size of the pattern"
 msgstr "اندازه ی الگو"
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:143
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
 #: src/synfig/valuenode_blinecalctangent.cpp:261
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
 #: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
@@ -1019,7 +1020,7 @@ msgstr ""
 msgid "Amount to scale to"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:105
+#: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
 msgstr ""
 
@@ -1037,22 +1038,22 @@ msgstr "%s در قالب  BMP نیست"
 #: src/modules/mod_bmp/mptr_bmp.cpp:150
 #, c-format
 msgid "Failure while reading BITMAPFILEHEADER from %s"
-msgstr "شکست عملیات هنگام خواندن سربرگ بیت مپ از %s"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:158
 #, c-format
 msgid "Failure while reading BITMAPINFOHEADER from %s"
-msgstr "شکست عملیات هنگام خواندن اطلاعات سربرگ بیت مپ از %s"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:168
 #, c-format
 msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
-msgstr ".سربرگ فایل بیت مپ درست در   %sنیست (bfOffsetBits=%d, should be %d)"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:176
 #, c-format
 msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
-msgstr "سربرگ فایل بیت مپ درست در   %sنیست (biSize=%d, should be 40)"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
 msgid "Reading compressed bitmaps is not supported"
@@ -1087,126 +1088,143 @@ msgstr "ناتوان از نوشتتن اطلاعات سربرگ"
 msgid "Unable to open pipe to encodedv"
 msgstr "Unable to open pipe to encodedv"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:201
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:208
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:218
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:272
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-msgid "Unable to open pipe to ffmpeg"
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:214
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no pipe)"
+msgstr "ناتوان از باز کردن پیوند به ffmpeg"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:221
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (pid == -1)"
+msgstr "ناتوان از باز کردن پیوند به ffmpeg"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:231
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
+msgstr "ناتوان از باز کردن پیوند به ffmpeg"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:285
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (exec failed)"
+msgstr "ناتوان از باز کردن پیوند به ffmpeg"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:303
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no file)"
 msgstr "ناتوان از باز کردن پیوند به ffmpeg"
 
-#: src/modules/mod_filter/blur.cpp:68
+#: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
 msgstr "تیرگی"
 
-#: src/modules/mod_filter/blur.cpp:69 src/modules/mod_filter/radialblur.cpp:56
+#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
 #: src/synfig/layer_motionblur.cpp:57
 msgid "Blurs"
 msgstr "تار"
 
-#: src/modules/mod_filter/blur.cpp:373
+#: src/modules/mod_filter/blur.cpp:414
 msgid "Size of Blur"
 msgstr "اندازه تاری"
 
-#: src/modules/mod_filter/colorcorrect.cpp:55
+#: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
 msgstr "رنگ صحیح"
 
-#: src/modules/mod_filter/colorcorrect.cpp:211
+#: src/modules/mod_filter/colorcorrect.cpp:217
 msgid "Hue Adjust"
 msgstr "تنظیم رنگ"
 
-#: src/modules/mod_filter/colorcorrect.cpp:215
+#: src/modules/mod_filter/colorcorrect.cpp:221
 msgid "Brightness"
 msgstr "روشنایی"
 
-#: src/modules/mod_filter/colorcorrect.cpp:219
+#: src/modules/mod_filter/colorcorrect.cpp:225
 msgid "Contrast"
 msgstr "کنتراست"
 
-#: src/modules/mod_filter/colorcorrect.cpp:223
+#: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
 msgstr "تنظیم قرار گرفتن در معرض "
 
-#: src/modules/mod_filter/colorcorrect.cpp:227 src/synfig/layer_bitmap.cpp:179
+#: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
 msgstr "تنظیم گاما "
 
-#: src/modules/mod_filter/halftone2.cpp:58
+#: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
 msgstr "Halftone 2"
 
-#: src/modules/mod_filter/halftone2.cpp:151
+#: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
 msgstr "منبع ماسک "
 
-#: src/modules/mod_filter/halftone2.cpp:155
+#: src/modules/mod_filter/halftone2.cpp:159
 msgid "Mask Angle"
 msgstr "زاویه ماسک "
 
-#: src/modules/mod_filter/halftone2.cpp:159
-#: src/modules/mod_filter/halftone3.cpp:309
+#: src/modules/mod_filter/halftone2.cpp:163
+#: src/modules/mod_filter/halftone3.cpp:328
 msgid "Mask Size"
 msgstr "اندازه ی ماسک"
 
-#: src/modules/mod_filter/halftone2.cpp:164
+#: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
 msgstr "رنگ روشن"
 
-#: src/modules/mod_filter/halftone2.cpp:167
+#: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
 msgstr "رنگ تیره"
 
-#: src/modules/mod_filter/halftone2.cpp:172
-#: src/modules/mod_filter/halftone3.cpp:314
+#: src/modules/mod_filter/halftone2.cpp:176
+#: src/modules/mod_filter/halftone3.cpp:333
 #: src/modules/mod_gradient/conicalgradient.cpp:125
 msgid "Symmetric"
 msgstr "متقارن"
 
-#: src/modules/mod_filter/halftone2.cpp:173
-#: src/modules/mod_filter/halftone3.cpp:315
+#: src/modules/mod_filter/halftone2.cpp:177
+#: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
 msgstr "نور در تاریکی"
 
-#: src/modules/mod_filter/halftone2.cpp:175
-#: src/modules/mod_filter/halftone3.cpp:317
+#: src/modules/mod_filter/halftone2.cpp:179
+#: src/modules/mod_filter/halftone3.cpp:336
 msgid "Diamond"
 msgstr "الماس"
 
-#: src/modules/mod_filter/halftone2.cpp:176
-#: src/modules/mod_filter/halftone3.cpp:318
+#: src/modules/mod_filter/halftone2.cpp:180
+#: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
 msgstr "خط راه راه"
 
-#: src/modules/mod_filter/halftone3.cpp:58
+#: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
 msgstr "Halftone 3"
 
-#: src/modules/mod_filter/halftone3.cpp:312
+#: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
 msgstr "نوع"
 
-#: src/modules/mod_filter/halftone3.cpp:321
+#: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
 msgstr "علامت کاهشی "
 
-#: src/modules/mod_filter/halftone3.cpp:329
+#: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
 msgstr "رنگ"
 
-#: src/modules/mod_filter/halftone3.cpp:333
+#: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
 msgstr "منبع ماسک "
 
-#: src/modules/mod_filter/halftone3.cpp:337
+#: src/modules/mod_filter/halftone3.cpp:356
 msgid " Mask Angle"
 msgstr "زاویه ماسک "
 
-#: src/modules/mod_filter/lumakey.cpp:58
+#: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
 msgstr "Luma کلیدی"
 
-#: src/modules/mod_filter/radialblur.cpp:55
+#: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
 msgstr "تاری گرد"
 
@@ -1228,19 +1246,19 @@ msgstr "شطرنجی"
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:62 src/synfig/layer_solidcolor.cpp:57
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
 msgstr "هندسه"
 
-#: src/modules/mod_geometry/checkerboard.cpp:123
+#: src/modules/mod_geometry/checkerboard.cpp:147
 msgid "Color of checkers"
 msgstr "رنگ شطرنجی"
 
-#: src/modules/mod_geometry/checkerboard.cpp:127
+#: src/modules/mod_geometry/checkerboard.cpp:151
 msgid "Center of the checkers"
 msgstr "مرکز شطرنجی ها"
 
-#: src/modules/mod_geometry/checkerboard.cpp:131
+#: src/modules/mod_geometry/checkerboard.cpp:155
 msgid "Size of checkers"
 msgstr "اندازه مرنبع های شطرنجی"
 
@@ -1248,54 +1266,54 @@ msgstr "اندازه مرنبع های شطرنجی"
 msgid "Circle"
 msgstr "دایره"
 
-#: src/modules/mod_geometry/circle.cpp:134
+#: src/modules/mod_geometry/circle.cpp:152
 msgid "Radius of the circle"
 msgstr "شعاع دایره"
 
-#: src/modules/mod_geometry/circle.cpp:138 src/synfig/layer_shape.cpp:1206
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
 msgid "Feather"
 msgstr "پر"
 
-#: src/modules/mod_geometry/circle.cpp:140
+#: src/modules/mod_geometry/circle.cpp:158
 msgid "Amount of feather of the circle"
 msgstr "مقدار پری دایره"
 
-#: src/modules/mod_geometry/circle.cpp:148
+#: src/modules/mod_geometry/circle.cpp:166
 msgid "Invert the circle"
 msgstr "دایره برعکس شود"
 
-#: src/modules/mod_geometry/circle.cpp:152
+#: src/modules/mod_geometry/circle.cpp:170
 msgid "Falloff"
 msgstr "میل"
 
-#: src/modules/mod_geometry/circle.cpp:153
+#: src/modules/mod_geometry/circle.cpp:171
 msgid "Determines the falloff function for the feather"
 msgstr "تعیین میل تابع برای پر شدن"
 
-#: src/modules/mod_geometry/circle.cpp:155
-#: src/modules/mod_noise/distort.cpp:234 src/modules/mod_noise/noise.cpp:275
-#: src/modules/mod_noise/valuenode_random.cpp:288
-#: src/synfig/layer_bitmap.cpp:173 src/synfig/layer_motionblur.cpp:150
-#: src/synfig/valuenode.cpp:139 src/synfig/valuenode_linear.cpp:146
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:289
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
 msgid "Linear"
 msgstr "خطی"
 
-#: src/modules/mod_geometry/circle.cpp:156
+#: src/modules/mod_geometry/circle.cpp:174
 msgid "Squared"
 msgstr "مربعی"
 
-#: src/modules/mod_geometry/circle.cpp:157
+#: src/modules/mod_geometry/circle.cpp:175
 msgid "Square Root"
 msgstr "ریشه ی مربعی"
 
-#: src/modules/mod_geometry/circle.cpp:158
+#: src/modules/mod_geometry/circle.cpp:176
 msgid "Sigmond"
 msgstr "Sigmond"
 
-#: src/modules/mod_geometry/circle.cpp:159
-#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:276
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:174
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:290
+#: src/synfig/layer_bitmap.cpp:170
 msgid "Cosine"
 msgstr "کسینوس"
 
@@ -1303,160 +1321,160 @@ msgstr "کسینوس"
 msgid "Advanced Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:133
+#: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1125
-#: src/modules/mod_geometry/outline.cpp:817
-#: src/modules/mod_geometry/region.cpp:235
-#: src/modules/mod_gradient/curvegradient.cpp:549
-#: src/modules/mod_particle/plant.cpp:392
+#: src/modules/mod_geometry/advanced_outline.cpp:1136
+#: src/modules/mod_geometry/outline.cpp:826
+#: src/modules/mod_geometry/region.cpp:240
+#: src/modules/mod_gradient/curvegradient.cpp:562
+#: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1129
-#: src/modules/mod_geometry/outline.cpp:831
+#: src/modules/mod_geometry/advanced_outline.cpp:1140
+#: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
 msgstr "نمای کلی عرض"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1130
-#: src/modules/mod_geometry/outline.cpp:832
+#: src/modules/mod_geometry/advanced_outline.cpp:1141
+#: src/modules/mod_geometry/outline.cpp:841
 msgid "Global width of the outline"
 msgstr "عرض عمومی طرح کلی"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:837
+#: src/modules/mod_geometry/advanced_outline.cpp:1145
+#: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
 msgstr "گسترش"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1135
-#: src/modules/mod_geometry/outline.cpp:838
+#: src/modules/mod_geometry/advanced_outline.cpp:1146
+#: src/modules/mod_geometry/outline.cpp:847
 msgid "Value to add to the global width"
 msgstr "مقدار برای افزودن به عرض عمومی"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1138
+#: src/modules/mod_geometry/advanced_outline.cpp:1149
 msgid "Tip Type at Start"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1139
+#: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1141
-#: src/modules/mod_geometry/advanced_outline.cpp:1150
-#: src/synfig/valuenode_composite.cpp:548
+#: src/modules/mod_geometry/advanced_outline.cpp:1152
+#: src/modules/mod_geometry/advanced_outline.cpp:1161
 #: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:587
-#: src/synfig/valuenode_composite.cpp:596
+#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:606
 msgid "Rounded Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1142
-#: src/modules/mod_geometry/advanced_outline.cpp:1151
-#: src/synfig/valuenode_composite.cpp:549
+#: src/modules/mod_geometry/advanced_outline.cpp:1153
+#: src/modules/mod_geometry/advanced_outline.cpp:1162
 #: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:588
-#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:607
 msgid "Squared Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1143
-#: src/modules/mod_geometry/advanced_outline.cpp:1152
-#: src/synfig/valuenode_composite.cpp:550
+#: src/modules/mod_geometry/advanced_outline.cpp:1154
+#: src/modules/mod_geometry/advanced_outline.cpp:1163
 #: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:570
+#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:608
 msgid "Peak Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1144
-#: src/modules/mod_geometry/advanced_outline.cpp:1153
-#: src/synfig/valuenode_composite.cpp:551
+#: src/modules/mod_geometry/advanced_outline.cpp:1155
+#: src/modules/mod_geometry/advanced_outline.cpp:1164
 #: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:590
-#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:571
+#: src/synfig/valuenode_composite.cpp:600
+#: src/synfig/valuenode_composite.cpp:609
 msgid "Flat Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1147
+#: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1148
+#: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1156
+#: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1157
-#: src/modules/mod_geometry/outline.cpp:843
+#: src/modules/mod_geometry/advanced_outline.cpp:1168
+#: src/modules/mod_geometry/outline.cpp:852
 msgid "Determines cusp type"
 msgstr "تعیین نوع لت"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1159
+#: src/modules/mod_geometry/advanced_outline.cpp:1170
 msgid "Sharp"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1160
+#: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1164
+#: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1165
+#: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1168
-#: src/modules/mod_geometry/outline.cpp:859
+#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/outline.cpp:869
 #: src/synfig/valuenode_blinecalctangent.cpp:271
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
 msgstr "مشابه"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1169
+#: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
+#: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1175
+#: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1182
+#: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1184
+#: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1187
+#: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1190
+#: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1193
+#: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1196
+#: src/modules/mod_geometry/advanced_outline.cpp:1207
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
@@ -1464,32 +1482,36 @@ msgstr ""
 msgid "Outline"
 msgstr "طرح کلی"
 
-#: src/modules/mod_geometry/outline.cpp:183
+#: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
 msgstr "بدون راس در طرح کلی"
 
-#: src/modules/mod_geometry/outline.cpp:842
+#: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
 msgstr "هلال های نوک تیز"
 
-#: src/modules/mod_geometry/outline.cpp:847
+#: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
 msgstr "آغاز گرد"
 
-#: src/modules/mod_geometry/outline.cpp:848
-#: src/modules/mod_geometry/outline.cpp:853
+#: src/modules/mod_geometry/outline.cpp:857
+#: src/modules/mod_geometry/outline.cpp:862
 msgid "Round off the tip"
 msgstr "گرد کردن نوک"
 
-#: src/modules/mod_geometry/outline.cpp:852
+#: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
 msgstr "انتهای گرد"
 
-#: src/modules/mod_geometry/outline.cpp:856
+#: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
 msgstr "حلقوی"
 
-#: src/modules/mod_geometry/outline.cpp:860
+#: src/modules/mod_geometry/outline.cpp:866
+msgid "(Currently not used)"
+msgstr ""
+
+#: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
 msgstr "وقتی که علامت خورده باشد عرض طول نوار باریک را برای جا دادن می گیرد "
 
@@ -1497,11 +1519,11 @@ msgstr "وقتی که علامت خورده باشد عرض طول نوار با
 msgid "Rectangle"
 msgstr "مستطیل"
 
-#: src/modules/mod_geometry/rectangle.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
 msgstr "میزان گسترش"
 
-#: src/modules/mod_geometry/rectangle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
 msgstr "مستطیل برعکس شود"
 
@@ -1513,46 +1535,46 @@ msgstr "منطقه"
 msgid "Star"
 msgstr "ستاره"
 
-#: src/modules/mod_geometry/star.cpp:183
+#: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
 msgstr "شعاع بیرونی"
 
-#: src/modules/mod_geometry/star.cpp:184
+#: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
 msgstr "شعاع نقاط بیرونی دایره"
 
-#: src/modules/mod_geometry/star.cpp:190
+#: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
 msgstr "شعاع داخلی"
 
-#: src/modules/mod_geometry/star.cpp:191
+#: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
 msgstr "شعاع نقاط درونی ستاره "
 
-#: src/modules/mod_geometry/star.cpp:197
+#: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:129
+#: src/modules/mod_gradient/spiralgradient.cpp:130
 #: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr "زاویه"
 
-#: src/modules/mod_geometry/star.cpp:198
+#: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr "جهت گیری ستاره"
 
-#: src/modules/mod_geometry/star.cpp:203 src/synfig/distance.cpp:251
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
 msgid "Points"
 msgstr "نقاط"
 
-#: src/modules/mod_geometry/star.cpp:204
+#: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
 msgstr "تعداد نقاط در ستاره"
 
-#: src/modules/mod_geometry/star.cpp:208
+#: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
 msgstr "چندضلعی منظم"
 
-#: src/modules/mod_geometry/star.cpp:209
+#: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr "ترسیم دایره یا چندضلعی"
 
@@ -1570,20 +1592,20 @@ msgid "Conical Gradient"
 msgstr "مخروطی گرادیانت"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
-#: src/modules/mod_gradient/curvegradient.cpp:61
+#: src/modules/mod_gradient/curvegradient.cpp:62
 #: src/modules/mod_gradient/lineargradient.cpp:55
 #: src/modules/mod_gradient/radialgradient.cpp:58
-#: src/modules/mod_gradient/spiralgradient.cpp:57
-#: src/modules/mod_noise/noise.cpp:58
+#: src/modules/mod_gradient/spiralgradient.cpp:58
+#: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
 msgstr "شیب ها"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
-#: src/modules/mod_gradient/curvegradient.cpp:553
-#: src/modules/mod_gradient/lineargradient.cpp:200
+#: src/modules/mod_gradient/curvegradient.cpp:566
+#: src/modules/mod_gradient/lineargradient.cpp:195
 #: src/modules/mod_gradient/radialgradient.cpp:114
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:260
+#: src/modules/mod_gradient/spiralgradient.cpp:114
+#: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
 msgstr "گرادیان به درخواست"
 
@@ -1596,27 +1618,27 @@ msgid "Rotation of the gradient around the center"
 msgstr "چرخش از سطح شیب دار در اطراف مرکز"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
-#: src/modules/mod_gradient/curvegradient.cpp:557
-#: src/modules/mod_gradient/lineargradient.cpp:204
+#: src/modules/mod_gradient/curvegradient.cpp:570
+#: src/modules/mod_gradient/lineargradient.cpp:199
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr "وقتی که علامت خورده باشد گرادیانت حلقه می شود است "
 
-#: src/modules/mod_gradient/curvegradient.cpp:60
+#: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
 msgstr "منحنی گرادیانت"
 
-#: src/modules/mod_gradient/curvegradient.cpp:538
-#: src/modules/mod_particle/plant.cpp:399
+#: src/modules/mod_gradient/curvegradient.cpp:551
+#: src/modules/mod_particle/plant.cpp:432
 msgid "Offset for the Vertices List"
 msgstr "انحراف برای لیست راس ها "
 
-#: src/modules/mod_gradient/curvegradient.cpp:543
+#: src/modules/mod_gradient/curvegradient.cpp:556
 msgid "Global width of the gradient"
 msgstr "عرض جهانی شیب"
 
-#: src/modules/mod_gradient/curvegradient.cpp:556
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/curvegradient.cpp:569
+#: src/modules/mod_gradient/lineargradient.cpp:198
 #: src/modules/mod_gradient/radialgradient.cpp:130
 #: src/synfig/valuenode_blinecalctangent.cpp:246
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
@@ -1624,19 +1646,19 @@ msgstr "عرض جهانی شیب"
 msgid "Loop"
 msgstr "حلقه"
 
-#: src/modules/mod_gradient/curvegradient.cpp:560
-#: src/modules/mod_gradient/lineargradient.cpp:207
+#: src/modules/mod_gradient/curvegradient.cpp:573
+#: src/modules/mod_gradient/lineargradient.cpp:202
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr "زیگ زاگ"
 
-#: src/modules/mod_gradient/curvegradient.cpp:561
-#: src/modules/mod_gradient/lineargradient.cpp:208
+#: src/modules/mod_gradient/curvegradient.cpp:574
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:136
 msgid "When checked the gradient is summetrical at the center"
 msgstr "وقتی که علامت خورده باشد گرادیانت در مرکز متقارن است."
 
-#: src/modules/mod_gradient/curvegradient.cpp:564
+#: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
 msgstr "عمود"
 
@@ -1644,11 +1666,11 @@ msgstr "عمود"
 msgid "Linear Gradient"
 msgstr "شیب خطی "
 
-#: src/modules/mod_gradient/lineargradient.cpp:192
+#: src/modules/mod_gradient/lineargradient.cpp:187
 msgid "Start point of the gradient"
 msgstr "نقطه شروع شیب"
 
-#: src/modules/mod_gradient/lineargradient.cpp:196
+#: src/modules/mod_gradient/lineargradient.cpp:191
 msgid "End point of the gradient"
 msgstr "نقطه پایان شیب"
 
@@ -1657,23 +1679,23 @@ msgid "Radial Gradient"
 msgstr "گرادیانت شعاعی"
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:119
 msgid "Center of the gradient"
 msgstr "مرکز شیب"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:56
+#: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
 msgstr "گرادیانت حلزونی "
 
-#: src/modules/mod_gradient/spiralgradient.cpp:130
+#: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
 msgstr "چرخش حلزونی"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:135
+#: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
 msgstr "در جهت عقربه های ساعت"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:136
+#: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
 msgstr "اگر علامت زده شد چرخش حلزونی در جهت عقربه های ساعت "
 
@@ -1686,13 +1708,15 @@ msgstr "هیچ قفایلی برای بارگذاری نیست"
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/listimporter.cpp:184 src/synfig/listimporter.cpp:185
+#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
+#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
 msgid "Unable to open "
 msgstr "ناتوان از باز کردن"
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/listimporter.cpp:191 src/synfig/listimporter.cpp:192
+#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
+#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
 msgid "Unable to get frame from "
 msgstr "ناتوان از  گرفتن از قاب"
 
@@ -1730,115 +1754,115 @@ msgstr "انتهای غیرمنتظره ی فایل"
 msgid "Unable to open pipe to imagemagick's convert utility"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:57
+#: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
 msgstr "انحراف درهم ریختگی"
 
-#: src/modules/mod_noise/distort.cpp:217
+#: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
 msgstr "تغییر مکان"
 
-#: src/modules/mod_noise/distort.cpp:218
+#: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
 msgstr "بزرگی تغییر مکان متن"
 
-#: src/modules/mod_noise/distort.cpp:223
+#: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
 msgstr "فاصله بین انحراف"
 
-#: src/modules/mod_noise/distort.cpp:226 src/modules/mod_noise/noise.cpp:263
+#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
 msgstr "RandomNoise دانه"
 
-#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:264
+#: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:230 src/modules/mod_noise/noise.cpp:271
-#: src/modules/mod_noise/valuenode_random.cpp:284
-#: src/synfig/layer_bitmap.cpp:169
+#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr "الحاق"
 
-#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
-#: src/synfig/layer_bitmap.cpp:170
+#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
+#: src/synfig/layer_bitmap.cpp:166
 msgid "What type of interpolation to use"
 msgstr "نوع الحاق مورد استفاده"
 
-#: src/modules/mod_noise/distort.cpp:233 src/modules/mod_noise/noise.cpp:274
-#: src/synfig/layer_bitmap.cpp:172
+#: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
+#: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
 msgstr "نزدیکترین همسایه"
 
-#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:277
-#: src/modules/mod_noise/valuenode_random.cpp:290 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_bline.cpp:1001
+#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
+#: src/synfig/valuenode_bline.cpp:1006
 #: src/synfig/valuenode_blinecalctangent.cpp:241
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr "زبانه دار کردن"
 
-#: src/modules/mod_noise/distort.cpp:237 src/modules/mod_noise/noise.cpp:278
-#: src/modules/mod_noise/valuenode_random.cpp:291
-#: src/synfig/layer_bitmap.cpp:175
+#: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr "مکعب"
 
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:281
+#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
 msgstr "جزئیات"
 
-#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:282
+#: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
 msgstr "افزایش برای به دست آوردن جزئیات خوبی از سر و صدا"
 
-#: src/modules/mod_noise/distort.cpp:244 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
 msgstr "سرعت پویانمایی"
 
-#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
 msgstr "در سیکل در ثانیه"
 
-#: src/modules/mod_noise/distort.cpp:248 src/modules/mod_noise/noise.cpp:289
+#: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
 msgstr "یاغی"
 
-#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:290
+#: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
 msgstr "وقتی کهعلامت خورده باشد تولید سر و صدا آشفته می کند"
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:183
+#: src/modules/mod_noise/valuenode_random.cpp:184
 msgid "Random"
 msgstr "تصادفی"
 
-#: src/modules/mod_noise/noise.cpp:57
+#: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
 msgstr "Noise Gradient"
 
-#: src/modules/mod_noise/noise.cpp:268
+#: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
 msgstr "اندازه سر و صدا"
 
-#: src/modules/mod_noise/noise.cpp:293
+#: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
 msgstr "Do Alpha"
 
-#: src/modules/mod_noise/noise.cpp:294
+#: src/modules/mod_noise/noise.cpp:303
 msgid "Uses transparency"
 msgstr "استفاده از شفافیت "
 
-#: src/modules/mod_noise/noise.cpp:297
+#: src/modules/mod_noise/noise.cpp:306
 msgid "Super Sampling"
 msgstr "فرا نمونه سازی"
 
-#: src/modules/mod_noise/noise.cpp:298
+#: src/modules/mod_noise/noise.cpp:307
 msgid "When checked the gradient is supersampled"
 msgstr "وقتی که علامت خورده باشد گرادیانت فرانمونه سازی می شود"
 
-#: src/modules/mod_noise/valuenode_random.cpp:264
+#: src/modules/mod_noise/valuenode_random.cpp:265
 #: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
 #: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
 #: src/synfig/valuenode_reciprocal.cpp:165
@@ -1847,167 +1871,167 @@ msgstr "وقتی که علامت خورده باشد گرادیانت فرانم
 msgid "Link"
 msgstr "پیوند"
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "The value node source that provides the central value"
 msgstr "The value node source that provides the central value"
 
-#: src/modules/mod_noise/valuenode_random.cpp:270
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid "The value of the maximum random difference"
 msgstr "میزان حداکثر تفاوت"
 
-#: src/modules/mod_noise/valuenode_random.cpp:274
-#: src/modules/mod_particle/plant.cpp:450
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr "دانه"
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:276
 msgid "Seeds the random number generator"
 msgstr "Seeds the random number generator"
 
-#: src/modules/mod_noise/valuenode_random.cpp:279
+#: src/modules/mod_noise/valuenode_random.cpp:280
 msgid "Speed"
 msgstr "سرعت"
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:281
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:286
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:288
 msgid "No interpolation"
 msgstr "بدون الحاق"
 
-#: src/modules/mod_noise/valuenode_random.cpp:296
+#: src/modules/mod_noise/valuenode_random.cpp:297
 msgid "Loop Time"
 msgstr "حلقه زمان"
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:298
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:69
+#: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
 msgstr "کارخانه"
 
-#: src/modules/mod_particle/plant.cpp:404
+#: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
 msgstr "گرادیانت مورد استفاده برای رنگ آمیزی گیاه"
 
-#: src/modules/mod_particle/plant.cpp:408
+#: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
 msgstr "تقسیم زاویه"
 
-#: src/modules/mod_particle/plant.cpp:409
+#: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
 msgstr "زاویه ای که هر نیم سازاز مادرش منحرف می شود "
 
-#: src/modules/mod_particle/plant.cpp:413
+#: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
 msgstr "گرانش"
 
-#: src/modules/mod_particle/plant.cpp:414
+#: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:419
+#: src/modules/mod_particle/plant.cpp:452
 msgid "Tangential Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:420
+#: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:424
+#: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:425
+#: src/modules/mod_particle/plant.cpp:458
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:429
+#: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
 msgstr "اندزه ی بنیادی"
 
-#: src/modules/mod_particle/plant.cpp:430
+#: src/modules/mod_particle/plant.cpp:463
 msgid "Size of the stem"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:435
+#: src/modules/mod_particle/plant.cpp:468
 msgid "Size As Alpha"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:436
+#: src/modules/mod_particle/plant.cpp:469
 msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:440
+#: src/modules/mod_particle/plant.cpp:473
 msgid "Reverse"
 msgstr "معکوس"
 
-#: src/modules/mod_particle/plant.cpp:441
+#: src/modules/mod_particle/plant.cpp:474
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:445 src/synfig/valuenode.cpp:170
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
 #: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
 msgid "Step"
 msgstr "گام"
 
-#: src/modules/mod_particle/plant.cpp:446
+#: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:451
+#: src/modules/mod_particle/plant.cpp:484
 msgid "Used to seed the pseudo-random number generator"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:455
+#: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
 msgstr "انشعابات"
 
-#: src/modules/mod_particle/plant.cpp:456
+#: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:460
+#: src/modules/mod_particle/plant.cpp:493
 msgid "Sprouts"
 msgstr "جوانه"
 
-#: src/modules/mod_particle/plant.cpp:461
+#: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:465
+#: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:466
+#: src/modules/mod_particle/plant.cpp:499
 msgid ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:470
+#: src/modules/mod_particle/plant.cpp:503
 msgid "Drag"
 msgstr "کشیدن"
 
-#: src/modules/mod_particle/plant.cpp:471
+#: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:475
+#: src/modules/mod_particle/plant.cpp:508
 msgid "Use Width"
 msgstr "استفاده از عرض"
 
-#: src/modules/mod_particle/plant.cpp:476
+#: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
@@ -2016,97 +2040,102 @@ msgstr ""
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:87 src/synfig/importer.cpp:87
+#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
 msgid "Importer::open(): Cannot open empty filename"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:101 src/synfig/importer.cpp:101
+#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
 msgid "Importer::open(): Couldn't find extension"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:112 src/synfig/importer.cpp:112
+#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
 msgid "Importer::open(): Unknown file type -- "
 msgstr ""
 
-#: src/synfig/canvas.cpp:798 src/synfig/canvas.cpp:863
-#: src/synfig/canvas.cpp:886
+#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
+#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+msgid "No images in list"
+msgstr ""
+
+#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
+#: src/synfig/canvas.cpp:927
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:249
+#: src/synfig/distance.cpp:251
 msgid "Units"
 msgstr ""
 
-#: src/synfig/distance.cpp:250
+#: src/synfig/distance.cpp:252
 msgid "Pixels"
 msgstr ""
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:254
 msgid "Inches"
 msgstr ""
 
-#: src/synfig/distance.cpp:253
+#: src/synfig/distance.cpp:255
 msgid "Meters"
 msgstr ""
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:256
 msgid "Millimeters"
 msgstr ""
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:257
 msgid "Centimeters"
 msgstr ""
 
-#: src/synfig/layer.cpp:565 src/synfig/layer_composite.cpp:128
+#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:619
+#: src/synfig/layer.cpp:605
 msgid "Z Depth"
 msgstr ""
 
-#: src/synfig/layer.cpp:621
+#: src/synfig/layer.cpp:607
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:159
+#: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:160
+#: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:164
+#: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:165
+#: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:218
+#: src/synfig/layer_composite.cpp:250
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:221 src/synfig/paramdesc.cpp:62
+#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:222
+#: src/synfig/layer_composite.cpp:254
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:168
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
 #: src/synfig/valuenode_duplicate.cpp:174
 msgid "Duplicate"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:148
+#: src/synfig/layer_duplicate.cpp:151
 msgid "Index"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:149
+#: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
 msgstr ""
 
@@ -2118,156 +2147,156 @@ msgstr ""
 msgid "Motion Blur"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:136
+#: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:137
+#: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:141
+#: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:142
+#: src/synfig/layer_motionblur.cpp:141
 msgid "Multiplies The Number Of Subsamples Rendered"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:146
+#: src/synfig/layer_motionblur.cpp:145
 msgid "Subsampling Type"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:147
+#: src/synfig/layer_motionblur.cpp:146
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:149 src/synfig/valuenode_const.cpp:127
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
 msgid "Constant"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:151
+#: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:155
+#: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:156
+#: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:160
+#: src/synfig/layer_motionblur.cpp:159
 msgid "Subsample End Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:161
+#: src/synfig/layer_motionblur.cpp:160
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:78 src/synfig/layer_pastecanvas.cpp:120
-#: src/synfig/layer_pastecanvas.cpp:121
+#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
+#: src/synfig/layer_pastecanvas.cpp:124
 msgid "Group"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:137
+#: src/synfig/layer_pastecanvas.cpp:140
 msgid "Canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:138
+#: src/synfig/layer_pastecanvas.cpp:141
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:144
 msgid "Zoom"
 msgstr " بزرگنمایی"
 
-#: src/synfig/layer_pastecanvas.cpp:142
+#: src/synfig/layer_pastecanvas.cpp:145
 msgid "Size of canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:147
+#: src/synfig/layer_pastecanvas.cpp:152
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:151
+#: src/synfig/layer_pastecanvas.cpp:156
 msgid "Children Lock"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:157
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
+#: src/synfig/layer_pastecanvas.cpp:162
 msgid "Focus Point"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:159
+#: src/synfig/layer_pastecanvas.cpp:165
 msgid "Point to remain fixed when zooming"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:164
+#: src/synfig/layer_pastecanvas.cpp:170
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:165
+#: src/synfig/layer_pastecanvas.cpp:171
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:180
+#: src/synfig/layer_pastecanvas.cpp:186
 msgid "Current Time"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:61
+#: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:187
+#: src/synfig/layer_polygon.cpp:194
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:188
+#: src/synfig/layer_polygon.cpp:195
 msgid "Define the corners of the polygon"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:64
+#: src/synfig/layer_shape.cpp:66
 msgid "Shape"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:65
+#: src/synfig/layer_shape.cpp:67
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1194
+#: src/synfig/layer_shape.cpp:1222
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1203
+#: src/synfig/layer_shape.cpp:1231
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1210
+#: src/synfig/layer_shape.cpp:1238
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1211
+#: src/synfig/layer_shape.cpp:1239
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1220
+#: src/synfig/layer_shape.cpp:1248
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_shape.cpp:1249
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1223
+#: src/synfig/layer_shape.cpp:1251
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1224
+#: src/synfig/layer_shape.cpp:1252
 msgid "Even/Odd"
 msgstr ""
 
@@ -2275,406 +2304,406 @@ msgstr ""
 msgid "Solid Color"
 msgstr ""
 
-#: src/synfig/listimporter.cpp:161 src/synfig/listimporter.cpp:162
-msgid "No images in list"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:142
+#: src/synfig/loadcanvas.cpp:143
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:185
+#: src/synfig/loadcanvas.cpp:186
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:191
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:205
+#: src/synfig/loadcanvas.cpp:206
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:236
+#: src/synfig/loadcanvas.cpp:237
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:469
-#: src/synfig/loadcanvas.cpp:1118
+#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
+#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:473
-#: src/synfig/loadcanvas.cpp:1122
+#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
+#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:484 src/synfig/loadcanvas.cpp:1144
+#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
+#: src/synfig/loadcanvas.cpp:1200
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:508
+#: src/synfig/loadcanvas.cpp:533
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1284
+#: src/synfig/loadcanvas.cpp:1353
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1301
+#: src/synfig/loadcanvas.cpp:1375
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1314
+#: src/synfig/loadcanvas.cpp:1388
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1330
+#: src/synfig/loadcanvas.cpp:1404
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1336 src/synfig/loadcanvas.cpp:1348
+#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1365
+#: src/synfig/loadcanvas.cpp:1439
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1380
+#: src/synfig/loadcanvas.cpp:1455
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1424 src/synfig/loadcanvas.cpp:1443
-#, c-format
-msgid "\"%s\" not a valid value for attribute \"%s\" in <%s>"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:1504
+#: src/synfig/loadcanvas.cpp:1556
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1512
+#: src/synfig/loadcanvas.cpp:1565
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1522
+#: src/synfig/loadcanvas.cpp:1577
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1531
+#: src/synfig/loadcanvas.cpp:1587
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1557 src/synfig/loadcanvas.cpp:1628
+#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1570
+#: src/synfig/loadcanvas.cpp:1625
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1579
+#: src/synfig/loadcanvas.cpp:1634
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1603
+#: src/synfig/loadcanvas.cpp:1658
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1643
+#: src/synfig/loadcanvas.cpp:1698
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1652
+#: src/synfig/loadcanvas.cpp:1707
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1659
+#: src/synfig/loadcanvas.cpp:1714
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1677
+#: src/synfig/loadcanvas.cpp:1732
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1747
+#: src/synfig/loadcanvas.cpp:1811
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1841
-msgid "Unable to create <dynamic_list>"
+#: src/synfig/loadcanvas.cpp:1861
+msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1993
+#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2038
+#: src/synfig/loadcanvas.cpp:1998
+msgid "Unable to create <dynamic_list>"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2220
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2076
+#: src/synfig/loadcanvas.cpp:2283
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2097
+#: src/synfig/loadcanvas.cpp:2304
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2102
+#: src/synfig/loadcanvas.cpp:2310
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2107
+#: src/synfig/loadcanvas.cpp:2316
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2142
+#: src/synfig/loadcanvas.cpp:2373
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2161
+#: src/synfig/loadcanvas.cpp:2392
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2181
+#: src/synfig/loadcanvas.cpp:2415
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2184
+#: src/synfig/loadcanvas.cpp:2418
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2192
+#: src/synfig/loadcanvas.cpp:2426
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2209
+#: src/synfig/loadcanvas.cpp:2443
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2214
+#: src/synfig/loadcanvas.cpp:2448
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2454
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2222
+#: src/synfig/loadcanvas.cpp:2456
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2244
+#: src/synfig/loadcanvas.cpp:2480
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2260
+#: src/synfig/loadcanvas.cpp:2496
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2272 src/synfig/loadcanvas.cpp:2292
+#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2280
+#: src/synfig/loadcanvas.cpp:2516
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2303
+#: src/synfig/loadcanvas.cpp:2539
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2376 src/synfig/loadcanvas.cpp:2384
+#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2470
+#: src/synfig/loadcanvas.cpp:2710
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2478
+#: src/synfig/loadcanvas.cpp:2717
+msgid "Inline canvas cannot have a <bones> section"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2725
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2490
+#: src/synfig/loadcanvas.cpp:2737
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2498
+#: src/synfig/loadcanvas.cpp:2745
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2504
+#: src/synfig/loadcanvas.cpp:2751
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:2763
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2531
+#: src/synfig/loadcanvas.cpp:2778
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2546
+#: src/synfig/loadcanvas.cpp:2793
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2578
+#: src/synfig/loadcanvas.cpp:2828
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580 src/synfig/valuenode.cpp:353
+#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580
+#: src/synfig/loadcanvas.cpp:2830
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2660 src/synfig/loadcanvas.cpp:2716
+#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:102
+#: src/synfig/main.cpp:118
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:107
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:112
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:117
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:122
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:184
+#: src/synfig/main.cpp:207
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:186
+#: src/synfig/main.cpp:209
 msgid "Unable to initialize subsystem \"Module\""
 msgstr ""
 
-#: src/synfig/main.cpp:188
+#: src/synfig/main.cpp:211
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:192
+#: src/synfig/main.cpp:215
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:195
+#: src/synfig/main.cpp:218
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:200
+#: src/synfig/main.cpp:223
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:203
+#: src/synfig/main.cpp:226
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
+#: src/synfig/main.cpp:232
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:212
+#: src/synfig/main.cpp:235
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:219
+#: src/synfig/main.cpp:242
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:222
+#: src/synfig/main.cpp:245
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:230
+#: src/synfig/main.cpp:253
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:267 src/synfig/main.cpp:268
+#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:279
+#: src/synfig/main.cpp:302
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:293 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:360 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:375 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:390
+#: src/synfig/main.cpp:413
 msgid "info"
 msgstr ""
 
@@ -2749,145 +2778,145 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:64 src/synfig/valuenode.cpp:140
-#: src/synfig/valuenode_composite.cpp:437
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
+#: src/synfig/valuenode_composite.cpp:447
 msgid "Composite"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:65
+#: src/synfig/paramdesc.cpp:69
 msgid "Straight"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:66
+#: src/synfig/paramdesc.cpp:70
 msgid "Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:67
+#: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68
+#: src/synfig/paramdesc.cpp:72
 msgid "Behind"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:69
+#: src/synfig/paramdesc.cpp:73
 msgid "Screen"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:70
+#: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:71
+#: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:72
+#: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:73
+#: src/synfig/paramdesc.cpp:77
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:74 src/synfig/valuenode.cpp:157
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
 #: src/synfig/valuenode_add.cpp:190
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:75 src/synfig/valuenode.cpp:147
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
 #: src/synfig/valuenode_subtract.cpp:194
 msgid "Subtract"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:76
+#: src/synfig/paramdesc.cpp:80
 msgid "Difference"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:77
+#: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78
+#: src/synfig/paramdesc.cpp:82
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:80 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
 msgid "Hue"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:81 src/synfig/valuenode_radialcomposite.cpp:260
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
 #: src/synfig/valuenode_radialcomposite.cpp:266
 msgid "Saturation"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:82
+#: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:83
+#: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84
+#: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85
+#: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
 msgstr ""
 
-#: src/synfig/render.cpp:246 src/synfig/render.cpp:247
-#: src/synfig/render.cpp:301 src/synfig/render.cpp:302
-#: src/synfig/render.cpp:536 src/synfig/render.cpp:537
-#: src/synfig/render.cpp:563 src/synfig/render.cpp:564
+#: src/synfig/render.cpp:248 src/synfig/render.cpp:249
+#: src/synfig/render.cpp:303 src/synfig/render.cpp:304
+#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
+#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:290
+#: src/synfig/savecanvas.cpp:359
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:543
+#: src/synfig/savecanvas.cpp:674 src/synfig/savecanvas.cpp:699
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:185
+#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
 #: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:281
 msgid "Target initialization failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:146
+#: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:155 src/synfig/target_scanline.cpp:258
-#: src/synfig/target_scanline.cpp:405
+#: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:260
+#: src/synfig/target_scanline.cpp:407
 msgid "Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:162
+#: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:169 src/synfig/target_cairo_tile.cpp:248
-#: src/synfig/target_scanline.cpp:418 src/synfig/target_tile.cpp:396
+#: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
+#: src/synfig/target_scanline.cpp:420 src/synfig/target_tile.cpp:398
 msgid "Caught string :"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:174 src/synfig/target_cairo_tile.cpp:253
-#: src/synfig/target_scanline.cpp:423 src/synfig/target_tile.cpp:401
+#: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
+#: src/synfig/target_scanline.cpp:425 src/synfig/target_tile.cpp:403
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:179 src/synfig/target_cairo_tile.cpp:258
-#: src/synfig/target_scanline.cpp:428 src/synfig/target_tile.cpp:406
+#: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
+#: src/synfig/target_scanline.cpp:430 src/synfig/target_tile.cpp:408
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:190
+#: src/synfig/target_cairo.cpp:201
 msgid "Cairo Surface bad status"
 msgstr ""
 
@@ -2895,24 +2924,24 @@ msgstr ""
 msgid "Bad Tile Size"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:142 src/synfig/target_cairo_tile.cpp:240
-#: src/synfig/target_scanline.cpp:203 src/synfig/target_scanline.cpp:249
-#: src/synfig/target_scanline.cpp:348 src/synfig/target_scanline.cpp:396
+#: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
+#: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:251
+#: src/synfig/target_scanline.cpp:350 src/synfig/target_scanline.cpp:398
 #: src/synfig/target_tile.cpp:225
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:150
+#: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:156 src/synfig/target_tile.cpp:179
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:179
 #: src/synfig/target_tile.cpp:245
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:211
+#: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
 msgstr ""
 
@@ -2936,277 +2965,317 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:276 src/synfig/value.cpp:308 src/synfig/value.cpp:360
+#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
 msgid "bool"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:277 src/synfig/value.cpp:310 src/synfig/value.cpp:358
+#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
 msgid "integer"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:278 src/synfig/value.cpp:312
+#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
 msgid "angle"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:279 src/synfig/value.cpp:314 src/synfig/value.cpp:352
+#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
 msgid "time"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:280 src/synfig/value.cpp:316 src/synfig/value.cpp:355
+#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
 msgid "real"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:281 src/synfig/value.cpp:318
+#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
 msgid "vector"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:282 src/synfig/value.cpp:320
+#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
 msgid "color"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:283 src/synfig/value.cpp:322
+#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
 msgid "segment"
 msgstr ""
 
-#: src/synfig/value.cpp:284
+#: src/synfig/value.cpp:378
 msgid "bline_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:285 src/synfig/value.cpp:326
+#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
+msgid "matrix"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
+msgid "bone_weight_pair"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
 msgid "width_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:286 src/synfig/value.cpp:328
+#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
 msgid "dash_item"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:287 src/synfig/value.cpp:330
+#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
 msgid "list"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:288 src/synfig/value.cpp:332
+#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
 msgid "canvas"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:289 src/synfig/value.cpp:334
+#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
 msgid "string"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:290 src/synfig/value.cpp:336
+#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
 msgid "gradient"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:291 src/synfig/value.cpp:338
+#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
+msgid "bone_object"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
+msgid "bone_valuenode"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
 msgid "nil"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:324
+#: src/synfig/value.cpp:422
 msgid "spline_point"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:141 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:142 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:144 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:146 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_dynamiclist.cpp:755
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
 #: src/synfig/valuenode_switch.cpp:163
 msgid "Switch"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164
+#: src/synfig/valuenode.cpp:170
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165
+#: src/synfig/valuenode.cpp:171
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
 msgid "Integer"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:176 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177
+#: src/synfig/valuenode.cpp:183
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:178
+#: src/synfig/valuenode.cpp:184
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_real.cpp:161
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
 #: src/synfig/valuenode_realstring.cpp:175
 msgid "Real"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:189
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:190
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185
+#: src/synfig/valuenode.cpp:191
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187
+#: src/synfig/valuenode.cpp:192
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:199
+msgid "Bone Influence"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:200
+msgid "Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:201
+msgid "Root Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:202
+msgid "Static List"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:203
+msgid "Bone Weight Pair"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:206
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:233
+#: src/synfig/valuenode.cpp:241
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:513
+#: src/synfig/valuenode.cpp:540
 msgid "Placeholder"
 msgstr ""
 
-#: src/synfig/valuenode.h:61
+#: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
@@ -3273,32 +3342,32 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:355 src/synfig/valuenode_animated.cpp:379
-#: src/synfig/valuenode_animated.cpp:703 src/synfig/valuenode_animated.cpp:721
-#: src/synfig/valuenode_animated.cpp:801 src/synfig/valuenode_animated.cpp:820
+#: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
+#: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
+#: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1134
+#: src/synfig/valuenode_animated.cpp:1173
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1169
+#: src/synfig/valuenode_animated.cpp:1208
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:977 src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
 #: src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:980 src/synfig/valuenode_dynamiclist.cpp:664
+#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
 #: src/synfig/valuenode_wplist.cpp:339
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_bline.cpp:1023
+#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
@@ -3318,7 +3387,7 @@ msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:584
 #: src/synfig/valuenode_gradientrotate.cpp:169
 #: src/synfig/valuenode_linear.cpp:213
 msgid "Offset"
@@ -3372,190 +3441,186 @@ msgstr ""
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:219
+#: src/synfig/valuenode_composite.cpp:229
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:464
+#: src/synfig/valuenode_composite.cpp:474
 msgid "Red"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:465
+#: src/synfig/valuenode_composite.cpp:475
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:468
+#: src/synfig/valuenode_composite.cpp:478
 msgid "Green"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:469
+#: src/synfig/valuenode_composite.cpp:479
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:472
+#: src/synfig/valuenode_composite.cpp:482
 msgid "Blue"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:473
+#: src/synfig/valuenode_composite.cpp:483
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:476
+#: src/synfig/valuenode_composite.cpp:486
 msgid "Alpha"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:477
+#: src/synfig/valuenode_composite.cpp:487
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:492
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:493
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
-#: src/synfig/valuenode_composite.cpp:526
+#: src/synfig/valuenode_composite.cpp:496
+#: src/synfig/valuenode_composite.cpp:536
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:497
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:490
+#: src/synfig/valuenode_composite.cpp:500
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:491
+#: src/synfig/valuenode_composite.cpp:501
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:494
-#: src/synfig/valuenode_composite.cpp:530
+#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:540
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:495
+#: src/synfig/valuenode_composite.cpp:505
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:510
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:511
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:514
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:515
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:520
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:521
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:525
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:519
+#: src/synfig/valuenode_composite.cpp:529
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:522
+#: src/synfig/valuenode_composite.cpp:532
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:523
+#: src/synfig/valuenode_composite.cpp:533
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:527
+#: src/synfig/valuenode_composite.cpp:537
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:531
+#: src/synfig/valuenode_composite.cpp:541
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:547
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:551
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:544
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_composite.cpp:554
+#: src/synfig/valuenode_composite.cpp:594
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:545
 #: src/synfig/valuenode_composite.cpp:555
+#: src/synfig/valuenode_composite.cpp:565
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
 #: src/synfig/valuenode_composite.cpp:557
+#: src/synfig/valuenode_composite.cpp:567
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:593
+#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:603
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:574
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:575
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:578
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:579
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:585
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:589
 #: src/synfig/valuenode_timedswap.cpp:260
 msgid "Length"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:580
+#: src/synfig/valuenode_composite.cpp:590
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:595
+#: src/synfig/valuenode_composite.cpp:604
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_const.cpp:127
-msgid "Static"
-msgstr ""
-
 #: src/synfig/valuenode_compare.cpp:168
 msgid "The left side of the comparison"
 msgstr ""
@@ -3620,12 +3685,12 @@ msgstr ""
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:655
+#: src/synfig/valuenode_dynamiclist.cpp:661
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:703
-#: src/synfig/valuenode_dynamiclist.cpp:957
+#: src/synfig/valuenode_dynamiclist.cpp:709
+#: src/synfig/valuenode_dynamiclist.cpp:964
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3949,7 +4014,7 @@ msgid "Intersection"
 msgstr ""
 
 #: src/synfig/valuenode_step.cpp:213
-msgid "Value that define whether the step is centerd on the value [0,1]"
+msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
@@ -4082,195 +4147,195 @@ msgstr ""
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:133
+#: src/tool/main.cpp:140
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:169
+#: src/tool/main.cpp:176
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:171
+#: src/tool/main.cpp:178
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:172
+#: src/tool/main.cpp:179
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:173
+#: src/tool/main.cpp:180
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:174
+#: src/tool/main.cpp:181
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:175
+#: src/tool/main.cpp:182
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:176
+#: src/tool/main.cpp:183
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:184
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:178
+#: src/tool/main.cpp:185
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:186
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:187
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:188
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:189
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:190
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:191
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:185 src/tool/main.cpp:186
+#: src/tool/main.cpp:192 src/tool/main.cpp:193
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:194
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:195
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:196
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:197
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:193
+#: src/tool/main.cpp:200
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:202
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:203
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:204
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:200
+#: src/tool/main.cpp:207
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:202
+#: src/tool/main.cpp:209
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:210
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:204 src/tool/main.cpp:230
+#: src/tool/main.cpp:211 src/tool/main.cpp:237
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:207
+#: src/tool/main.cpp:214
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:216
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:210
+#: src/tool/main.cpp:217
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:213
+#: src/tool/main.cpp:220
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:215
+#: src/tool/main.cpp:222
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:223
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:217
+#: src/tool/main.cpp:224
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:225
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:226
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:220
+#: src/tool/main.cpp:227
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:221
+#: src/tool/main.cpp:228
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:229
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:223
+#: src/tool/main.cpp:230
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:231
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:232
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:241
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:236
+#: src/tool/main.cpp:243
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:237
+#: src/tool/main.cpp:244
 msgid "Test signal implementation"
 msgstr ""
 
@@ -4334,157 +4399,157 @@ msgstr ""
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:113
+#: src/tool/optionsprocessor.cpp:114
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:115
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:131
+#: src/tool/optionsprocessor.cpp:132
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:146
+#: src/tool/optionsprocessor.cpp:147
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:224
+#: src/tool/optionsprocessor.cpp:225
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:226
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:227
+#: src/tool/optionsprocessor.cpp:228
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:232
+#: src/tool/optionsprocessor.cpp:233
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:234
+#: src/tool/optionsprocessor.cpp:235
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:236
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:239
+#: src/tool/optionsprocessor.cpp:240
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:243
+#: src/tool/optionsprocessor.cpp:244
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:309
+#: src/tool/optionsprocessor.cpp:310
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:316
+#: src/tool/optionsprocessor.cpp:317
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:324
+#: src/tool/optionsprocessor.cpp:325
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:334
+#: src/tool/optionsprocessor.cpp:335
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:343
+#: src/tool/optionsprocessor.cpp:344
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:352
+#: src/tool/optionsprocessor.cpp:353
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:379
+#: src/tool/optionsprocessor.cpp:380
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:385
+#: src/tool/optionsprocessor.cpp:386
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:400
+#: src/tool/optionsprocessor.cpp:401
 #, c-format
 msgid "Resolution set to %dx%d"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:417
+#: src/tool/optionsprocessor.cpp:418
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:437
+#: src/tool/optionsprocessor.cpp:438
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:440
+#: src/tool/optionsprocessor.cpp:441
 #, c-format
 msgid "Target video codec set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:446
+#: src/tool/optionsprocessor.cpp:447
 #, c-format
 msgid "Target bitrate set to %dk"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:452
+#: src/tool/optionsprocessor.cpp:453
 #, c-format
 msgid "Output file sequence separator set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:487
+#: src/tool/optionsprocessor.cpp:488
 #, c-format
 msgid "Unable to load '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:494
+#: src/tool/optionsprocessor.cpp:495
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:499
+#: src/tool/optionsprocessor.cpp:500
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:513
+#: src/tool/optionsprocessor.cpp:514
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:532
+#: src/tool/optionsprocessor.cpp:533
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:539
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:557
+#: src/tool/optionsprocessor.cpp:558
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:571
+#: src/tool/optionsprocessor.cpp:572
 msgid "Appended contents of "
 msgstr ""
 
diff --git a/po/fr.gmo b/po/fr.gmo
index e1c1fb9..100bbe1 100644
Binary files a/po/fr.gmo and b/po/fr.gmo differ
diff --git a/po/fr.po b/po/fr.po
index 0478895..e29d45c 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -1,144 +1,146 @@
-# translation of fr.po to
-# French translations for Synfig Core package
-# Traductions françaises du paquet Synfig Core.
-# Copyright (C) 2012 Synfig Contributors
-# This file is distributed under the same license as the Synfig package.
+# Translation file for Synfig Core package.
+# Copyright (C) 2013 Synfig Contributors
+# This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
 # Timothée Giet <animtim at gmail.com>, 2011
 # Timothée Giet <animtim at gmail.com>, 2011
-# Aurore D <aurore.d at gmail.com>, 2007, 2010
+# Aurore D <aurore.d at gmail.com>, 2007,2010
 # berteh <berteh at hotmail.com>, 2012
-# d.j.a.y <d.j.a.y at free.fr>, 2013
-# d.j.a.y <d.j.a.y at free.fr>, 2012
+# berteh <berteh at hotmail.com>, 2012
+# d.j.a.y, 2012-2013
+# d.j.a.y, 2013
+# d.j.a.y, 2012
 # morevnaproject <ksee.zelgadis at gmail.com>, 2011
+# Timothée Giet <animtim at gmail.com>, 2011
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2013-05-09 18:34+0200\n"
-"PO-Revision-Date: 2013-05-04 06:25+0000\n"
-"Last-Translator: d.j.a.y <d.j.a.y at free.fr>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
+"POT-Creation-Date: 2013-10-25 17:57+0700\n"
+"PO-Revision-Date: 2013-10-17 14:53+0000\n"
+"Last-Translator: d.j.a.y\n"
+"Language-Team: French (http://www.transifex.com/projects/p/synfig/language/"
+"fr/)\n"
 "Language: fr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:58
+#: src/modules/mod_example/filledrect.cpp:59
 msgid "Filled Rectangle"
 msgstr "Rectangle plein"
 
-#: src/modules/mod_example/filledrect.cpp:59
+#: src/modules/mod_example/filledrect.cpp:60
 #: src/modules/mod_example/metaballs.cpp:58
 #: src/modules/mod_example/simplecircle.cpp:58
 msgid "Example"
 msgstr "Exemple"
 
-#: src/modules/mod_example/filledrect.cpp:120
+#: src/modules/mod_example/filledrect.cpp:131
 #: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:523
-#: src/modules/lyr_std/shade.cpp:564
-#: src/modules/mod_geometry/checkerboard.cpp:122
-#: src/modules/mod_geometry/circle.cpp:128
-#: src/modules/mod_geometry/rectangle.cpp:125 src/synfig/layer_shape.cpp:1193
-#: src/synfig/layer_solidcolor.cpp:102 src/synfig/paramdesc.cpp:79
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:620
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
 msgid "Color"
 msgstr "Couleur"
 
-#: src/modules/mod_example/filledrect.cpp:121
+#: src/modules/mod_example/filledrect.cpp:132
 #: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:129
-#: src/modules/mod_geometry/rectangle.cpp:126
-#: src/synfig/layer_solidcolor.cpp:103
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
 msgid "Fill color of the layer"
 msgstr "Remplir couleur du calque"
 
-#: src/modules/mod_example/filledrect.cpp:125
-#: src/modules/mod_geometry/rectangle.cpp:130
-#: src/modules/mod_gradient/lineargradient.cpp:190
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:185
 msgid "Point 1"
 msgstr "Point 1"
 
-#: src/modules/mod_example/filledrect.cpp:126
-#: src/modules/mod_geometry/rectangle.cpp:132
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
 msgid "First corner of the rectangle"
 msgstr "Premier coin du rectangle"
 
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_geometry/rectangle.cpp:136
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:190
 msgid "Point 2"
 msgstr "Point 2"
 
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_geometry/rectangle.cpp:137
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
 msgid "Second corner of the rectangle"
 msgstr "Second coin du rectangle"
 
-#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_example/filledrect.cpp:147
 msgid "Feather X"
 msgstr "Adoucissement X"
 
-#: src/modules/mod_example/filledrect.cpp:140
+#: src/modules/mod_example/filledrect.cpp:152
 msgid "Feather Y"
 msgstr "Adoucissement Y"
 
-#: src/modules/mod_example/filledrect.cpp:144 src/modules/lyr_std/bevel.cpp:68
-#: src/modules/mod_geometry/advanced_outline.cpp:1161
+#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
 msgid "Bevel"
 msgstr "Biseauter"
 
-#: src/modules/mod_example/filledrect.cpp:145
+#: src/modules/mod_example/filledrect.cpp:158
 msgid "Use Bevel for the corners"
 msgstr "Biseauter les coins"
 
-#: src/modules/mod_example/filledrect.cpp:149
+#: src/modules/mod_example/filledrect.cpp:163
 msgid "Keep Bevel Circular"
 msgstr "Coins Arrondis Circulaires"
 
-#: src/modules/mod_example/filledrect.cpp:150
+#: src/modules/mod_example/filledrect.cpp:164
 msgid "When checked the bevel is circular"
-msgstr "Lorsque coché le biseau est circulaire"
+msgstr "Si coché, le biseau est circulaire"
 
 #: src/modules/mod_example/metaballs.cpp:57
 msgid "Metaballs"
 msgstr "Metaballs"
 
-#: src/modules/mod_example/metaballs.cpp:135
+#: src/modules/mod_example/metaballs.cpp:129
 #: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:552
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:194
 #: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:112
-#: src/modules/mod_noise/noise.cpp:259 src/modules/mod_particle/plant.cpp:403
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
 #: src/synfig/valuenode_gradientrotate.cpp:164
 #: src/synfig/valuenode_repeat_gradient.cpp:203
 msgid "Gradient"
 msgstr "Dégradé"
 
-#: src/modules/mod_example/metaballs.cpp:139
+#: src/modules/mod_example/metaballs.cpp:133
 msgid "Balls"
 msgstr "Boules"
 
-#: src/modules/mod_example/metaballs.cpp:143
+#: src/modules/mod_example/metaballs.cpp:137
 msgid "Radii"
 msgstr "Rayons"
 
-#: src/modules/mod_example/metaballs.cpp:147
+#: src/modules/mod_example/metaballs.cpp:141
 msgid "Weights"
 msgstr "Poids"
 
-#: src/modules/mod_example/metaballs.cpp:151
+#: src/modules/mod_example/metaballs.cpp:145
 msgid "Gradient Left"
 msgstr "Dégradé Gauche"
 
-#: src/modules/mod_example/metaballs.cpp:155
+#: src/modules/mod_example/metaballs.cpp:149
 msgid "Gradient Right"
 msgstr "Dégradé Droit"
 
-#: src/modules/mod_example/metaballs.cpp:159
+#: src/modules/mod_example/metaballs.cpp:153
 msgid "Positive Only"
 msgstr "Positif Seulement"
 
@@ -150,21 +152,21 @@ msgstr "Cercle Simple"
 #: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
 #: src/modules/mod_gradient/conicalgradient.cpp:114
 #: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:117
+#: src/modules/mod_gradient/spiralgradient.cpp:118
 msgid "Center"
 msgstr "Centre"
 
 #: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:144
+#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
 msgid "Center of the circle"
 msgstr "Centre du cercle"
 
 #: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:151
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:132
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
 #: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:122
-#: src/modules/mod_noise/valuenode_random.cpp:269
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/valuenode_radialcomposite.cpp:272
 msgid "Radius"
 msgstr "Rayon"
@@ -172,20 +174,20 @@ msgstr "Rayon"
 #: src/modules/mod_example/simplecircle.cpp:118
 #: src/modules/lyr_std/twirl.cpp:118
 #: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:124
 msgid "This is the radius of the circle"
 msgstr "Le rayon du cercle"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
-#: src/modules/lyr_freetype/lyr_freetype.cpp:517
+#: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Texte"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
 #: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
-#: src/modules/lyr_std/supersample.cpp:57 src/modules/lyr_std/timeloop.cpp:60
-#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:70
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:79
+#: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
+#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
 msgid "Other"
 msgstr "Autre"
 
@@ -193,245 +195,245 @@ msgstr "Autre"
 msgid "Text Layer"
 msgstr "Calque de Texte"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:390
+#: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
 msgstr "initialisation impossible"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:409
+#: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
 msgstr "Jeu de polices vide"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:518
+#: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
 msgstr "Texte à Rendre"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:524
+#: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "Couleur du texte"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:528
+#: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
 msgstr "Famille de Police"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:533
+#: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
 msgstr "Style"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:535
-#: src/modules/lyr_freetype/lyr_freetype.cpp:545
+#: src/modules/lyr_freetype/lyr_freetype.cpp:587
+#: src/modules/lyr_freetype/lyr_freetype.cpp:597
 msgid "Normal"
 msgstr "Normal"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:536
+#: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
 msgstr "Oblique"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:537
+#: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
 msgstr "Italique"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:541
+#: src/modules/lyr_freetype/lyr_freetype.cpp:593
 msgid "Weight"
 msgstr "Graisse"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:543
+#: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
 msgstr "Ultra-léger"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:544
+#: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
 msgstr "Léger"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:546
+#: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
 msgstr "Gras"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:547
+#: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
 msgstr "Extra-gras"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:548
+#: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
 msgstr "Noir"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:551
+#: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
 msgstr "Espacement Horizontal"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:552
+#: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
 msgstr "Défini la proximité horizontale des glyphes"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:556
+#: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
 msgstr "Espacement Vertical"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:557
+#: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
 msgstr "Défini la proximité verticale des lignes de texte"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:561
-#: src/modules/lyr_std/shade.cpp:570 src/modules/lyr_std/xorpattern.cpp:129
-#: src/modules/mod_filter/blur.cpp:372
+#: src/modules/lyr_freetype/lyr_freetype.cpp:613
+#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:413
 #: src/modules/mod_filter/radialblur.cpp:115
-#: src/modules/mod_geometry/checkerboard.cpp:130
-#: src/modules/mod_noise/distort.cpp:222 src/modules/mod_noise/noise.cpp:267
+#: src/modules/mod_geometry/checkerboard.cpp:154
+#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
 msgstr "Taille"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:562
+#: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
 msgstr "Taille du texte"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:569
+#: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
 msgstr "Orientation"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:570
+#: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
 msgstr "Orientation du Texte"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/insideout.cpp:143 src/modules/lyr_std/rotate.cpp:116
-#: src/modules/lyr_std/shade.cpp:567 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:389
-#: src/modules/lyr_std/xorpattern.cpp:125 src/modules/lyr_std/zoom.cpp:104
+#: src/modules/lyr_freetype/lyr_freetype.cpp:627
+#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
+#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
+#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
-#: src/modules/mod_geometry/checkerboard.cpp:126
-#: src/modules/mod_geometry/circle.cpp:143
-#: src/modules/mod_gradient/curvegradient.cpp:537
-#: src/modules/mod_particle/plant.cpp:398 src/synfig/layer_pastecanvas.cpp:133
-#: src/synfig/layer_shape.cpp:1197 src/synfig/valuenode_composite.cpp:518
+#: src/modules/mod_geometry/checkerboard.cpp:150
+#: src/modules/mod_geometry/circle.cpp:161
+#: src/modules/mod_gradient/curvegradient.cpp:550
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
+#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
 msgid "Origin"
 msgstr "Origine"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:576
+#: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
 msgstr "Position du Texte"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:580
+#: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
 msgstr "Police"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:581
+#: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
 msgstr "Nom de la police à utiliser"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:588
+#: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
 msgstr "Crénage"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:589
+#: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
 msgstr "Active/Désactive le crénage (si la police le supporte)"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
 msgstr "Durcir les Bords"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:594
+#: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
 msgstr "À désactiver si vous animez le texte"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:597
-#: src/modules/lyr_std/shade.cpp:587 src/modules/mod_geometry/circle.cpp:147
-#: src/synfig/layer_shape.cpp:1200
+#: src/modules/lyr_freetype/lyr_freetype.cpp:649
+#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1228
 msgid "Invert"
 msgstr "Inverser"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:654
+#: src/modules/lyr_freetype/lyr_freetype.cpp:714
 msgid "No face loaded, no text will be rendered."
 msgstr "Aucune police de chargée, aucun texte ne sera rendu."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:680
+#: src/modules/lyr_freetype/lyr_freetype.cpp:740
 msgid "Text too small, no text will be rendered."
 msgstr "Texte trop petit, aucun texte ne sera rendu."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:704
+#: src/modules/lyr_freetype/lyr_freetype.cpp:764
 msgid "Unable to set face size."
 msgstr "Impossible de définir la taille de la police."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:747
+#: src/modules/lyr_freetype/lyr_freetype.cpp:807
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr "Séquence multi-octets invalide - La locale est-elle définie ?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:754
+#: src/modules/lyr_freetype/lyr_freetype.cpp:814
 msgid "Can't parse multibyte character.\n"
 msgstr "Impossible d'analyser la séquence multi-octets.\n"
 
-#: src/modules/lyr_std/bevel.cpp:69 src/modules/lyr_std/shade.cpp:68
+#: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "Styliser"
 
-#: src/modules/lyr_std/bevel.cpp:570 src/modules/lyr_std/shade.cpp:576
-#: src/modules/mod_filter/blur.cpp:376
-#: src/modules/mod_filter/halftone2.cpp:170
+#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
+#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Type"
 
-#: src/modules/lyr_std/bevel.cpp:571 src/modules/lyr_std/shade.cpp:577
-#: src/modules/mod_filter/blur.cpp:377
+#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
+#: src/modules/mod_filter/blur.cpp:418
 msgid "Type of blur to use"
 msgstr "Type de flou à utiliser"
 
-#: src/modules/lyr_std/bevel.cpp:573 src/modules/lyr_std/shade.cpp:579
-#: src/modules/mod_filter/blur.cpp:379 src/synfig/layer_shape.cpp:1213
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
 msgid "Box Blur"
 msgstr "Flou \"Boîte\""
 
-#: src/modules/lyr_std/bevel.cpp:574 src/modules/lyr_std/shade.cpp:580
-#: src/modules/mod_filter/blur.cpp:380 src/synfig/layer_shape.cpp:1214
+#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
+#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
 msgid "Fast Gaussian Blur"
 msgstr "Flou Gaussien Rapide"
 
-#: src/modules/lyr_std/bevel.cpp:575 src/modules/lyr_std/shade.cpp:581
-#: src/modules/mod_filter/blur.cpp:381 src/synfig/layer_shape.cpp:1215
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
 msgid "Cross-Hatch Blur"
 msgstr "Flou Hachuré"
 
-#: src/modules/lyr_std/bevel.cpp:576 src/modules/lyr_std/shade.cpp:582
-#: src/modules/mod_filter/blur.cpp:382 src/synfig/layer_shape.cpp:1216
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
 msgid "Gaussian Blur"
 msgstr "Flou Gaussien"
 
-#: src/modules/lyr_std/bevel.cpp:577 src/modules/lyr_std/shade.cpp:583
-#: src/modules/mod_filter/blur.cpp:383 src/synfig/layer_shape.cpp:1217
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
 msgid "Disc Blur"
 msgstr "Flou Circulaire"
 
-#: src/modules/lyr_std/bevel.cpp:581
+#: src/modules/lyr_std/bevel.cpp:635
 msgid "Hi-Color"
 msgstr "Éclaircissement"
 
-#: src/modules/lyr_std/bevel.cpp:584
+#: src/modules/lyr_std/bevel.cpp:638
 msgid "Lo-Color"
 msgstr "Ombrage"
 
-#: src/modules/lyr_std/bevel.cpp:587
+#: src/modules/lyr_std/bevel.cpp:641
 msgid "Light Angle"
 msgstr "Angle d'Éclairage"
 
-#: src/modules/lyr_std/bevel.cpp:591
+#: src/modules/lyr_std/bevel.cpp:645
 msgid "Depth of Bevel"
 msgstr "Profondeur du Biseau"
 
-#: src/modules/lyr_std/bevel.cpp:595
+#: src/modules/lyr_std/bevel.cpp:649
 msgid "Softness"
 msgstr "Adoucissement"
 
-#: src/modules/lyr_std/bevel.cpp:598
+#: src/modules/lyr_std/bevel.cpp:652
 msgid "Use Luma"
 msgstr "Utiliser la Luminance"
 
-#: src/modules/lyr_std/bevel.cpp:601
+#: src/modules/lyr_std/bevel.cpp:655
 msgid "Solid"
 msgstr "Solide"
 
-#: src/modules/lyr_std/booleancurve.cpp:104
+#: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
 msgstr "Jeu de Région"
 
-#: src/modules/lyr_std/booleancurve.cpp:105
+#: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
 msgstr "Jeu de régions à combiner"
 
@@ -439,38 +441,38 @@ msgstr "Jeu de régions à combiner"
 msgid "Clamp"
 msgstr "Limiter"
 
-#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:56
-#: src/modules/mod_filter/halftone2.cpp:59
-#: src/modules/mod_filter/halftone3.cpp:59
-#: src/modules/mod_filter/lumakey.cpp:59
+#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:57
+#: src/modules/mod_filter/halftone2.cpp:60
+#: src/modules/mod_filter/halftone3.cpp:60
+#: src/modules/mod_filter/lumakey.cpp:60
 msgid "Filters"
 msgstr "Filtres"
 
-#: src/modules/lyr_std/clamp.cpp:158
+#: src/modules/lyr_std/clamp.cpp:162
 msgid "Invert Negative"
 msgstr "Inverser le Négatif"
 
-#: src/modules/lyr_std/clamp.cpp:162
+#: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
 msgstr "Limiter à la valeur Plafond"
 
-#: src/modules/lyr_std/clamp.cpp:163
+#: src/modules/lyr_std/clamp.cpp:167
 msgid "When checked the Ceiling value is used"
-msgstr "Lorsque coché la valeur Plafond est utilisée"
+msgstr "Si coché, la valeur Plafond est utilisée"
 
-#: src/modules/lyr_std/clamp.cpp:167
+#: src/modules/lyr_std/clamp.cpp:171
 msgid "Ceiling"
 msgstr "Plafond"
 
-#: src/modules/lyr_std/clamp.cpp:168
+#: src/modules/lyr_std/clamp.cpp:172
 msgid "Upper boundary of the clamping"
 msgstr "Limite supérieure du verrouillage"
 
-#: src/modules/lyr_std/clamp.cpp:172
+#: src/modules/lyr_std/clamp.cpp:176
 msgid "Floor"
 msgstr "Plancher"
 
-#: src/modules/lyr_std/clamp.cpp:173
+#: src/modules/lyr_std/clamp.cpp:177
 msgid "Lower boundary of the clamping"
 msgstr "Limite inférieure du verrouillage"
 
@@ -478,24 +480,24 @@ msgstr "Limite inférieure du verrouillage"
 msgid "Import Image"
 msgstr "Importer une Image"
 
-#: src/modules/lyr_std/import.cpp:151 src/modules/lyr_std/import.cpp:201
+#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr "Il semble que le nom de fichier soit déjà \"%s\" (%s)"
 
-#: src/modules/lyr_std/import.cpp:283
+#: src/modules/lyr_std/import.cpp:293
 msgid "Filename"
 msgstr "Nom de fichier"
 
-#: src/modules/lyr_std/import.cpp:284
+#: src/modules/lyr_std/import.cpp:294
 msgid "File to import"
 msgstr "Fichier à importer"
 
-#: src/modules/lyr_std/import.cpp:288 src/synfig/layer_pastecanvas.cpp:146
+#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
 msgid "Time Offset"
 msgstr "Décalage Temporel"
 
-#: src/modules/lyr_std/import.cpp:289
+#: src/modules/lyr_std/import.cpp:299
 msgid "Time Offset to apply to the imported file"
 msgstr "Décalage de Temps à appliquer au fichier importé"
 
@@ -504,14 +506,14 @@ msgid "Inside Out"
 msgstr "À l'envers"
 
 #: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:75
 #: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:57 src/modules/lyr_std/curvewarp.cpp:56
-#: src/modules/mod_noise/distort.cpp:58
+#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
+#: src/modules/mod_noise/distort.cpp:59
 msgid "Distortions"
 msgstr "Distorsions"
 
-#: src/modules/lyr_std/insideout.cpp:144
+#: src/modules/lyr_std/insideout.cpp:163
 msgid "Defines the where the center will be"
 msgstr "Défini le centre"
 
@@ -523,97 +525,97 @@ msgstr "Ensemble de Julia"
 msgid "Fractals"
 msgstr "Fractales"
 
-#: src/modules/lyr_std/julia.cpp:309
+#: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
 msgstr "Couleur Interne"
 
-#: src/modules/lyr_std/julia.cpp:310
+#: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
 msgstr "Couleur de l'Ensemble"
 
-#: src/modules/lyr_std/julia.cpp:313
+#: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
 msgstr "Couleur Externe"
 
-#: src/modules/lyr_std/julia.cpp:314
+#: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
 msgstr "Couleur en dehors de l'Ensemble"
 
-#: src/modules/lyr_std/julia.cpp:317
+#: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
 msgstr "Décalage de Couleur"
 
-#: src/modules/lyr_std/julia.cpp:320 src/modules/lyr_std/mandelbrot.cpp:223
+#: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
 msgstr "Itérations"
 
-#: src/modules/lyr_std/julia.cpp:323
+#: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
 msgstr "Point Graine"
 
-#: src/modules/lyr_std/julia.cpp:326 src/modules/lyr_std/mandelbrot.cpp:226
+#: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
 msgstr "Valeur de Base d'Arrêt"
 
-#: src/modules/lyr_std/julia.cpp:330 src/modules/lyr_std/mandelbrot.cpp:236
+#: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
 msgstr "Distordre l'Intérieur"
 
-#: src/modules/lyr_std/julia.cpp:333 src/modules/lyr_std/mandelbrot.cpp:240
+#: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
 msgstr "Ombrer l’Intérieur"
 
-#: src/modules/lyr_std/julia.cpp:336 src/modules/lyr_std/mandelbrot.cpp:244
+#: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
 msgstr "Intérieur Solide"
 
-#: src/modules/lyr_std/julia.cpp:339 src/modules/lyr_std/mandelbrot.cpp:248
+#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
 msgstr "Inverser l'Intérieur"
 
-#: src/modules/lyr_std/julia.cpp:342
+#: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
 msgstr "Colorer l'Intérieur"
 
-#: src/modules/lyr_std/julia.cpp:345 src/modules/lyr_std/mandelbrot.cpp:265
+#: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
 msgstr "Distordre l'Extérieur"
 
-#: src/modules/lyr_std/julia.cpp:348 src/modules/lyr_std/mandelbrot.cpp:269
+#: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
 msgstr "Ombrer l'Extérieur"
 
-#: src/modules/lyr_std/julia.cpp:351 src/modules/lyr_std/mandelbrot.cpp:273
+#: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
 msgstr "Extérieur Solide"
 
-#: src/modules/lyr_std/julia.cpp:354 src/modules/lyr_std/mandelbrot.cpp:277
+#: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
 msgstr "Inverser l'Extérieur"
 
-#: src/modules/lyr_std/julia.cpp:357
+#: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
 msgstr "Colorer l'Extérieur"
 
-#: src/modules/lyr_std/julia.cpp:361
+#: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
 msgstr "Cycle de Couleurs"
 
-#: src/modules/lyr_std/julia.cpp:364 src/modules/lyr_std/mandelbrot.cpp:285
+#: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
 msgstr "Lisser l'Extérieur"
 
-#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:286
+#: src/modules/lyr_std/julia.cpp:391 src/modules/lyr_std/mandelbrot.cpp:282
 msgid "Smooth the coloration outside the set"
 msgstr "Lisser la couleur à l'extérieur de l'ensemble"
 
-#: src/modules/lyr_std/julia.cpp:368 src/modules/lyr_std/mandelbrot.cpp:230
+#: src/modules/lyr_std/julia.cpp:394 src/modules/lyr_std/mandelbrot.cpp:226
 msgid "Break Set"
 msgstr "Briser l'Ensemble"
 
-#: src/modules/lyr_std/julia.cpp:369 src/modules/lyr_std/mandelbrot.cpp:231
+#: src/modules/lyr_std/julia.cpp:395 src/modules/lyr_std/mandelbrot.cpp:227
 msgid "Modify equation to achieve interesting results"
 msgstr "Modifier l'équation pour obtenir des résultats intéressants"
 
@@ -621,48 +623,48 @@ msgstr "Modifier l'équation pour obtenir des résultats intéressants"
 msgid "Mandelbrot Set"
 msgstr "Ensemble de Mandelbrot"
 
+#: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
 #: src/modules/lyr_std/mandelbrot.cpp:241
 #: src/modules/lyr_std/mandelbrot.cpp:245
 #: src/modules/lyr_std/mandelbrot.cpp:249
 #: src/modules/lyr_std/mandelbrot.cpp:253
 #: src/modules/lyr_std/mandelbrot.cpp:257
-#: src/modules/lyr_std/mandelbrot.cpp:261
 msgid "Inside"
 msgstr "Intérieur"
 
-#: src/modules/lyr_std/mandelbrot.cpp:252
+#: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
 msgstr "Dégradé Intérieur"
 
-#: src/modules/lyr_std/mandelbrot.cpp:256
+#: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
 msgstr "Décalage Intérieur"
 
-#: src/modules/lyr_std/mandelbrot.cpp:260
+#: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
 msgstr "Boucle Intérieure"
 
+#: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
 #: src/modules/lyr_std/mandelbrot.cpp:270
 #: src/modules/lyr_std/mandelbrot.cpp:274
 #: src/modules/lyr_std/mandelbrot.cpp:278
-#: src/modules/lyr_std/mandelbrot.cpp:282
+#: src/modules/lyr_std/mandelbrot.cpp:283
 #: src/modules/lyr_std/mandelbrot.cpp:287
 #: src/modules/lyr_std/mandelbrot.cpp:291
-#: src/modules/lyr_std/mandelbrot.cpp:295
 msgid "Outside"
 msgstr "Extérieur"
 
-#: src/modules/lyr_std/mandelbrot.cpp:281
+#: src/modules/lyr_std/mandelbrot.cpp:277
 msgid "Gradient outside"
 msgstr "Dégradé extérieur"
 
-#: src/modules/lyr_std/mandelbrot.cpp:290
+#: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
 msgstr "Décalage Extérieur"
 
-#: src/modules/lyr_std/mandelbrot.cpp:294
+#: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
 msgstr "Échelle Extérieure"
 
@@ -675,16 +677,16 @@ msgstr "Rotation"
 msgid "Transform"
 msgstr "Transformer"
 
-#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/translate.cpp:101
+#: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:134
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr "Point où vous souhaitez que l'origine soit"
 
-#: src/modules/lyr_std/rotate.cpp:121
-#: src/modules/lyr_std/sphere_distort.cpp:158
+#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:217
+#: src/synfig/layer_composite.cpp:249
 #: src/synfig/valuenode_blinecalctangent.cpp:251
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
@@ -693,62 +695,62 @@ msgstr "Point où vous souhaitez que l'origine soit"
 msgid "Amount"
 msgstr "Quantité"
 
-#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
 msgstr "Angle de rotation"
 
-#: src/modules/lyr_std/shade.cpp:67
+#: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
 msgstr "Ombrage"
 
-#: src/modules/lyr_std/shade.cpp:571
+#: src/modules/lyr_std/shade.cpp:627
 msgid "Size of Shade"
 msgstr "Taille de l'Ombre"
 
-#: src/modules/lyr_std/sphere_distort.cpp:73
-#: src/modules/lyr_std/sphere_distort.cpp:172
+#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:167
 msgid "Spherize"
 msgstr "Rendre sphérique"
 
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/synfig/valuenode_composite.cpp:536
+#: src/modules/lyr_std/sphere_distort.cpp:141
+#: src/synfig/valuenode_composite.cpp:546
 msgid "Position"
 msgstr "Position"
 
-#: src/modules/lyr_std/sphere_distort.cpp:147
+#: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
 msgstr "Lorsque la déformation sphèrique est centrée"
 
-#: src/modules/lyr_std/sphere_distort.cpp:154
+#: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr "La taille de la déformation sphèrique"
 
-#: src/modules/lyr_std/sphere_distort.cpp:160
+#: src/modules/lyr_std/sphere_distort.cpp:155
 msgid "The distortion intensity (negative values inverts effect)"
 msgstr ""
 "L'intensité de la déformation (les valeurs négatives inversent l'effet)"
 
-#: src/modules/lyr_std/sphere_distort.cpp:164 src/modules/lyr_std/warp.cpp:409
+#: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
 msgstr "Couper"
 
-#: src/modules/lyr_std/sphere_distort.cpp:165
+#: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
 msgstr "Lorsque coché, la zone en dehors du rayon n'est pas déformée"
 
-#: src/modules/lyr_std/sphere_distort.cpp:169
+#: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
 msgstr "Type de Distorsion"
 
-#: src/modules/lyr_std/sphere_distort.cpp:170
+#: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
 msgstr "Sens de la distorsion"
 
-#: src/modules/lyr_std/sphere_distort.cpp:173
+#: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
 msgstr "Barre Verticale"
 
-#: src/modules/lyr_std/sphere_distort.cpp:174
+#: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
 msgstr "Barre Horizontale"
 
@@ -768,104 +770,104 @@ msgstr "Lorsque la déformation étirée est centrée"
 msgid "Stroboscope"
 msgstr "Stroboscope"
 
-#: src/modules/lyr_std/stroboscope.cpp:102
+#: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
 msgstr "Fréquence"
 
-#: src/modules/lyr_std/stroboscope.cpp:103
+#: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
 msgstr "Fréquence du Strobe par seconde"
 
-#: src/modules/lyr_std/supersample.cpp:56
+#: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
 msgstr "Sur-échantillonner "
 
-#: src/modules/lyr_std/supersample.cpp:129
+#: src/modules/lyr_std/supersample.cpp:146
 msgid "Unable to create SurfaceTarget"
 msgstr "Impossible de créer une Surface Cible"
 
-#: src/modules/lyr_std/supersample.cpp:290
-#: src/modules/lyr_std/curvewarp.cpp:393
-#: src/modules/mod_gradient/curvegradient.cpp:542
-#: src/synfig/valuenode_composite.cpp:514
-#: src/synfig/valuenode_composite.cpp:540
+#: src/modules/lyr_std/supersample.cpp:337
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_composite.cpp:524
+#: src/synfig/valuenode_composite.cpp:550
 #: src/synfig/valuenode_realstring.cpp:180
 #: src/synfig/valuenode_repeat_gradient.cpp:213
 #: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
 msgid "Width"
 msgstr "Largeur"
 
-#: src/modules/lyr_std/supersample.cpp:291
+#: src/modules/lyr_std/supersample.cpp:338
 msgid "Width of sample area (In pixels)"
 msgstr "Largeur de l'échantillon (en pixels)"
 
-#: src/modules/lyr_std/supersample.cpp:294 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
 msgid "Height"
 msgstr "Hauteur"
 
-#: src/modules/lyr_std/supersample.cpp:295
+#: src/modules/lyr_std/supersample.cpp:342
 msgid "Height of sample area (In pixels)"
 msgstr "Hauteur de l'échantillon (en pixels)"
 
-#: src/modules/lyr_std/supersample.cpp:298
+#: src/modules/lyr_std/supersample.cpp:345
 msgid "Use Parametric"
 msgstr "Paramétrique"
 
-#: src/modules/lyr_std/supersample.cpp:299
+#: src/modules/lyr_std/supersample.cpp:346
 msgid "Use the Parametric Renderer"
 msgstr "Utiliser le Rendu Paramétrique"
 
-#: src/modules/lyr_std/supersample.cpp:302
+#: src/modules/lyr_std/supersample.cpp:349
 msgid "Be Alpha Safe"
 msgstr "Considérer l'Alpha"
 
-#: src/modules/lyr_std/supersample.cpp:303
+#: src/modules/lyr_std/supersample.cpp:350
 msgid "Avoid alpha artifacts when checked"
 msgstr "Eviter les artefacts de transparence si coché"
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:166
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr "Boucle Temporelle"
 
-#: src/modules/lyr_std/timeloop.cpp:124 src/synfig/valuenode_timeloop.cpp:179
+#: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
 msgstr "Début du Lien"
 
-#: src/modules/lyr_std/timeloop.cpp:125
+#: src/modules/lyr_std/timeloop.cpp:134
 msgid "Start time of the loop for the cycled context"
 msgstr "Début de la boucle pour le contexte bouclé."
 
-#: src/modules/lyr_std/timeloop.cpp:129 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr "Temps Local"
 
-#: src/modules/lyr_std/timeloop.cpp:130 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr "Le moment où la boucle resultante commence"
 
-#: src/modules/lyr_std/timeloop.cpp:134 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr "Durée"
 
-#: src/modules/lyr_std/timeloop.cpp:135 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
 msgid "Lenght of the loop"
 msgstr "Longueur de la boucle"
 
-#: src/modules/lyr_std/timeloop.cpp:139
+#: src/modules/lyr_std/timeloop.cpp:148
 msgid "Only For Positive Duration"
 msgstr "Seulement pour les Durées Positives"
 
-#: src/modules/lyr_std/timeloop.cpp:140
+#: src/modules/lyr_std/timeloop.cpp:149
 msgid "When checked will loop only positive durations"
 msgstr "Si coché, boucler seulement les durées positives"
 
-#: src/modules/lyr_std/timeloop.cpp:144
+#: src/modules/lyr_std/timeloop.cpp:153
 msgid "Symmetrical"
 msgstr "Symétrique"
 
-#: src/modules/lyr_std/timeloop.cpp:145
+#: src/modules/lyr_std/timeloop.cpp:154
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr "Si coché, les boucles sont reflétés centrés sur le Temps Local"
 
@@ -893,116 +895,116 @@ msgstr "Si coché, déforme à l'intérieur du cercle"
 msgid "When checked, distorts outside the circle"
 msgstr "Si coché, déforme à l'extérieur du cercle"
 
-#: src/modules/lyr_std/warp.cpp:56
+#: src/modules/lyr_std/warp.cpp:57
 msgid "Warp"
 msgstr "Perspective"
 
-#: src/modules/lyr_std/warp.cpp:374
+#: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
 msgstr "Origine Haut-Gauche"
 
-#: src/modules/lyr_std/warp.cpp:376
+#: src/modules/lyr_std/warp.cpp:382
 msgid "Top Left corner of the source to warp"
 msgstr "Coin Supérieur Gauche de la source à déformer"
 
-#: src/modules/lyr_std/warp.cpp:380
+#: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
 msgstr "Origine Bas-Droite"
 
-#: src/modules/lyr_std/warp.cpp:381
+#: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
 msgstr "Coin Inférieur Droit de la source à déformer"
 
-#: src/modules/lyr_std/warp.cpp:385
+#: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
 msgstr "Destination Haut-Gauche"
 
-#: src/modules/lyr_std/warp.cpp:387
+#: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
 msgstr "Coin Supérieur Gauche de la destination"
 
-#: src/modules/lyr_std/warp.cpp:391
+#: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
 msgstr "Destination Haut-Droite"
 
-#: src/modules/lyr_std/warp.cpp:393
+#: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
 msgstr "Coin Supérieur Droit de la destination"
 
-#: src/modules/lyr_std/warp.cpp:397
+#: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
 msgstr "Destination Bas-Droite"
 
-#: src/modules/lyr_std/warp.cpp:399
+#: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
 msgstr "Coin Inférieur Droit de la destination"
 
-#: src/modules/lyr_std/warp.cpp:403
+#: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
 msgstr "Destination Bas-Gauche"
 
-#: src/modules/lyr_std/warp.cpp:405
+#: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
 msgstr "Coin Inférieur Gauche de la destination"
 
-#: src/modules/lyr_std/warp.cpp:413
+#: src/modules/lyr_std/warp.cpp:419
 msgid "Horizon"
 msgstr "Horizon"
 
-#: src/modules/lyr_std/warp.cpp:414
+#: src/modules/lyr_std/warp.cpp:420
 msgid "Height that determines the horizon in perspectives"
 msgstr "Hauteur qui détermine l'horizon dans les perspectives"
 
-#: src/modules/lyr_std/curvewarp.cpp:55
+#: src/modules/lyr_std/curvewarp.cpp:56
 msgid "Curve Warp"
 msgstr "Déformation Courbe"
 
-#: src/modules/lyr_std/curvewarp.cpp:390
-msgid "Position of the source line"
-msgstr "Position de la ligne source"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr "Placement de la Spline de destination"
 
-#: src/modules/lyr_std/curvewarp.cpp:395
+#: src/modules/lyr_std/curvewarp.cpp:404
 msgid "How much is expanded the result perpendicular to the source line"
 msgstr ""
 "De combien est étendu le résultat perpendiculairement à la ligne source"
 
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:407
 msgid "Start Point"
 msgstr "Point de Départ"
 
-#: src/modules/lyr_std/curvewarp.cpp:400
+#: src/modules/lyr_std/curvewarp.cpp:409
 msgid "First point of the source line"
 msgstr "Premier point de la ligne source"
 
-#: src/modules/lyr_std/curvewarp.cpp:403
+#: src/modules/lyr_std/curvewarp.cpp:412
 msgid "End Point"
 msgstr "Point d'Arrivée"
 
-#: src/modules/lyr_std/curvewarp.cpp:404
+#: src/modules/lyr_std/curvewarp.cpp:413
 msgid "Final point of the source line"
 msgstr "Dernier point de la ligne de source"
 
-#: src/modules/lyr_std/curvewarp.cpp:407
-#: src/modules/mod_geometry/advanced_outline.cpp:1123
-#: src/modules/mod_geometry/outline.cpp:814
-#: src/modules/mod_geometry/region.cpp:233
-#: src/modules/mod_gradient/curvegradient.cpp:546
-#: src/modules/mod_particle/plant.cpp:391
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
 msgid "Vertices"
 msgstr "Vertices"
 
-#: src/modules/lyr_std/curvewarp.cpp:410
+#: src/modules/lyr_std/curvewarp.cpp:419
 msgid "List of Spline Points where the source line is curved to"
 msgstr "Liste de Points de Spline avec laquelle la ligne source est courbée"
 
-#: src/modules/lyr_std/curvewarp.cpp:413
-#: src/modules/mod_geometry/advanced_outline.cpp:1178
-#: src/modules/mod_gradient/curvegradient.cpp:567
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
 msgid "Fast"
 msgstr "Rapide"
 
-#: src/modules/lyr_std/curvewarp.cpp:414
-#: src/modules/mod_gradient/curvegradient.cpp:568
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
 msgid "When checked, renders quickly but with artifacts"
 msgstr "Si coché, le rendu est plus rapide mais contient des artefacts"
 
@@ -1010,15 +1012,15 @@ msgstr "Si coché, le rendu est plus rapide mais contient des artefacts"
 msgid "XOR Pattern"
 msgstr "Motif XOR"
 
-#: src/modules/lyr_std/xorpattern.cpp:126
+#: src/modules/lyr_std/xorpattern.cpp:130
 msgid "Center of the pattern"
 msgstr "Centre du motif"
 
-#: src/modules/lyr_std/xorpattern.cpp:130
+#: src/modules/lyr_std/xorpattern.cpp:134
 msgid "Size of the pattern"
 msgstr "Taille du motif"
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:143
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
 #: src/synfig/valuenode_blinecalctangent.cpp:261
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
 #: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
@@ -1029,7 +1031,7 @@ msgstr "Échelle"
 msgid "Amount to scale to"
 msgstr "Montant de la mise à l'échelle"
 
-#: src/modules/lyr_std/zoom.cpp:105
+#: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
 msgstr "Point de départ de la mise à l'échelle"
 
@@ -1047,22 +1049,22 @@ msgstr "%s n'est pas au format BMP"
 #: src/modules/mod_bmp/mptr_bmp.cpp:150
 #, c-format
 msgid "Failure while reading BITMAPFILEHEADER from %s"
-msgstr "Échec lors de la lecture de BITMAPFILEHEADER depuis %s"
+msgstr "Échec en lisant  BITMAPFILEHEADER depuis %s"
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:158
 #, c-format
 msgid "Failure while reading BITMAPINFOHEADER from %s"
-msgstr "Échec lors de la lecture de BITMAPINFOHEADER depuis %s"
+msgstr "Échec en lisant  BITMAPINFOHEADER depuis %s"
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:168
 #, c-format
 msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
-msgstr "BITMAPFILEHEADER invalide dans %s (bfOffsetBits=%d, au lieu de %d)"
+msgstr "Mauvais BITMAPFILEHEADER dans %s (bfOffsetBits=%d, %d attendu)"
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:176
 #, c-format
 msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
-msgstr "BITMAPINFOHEADER invalide dans %s (biSize=%d, au lieu de 40)"
+msgstr "Mauvais BITMAPINFOHEADER dans %s (bfOffsetBits=%d, 40 attendu)"
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
 msgid "Reading compressed bitmaps is not supported"
@@ -1097,126 +1099,143 @@ msgstr "Impossible d'écrire l'entête d'information"
 msgid "Unable to open pipe to encodedv"
 msgstr "Impossible d'établir le transfert vers encodedv"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:201
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:208
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:218
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:272
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-msgid "Unable to open pipe to ffmpeg"
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:214
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no pipe)"
+msgstr "Impossible d'établir le transfert vers ffmpeg"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:221
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (pid == -1)"
+msgstr "Impossible d'établir le transfert vers ffmpeg"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:231
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
+msgstr "Impossible d'établir le transfert vers ffmpeg"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:285
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (exec failed)"
+msgstr "Impossible d'établir le transfert vers ffmpeg"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:303
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no file)"
 msgstr "Impossible d'établir le transfert vers ffmpeg"
 
-#: src/modules/mod_filter/blur.cpp:68
+#: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
 msgstr "Flou"
 
-#: src/modules/mod_filter/blur.cpp:69 src/modules/mod_filter/radialblur.cpp:56
+#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
 #: src/synfig/layer_motionblur.cpp:57
 msgid "Blurs"
 msgstr "Flous"
 
-#: src/modules/mod_filter/blur.cpp:373
+#: src/modules/mod_filter/blur.cpp:414
 msgid "Size of Blur"
 msgstr "Taille du Flou"
 
-#: src/modules/mod_filter/colorcorrect.cpp:55
+#: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
 msgstr "Correction de Couleur"
 
-#: src/modules/mod_filter/colorcorrect.cpp:211
+#: src/modules/mod_filter/colorcorrect.cpp:217
 msgid "Hue Adjust"
 msgstr "Ajustement de Teinte"
 
-#: src/modules/mod_filter/colorcorrect.cpp:215
+#: src/modules/mod_filter/colorcorrect.cpp:221
 msgid "Brightness"
 msgstr "Luminosité"
 
-#: src/modules/mod_filter/colorcorrect.cpp:219
+#: src/modules/mod_filter/colorcorrect.cpp:225
 msgid "Contrast"
 msgstr "Constraste"
 
-#: src/modules/mod_filter/colorcorrect.cpp:223
+#: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
 msgstr "Ajustement de l'Exposition"
 
-#: src/modules/mod_filter/colorcorrect.cpp:227 src/synfig/layer_bitmap.cpp:179
+#: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
 msgstr "Ajustement du Gamma"
 
-#: src/modules/mod_filter/halftone2.cpp:58
+#: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
 msgstr "Demi-teinte 2"
 
-#: src/modules/mod_filter/halftone2.cpp:151
+#: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
 msgstr "Origine du Masque"
 
-#: src/modules/mod_filter/halftone2.cpp:155
+#: src/modules/mod_filter/halftone2.cpp:159
 msgid "Mask Angle"
 msgstr "Angle du Masque"
 
-#: src/modules/mod_filter/halftone2.cpp:159
-#: src/modules/mod_filter/halftone3.cpp:309
+#: src/modules/mod_filter/halftone2.cpp:163
+#: src/modules/mod_filter/halftone3.cpp:328
 msgid "Mask Size"
 msgstr "Taille du Masque"
 
-#: src/modules/mod_filter/halftone2.cpp:164
+#: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
 msgstr "Couleur Claire"
 
-#: src/modules/mod_filter/halftone2.cpp:167
+#: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
 msgstr "Couleur Sombre"
 
-#: src/modules/mod_filter/halftone2.cpp:172
-#: src/modules/mod_filter/halftone3.cpp:314
+#: src/modules/mod_filter/halftone2.cpp:176
+#: src/modules/mod_filter/halftone3.cpp:333
 #: src/modules/mod_gradient/conicalgradient.cpp:125
 msgid "Symmetric"
 msgstr "Symétrique"
 
-#: src/modules/mod_filter/halftone2.cpp:173
-#: src/modules/mod_filter/halftone3.cpp:315
+#: src/modules/mod_filter/halftone2.cpp:177
+#: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
 msgstr "Clair sur Sombre"
 
-#: src/modules/mod_filter/halftone2.cpp:175
-#: src/modules/mod_filter/halftone3.cpp:317
+#: src/modules/mod_filter/halftone2.cpp:179
+#: src/modules/mod_filter/halftone3.cpp:336
 msgid "Diamond"
 msgstr "Diamant"
 
-#: src/modules/mod_filter/halftone2.cpp:176
-#: src/modules/mod_filter/halftone3.cpp:318
+#: src/modules/mod_filter/halftone2.cpp:180
+#: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
 msgstr "Bande"
 
-#: src/modules/mod_filter/halftone3.cpp:58
+#: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
 msgstr "Demi-teinte 3"
 
-#: src/modules/mod_filter/halftone3.cpp:312
+#: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
 msgstr "Type"
 
-#: src/modules/mod_filter/halftone3.cpp:321
+#: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
 msgstr "Soustraire"
 
-#: src/modules/mod_filter/halftone3.cpp:329
+#: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
 msgstr "Couleur"
 
-#: src/modules/mod_filter/halftone3.cpp:333
+#: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
 msgstr "Origine du Masque"
 
-#: src/modules/mod_filter/halftone3.cpp:337
+#: src/modules/mod_filter/halftone3.cpp:356
 msgid " Mask Angle"
 msgstr "Angle du Masque"
 
-#: src/modules/mod_filter/lumakey.cpp:58
+#: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
 msgstr "Clé de Luminance"
 
-#: src/modules/mod_filter/radialblur.cpp:55
+#: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
 msgstr "Flou Radial"
 
@@ -1238,19 +1257,19 @@ msgstr "Damier"
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:62 src/synfig/layer_solidcolor.cpp:57
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
 msgstr "Géométrie"
 
-#: src/modules/mod_geometry/checkerboard.cpp:123
+#: src/modules/mod_geometry/checkerboard.cpp:147
 msgid "Color of checkers"
 msgstr "Couleur des carreaux"
 
-#: src/modules/mod_geometry/checkerboard.cpp:127
+#: src/modules/mod_geometry/checkerboard.cpp:151
 msgid "Center of the checkers"
 msgstr "Centre des carreaux"
 
-#: src/modules/mod_geometry/checkerboard.cpp:131
+#: src/modules/mod_geometry/checkerboard.cpp:155
 msgid "Size of checkers"
 msgstr "Taille des carreaux"
 
@@ -1258,54 +1277,54 @@ msgstr "Taille des carreaux"
 msgid "Circle"
 msgstr "Cercle"
 
-#: src/modules/mod_geometry/circle.cpp:134
+#: src/modules/mod_geometry/circle.cpp:152
 msgid "Radius of the circle"
 msgstr "Rayon du cercle"
 
-#: src/modules/mod_geometry/circle.cpp:138 src/synfig/layer_shape.cpp:1206
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
 msgid "Feather"
 msgstr "Adoucissement"
 
-#: src/modules/mod_geometry/circle.cpp:140
+#: src/modules/mod_geometry/circle.cpp:158
 msgid "Amount of feather of the circle"
 msgstr "Quantité de feather du cercle"
 
-#: src/modules/mod_geometry/circle.cpp:148
+#: src/modules/mod_geometry/circle.cpp:166
 msgid "Invert the circle"
 msgstr "Inverser le cercle"
 
-#: src/modules/mod_geometry/circle.cpp:152
+#: src/modules/mod_geometry/circle.cpp:170
 msgid "Falloff"
 msgstr "Atténuation"
 
-#: src/modules/mod_geometry/circle.cpp:153
+#: src/modules/mod_geometry/circle.cpp:171
 msgid "Determines the falloff function for the feather"
 msgstr "Détermine la fonction d'atténuation pour l'adoucissement"
 
-#: src/modules/mod_geometry/circle.cpp:155
-#: src/modules/mod_noise/distort.cpp:234 src/modules/mod_noise/noise.cpp:275
-#: src/modules/mod_noise/valuenode_random.cpp:288
-#: src/synfig/layer_bitmap.cpp:173 src/synfig/layer_motionblur.cpp:150
-#: src/synfig/valuenode.cpp:139 src/synfig/valuenode_linear.cpp:146
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:289
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
 msgid "Linear"
 msgstr "Linéaire"
 
-#: src/modules/mod_geometry/circle.cpp:156
+#: src/modules/mod_geometry/circle.cpp:174
 msgid "Squared"
 msgstr "Carré"
 
-#: src/modules/mod_geometry/circle.cpp:157
+#: src/modules/mod_geometry/circle.cpp:175
 msgid "Square Root"
 msgstr "Racine Carrée"
 
-#: src/modules/mod_geometry/circle.cpp:158
+#: src/modules/mod_geometry/circle.cpp:176
 msgid "Sigmond"
 msgstr "Sigmoïde"
 
-#: src/modules/mod_geometry/circle.cpp:159
-#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:276
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:174
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:290
+#: src/synfig/layer_bitmap.cpp:170
 msgid "Cosine"
 msgstr "Cosinus"
 
@@ -1313,165 +1332,165 @@ msgstr "Cosinus"
 msgid "Advanced Outline"
 msgstr "Contour Avancé"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:133
+#: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr "Pas de vertex dans la spline"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1125
-#: src/modules/mod_geometry/outline.cpp:817
-#: src/modules/mod_geometry/region.cpp:235
-#: src/modules/mod_gradient/curvegradient.cpp:549
-#: src/modules/mod_particle/plant.cpp:392
+#: src/modules/mod_geometry/advanced_outline.cpp:1136
+#: src/modules/mod_geometry/outline.cpp:826
+#: src/modules/mod_geometry/region.cpp:240
+#: src/modules/mod_gradient/curvegradient.cpp:562
+#: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
 msgstr "Une liste de points de spline"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1129
-#: src/modules/mod_geometry/outline.cpp:831
+#: src/modules/mod_geometry/advanced_outline.cpp:1140
+#: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
 msgstr "Épaisseur du Contour"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1130
-#: src/modules/mod_geometry/outline.cpp:832
+#: src/modules/mod_geometry/advanced_outline.cpp:1141
+#: src/modules/mod_geometry/outline.cpp:841
 msgid "Global width of the outline"
 msgstr "Largeur globale du contour"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:837
+#: src/modules/mod_geometry/advanced_outline.cpp:1145
+#: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
 msgstr "Étendre"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1135
-#: src/modules/mod_geometry/outline.cpp:838
+#: src/modules/mod_geometry/advanced_outline.cpp:1146
+#: src/modules/mod_geometry/outline.cpp:847
 msgid "Value to add to the global width"
 msgstr "Valeur à ajouter à la largeur globale"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1138
+#: src/modules/mod_geometry/advanced_outline.cpp:1149
 msgid "Tip Type at Start"
 msgstr "Type de pointe au démarrage"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1139
+#: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
 msgstr ""
 "Définir le type de Pointe du premier vertex lorsque la spline est ouverte"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1141
-#: src/modules/mod_geometry/advanced_outline.cpp:1150
-#: src/synfig/valuenode_composite.cpp:548
+#: src/modules/mod_geometry/advanced_outline.cpp:1152
+#: src/modules/mod_geometry/advanced_outline.cpp:1161
 #: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:587
-#: src/synfig/valuenode_composite.cpp:596
+#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:606
 msgid "Rounded Stop"
 msgstr "Stop Arrondi"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1142
-#: src/modules/mod_geometry/advanced_outline.cpp:1151
-#: src/synfig/valuenode_composite.cpp:549
+#: src/modules/mod_geometry/advanced_outline.cpp:1153
+#: src/modules/mod_geometry/advanced_outline.cpp:1162
 #: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:588
-#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:607
 msgid "Squared Stop"
 msgstr "Stop Carré"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1143
-#: src/modules/mod_geometry/advanced_outline.cpp:1152
-#: src/synfig/valuenode_composite.cpp:550
+#: src/modules/mod_geometry/advanced_outline.cpp:1154
+#: src/modules/mod_geometry/advanced_outline.cpp:1163
 #: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:570
+#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:608
 msgid "Peak Stop"
 msgstr "Stop en Piqué"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1144
-#: src/modules/mod_geometry/advanced_outline.cpp:1153
-#: src/synfig/valuenode_composite.cpp:551
+#: src/modules/mod_geometry/advanced_outline.cpp:1155
+#: src/modules/mod_geometry/advanced_outline.cpp:1164
 #: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:590
-#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:571
+#: src/synfig/valuenode_composite.cpp:600
+#: src/synfig/valuenode_composite.cpp:609
 msgid "Flat Stop"
 msgstr "Stop Plat"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1147
+#: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
 msgstr "Type de Pointe à la Fin"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1148
+#: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
 msgstr ""
 "Définir le type de Pointe du dernier vertex lorsque la spline est ouverte"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1156
+#: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
 msgstr "Type Cuspides"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1157
-#: src/modules/mod_geometry/outline.cpp:843
+#: src/modules/mod_geometry/advanced_outline.cpp:1168
+#: src/modules/mod_geometry/outline.cpp:852
 msgid "Determines cusp type"
 msgstr "Détermine l'aspect des angles"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1159
+#: src/modules/mod_geometry/advanced_outline.cpp:1170
 msgid "Sharp"
 msgstr "Net"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1160
+#: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
 msgstr "Arrondi"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1164
+#: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
 msgstr "Douceur"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1165
+#: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
 msgstr ""
 "Détermine l'interpolation entre les points de largeur. (0) Linéaire (1) Doux"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1168
-#: src/modules/mod_geometry/outline.cpp:859
+#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/outline.cpp:869
 #: src/synfig/valuenode_blinecalctangent.cpp:271
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
 msgstr "Homogène"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1169
+#: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
 msgstr ""
 "SI coché, la position des points de largeurs sont basé sur la longueur de la "
 "spline"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
+#: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
 msgstr "Liste des Points de Largeur"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1175
+#: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
 msgstr "Liste des Points de Largeur définissant la largeur variable"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
 msgstr "Rendu du contour plus rapide si sélectionné, mais moins précis."
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1182
+#: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
 msgstr "Contour Pointillés"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1184
+#: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
 msgstr "Contour Pointillés si coché"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1187
+#: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
 msgstr "Liste d'Élément Pointillés"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1190
+#: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
 msgstr "Liste des éléments pointillés qui définissent le contour pointillés"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1193
+#: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
 msgstr "Décalage des Pointillés"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1196
+#: src/modules/mod_geometry/advanced_outline.cpp:1207
 msgid "Distance to Offset the Dash Items"
 msgstr "Distance de Décalage des Pointillés"
 
@@ -1479,32 +1498,36 @@ msgstr "Distance de Décalage des Pointillés"
 msgid "Outline"
 msgstr "Contour"
 
-#: src/modules/mod_geometry/outline.cpp:183
+#: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
 msgstr "Pas de vertex dans le contour"
 
-#: src/modules/mod_geometry/outline.cpp:842
+#: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
 msgstr "Angles Durs"
 
-#: src/modules/mod_geometry/outline.cpp:847
+#: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
 msgstr "Début Arrondi"
 
-#: src/modules/mod_geometry/outline.cpp:848
-#: src/modules/mod_geometry/outline.cpp:853
+#: src/modules/mod_geometry/outline.cpp:857
+#: src/modules/mod_geometry/outline.cpp:862
 msgid "Round off the tip"
 msgstr "Arrondir la pointe"
 
-#: src/modules/mod_geometry/outline.cpp:852
+#: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
 msgstr "Fin Arrondie"
 
-#: src/modules/mod_geometry/outline.cpp:856
+#: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
 msgstr "Boucle"
 
-#: src/modules/mod_geometry/outline.cpp:860
+#: src/modules/mod_geometry/outline.cpp:866
+msgid "(Currently not used)"
+msgstr "(Non utilisé actuellement)"
+
+#: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
 msgstr "Si coché, la largeur utilise la longueur de la courbe pour interpoler"
 
@@ -1512,11 +1535,11 @@ msgstr "Si coché, la largeur utilise la longueur de la courbe pour interpoler"
 msgid "Rectangle"
 msgstr "Rectangle"
 
-#: src/modules/mod_geometry/rectangle.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
 msgstr "Quantité d'extension"
 
-#: src/modules/mod_geometry/rectangle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
 msgstr "Inverser le rectangle"
 
@@ -1528,46 +1551,46 @@ msgstr "Région"
 msgid "Star"
 msgstr "Étoile"
 
-#: src/modules/mod_geometry/star.cpp:183
+#: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
 msgstr "Rayon Externe"
 
-#: src/modules/mod_geometry/star.cpp:184
+#: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
 msgstr "Le rayon des pointes de l'étoile"
 
-#: src/modules/mod_geometry/star.cpp:190
+#: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
 msgstr "Rayon Interne"
 
-#: src/modules/mod_geometry/star.cpp:191
+#: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
 msgstr "Le rayon du corps de l'étoile"
 
-#: src/modules/mod_geometry/star.cpp:197
+#: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:129
+#: src/modules/mod_gradient/spiralgradient.cpp:130
 #: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr "Angle"
 
-#: src/modules/mod_geometry/star.cpp:198
+#: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr "L'orientation de l'étoile"
 
-#: src/modules/mod_geometry/star.cpp:203 src/synfig/distance.cpp:251
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
 msgid "Points"
 msgstr "Pointes"
 
-#: src/modules/mod_geometry/star.cpp:204
+#: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
 msgstr "Nombres de pointes de l'étoile"
 
-#: src/modules/mod_geometry/star.cpp:208
+#: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
 msgstr "Polygone Régulier"
 
-#: src/modules/mod_geometry/star.cpp:209
+#: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr "Dessine un polygone ou une étoile"
 
@@ -1585,20 +1608,20 @@ msgid "Conical Gradient"
 msgstr "Dégradé Conique"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
-#: src/modules/mod_gradient/curvegradient.cpp:61
+#: src/modules/mod_gradient/curvegradient.cpp:62
 #: src/modules/mod_gradient/lineargradient.cpp:55
 #: src/modules/mod_gradient/radialgradient.cpp:58
-#: src/modules/mod_gradient/spiralgradient.cpp:57
-#: src/modules/mod_noise/noise.cpp:58
+#: src/modules/mod_gradient/spiralgradient.cpp:58
+#: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
 msgstr "Dégradés"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
-#: src/modules/mod_gradient/curvegradient.cpp:553
-#: src/modules/mod_gradient/lineargradient.cpp:200
+#: src/modules/mod_gradient/curvegradient.cpp:566
+#: src/modules/mod_gradient/lineargradient.cpp:195
 #: src/modules/mod_gradient/radialgradient.cpp:114
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:260
+#: src/modules/mod_gradient/spiralgradient.cpp:114
+#: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
 msgstr "Dégradé à appliquer"
 
@@ -1611,27 +1634,27 @@ msgid "Rotation of the gradient around the center"
 msgstr "Rotation du dégradé autour du centre"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
-#: src/modules/mod_gradient/curvegradient.cpp:557
-#: src/modules/mod_gradient/lineargradient.cpp:204
+#: src/modules/mod_gradient/curvegradient.cpp:570
+#: src/modules/mod_gradient/lineargradient.cpp:199
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr "Si coché le dégradé est bouclé"
 
-#: src/modules/mod_gradient/curvegradient.cpp:60
+#: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
 msgstr "Dégradé selon une Courbe"
 
-#: src/modules/mod_gradient/curvegradient.cpp:538
-#: src/modules/mod_particle/plant.cpp:399
+#: src/modules/mod_gradient/curvegradient.cpp:551
+#: src/modules/mod_particle/plant.cpp:432
 msgid "Offset for the Vertices List"
 msgstr "Décalage pour la Liste de Sommets"
 
-#: src/modules/mod_gradient/curvegradient.cpp:543
+#: src/modules/mod_gradient/curvegradient.cpp:556
 msgid "Global width of the gradient"
 msgstr "Largeur globale du dégradé"
 
-#: src/modules/mod_gradient/curvegradient.cpp:556
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/curvegradient.cpp:569
+#: src/modules/mod_gradient/lineargradient.cpp:198
 #: src/modules/mod_gradient/radialgradient.cpp:130
 #: src/synfig/valuenode_blinecalctangent.cpp:246
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
@@ -1639,19 +1662,19 @@ msgstr "Largeur globale du dégradé"
 msgid "Loop"
 msgstr "Boucle"
 
-#: src/modules/mod_gradient/curvegradient.cpp:560
-#: src/modules/mod_gradient/lineargradient.cpp:207
+#: src/modules/mod_gradient/curvegradient.cpp:573
+#: src/modules/mod_gradient/lineargradient.cpp:202
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr "Zigzag"
 
-#: src/modules/mod_gradient/curvegradient.cpp:561
-#: src/modules/mod_gradient/lineargradient.cpp:208
+#: src/modules/mod_gradient/curvegradient.cpp:574
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:136
 msgid "When checked the gradient is summetrical at the center"
 msgstr "Si coché le dégradé est symétrique par rapport au centre"
 
-#: src/modules/mod_gradient/curvegradient.cpp:564
+#: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
 msgstr "Perpendiculaire"
 
@@ -1659,11 +1682,11 @@ msgstr "Perpendiculaire"
 msgid "Linear Gradient"
 msgstr "Dégradé Linéaire"
 
-#: src/modules/mod_gradient/lineargradient.cpp:192
+#: src/modules/mod_gradient/lineargradient.cpp:187
 msgid "Start point of the gradient"
 msgstr "Point de départ du dégradé"
 
-#: src/modules/mod_gradient/lineargradient.cpp:196
+#: src/modules/mod_gradient/lineargradient.cpp:191
 msgid "End point of the gradient"
 msgstr "Point de fin du dégradé"
 
@@ -1672,23 +1695,23 @@ msgid "Radial Gradient"
 msgstr "Dégradé Radial"
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:119
 msgid "Center of the gradient"
 msgstr "Centre du dégradé"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:56
+#: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
 msgstr "Dégradé Spirale"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:130
+#: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
 msgstr "Rotation de la spirale"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:135
+#: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
 msgstr "Sens horaire"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:136
+#: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
 msgstr "Si coché la spirale tourne dans le sens horaire"
 
@@ -1701,13 +1724,15 @@ msgstr "Pas de fichier à charger"
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/listimporter.cpp:184 src/synfig/listimporter.cpp:185
+#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
+#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
 msgid "Unable to open "
 msgstr "Impossible d'ouvrir "
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/listimporter.cpp:191 src/synfig/listimporter.cpp:192
+#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
+#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
 msgid "Unable to get frame from "
 msgstr "Impossible de récupérer l'image de "
 
@@ -1747,115 +1772,115 @@ msgstr ""
 "Impossible d'établir le transfert vers l'utilitaire de conversion (convert) "
 "d'imagemagick"
 
-#: src/modules/mod_noise/distort.cpp:57
+#: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
 msgstr "Distorsion Bruitée"
 
-#: src/modules/mod_noise/distort.cpp:217
+#: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
 msgstr "Déplacement"
 
-#: src/modules/mod_noise/distort.cpp:218
+#: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
 msgstr "Ampleur de l'effet de la déformation sur le contexte"
 
-#: src/modules/mod_noise/distort.cpp:223
+#: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
 msgstr "La distance entre les déformations"
 
-#: src/modules/mod_noise/distort.cpp:226 src/modules/mod_noise/noise.cpp:263
+#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
 msgstr "Graine du Bruit Aléatoire"
 
-#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:264
+#: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
 msgstr "Modifier la graine aléatoire du bruit"
 
-#: src/modules/mod_noise/distort.cpp:230 src/modules/mod_noise/noise.cpp:271
-#: src/modules/mod_noise/valuenode_random.cpp:284
-#: src/synfig/layer_bitmap.cpp:169
+#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr "Interpolation"
 
-#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
-#: src/synfig/layer_bitmap.cpp:170
+#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
+#: src/synfig/layer_bitmap.cpp:166
 msgid "What type of interpolation to use"
 msgstr "Quel type d'interpolation utiliser"
 
-#: src/modules/mod_noise/distort.cpp:233 src/modules/mod_noise/noise.cpp:274
-#: src/synfig/layer_bitmap.cpp:172
+#: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
+#: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
 msgstr "Voisinage le plus proche"
 
-#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:277
-#: src/modules/mod_noise/valuenode_random.cpp:290 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_bline.cpp:1001
+#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
+#: src/synfig/valuenode_bline.cpp:1006
 #: src/synfig/valuenode_blinecalctangent.cpp:241
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr "Spline"
 
-#: src/modules/mod_noise/distort.cpp:237 src/modules/mod_noise/noise.cpp:278
-#: src/modules/mod_noise/valuenode_random.cpp:291
-#: src/synfig/layer_bitmap.cpp:175
+#: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr "Cubique"
 
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:281
+#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
 msgstr "Détail"
 
-#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:282
+#: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
 msgstr "Augmenter pour obtenir des détails fins du bruit"
 
-#: src/modules/mod_noise/distort.cpp:244 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
 msgstr "Vitesse d'Animation"
 
-#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
 msgstr "En cycles par seconde"
 
-#: src/modules/mod_noise/distort.cpp:248 src/modules/mod_noise/noise.cpp:289
+#: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
 msgstr "Turbulent"
 
-#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:290
+#: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
 msgstr "Si coché, produit un bruit turbulent"
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:183
+#: src/modules/mod_noise/valuenode_random.cpp:184
 msgid "Random"
 msgstr "Aléatoire"
 
-#: src/modules/mod_noise/noise.cpp:57
+#: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
 msgstr "Dégradé Bruité"
 
-#: src/modules/mod_noise/noise.cpp:268
+#: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
 msgstr "Taille du bruit"
 
-#: src/modules/mod_noise/noise.cpp:293
+#: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
 msgstr "Transparence"
 
-#: src/modules/mod_noise/noise.cpp:294
+#: src/modules/mod_noise/noise.cpp:303
 msgid "Uses transparency"
 msgstr "Utilise la transparence"
 
-#: src/modules/mod_noise/noise.cpp:297
+#: src/modules/mod_noise/noise.cpp:306
 msgid "Super Sampling"
 msgstr "Sur-échantillonnage "
 
-#: src/modules/mod_noise/noise.cpp:298
+#: src/modules/mod_noise/noise.cpp:307
 msgid "When checked the gradient is supersampled"
 msgstr "Si coché le dégradé est super-échantillonné"
 
-#: src/modules/mod_noise/valuenode_random.cpp:264
+#: src/modules/mod_noise/valuenode_random.cpp:265
 #: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
 #: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
 #: src/synfig/valuenode_reciprocal.cpp:165
@@ -1864,107 +1889,107 @@ msgstr "Si coché le dégradé est super-échantillonné"
 msgid "Link"
 msgstr "Lien"
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "The value node source that provides the central value"
 msgstr "La source de la valeur du noeud qui fournit la valeur centrale"
 
-#: src/modules/mod_noise/valuenode_random.cpp:270
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid "The value of the maximum random difference"
 msgstr "La valeur de l'écart aléatoire maximal"
 
-#: src/modules/mod_noise/valuenode_random.cpp:274
-#: src/modules/mod_particle/plant.cpp:450
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr "Graine"
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:276
 msgid "Seeds the random number generator"
 msgstr "Distribue le générateur de nombres aléatoires"
 
-#: src/modules/mod_noise/valuenode_random.cpp:279
+#: src/modules/mod_noise/valuenode_random.cpp:280
 msgid "Speed"
 msgstr "Vitesse"
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:281
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 "Définit la fréquence à laquelle une nouvelle valeur aléatoire est choisie "
 "(en choix par seconde)"
 
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:286
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 "Détermine comment est interpolée la valeur d'un choix aléatoire à l'autre"
 
-#: src/modules/mod_noise/valuenode_random.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:288
 msgid "No interpolation"
 msgstr "Aucune interpolation"
 
-#: src/modules/mod_noise/valuenode_random.cpp:296
+#: src/modules/mod_noise/valuenode_random.cpp:297
 msgid "Loop Time"
 msgstr "Temps d'une Boucle"
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:298
 msgid "Makes the random value repeat after the given time"
 msgstr "Répète la valeur aléatoire après le moment donné"
 
-#: src/modules/mod_particle/plant.cpp:69
+#: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
 msgstr "Plante"
 
-#: src/modules/mod_particle/plant.cpp:404
+#: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
 msgstr "Dégradé à utiliser pour colorer la plante"
 
-#: src/modules/mod_particle/plant.cpp:408
+#: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
 msgstr "Angle de Séparation"
 
-#: src/modules/mod_particle/plant.cpp:409
+#: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
 msgstr "Angle selon lequel chaque branche dévie de sa parente"
 
-#: src/modules/mod_particle/plant.cpp:413
+#: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
 msgstr "Gravité"
 
-#: src/modules/mod_particle/plant.cpp:414
+#: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
 msgstr "Direction vers laquelle les \"pousses\" s'orienteront"
 
-#: src/modules/mod_particle/plant.cpp:419
+#: src/modules/mod_particle/plant.cpp:452
 msgid "Tangential Velocity"
 msgstr "Vitesse Tangentielle"
 
-#: src/modules/mod_particle/plant.cpp:420
+#: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
 msgstr "Tendance des pousses à grandir le long de la tangente de la spline"
 
-#: src/modules/mod_particle/plant.cpp:424
+#: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
 msgstr "Vitesse perpendiculaire"
 
-#: src/modules/mod_particle/plant.cpp:425
+#: src/modules/mod_particle/plant.cpp:458
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
 msgstr ""
 "Tendance des pousses à grandir perpendiculairement à la tangente de la spline"
 
-#: src/modules/mod_particle/plant.cpp:429
+#: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
 msgstr "Taille de la Tige"
 
-#: src/modules/mod_particle/plant.cpp:430
+#: src/modules/mod_particle/plant.cpp:463
 msgid "Size of the stem"
 msgstr "La taille de la tige"
 
-#: src/modules/mod_particle/plant.cpp:435
+#: src/modules/mod_particle/plant.cpp:468
 msgid "Size As Alpha"
 msgstr "Taille en tant qu'Alpha"
 
-#: src/modules/mod_particle/plant.cpp:436
+#: src/modules/mod_particle/plant.cpp:469
 msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
@@ -1972,70 +1997,70 @@ msgstr ""
 "Le canal alpha du dégradé est multiplié par la taille de la tige, et une "
 "valeur alpha de 1 est utilisée pour le rendu."
 
-#: src/modules/mod_particle/plant.cpp:440
+#: src/modules/mod_particle/plant.cpp:473
 msgid "Reverse"
 msgstr "Inverser"
 
-#: src/modules/mod_particle/plant.cpp:441
+#: src/modules/mod_particle/plant.cpp:474
 msgid "If enabled, render the plant in the opposite direction"
 msgstr "Si actif, rend la plante dans la direction opposée "
 
-#: src/modules/mod_particle/plant.cpp:445 src/synfig/valuenode.cpp:170
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
 #: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
 msgid "Step"
 msgstr "Pas"
 
-#: src/modules/mod_particle/plant.cpp:446
+#: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
 msgstr "Distance du pas entre chaque point lors du rendu"
 
-#: src/modules/mod_particle/plant.cpp:451
+#: src/modules/mod_particle/plant.cpp:484
 msgid "Used to seed the pseudo-random number generator"
 msgstr "Utilisé pour initialiser le générateur de nombres pseudo-aléatoire"
 
-#: src/modules/mod_particle/plant.cpp:455
+#: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
 msgstr "Branches"
 
-#: src/modules/mod_particle/plant.cpp:456
+#: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
 msgstr ""
 "Nombre maximum de fois qu'une branche peut générer d'autres pousses "
 "récursivement"
 
-#: src/modules/mod_particle/plant.cpp:460
+#: src/modules/mod_particle/plant.cpp:493
 msgid "Sprouts"
 msgstr "Pousses"
 
-#: src/modules/mod_particle/plant.cpp:461
+#: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
 msgstr ""
 "Nombre de fois que la croissance apparaît sur chaque sections de spline"
 
-#: src/modules/mod_particle/plant.cpp:465
+#: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
 msgstr "Facteur d'Aléa"
 
-#: src/modules/mod_particle/plant.cpp:466
+#: src/modules/mod_particle/plant.cpp:499
 msgid ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 msgstr ""
 "Utilisé pour amoindrir les effets aléatoires. Placez le à zéro pour "
 "désactiver les aléas."
 
-#: src/modules/mod_particle/plant.cpp:470
+#: src/modules/mod_particle/plant.cpp:503
 msgid "Drag"
 msgstr "Inertie"
 
-#: src/modules/mod_particle/plant.cpp:471
+#: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
 msgstr "L'inertie ralenti la croissance"
 
-#: src/modules/mod_particle/plant.cpp:475
+#: src/modules/mod_particle/plant.cpp:508
 msgid "Use Width"
 msgstr "Utiliser la Largeur"
 
-#: src/modules/mod_particle/plant.cpp:476
+#: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
 msgstr "Mise à l'échelle de la vitesse en fonction de la largeur de la spline"
 
@@ -2044,97 +2069,102 @@ msgstr "Mise à l'échelle de la vitesse en fonction de la largeur de la spline"
 msgid "%s was not in PPM format"
 msgstr "%s n'était pas au format PPM"
 
-#: src/synfig/cairoimporter.cpp:87 src/synfig/importer.cpp:87
+#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
 msgid "Importer::open(): Cannot open empty filename"
 msgstr "Importer::open() : Impossible d'ouvrir un fichier vide"
 
-#: src/synfig/cairoimporter.cpp:101 src/synfig/importer.cpp:101
+#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
 msgid "Importer::open(): Couldn't find extension"
 msgstr "Importer::open() : Extension non trouvée"
 
-#: src/synfig/cairoimporter.cpp:112 src/synfig/importer.cpp:112
+#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
 msgid "Importer::open(): Unknown file type -- "
 msgstr "Importer::open() : Type de fichier inconnu -- "
 
-#: src/synfig/canvas.cpp:798 src/synfig/canvas.cpp:863
-#: src/synfig/canvas.cpp:886
+#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
+#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+msgid "No images in list"
+msgstr "Pas d'images dans la liste"
+
+#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
+#: src/synfig/canvas.cpp:927
 msgid "in line"
 msgstr "Aligné"
 
-#: src/synfig/distance.cpp:249
+#: src/synfig/distance.cpp:251
 msgid "Units"
 msgstr "Unités"
 
-#: src/synfig/distance.cpp:250
+#: src/synfig/distance.cpp:252
 msgid "Pixels"
 msgstr "Pixels"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:254
 msgid "Inches"
 msgstr "Pouces"
 
-#: src/synfig/distance.cpp:253
+#: src/synfig/distance.cpp:255
 msgid "Meters"
 msgstr "Mètres"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:256
 msgid "Millimeters"
 msgstr "Millimètres"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:257
 msgid "Centimeters"
 msgstr "Centimètres"
 
-#: src/synfig/layer.cpp:565 src/synfig/layer_composite.cpp:128
+#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
 msgid "Unable to create surface target"
 msgstr "Impossible de créer une surface cible"
 
-#: src/synfig/layer.cpp:619
+#: src/synfig/layer.cpp:605
 msgid "Z Depth"
 msgstr "Profondeur Z"
 
-#: src/synfig/layer.cpp:621
+#: src/synfig/layer.cpp:607
 msgid "Modifies the position of the layer in the layer stack"
 msgstr "Modifie la position du calque dans la pile de calques"
 
-#: src/synfig/layer_bitmap.cpp:159
+#: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
 msgstr "Haut-gauche"
 
-#: src/synfig/layer_bitmap.cpp:160
+#: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
 msgstr "Le Coin en haut à gauche de l'image"
 
-#: src/synfig/layer_bitmap.cpp:164
+#: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
 msgstr "Bas-droite"
 
-#: src/synfig/layer_bitmap.cpp:165
+#: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
 msgstr "Le Coin en bas à droite de l'image"
 
-#: src/synfig/layer_composite.cpp:218
+#: src/synfig/layer_composite.cpp:250
 msgid "Alpha channel of the layer"
 msgstr "Canal Alpha du calque"
 
-#: src/synfig/layer_composite.cpp:221 src/synfig/paramdesc.cpp:62
+#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr "Mode de Fusion"
 
-#: src/synfig/layer_composite.cpp:222
+#: src/synfig/layer_composite.cpp:254
 msgid "The blending method used to composite on the layers below"
 msgstr "Le mode de mélange utilisé pour mélanger avec les calques inférieurs"
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:168
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
 #: src/synfig/valuenode_duplicate.cpp:174
 msgid "Duplicate"
 msgstr "Dupliquer"
 
-#: src/synfig/layer_duplicate.cpp:148
+#: src/synfig/layer_duplicate.cpp:151
 msgid "Index"
 msgstr "Index"
 
-#: src/synfig/layer_duplicate.cpp:149
+#: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
 msgstr "Copier l'Index"
 
@@ -2146,160 +2176,160 @@ msgstr "[MIME]"
 msgid "Motion Blur"
 msgstr "Flou Cinétique"
 
-#: src/synfig/layer_motionblur.cpp:136
+#: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
 msgstr "Ouverture"
 
-#: src/synfig/layer_motionblur.cpp:137
+#: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
 msgstr "Temps d'Exposition"
 
-#: src/synfig/layer_motionblur.cpp:141
+#: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
 msgstr "Facteur de Sous-échantillonnage"
 
-#: src/synfig/layer_motionblur.cpp:142
+#: src/synfig/layer_motionblur.cpp:141
 msgid "Multiplies The Number Of Subsamples Rendered"
 msgstr "Multiplie le Nombre de Sous-échantillons Rendus"
 
-#: src/synfig/layer_motionblur.cpp:146
+#: src/synfig/layer_motionblur.cpp:145
 msgid "Subsampling Type"
 msgstr "Type de Sous-échantillonnage "
 
-#: src/synfig/layer_motionblur.cpp:147
+#: src/synfig/layer_motionblur.cpp:146
 msgid "Curve Type For Weighting Subsamples"
 msgstr "Type de Courbe pour Pondérer les Sous-échantillons"
 
-#: src/synfig/layer_motionblur.cpp:149 src/synfig/valuenode_const.cpp:127
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
 msgid "Constant"
 msgstr "Constante"
 
-#: src/synfig/layer_motionblur.cpp:151
+#: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
 msgstr "Hyperbolique"
 
-#: src/synfig/layer_motionblur.cpp:155
+#: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
 msgstr "Quantité de Départ du Sous-échantillon"
 
-#: src/synfig/layer_motionblur.cpp:156
+#: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
 msgstr ""
 "Quantité Relative du Premier Sous-échantillon, Pour Pondération Linéaire"
 
-#: src/synfig/layer_motionblur.cpp:160
+#: src/synfig/layer_motionblur.cpp:159
 msgid "Subsample End Amount"
 msgstr "Quantité Finale du Sous-échantillon"
 
-#: src/synfig/layer_motionblur.cpp:161
+#: src/synfig/layer_motionblur.cpp:160
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 "Quantité Relative du Dernier Sous-échantillon, Pour Pondération Linéaire."
 
-#: src/synfig/layer_pastecanvas.cpp:78 src/synfig/layer_pastecanvas.cpp:120
-#: src/synfig/layer_pastecanvas.cpp:121
+#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
+#: src/synfig/layer_pastecanvas.cpp:124
 msgid "Group"
 msgstr "Groupe"
 
-#: src/synfig/layer_pastecanvas.cpp:137
+#: src/synfig/layer_pastecanvas.cpp:140
 msgid "Canvas"
 msgstr "Canevas"
 
-#: src/synfig/layer_pastecanvas.cpp:138
+#: src/synfig/layer_pastecanvas.cpp:141
 msgid "Group content"
 msgstr "Grouper le contenu"
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:144
 msgid "Zoom"
 msgstr "Zoom"
 
-#: src/synfig/layer_pastecanvas.cpp:142
+#: src/synfig/layer_pastecanvas.cpp:145
 msgid "Size of canvas"
 msgstr "Taille du canevas"
 
-#: src/synfig/layer_pastecanvas.cpp:147
+#: src/synfig/layer_pastecanvas.cpp:152
 msgid "Time Offset to apply to the context"
 msgstr "Décalage de Temps à appliquer au contexte"
 
-#: src/synfig/layer_pastecanvas.cpp:151
+#: src/synfig/layer_pastecanvas.cpp:156
 msgid "Children Lock"
 msgstr "Verrouiller Sous-calques"
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:157
 msgid "When checked prevents to select the children using the mouse click"
 msgstr "Si coché, interdit de sélectionner les enfants avec la souris"
 
-#: src/synfig/layer_pastecanvas.cpp:156
+#: src/synfig/layer_pastecanvas.cpp:162
 msgid "Focus Point"
 msgstr "Point Focal"
 
-#: src/synfig/layer_pastecanvas.cpp:159
+#: src/synfig/layer_pastecanvas.cpp:165
 msgid "Point to remain fixed when zooming"
 msgstr "Point restant fixe lors du zoom"
 
-#: src/synfig/layer_pastecanvas.cpp:164
+#: src/synfig/layer_pastecanvas.cpp:170
 msgid "Outline Grow"
 msgstr "Croissance des Contours"
 
-#: src/synfig/layer_pastecanvas.cpp:165
+#: src/synfig/layer_pastecanvas.cpp:171
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 "Valeur faisant croître de façon exponentiel l'épaisseur des calques Contours "
 "enfants"
 
-#: src/synfig/layer_pastecanvas.cpp:180
+#: src/synfig/layer_pastecanvas.cpp:186
 msgid "Current Time"
 msgstr "Temps Courant"
 
-#: src/synfig/layer_polygon.cpp:61
+#: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
 msgstr "Polygone"
 
-#: src/synfig/layer_polygon.cpp:187
+#: src/synfig/layer_polygon.cpp:194
 msgid "Vertices List"
 msgstr "Liste des Sommet"
 
-#: src/synfig/layer_polygon.cpp:188
+#: src/synfig/layer_polygon.cpp:195
 msgid "Define the corners of the polygon"
 msgstr "Définit les coins du polygone"
 
-#: src/synfig/layer_shape.cpp:64
+#: src/synfig/layer_shape.cpp:66
 msgid "Shape"
 msgstr "Forme"
 
-#: src/synfig/layer_shape.cpp:65
+#: src/synfig/layer_shape.cpp:67
 msgid "Internal"
 msgstr "Interne"
 
-#: src/synfig/layer_shape.cpp:1194
+#: src/synfig/layer_shape.cpp:1222
 msgid "Layer_Shape Color"
 msgstr "Couleur du Calque Forme"
 
-#: src/synfig/layer_shape.cpp:1203
+#: src/synfig/layer_shape.cpp:1231
 msgid "Antialiasing"
 msgstr "Anti-crénelage "
 
-#: src/synfig/layer_shape.cpp:1210
+#: src/synfig/layer_shape.cpp:1238
 msgid "Type of Feather"
 msgstr "Type d'Adoucissement"
 
-#: src/synfig/layer_shape.cpp:1211
+#: src/synfig/layer_shape.cpp:1239
 msgid "Type of feathering to use"
 msgstr "Type d'adoucissement à utiliser"
 
-#: src/synfig/layer_shape.cpp:1220
+#: src/synfig/layer_shape.cpp:1248
 msgid "Winding Style"
 msgstr "Mode de Superposition"
 
-#: src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_shape.cpp:1249
 msgid "Winding style to use"
 msgstr "Mode de superposition à utiliser"
 
-#: src/synfig/layer_shape.cpp:1223
+#: src/synfig/layer_shape.cpp:1251
 msgid "Non Zero"
 msgstr "Non Zéro"
 
-#: src/synfig/layer_shape.cpp:1224
+#: src/synfig/layer_shape.cpp:1252
 msgid "Even/Odd"
 msgstr "Pair/Impair"
 
@@ -2307,68 +2337,65 @@ msgstr "Pair/Impair"
 msgid "Solid Color"
 msgstr "Couleur Pleine"
 
-#: src/synfig/listimporter.cpp:161 src/synfig/listimporter.cpp:162
-msgid "No images in list"
-msgstr "Pas d'images dans la liste"
-
-#: src/synfig/loadcanvas.cpp:142
+#: src/synfig/loadcanvas.cpp:143
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr "ne peut charger '%s' récursivement"
 
-#: src/synfig/loadcanvas.cpp:185
+#: src/synfig/loadcanvas.cpp:186
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr "Élément <%s> inattendu, attendait <%s>"
 
-#: src/synfig/loadcanvas.cpp:191
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr "Élément <%s> inattendu"
 
-#: src/synfig/loadcanvas.cpp:205
+#: src/synfig/loadcanvas.cpp:206
 msgid "Too many warnings"
 msgstr "Trop d'avertissements"
 
-#: src/synfig/loadcanvas.cpp:236
+#: src/synfig/loadcanvas.cpp:237
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr "<%s> a un attribut \"%s\" manquant"
 
 #: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:469
-#: src/synfig/loadcanvas.cpp:1118
+#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
+#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr "<%s> devrait être non vide"
 
 #: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:473
-#: src/synfig/loadcanvas.cpp:1122
+#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
+#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr "Il manque un attribut \"value\" à <%s>"
 
-#: src/synfig/loadcanvas.cpp:484 src/synfig/loadcanvas.cpp:1144
+#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
+#: src/synfig/loadcanvas.cpp:1200
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr "Valeur \"%s\" incorrecte dans <%s>"
 
-#: src/synfig/loadcanvas.cpp:508
+#: src/synfig/loadcanvas.cpp:533
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr "Il manque un attribut \"pos\" dans <%s>"
 
-#: src/synfig/loadcanvas.cpp:1284
+#: src/synfig/loadcanvas.cpp:1353
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr "Impossible de créer <animated> de type \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1301
+#: src/synfig/loadcanvas.cpp:1375
 msgid "<waypoint> is missing attribute \"time\""
 msgstr "Il manque un attribut \"time\" à <waypoint>"
 
-#: src/synfig/loadcanvas.cpp:1314
+#: src/synfig/loadcanvas.cpp:1388
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
@@ -2376,162 +2403,161 @@ msgstr ""
 "Attribut \"use\" trouvé pour <waypoint>, mais il n'était pas vide. Contenu "
 "ignoré ..."
 
-#: src/synfig/loadcanvas.cpp:1330
+#: src/synfig/loadcanvas.cpp:1404
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr "Identifiant inconnu  (%s) utilisé dans le waypoint"
 
-#: src/synfig/loadcanvas.cpp:1336 src/synfig/loadcanvas.cpp:1348
+#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
 #, c-format
 msgid "<%s> is missing its data"
 msgstr "Il manque des données dans <%s>"
 
-#: src/synfig/loadcanvas.cpp:1365
+#: src/synfig/loadcanvas.cpp:1439
 msgid "Bad data for <waypoint>"
 msgstr "Données incorrectes pour <waypoint>"
 
-#: src/synfig/loadcanvas.cpp:1380
+#: src/synfig/loadcanvas.cpp:1455
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr "Élément <%s> inattendu après les données de <waypoint>. Ignoré ..."
 
-#: src/synfig/loadcanvas.cpp:1424 src/synfig/loadcanvas.cpp:1443
-#, c-format
-msgid "\"%s\" not a valid value for attribute \"%s\" in <%s>"
-msgstr "\"%s\" n'est pas un attribut valide pour \"%s\" dans <%s>"
-
-#: src/synfig/loadcanvas.cpp:1504
+#: src/synfig/loadcanvas.cpp:1556
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr "Il manque un attribut \"type\" dans <%s>"
 
-#: src/synfig/loadcanvas.cpp:1512
+#: src/synfig/loadcanvas.cpp:1565
 #, c-format
 msgid "Bad type in <%s>"
 msgstr "Mauvais type dans <%s>"
 
-#: src/synfig/loadcanvas.cpp:1522
+#: src/synfig/loadcanvas.cpp:1577
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 "Erreur lors de la création du Nœud de Valeur <%s> avec le type \"%s\". Voir "
 "\"%s\"."
 
-#: src/synfig/loadcanvas.cpp:1531
+#: src/synfig/loadcanvas.cpp:1587
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr "<%s> n'accepte pas le type \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1557 src/synfig/loadcanvas.cpp:1628
+#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr "\"%s\" est déjà défini dans <%s>"
 
-#: src/synfig/loadcanvas.cpp:1570
+#: src/synfig/loadcanvas.cpp:1625
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr "L'attribut \"%s\" dans <%s> fait référence à un ID inconnu \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1579
+#: src/synfig/loadcanvas.cpp:1634
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 "Impossible de définir le lien \"%s\" vers le Nœud de Valeur \"%s\" (lien n°"
 "%d dans \"%s\")"
 
-#: src/synfig/loadcanvas.cpp:1603
+#: src/synfig/loadcanvas.cpp:1658
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 "Une exception inconnue est survenue lors de la référence au Nœud de Valeur "
 "\"%s\""
 
-#: src/synfig/loadcanvas.cpp:1643
+#: src/synfig/loadcanvas.cpp:1698
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr "Le contenu de l'élément <%s> manque"
 
-#: src/synfig/loadcanvas.cpp:1652
+#: src/synfig/loadcanvas.cpp:1707
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr "L'analyse de \"%s\" a échoué"
 
-#: src/synfig/loadcanvas.cpp:1659
+#: src/synfig/loadcanvas.cpp:1714
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 "Impossible de lier le nœud de valeur (\"%s\" de type \"%s\") au lien %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1677
+#: src/synfig/loadcanvas.cpp:1732
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 "Une exception inconnue est survenue lors du travail sur l'élément \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1747
+#: src/synfig/loadcanvas.cpp:1811
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr "<%s> n'a pas de lien %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1841
-msgid "Unable to create <dynamic_list>"
-msgstr "Impossible de créer <dynamic_list>"
+#: src/synfig/loadcanvas.cpp:1861
+msgid "Unable to create <list>"
+msgstr "Impossible de créer la <liste>"
 
-#: src/synfig/loadcanvas.cpp:1993
+#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr "Le contenu de <entry> est manquant, ou il manque un élément \"use\""
 
-#: src/synfig/loadcanvas.cpp:2038
+#: src/synfig/loadcanvas.cpp:1998
+msgid "Unable to create <dynamic_list>"
+msgstr "Impossible de créer <dynamic_list>"
+
+#: src/synfig/loadcanvas.cpp:2220
 #, c-format
 msgid "Bad data in <%s>"
 msgstr "Mauvaises données dans <%s>"
 
-#: src/synfig/loadcanvas.cpp:2076
+#: src/synfig/loadcanvas.cpp:2283
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr "Attendait un Nœud de Valeur. Voir %s"
 
-#: src/synfig/loadcanvas.cpp:2097
+#: src/synfig/loadcanvas.cpp:2304
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr "Mauvais ID \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2102
+#: src/synfig/loadcanvas.cpp:2310
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr "ID dupliqué \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2107
+#: src/synfig/loadcanvas.cpp:2316
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 "Une exception inconnue est survenue lors de l'ajout du Nœud de valeur \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2142
+#: src/synfig/loadcanvas.cpp:2373
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr "Il manque un attribut \"type\" à l'élément \"layer\""
 
-#: src/synfig/loadcanvas.cpp:2161
+#: src/synfig/loadcanvas.cpp:2392
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 "La version de calque installée est plus petite que la version du fichier"
 
-#: src/synfig/loadcanvas.cpp:2181
+#: src/synfig/loadcanvas.cpp:2415
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 "La valeur <name> (nom) n'est pas encore supportée pour <layer> (calque). "
 "Ignorée."
 
-#: src/synfig/loadcanvas.cpp:2184
+#: src/synfig/loadcanvas.cpp:2418
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 "La valeur <desc> n'est pas encore supportée pour <layer> (calque). Ignorée."
 
-#: src/synfig/loadcanvas.cpp:2192
+#: src/synfig/loadcanvas.cpp:2426
 msgid "Missing \"name\" attribute for <param>."
 msgstr "Attribut \"name\" manquant pour <param>."
 
-#: src/synfig/loadcanvas.cpp:2209
+#: src/synfig/loadcanvas.cpp:2443
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
@@ -2539,192 +2565,196 @@ msgstr ""
 "Attribut \"use\" trouvé pour <param>, mais il n'était pas vide. Contenu "
 "ignoré."
 
-#: src/synfig/loadcanvas.cpp:2214
+#: src/synfig/loadcanvas.cpp:2448
 msgid "Empty use=\"\" value in <param>"
 msgstr "Valeur vide use=\"\" dans <param>"
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2454
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr "Échec du chargement du sous-canevas \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2222
+#: src/synfig/loadcanvas.cpp:2456
 msgid "Layer rejected canvas link"
 msgstr "Le calque a rejeté le lien vers le canevas"
 
-#: src/synfig/loadcanvas.cpp:2244
+#: src/synfig/loadcanvas.cpp:2480
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr "Identifiant inconnu  (%s) utilisé dans le paramètre \"%s\"."
 
-#: src/synfig/loadcanvas.cpp:2260
+#: src/synfig/loadcanvas.cpp:2496
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr "Il manque soit le contenu, soit un attribut \"use\" dans <param>."
 
-#: src/synfig/loadcanvas.cpp:2272 src/synfig/loadcanvas.cpp:2292
+#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
 msgid "Bad data for <param>"
 msgstr "Mauvaises données pour <param>"
 
-#: src/synfig/loadcanvas.cpp:2280
+#: src/synfig/loadcanvas.cpp:2516
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr "Le calque '%s' a rejeté la valeur du paramètre '%s'"
 
-#: src/synfig/loadcanvas.cpp:2303
+#: src/synfig/loadcanvas.cpp:2539
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr "Élément <%s> inattendu après les données de <param>. Ignoré."
 
-#: src/synfig/loadcanvas.cpp:2376 src/synfig/loadcanvas.cpp:2384
+#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 "La hauteur et la largeur du canevas doivent être supérieures ou égales à 1."
 
-#: src/synfig/loadcanvas.cpp:2470
+#: src/synfig/loadcanvas.cpp:2710
 msgid "Group canvases cannot have a <defs> section"
 msgstr "Les canevas groupés ne peuvent posséder une section <defs> "
 
-#: src/synfig/loadcanvas.cpp:2478
+#: src/synfig/loadcanvas.cpp:2717
+msgid "Inline canvas cannot have a <bones> section"
+msgstr "Le canevas 'Inline' ne contient pas de section <ossature>"
+
+#: src/synfig/loadcanvas.cpp:2725
 msgid "Group canvases cannot have keyframes"
 msgstr "Les canevas groupés ne peuvent posséder des images clés"
 
-#: src/synfig/loadcanvas.cpp:2490
+#: src/synfig/loadcanvas.cpp:2737
 msgid "Group canvases cannot have metadata"
 msgstr "Les canevas groupés ne peuvent posséder de métadonnées"
 
-#: src/synfig/loadcanvas.cpp:2498
+#: src/synfig/loadcanvas.cpp:2745
 msgid "<meta> must have a name"
 msgstr "<meta> doit avoir un nom"
 
-#: src/synfig/loadcanvas.cpp:2504
+#: src/synfig/loadcanvas.cpp:2751
 msgid "<meta> must have content"
 msgstr "<meta> doit avoir un contenu"
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:2763
 msgid "blank \"name\" entity"
 msgstr "entité \"name\" vide"
 
-#: src/synfig/loadcanvas.cpp:2531
+#: src/synfig/loadcanvas.cpp:2778
 msgid "blank \"desc\" entity"
 msgstr "entité \"desc\" vide"
 
-#: src/synfig/loadcanvas.cpp:2546
+#: src/synfig/loadcanvas.cpp:2793
 msgid "blank \"author\" entity"
 msgstr "entité \"author\" vide"
 
-#: src/synfig/loadcanvas.cpp:2578
+#: src/synfig/loadcanvas.cpp:2828
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr "Le canevas '%s' a des valeurs %s:%s non définies"
 
-#: src/synfig/loadcanvas.cpp:2580 src/synfig/valuenode.cpp:353
+#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
 msgid "ValueNode"
 msgstr "Nœud de valeur"
 
-#: src/synfig/loadcanvas.cpp:2580
+#: src/synfig/loadcanvas.cpp:2830
 msgid "ValueNodes"
 msgstr "Nœuds de valeur"
 
-#: src/synfig/loadcanvas.cpp:2660 src/synfig/loadcanvas.cpp:2716
+#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
 msgid "Can't open file"
 msgstr "Impossible d'ouvrir le fichier"
 
-#: src/synfig/main.cpp:102
+#: src/synfig/main.cpp:118
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr "Version d'API non correspondante (LIB:  %d, PROG: %d)"
 
-#: src/synfig/main.cpp:107
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr "Taille de Vecteur non correspondante (app: %d, lib: %d)"
 
-#: src/synfig/main.cpp:112
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr "Taille de Couleur non correspondante (app: %d, lib: %d)"
 
-#: src/synfig/main.cpp:117
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr "Taille de Canevas non correspondante (app: %d, lib: %d)"
 
-#: src/synfig/main.cpp:122
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr "Taille de Calque non correspondante (app: %d, lib: %d)"
 
-#: src/synfig/main.cpp:184
+#: src/synfig/main.cpp:207
 msgid "Starting Subsystem \"Modules\""
 msgstr "Démarrage du sous-système \"Modules\""
 
-#: src/synfig/main.cpp:186
+#: src/synfig/main.cpp:209
 msgid "Unable to initialize subsystem \"Module\""
 msgstr "Impossible d'initialiser le sous-système \"Module\""
 
-#: src/synfig/main.cpp:188
+#: src/synfig/main.cpp:211
 msgid "Starting Subsystem \"Layers\""
 msgstr "Démarrage du sous-système \"Layers\""
 
-#: src/synfig/main.cpp:192
+#: src/synfig/main.cpp:215
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr "Impossible d'initialiser le sous-système \"Layers\""
 
-#: src/synfig/main.cpp:195
+#: src/synfig/main.cpp:218
 msgid "Starting Subsystem \"Targets\""
 msgstr "Démarrage du sous-système \"Targets\""
 
-#: src/synfig/main.cpp:200
+#: src/synfig/main.cpp:223
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr "Impossible d'initialiser le sous-système \"Targets\""
 
-#: src/synfig/main.cpp:203
+#: src/synfig/main.cpp:226
 msgid "Starting Subsystem \"Importers\""
 msgstr "Démarrage du sous-système \"Importers\""
 
-#: src/synfig/main.cpp:209
+#: src/synfig/main.cpp:232
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr "Impossible d'initialiser le sous-système \"Importers\""
 
-#: src/synfig/main.cpp:212
+#: src/synfig/main.cpp:235
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr "Démarrage du sous système \"Cairo Importers\" "
 
-#: src/synfig/main.cpp:219
+#: src/synfig/main.cpp:242
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr "Impossible d'initialiser le sous système \"Cairo Importers\" "
 
-#: src/synfig/main.cpp:222
+#: src/synfig/main.cpp:245
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr "Démarrage du sous-système \"ValueNodes\""
 
-#: src/synfig/main.cpp:230
+#: src/synfig/main.cpp:253
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr "Impossible d'initialiser le sous-système \"ValueNodes\""
 
-#: src/synfig/main.cpp:267 src/synfig/main.cpp:268
+#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
 #, c-format
 msgid "Loading modules from %s"
 msgstr "Chargement des modules depuis %s"
 
-#: src/synfig/main.cpp:279
+#: src/synfig/main.cpp:302
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr "Impossible d'ouvrir le fichier de liste de modules \"%s\""
 
-#: src/synfig/main.cpp:293 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
 msgid "DONE"
 msgstr "FINI"
 
-#: src/synfig/main.cpp:360 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
 msgid "error"
 msgstr "erreur"
 
-#: src/synfig/main.cpp:375 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
 msgid "warning"
 msgstr "avertissement"
 
-#: src/synfig/main.cpp:390
+#: src/synfig/main.cpp:413
 msgid "info"
 msgstr "info"
 
@@ -2799,147 +2829,147 @@ msgstr "%s ne semble pas être un fichier de palette %s valide"
 msgid "%s does not appear to be a supported palette file"
 msgstr "%s ne semble pas être un fichier palette supporté"
 
-#: src/synfig/paramdesc.cpp:64 src/synfig/valuenode.cpp:140
-#: src/synfig/valuenode_composite.cpp:437
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
+#: src/synfig/valuenode_composite.cpp:447
 msgid "Composite"
 msgstr "Composé"
 
-#: src/synfig/paramdesc.cpp:65
+#: src/synfig/paramdesc.cpp:69
 msgid "Straight"
 msgstr "Direct"
 
-#: src/synfig/paramdesc.cpp:66
+#: src/synfig/paramdesc.cpp:70
 msgid "Onto"
 msgstr "Dessus"
 
-#: src/synfig/paramdesc.cpp:67
+#: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
 msgstr "Direct Dessus"
 
-#: src/synfig/paramdesc.cpp:68
+#: src/synfig/paramdesc.cpp:72
 msgid "Behind"
 msgstr "Derrière"
 
-#: src/synfig/paramdesc.cpp:69
+#: src/synfig/paramdesc.cpp:73
 msgid "Screen"
 msgstr "Ecran"
 
-#: src/synfig/paramdesc.cpp:70
+#: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
 msgstr "Overlay"
 
-#: src/synfig/paramdesc.cpp:71
+#: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
 msgstr "Lumière Dure"
 
-#: src/synfig/paramdesc.cpp:72
+#: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
 msgstr "Multiplier"
 
-#: src/synfig/paramdesc.cpp:73
+#: src/synfig/paramdesc.cpp:77
 msgid "Divide"
 msgstr "Diviser"
 
-#: src/synfig/paramdesc.cpp:74 src/synfig/valuenode.cpp:157
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
 #: src/synfig/valuenode_add.cpp:190
 msgid "Add"
 msgstr "Addition"
 
-#: src/synfig/paramdesc.cpp:75 src/synfig/valuenode.cpp:147
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
 #: src/synfig/valuenode_subtract.cpp:194
 msgid "Subtract"
 msgstr "Soustraction"
 
-#: src/synfig/paramdesc.cpp:76
+#: src/synfig/paramdesc.cpp:80
 msgid "Difference"
 msgstr "Difference"
 
-#: src/synfig/paramdesc.cpp:77
+#: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
 msgstr "Eclairer"
 
-#: src/synfig/paramdesc.cpp:78
+#: src/synfig/paramdesc.cpp:82
 msgid "Darken"
 msgstr "Assombrir"
 
-#: src/synfig/paramdesc.cpp:80 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
 msgid "Hue"
 msgstr "Teinte"
 
-#: src/synfig/paramdesc.cpp:81 src/synfig/valuenode_radialcomposite.cpp:260
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
 #: src/synfig/valuenode_radialcomposite.cpp:266
 msgid "Saturation"
 msgstr "Saturation"
 
-#: src/synfig/paramdesc.cpp:82
+#: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
 msgstr "Luminance"
 
-#: src/synfig/paramdesc.cpp:83
+#: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
 msgstr "Alpha Dessus"
 
-#: src/synfig/paramdesc.cpp:84
+#: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
 msgstr "Alpha Eclairer"
 
-#: src/synfig/paramdesc.cpp:85
+#: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
 msgstr "Alpha Assombrir"
 
-#: src/synfig/render.cpp:246 src/synfig/render.cpp:247
-#: src/synfig/render.cpp:301 src/synfig/render.cpp:302
-#: src/synfig/render.cpp:536 src/synfig/render.cpp:537
-#: src/synfig/render.cpp:563 src/synfig/render.cpp:564
+#: src/synfig/render.cpp:248 src/synfig/render.cpp:249
+#: src/synfig/render.cpp:303 src/synfig/render.cpp:304
+#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
+#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
 msgid "Target panic"
 msgstr "Panique de la cible"
 
-#: src/synfig/savecanvas.cpp:290
+#: src/synfig/savecanvas.cpp:359
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr "Valeur inconnue (%s), impossible d'en créer une représentation XML"
 
-#: src/synfig/savecanvas.cpp:543
+#: src/synfig/savecanvas.cpp:674 src/synfig/savecanvas.cpp:699
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 "Type de Nœud de Valeur inconnu (%s), impossible d'en créer une "
 "représentation XML"
 
-#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:185
+#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
 #: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:281
 msgid "Target initialization failure"
 msgstr "Échec de l'initialisation de la cible"
 
-#: src/synfig/target_cairo.cpp:146
+#: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
 msgstr "Échec du Rendu d'Image"
 
-#: src/synfig/target_cairo.cpp:155 src/synfig/target_scanline.cpp:258
-#: src/synfig/target_scanline.cpp:405
+#: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:260
+#: src/synfig/target_scanline.cpp:407
 msgid "Unable to put surface on target"
 msgstr "Impossible d'appliquer la surface à la cible"
 
-#: src/synfig/target_cairo.cpp:162
+#: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
 msgstr "Méthode de rendu non supportée"
 
-#: src/synfig/target_cairo.cpp:169 src/synfig/target_cairo_tile.cpp:248
-#: src/synfig/target_scanline.cpp:418 src/synfig/target_tile.cpp:396
+#: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
+#: src/synfig/target_scanline.cpp:420 src/synfig/target_tile.cpp:398
 msgid "Caught string :"
 msgstr "Chaîne récupérée :"
 
-#: src/synfig/target_cairo.cpp:174 src/synfig/target_cairo_tile.cpp:253
-#: src/synfig/target_scanline.cpp:423 src/synfig/target_tile.cpp:401
+#: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
+#: src/synfig/target_scanline.cpp:425 src/synfig/target_tile.cpp:403
 msgid "Ran out of memory (Probably a bug)"
 msgstr "À court de mémoire (Certainement un bogue)"
 
-#: src/synfig/target_cairo.cpp:179 src/synfig/target_cairo_tile.cpp:258
-#: src/synfig/target_scanline.cpp:428 src/synfig/target_tile.cpp:406
+#: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
+#: src/synfig/target_scanline.cpp:430 src/synfig/target_tile.cpp:408
 msgid "Caught unknown error, rethrowing..."
 msgstr "Erreur inconnue récupérée, relancée..."
 
-#: src/synfig/target_cairo.cpp:190
+#: src/synfig/target_cairo.cpp:201
 msgid "Cairo Surface bad status"
 msgstr "Mauvais état de la Surface Cairo"
 
@@ -2947,24 +2977,24 @@ msgstr "Mauvais état de la Surface Cairo"
 msgid "Bad Tile Size"
 msgstr "Mauvaise Taille de Tuile d'image"
 
-#: src/synfig/target_cairo_tile.cpp:142 src/synfig/target_cairo_tile.cpp:240
-#: src/synfig/target_scanline.cpp:203 src/synfig/target_scanline.cpp:249
-#: src/synfig/target_scanline.cpp:348 src/synfig/target_scanline.cpp:396
+#: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
+#: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:251
+#: src/synfig/target_scanline.cpp:350 src/synfig/target_scanline.cpp:398
 #: src/synfig/target_tile.cpp:225
 msgid "Accelerated Renderer Failure"
 msgstr "Échec du Rendu Accéléré"
 
-#: src/synfig/target_cairo_tile.cpp:150
+#: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
 msgstr "Mauvaise surface : %s"
 
-#: src/synfig/target_cairo_tile.cpp:156 src/synfig/target_tile.cpp:179
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:179
 #: src/synfig/target_tile.cpp:245
 msgid "add_tile():Unable to put surface on target"
 msgstr "add_tile(): Impossible d'appliquer la surface à la cible"
 
-#: src/synfig/target_cairo_tile.cpp:211
+#: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
 msgstr "Ne peux pas commencer l'image"
 
@@ -2991,277 +3021,317 @@ msgstr ""
 "seconde est inconnu! en supposant SECONDES"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:276 src/synfig/value.cpp:308 src/synfig/value.cpp:360
+#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
 msgid "bool"
 msgstr "booléen"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:277 src/synfig/value.cpp:310 src/synfig/value.cpp:358
+#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
 msgid "integer"
 msgstr "entier"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:278 src/synfig/value.cpp:312
+#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
 msgid "angle"
 msgstr "angle"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:279 src/synfig/value.cpp:314 src/synfig/value.cpp:352
+#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
 msgid "time"
 msgstr "temps"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:280 src/synfig/value.cpp:316 src/synfig/value.cpp:355
+#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
 msgid "real"
 msgstr "réel"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:281 src/synfig/value.cpp:318
+#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
 msgid "vector"
 msgstr "vecteur"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:282 src/synfig/value.cpp:320
+#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
 msgid "color"
 msgstr "couleur"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:283 src/synfig/value.cpp:322
+#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
 msgid "segment"
 msgstr "segment"
 
-#: src/synfig/value.cpp:284
+#: src/synfig/value.cpp:378
 msgid "bline_point"
 msgstr "point de BLine"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:285 src/synfig/value.cpp:326
+#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
+msgid "matrix"
+msgstr "matrice"
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
+msgid "bone_weight_pair"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
 msgid "width_point"
 msgstr "width_point"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:286 src/synfig/value.cpp:328
+#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
 msgid "dash_item"
 msgstr "élément_pointillés"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:287 src/synfig/value.cpp:330
+#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
 msgid "list"
 msgstr "liste"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:288 src/synfig/value.cpp:332
+#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
 msgid "canvas"
 msgstr "canevas"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:289 src/synfig/value.cpp:334
+#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
 msgid "string"
 msgstr "chaîne"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:290 src/synfig/value.cpp:336
+#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
 msgid "gradient"
 msgstr "dégradé"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:291 src/synfig/value.cpp:338
+#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
+msgid "bone_object"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
+msgid "bone_valuenode"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
 msgid "nil"
 msgstr "nul"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:324
+#: src/synfig/value.cpp:422
 msgid "spline_point"
 msgstr "spline_point"
 
-#: src/synfig/valuenode.cpp:141 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
 msgid "Radial Composite"
 msgstr "Composé Radial"
 
-#: src/synfig/valuenode.cpp:142 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr "Référence"
 
-#: src/synfig/valuenode.cpp:144 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr "Tangente du Segment"
 
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr "Sommet du Segment"
 
-#: src/synfig/valuenode.cpp:146 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr "Rayures"
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr "Deux-tons"
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_dynamiclist.cpp:755
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
 msgid "Dynamic List"
 msgstr "Liste Dynamique"
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr "Rotation de Dégradé"
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr "Sinus"
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
 msgid "Timed Swap"
 msgstr "Échange Temporisé"
 
-#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr "Répéter le Dégradé"
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr "Exponentiel"
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
 msgid "Spline Tangent"
 msgstr "Tangente de Spline"
 
-#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr "Sommet de la Spline"
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
 msgid "Range"
 msgstr "Plage de valeurs"
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
 #: src/synfig/valuenode_switch.cpp:163
 msgid "Switch"
 msgstr "Commutateur"
 
-#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr "Cos"
 
-#: src/synfig/valuenode.cpp:164
+#: src/synfig/valuenode.cpp:170
 msgid "aTan2"
 msgstr "aTan2"
 
-#: src/synfig/valuenode.cpp:165
+#: src/synfig/valuenode.cpp:171
 msgid "Reverse Tangent"
 msgstr "Inverser la Tangente"
 
-#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr "Réciproque"
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
 msgid "Integer"
 msgstr "Entier"
 
-#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr "Largeur de la Spline"
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
 msgid "Vector Angle"
 msgstr "Angle du Vecteur"
 
-#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
 msgid "Vector Length"
 msgstr "Longueur du Vecteur"
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
 msgid "Vector X"
 msgstr "X du vecteur"
 
-#: src/synfig/valuenode.cpp:176 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
 msgid "Vector Y"
 msgstr "Y du vecteur"
 
-#: src/synfig/valuenode.cpp:177
+#: src/synfig/valuenode.cpp:183
 msgid "Gradient Color"
 msgstr "Couleur de Dégradé"
 
-#: src/synfig/valuenode.cpp:178
+#: src/synfig/valuenode.cpp:184
 msgid "Dot Product"
 msgstr "Produit Scalaire"
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
 msgid "Time String"
 msgstr "Chaîne de Temps"
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_real.cpp:161
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
 #: src/synfig/valuenode_realstring.cpp:175
 msgid "Real"
 msgstr "Réel"
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
 msgid "Real String"
 msgstr "Chaîne de Réel"
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
 msgid "Joined List"
 msgstr "Liste Jointe"
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:189
 msgid "Angle String"
 msgstr "Chaîne d'Angle"
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:190
 msgid "Int String"
 msgstr "Chaîne d'Entier"
 
-#: src/synfig/valuenode.cpp:185
+#: src/synfig/valuenode.cpp:191
 msgid "Logarithm"
 msgstr "Logarithme"
 
-#: src/synfig/valuenode.cpp:187
+#: src/synfig/valuenode.cpp:192
 msgid "Greyed"
 msgstr "Grisé"
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr "Puissance"
 
-#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr "Comparer"
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195
 msgid "Not"
 msgstr "Non"
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196
 msgid "And"
 msgstr "Et"
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197
 msgid "Or"
 msgstr "Ou"
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:199
+msgid "Bone Influence"
+msgstr "Influence de l'Ossature"
+
+#: src/synfig/valuenode.cpp:200
+msgid "Bone"
+msgstr "Ossature"
+
+#: src/synfig/valuenode.cpp:201
+msgid "Root Bone"
+msgstr "Racine de l'Ossature"
+
+#: src/synfig/valuenode.cpp:202
+msgid "Static List"
+msgstr "Liste Statique"
+
+#: src/synfig/valuenode.cpp:203
+msgid "Bone Weight Pair"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
 msgid "WPList"
 msgstr "Liste des Points de Largeur"
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:206
 msgid "DIList"
 msgstr "Liste d'Élément Pointillés"
 
-#: src/synfig/valuenode.cpp:233
+#: src/synfig/valuenode.cpp:241
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr "Mauvais type : Le Nœud de Valeur '%s' n'accepte pas le type '%s'"
 
-#: src/synfig/valuenode.cpp:513
+#: src/synfig/valuenode.cpp:540
 msgid "Placeholder"
 msgstr "Substitut"
 
-#: src/synfig/valuenode.h:61
+#: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr "%s:%d mauvais type pour %s : besoin de %s et non %s"
@@ -3328,32 +3398,32 @@ msgstr "Lien2"
 msgid "Second operand of the AND operation"
 msgstr "Seconde opérande de l'opération AND"
 
-#: src/synfig/valuenode_animated.cpp:355 src/synfig/valuenode_animated.cpp:379
-#: src/synfig/valuenode_animated.cpp:703 src/synfig/valuenode_animated.cpp:721
-#: src/synfig/valuenode_animated.cpp:801 src/synfig/valuenode_animated.cpp:820
+#: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
+#: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
+#: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr "Un point de passage existe déjà à ce moment"
 
-#: src/synfig/valuenode_animated.cpp:1134
+#: src/synfig/valuenode_animated.cpp:1173
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr "%s : Vous ne pouvez pas utiliser un %s dans un Nœud de Valeur animé."
 
-#: src/synfig/valuenode_animated.cpp:1169
+#: src/synfig/valuenode_animated.cpp:1208
 msgid "Animated"
 msgstr "Animé"
 
-#: src/synfig/valuenode_bline.cpp:977 src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
 #: src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in list"
 msgstr "Pas d'entrées dans la liste"
 
-#: src/synfig/valuenode_bline.cpp:980 src/synfig/valuenode_dynamiclist.cpp:664
+#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
 #: src/synfig/valuenode_wplist.cpp:339
 msgid "No entries in ret_list"
 msgstr "Pas d'entrées dans la liste ret_list"
 
-#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_bline.cpp:1023
+#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
 #, c-format
 msgid "Vertex %03d"
 msgstr "Sommet %03d"
@@ -3373,7 +3443,7 @@ msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr "La position sur la Spline de la tangente liée (0,1]"
 
 #: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:584
 #: src/synfig/valuenode_gradientrotate.cpp:169
 #: src/synfig/valuenode_linear.cpp:213
 msgid "Offset"
@@ -3385,7 +3455,7 @@ msgstr "Décalage de l'angle de la tangente"
 
 #: src/synfig/valuenode_blinecalctangent.cpp:262
 msgid "Scale of the tangent"
-msgstr "Echelle de la tangente"
+msgstr "Échelle de la tangente"
 
 #: src/synfig/valuenode_blinecalctangent.cpp:266
 msgid "Fixed Length"
@@ -3421,196 +3491,192 @@ msgstr "La position sur la Spline de la largeur liée (0,1]"
 
 #: src/synfig/valuenode_blinecalcwidth.cpp:222
 msgid "Scale of the width"
-msgstr "Echelle de la largeur"
+msgstr "Échelle de la largeur"
 
 #: src/synfig/valuenode_blinecalcwidth.cpp:227
 msgid "When checked, the width is spline length based"
 msgstr "Si coché, la largeur est basée sur la longueur de la Spline"
 
-#: src/synfig/valuenode_composite.cpp:219
+#: src/synfig/valuenode_composite.cpp:229
 msgid "Bad type for composite"
 msgstr "Erreur de type pour un composé"
 
-#: src/synfig/valuenode_composite.cpp:464
+#: src/synfig/valuenode_composite.cpp:474
 msgid "Red"
 msgstr "Rouge"
 
-#: src/synfig/valuenode_composite.cpp:465
+#: src/synfig/valuenode_composite.cpp:475
 msgid "The red component of the color"
 msgstr "La composante ROUGE de la couleur"
 
-#: src/synfig/valuenode_composite.cpp:468
+#: src/synfig/valuenode_composite.cpp:478
 msgid "Green"
 msgstr "Vert"
 
-#: src/synfig/valuenode_composite.cpp:469
+#: src/synfig/valuenode_composite.cpp:479
 msgid "The green component of the color"
 msgstr "La composante VERTE de la couleur"
 
-#: src/synfig/valuenode_composite.cpp:472
+#: src/synfig/valuenode_composite.cpp:482
 msgid "Blue"
 msgstr "Bleu"
 
-#: src/synfig/valuenode_composite.cpp:473
+#: src/synfig/valuenode_composite.cpp:483
 msgid "The blue component of the color"
 msgstr "La composante BLEU de la couleur"
 
-#: src/synfig/valuenode_composite.cpp:476
+#: src/synfig/valuenode_composite.cpp:486
 msgid "Alpha"
 msgstr "Alpha"
 
-#: src/synfig/valuenode_composite.cpp:477
+#: src/synfig/valuenode_composite.cpp:487
 msgid "The alpha of the color"
 msgstr "La transparence alpha de la couleur"
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:492
 msgid "Vertex 1"
 msgstr "Sommet 1"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:493
 msgid "The first vertex of the segment"
 msgstr "Le premier sommet du segment"
 
-#: src/synfig/valuenode_composite.cpp:486
-#: src/synfig/valuenode_composite.cpp:526
+#: src/synfig/valuenode_composite.cpp:496
+#: src/synfig/valuenode_composite.cpp:536
 msgid "Tangent 1"
 msgstr "Tangente 1"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:497
 msgid "The first tangent of the segment"
 msgstr "La première tangente du segment"
 
-#: src/synfig/valuenode_composite.cpp:490
+#: src/synfig/valuenode_composite.cpp:500
 msgid "Vertex 2"
 msgstr "Sommet 2"
 
-#: src/synfig/valuenode_composite.cpp:491
+#: src/synfig/valuenode_composite.cpp:501
 msgid "The second vertex of the segment"
 msgstr "Le second sommet du segment"
 
-#: src/synfig/valuenode_composite.cpp:494
-#: src/synfig/valuenode_composite.cpp:530
+#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:540
 msgid "Tangent 2"
 msgstr "Tangente 2"
 
-#: src/synfig/valuenode_composite.cpp:495
+#: src/synfig/valuenode_composite.cpp:505
 msgid "The second tangent of the segment"
 msgstr "La seconde tangente du segment"
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:510
 msgid "X-Axis"
 msgstr "Axe X"
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:511
 msgid "The X-Axis component of the vector"
 msgstr "la composante axe-X du vecteur"
 
-#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:514
 msgid "Y-Axis"
 msgstr "Axe Y"
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:515
 msgid "The Y-Axis component of the vector"
 msgstr "la composante axe-Y du vecteur"
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:520
 msgid "Vertex"
 msgstr "Sommet"
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:521
 msgid "The vertex of the Spline Point"
 msgstr "Le sommet du Point de Spline"
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:525
 msgid "The width of the Spline Point"
 msgstr "La largeur du Point de Spline"
 
-#: src/synfig/valuenode_composite.cpp:519
+#: src/synfig/valuenode_composite.cpp:529
 msgid "Defines the Off and On position relative to neighbours"
 msgstr "Définit les positions ON/OFF relatives aux voisins"
 
-#: src/synfig/valuenode_composite.cpp:522
+#: src/synfig/valuenode_composite.cpp:532
 msgid "Split"
 msgstr "Séparer"
 
-#: src/synfig/valuenode_composite.cpp:523
+#: src/synfig/valuenode_composite.cpp:533
 msgid "When checked, tangents are independent"
 msgstr "Si cochée, les tangentes sont indépendantes"
 
-#: src/synfig/valuenode_composite.cpp:527
+#: src/synfig/valuenode_composite.cpp:537
 msgid "The first tangent of the Spline Point"
 msgstr "La première tangente du Point de Spline"
 
-#: src/synfig/valuenode_composite.cpp:531
+#: src/synfig/valuenode_composite.cpp:541
 msgid "The second tangent of the Spline Point"
 msgstr "La seconde tangente du Point de Spline"
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:547
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr "La position [0, 1] du Point de Largeur sur la Spline"
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:551
 msgid "The width of the Width Point"
 msgstr "La largeur du Point de Largeur"
 
-#: src/synfig/valuenode_composite.cpp:544
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_composite.cpp:554
+#: src/synfig/valuenode_composite.cpp:594
 msgid "Side Type Before"
 msgstr "Type de Côté Antérieur"
 
-#: src/synfig/valuenode_composite.cpp:545
 #: src/synfig/valuenode_composite.cpp:555
+#: src/synfig/valuenode_composite.cpp:565
 msgid "Defines the interpolation type of the width point"
 msgstr "Définit le type d'interpolation du point de largeur"
 
-#: src/synfig/valuenode_composite.cpp:547
 #: src/synfig/valuenode_composite.cpp:557
+#: src/synfig/valuenode_composite.cpp:567
 msgid "Interpolate"
 msgstr "Interpoler"
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:593
+#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:603
 msgid "Side Type After"
 msgstr "Type de Côté Postérieur"
 
-#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:574
 msgid "Lower Boundary"
 msgstr "Limite inférieure"
 
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:575
 msgid "Defines the position at start of the Spline"
 msgstr "Définir la position de début de la Spline"
 
-#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:578
 msgid "Upper Boundary"
 msgstr "Limite supérieure"
 
-#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:579
 msgid "Defines the position at end of the Spline"
 msgstr "Définir la position de fin de la Spline"
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:585
 msgid "The offset length of the Dash Item over the Spline"
 msgstr "Le longueur du décalage de l'élément pointillé sur la Spline"
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:589
 #: src/synfig/valuenode_timedswap.cpp:260
 msgid "Length"
 msgstr "Longueur"
 
-#: src/synfig/valuenode_composite.cpp:580
+#: src/synfig/valuenode_composite.cpp:590
 msgid "The length of the Dash Item"
 msgstr "Longueur de l'Élément Pointillés"
 
-#: src/synfig/valuenode_composite.cpp:585
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:595
+#: src/synfig/valuenode_composite.cpp:604
 msgid "Defines the side type of the dash item"
 msgstr "Définit le type de côté de l'élément pointillés"
 
-#: src/synfig/valuenode_const.cpp:127
-msgid "Static"
-msgstr "Statique"
-
 #: src/synfig/valuenode_compare.cpp:168
 msgid "The left side of the comparison"
 msgstr "Le côté gauche de la comparaison"
@@ -3675,12 +3741,12 @@ msgstr "Valeur finale de l'index"
 msgid "Amount increment of the index"
 msgstr "Quantité d'augmentation de l'index"
 
-#: src/synfig/valuenode_dynamiclist.cpp:655
+#: src/synfig/valuenode_dynamiclist.cpp:661
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr "Incompatibilité entre type et élément de liste, générant une erreur"
 
-#: src/synfig/valuenode_dynamiclist.cpp:703
-#: src/synfig/valuenode_dynamiclist.cpp:957
+#: src/synfig/valuenode_dynamiclist.cpp:709
+#: src/synfig/valuenode_dynamiclist.cpp:964
 #, c-format
 msgid "Item %03d"
 msgstr "Élément %03d"
@@ -4014,8 +4080,8 @@ msgid "Intersection"
 msgstr "Intersection"
 
 #: src/synfig/valuenode_step.cpp:213
-msgid "Value that define whether the step is centerd on the value [0,1]"
-msgstr "Valeur qui définit si l'étape est centrée sur la valeur [0,1]"
+msgid "Value that define whether the step is centered on the value [0,1]"
+msgstr "Valeur qui définit si le pas est centré sur la valeur [0, 1]"
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
 msgid "Color 1"
@@ -4152,62 +4218,62 @@ msgstr "Le vecteur à partir duquel est extraite la coordonnée Y"
 msgid "WidthPoint %03d"
 msgstr "Point de Largeur %03d"
 
-#: src/tool/main.cpp:133
+#: src/tool/main.cpp:140
 msgid "FATAL: Synfig Version Mismatch"
 msgstr "Erreur Fatale : Incompatibilité avec la version de Synfig"
 
-#: src/tool/main.cpp:169
+#: src/tool/main.cpp:176
 msgid "Settings"
 msgstr "Configurations"
 
-#: src/tool/main.cpp:171
+#: src/tool/main.cpp:178
 msgid "Specify output target (Default: PNG)"
 msgstr "Choisissez la cible de sortie (Défaut : PNG) "
 
-#: src/tool/main.cpp:172
+#: src/tool/main.cpp:179
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 "Fixer la longueur de l'image en pixel  (Zéro pour la valeur par défaut du "
 "fichier)"
 
-#: src/tool/main.cpp:173
+#: src/tool/main.cpp:180
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 "Fixer la hauteur de l'image en pixel  (Zéro pour la valeur par défaut du "
 "fichier)"
 
-#: src/tool/main.cpp:174
+#: src/tool/main.cpp:181
 msgid "Set the diagonal size of image window (Span)"
 msgstr "Définir la diagonale de la fenêtre d'image (Étendue)"
 
-#: src/tool/main.cpp:175
+#: src/tool/main.cpp:182
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 "Définir la valeur d'anti-crénelage pour le moteur de rendu paramétrique."
 
-#: src/tool/main.cpp:176
+#: src/tool/main.cpp:183
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr "Définir la qualité d'image pour le rendu accéléré (Défaut : %d) "
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:184
 msgid "Gamma"
 msgstr "Gamma"
 
-#: src/tool/main.cpp:178
+#: src/tool/main.cpp:185
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 "Active le rendu multiprocessus en utilisant le nombre de processus définit"
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:186
 msgid "Specify input filename"
 msgstr "Préciser le nom du fichier d'entrée"
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:187
 msgid "Specify output filename"
 msgstr "Spécifier le nom de fichier de sortie"
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:188
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
@@ -4215,141 +4281,141 @@ msgstr ""
 "Chaîne séparatrice pour séquence d'images (Utilisez double-quotes si vous "
 "voulez utiliser des espaces)"
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:189
 msgid "Render the canvas with the given id instead of the root."
 msgstr "Rendre le canevas avec l'identifiant donné au lieu de l'ID racine."
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:190
 msgid "Set the frame rate"
 msgstr "Définir le nombre d'images par seconde"
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:191
 msgid "Render a single frame at <seconds>"
 msgstr "Rendre une seule image à la <seconds>"
 
-#: src/tool/main.cpp:185 src/tool/main.cpp:186
+#: src/tool/main.cpp:192 src/tool/main.cpp:193
 msgid "Set the starting time"
 msgstr "Fixe le temps de début"
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:194
 msgid "Set the ending time"
 msgstr "Fixer le temps de fin"
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:195
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr "Fixer la résolution physique (Point Par Pouce)"
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:196
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr "Fixer la résolution physique X (Point Par Pouce)"
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:197
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr "Fixer la résolution physique Y (Point Par Pouce)"
 
-#: src/tool/main.cpp:193
+#: src/tool/main.cpp:200
 msgid "Switch options"
 msgstr "Commuter les options"
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:202
 msgid "Output verbosity level"
 msgstr "Niveau de verbosité de sortie"
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:203
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr "Mode silencieux (Pas de progression/temps restant affiché)"
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:204
 msgid "Print benchmarks"
 msgstr "Imprimer un benchmark"
 
-#: src/tool/main.cpp:200
+#: src/tool/main.cpp:207
 msgid "Misc options"
 msgstr "Autres options"
 
-#: src/tool/main.cpp:202
+#: src/tool/main.cpp:209
 msgid "Append layers in <filename> to composition"
 msgstr "Ajouter les calques de <filename> dans la composition"
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:210
 msgid "Print out specified details of the root canvas"
 msgstr "Imprimer les détails spécifiés du canevas racine"
 
-#: src/tool/main.cpp:204 src/tool/main.cpp:230
+#: src/tool/main.cpp:211 src/tool/main.cpp:237
 msgid "Print out the list of exported canvases in the composition"
 msgstr "Imprimer la liste des canevas exportés de la composition"
 
-#: src/tool/main.cpp:207
+#: src/tool/main.cpp:214
 msgid "FFMPEG target options"
 msgstr "Options de la cible FFMPEG"
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:216
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr "Définit le codec de la vidéo. Voir --ffmpeg-video-codecs"
 
-#: src/tool/main.cpp:210
+#: src/tool/main.cpp:217
 msgid "Set the bitrate for the output video"
 msgstr "Définit le bitrate de la vidéo de sortie"
 
-#: src/tool/main.cpp:213
+#: src/tool/main.cpp:220
 msgid "Synfig info options"
 msgstr "Options d'information de Synfig"
 
-#: src/tool/main.cpp:215
+#: src/tool/main.cpp:222
 msgid "Produce this help message"
 msgstr "Produire ce message d'aide"
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:223
 msgid "Print out the list of available importers"
 msgstr "Afficher la liste des importeurs disponibles"
 
-#: src/tool/main.cpp:217
+#: src/tool/main.cpp:224
 msgid "Print out misc build information"
 msgstr "Afficher diverses informations de compilation"
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:225
 msgid "Print out the list of available layers"
 msgstr "Afficher la liste des calques disponibles"
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:226
 msgid "Print out layer's description, parameter info, etc."
 msgstr "Afficher les descriptions, info de paramètre, etc. du calque"
 
-#: src/tool/main.cpp:220
+#: src/tool/main.cpp:227
 msgid "Print out license information"
 msgstr "Afficher les informations de licence"
 
-#: src/tool/main.cpp:221
+#: src/tool/main.cpp:228
 msgid "Print out the list of loaded modules"
 msgstr "Afficher la liste des modules chargés"
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:229
 msgid "Print out the list of available targets"
 msgstr "Afficher la liste des cibles disponibles"
 
-#: src/tool/main.cpp:223
+#: src/tool/main.cpp:230
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 "Imprimer la liste de codec vidéo disponible lorsque vous encodez avec FFMPEG"
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:231
 msgid "Print out the list of available ValueNodes"
 msgstr "Afficher la liste des nœuds de valeur disponibles"
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:232
 msgid "Print out version information"
 msgstr "Afficher les informations de version"
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:241
 msgid "Synfig debug flags"
 msgstr "Drapeau de debug de Synfig"
 
-#: src/tool/main.cpp:236
+#: src/tool/main.cpp:243
 msgid "Test GUID generation"
 msgstr "Tester la génération de GUID"
 
-#: src/tool/main.cpp:237
+#: src/tool/main.cpp:244
 msgid "Test signal implementation"
 msgstr "Tester l'implémentation des signaux"
 
@@ -4413,139 +4479,139 @@ msgstr "secondes."
 msgid "Done."
 msgstr "Fait."
 
-#: src/tool/optionsprocessor.cpp:113
+#: src/tool/optionsprocessor.cpp:114
 msgid "Unrecognised canvas variable: "
 msgstr "Variable de canevas inconnue :"
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:115
 msgid "Recognized variables are:"
 msgstr "Les variables reconnues sont :"
 
-#: src/tool/optionsprocessor.cpp:131
+#: src/tool/optionsprocessor.cpp:132
 msgid "verbosity set to "
 msgstr "verbosité fixé à"
 
-#: src/tool/optionsprocessor.cpp:146
+#: src/tool/optionsprocessor.cpp:147
 msgid "Threads set to "
 msgstr "Nombres de processus fixé à"
 
-#: src/tool/optionsprocessor.cpp:224
+#: src/tool/optionsprocessor.cpp:225
 msgid "Layer Name: "
 msgstr "Nom du Calque"
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:226
 msgid "Localized Layer Name: "
 msgstr "Nom Local du Calque :"
 
-#: src/tool/optionsprocessor.cpp:227
+#: src/tool/optionsprocessor.cpp:228
 msgid "Version: "
 msgstr "Version :"
 
-#: src/tool/optionsprocessor.cpp:232
+#: src/tool/optionsprocessor.cpp:233
 msgid "param - "
 msgstr "paramètre -"
 
-#: src/tool/optionsprocessor.cpp:234
+#: src/tool/optionsprocessor.cpp:235
 msgid " (not critical)"
 msgstr "(pas critique)"
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:236
 msgid "\tLocalized Name: "
 msgstr "Nom Local:"
 
-#: src/tool/optionsprocessor.cpp:239
+#: src/tool/optionsprocessor.cpp:240
 msgid "\tDescription: "
 msgstr "»Description:"
 
-#: src/tool/optionsprocessor.cpp:243
+#: src/tool/optionsprocessor.cpp:244
 msgid "\tHint: "
 msgstr "»Piste:"
 
-#: src/tool/optionsprocessor.cpp:309
+#: src/tool/optionsprocessor.cpp:310
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr "Anti-crénelage fixé à %d, (%d échantillonnages par pixel) "
 
-#: src/tool/optionsprocessor.cpp:316
+#: src/tool/optionsprocessor.cpp:317
 #, c-format
 msgid "Span set to %d units"
 msgstr "Fixer l'étendue à %d unités"
 
-#: src/tool/optionsprocessor.cpp:324
+#: src/tool/optionsprocessor.cpp:325
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr "Nombre d'images fixé à %d images par seconde"
 
-#: src/tool/optionsprocessor.cpp:334
+#: src/tool/optionsprocessor.cpp:335
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr "Résolution physique fixé à %f ppp"
 
-#: src/tool/optionsprocessor.cpp:343
+#: src/tool/optionsprocessor.cpp:344
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr "Résolution physique X fixé à %f ppp"
 
-#: src/tool/optionsprocessor.cpp:352
+#: src/tool/optionsprocessor.cpp:353
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr "Résolution physique Y fixé à %f ppp"
 
-#: src/tool/optionsprocessor.cpp:379
+#: src/tool/optionsprocessor.cpp:380
 msgid "Rendering frame at "
 msgstr "Rendu en cours à l'image"
 
-#: src/tool/optionsprocessor.cpp:385
+#: src/tool/optionsprocessor.cpp:386
 msgid "Gamma argument is currently ignored"
 msgstr "L'argument Gamma est actuellement ignoré"
 
-#: src/tool/optionsprocessor.cpp:400
+#: src/tool/optionsprocessor.cpp:401
 #, c-format
 msgid "Resolution set to %dx%d"
 msgstr "Résolution fixé à %dx%d"
 
-#: src/tool/optionsprocessor.cpp:417
+#: src/tool/optionsprocessor.cpp:418
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr "Le codec vidéo ainsi que le bitrate sont des paramètres nécessaires"
 
-#: src/tool/optionsprocessor.cpp:437
+#: src/tool/optionsprocessor.cpp:438
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr "Le codec vidéo \"%s\" n'est pas supporté."
 
-#: src/tool/optionsprocessor.cpp:440
+#: src/tool/optionsprocessor.cpp:441
 #, c-format
 msgid "Target video codec set to %s"
 msgstr "Codec vidéo de la cible fixé à %s"
 
-#: src/tool/optionsprocessor.cpp:446
+#: src/tool/optionsprocessor.cpp:447
 #, c-format
 msgid "Target bitrate set to %dk"
 msgstr "Bitrate de destination fixé à %dk"
 
-#: src/tool/optionsprocessor.cpp:452
+#: src/tool/optionsprocessor.cpp:453
 #, c-format
 msgid "Output file sequence separator set to %s"
 msgstr "Chaîne séparatrice pour séquence d'images fixé à %s"
 
-#: src/tool/optionsprocessor.cpp:487
+#: src/tool/optionsprocessor.cpp:488
 #, c-format
 msgid "Unable to load '%s'."
 msgstr "Impossible de charger '%s'."
 
-#: src/tool/optionsprocessor.cpp:494
+#: src/tool/optionsprocessor.cpp:495
 msgid "No input file provided."
 msgstr "Aucun fichier n'as été fournit"
 
-#: src/tool/optionsprocessor.cpp:499
+#: src/tool/optionsprocessor.cpp:500
 msgid "Target set to "
 msgstr "Cible définit à"
 
-#: src/tool/optionsprocessor.cpp:513
+#: src/tool/optionsprocessor.cpp:514
 msgid "Quality set to "
 msgstr "Qualité définit à"
 
-#: src/tool/optionsprocessor.cpp:532
+#: src/tool/optionsprocessor.cpp:533
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
@@ -4554,7 +4620,7 @@ msgstr ""
 "Impossible de trouver le canevas dont l'ID est \"%s\" dans %s.\n"
 "Annulation du travail..."
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:539
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
@@ -4563,11 +4629,11 @@ msgstr ""
 "Nom \"%s\" du canevas invalide dans %s.\n"
 "Annulation du travail..."
 
-#: src/tool/optionsprocessor.cpp:557
+#: src/tool/optionsprocessor.cpp:558
 msgid "Unable to append '"
 msgstr "Impossible d'ajouter '"
 
-#: src/tool/optionsprocessor.cpp:571
+#: src/tool/optionsprocessor.cpp:572
 msgid "Appended contents of "
 msgstr "Contenus ajoutés de"
 
diff --git a/po/hu.gmo b/po/hu.gmo
index 5f76305..8b6f85e 100644
Binary files a/po/hu.gmo and b/po/hu.gmo differ
diff --git a/po/hu.po b/po/hu.po
index a86f11b..6c3325d 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -1,5 +1,5 @@
-# translation of cs.po to Hungarian
-# Copyright (C) 2012 Synfig Contributors
+# Translation file for Synfig Core package.
+# Copyright (C) 2013 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
@@ -8,89 +8,90 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2013-05-09 18:34+0200\n"
-"PO-Revision-Date: 2013-05-02 12:39+0000\n"
-"Last-Translator: genete <genetita at gmail.com>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
+"POT-Creation-Date: 2013-10-25 17:57+0700\n"
+"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
+"Language-Team: Hungarian (http://www.transifex.com/projects/p/synfig/"
+"language/hu/)\n"
 "Language: hu\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:58
+#: src/modules/mod_example/filledrect.cpp:59
 msgid "Filled Rectangle"
 msgstr "Kitöltött téglalap"
 
-#: src/modules/mod_example/filledrect.cpp:59
+#: src/modules/mod_example/filledrect.cpp:60
 #: src/modules/mod_example/metaballs.cpp:58
 #: src/modules/mod_example/simplecircle.cpp:58
 msgid "Example"
 msgstr "Példa"
 
-#: src/modules/mod_example/filledrect.cpp:120
+#: src/modules/mod_example/filledrect.cpp:131
 #: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:523
-#: src/modules/lyr_std/shade.cpp:564
-#: src/modules/mod_geometry/checkerboard.cpp:122
-#: src/modules/mod_geometry/circle.cpp:128
-#: src/modules/mod_geometry/rectangle.cpp:125 src/synfig/layer_shape.cpp:1193
-#: src/synfig/layer_solidcolor.cpp:102 src/synfig/paramdesc.cpp:79
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:620
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
 msgid "Color"
 msgstr "Szín"
 
-#: src/modules/mod_example/filledrect.cpp:121
+#: src/modules/mod_example/filledrect.cpp:132
 #: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:129
-#: src/modules/mod_geometry/rectangle.cpp:126
-#: src/synfig/layer_solidcolor.cpp:103
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
 msgid "Fill color of the layer"
 msgstr "A réteg kitöltő színe"
 
-#: src/modules/mod_example/filledrect.cpp:125
-#: src/modules/mod_geometry/rectangle.cpp:130
-#: src/modules/mod_gradient/lineargradient.cpp:190
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:185
 msgid "Point 1"
 msgstr "1. pont"
 
-#: src/modules/mod_example/filledrect.cpp:126
-#: src/modules/mod_geometry/rectangle.cpp:132
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
 msgid "First corner of the rectangle"
 msgstr "A téglalap első sarka"
 
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_geometry/rectangle.cpp:136
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:190
 msgid "Point 2"
 msgstr "2. pont"
 
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_geometry/rectangle.cpp:137
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
 msgid "Second corner of the rectangle"
 msgstr "A téglalap második sarka"
 
-#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_example/filledrect.cpp:147
 msgid "Feather X"
 msgstr "Lágy szél X"
 
-#: src/modules/mod_example/filledrect.cpp:140
+#: src/modules/mod_example/filledrect.cpp:152
 msgid "Feather Y"
 msgstr "Lágy szél Y"
 
-#: src/modules/mod_example/filledrect.cpp:144 src/modules/lyr_std/bevel.cpp:68
-#: src/modules/mod_geometry/advanced_outline.cpp:1161
+#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
 msgid "Bevel"
 msgstr "Lesarkítás"
 
-#: src/modules/mod_example/filledrect.cpp:145
+#: src/modules/mod_example/filledrect.cpp:158
 msgid "Use Bevel for the corners"
 msgstr "Lesarkított sarkok"
 
-#: src/modules/mod_example/filledrect.cpp:149
+#: src/modules/mod_example/filledrect.cpp:163
 msgid "Keep Bevel Circular"
 msgstr "Kerek sarkítás megtartása"
 
-#: src/modules/mod_example/filledrect.cpp:150
+#: src/modules/mod_example/filledrect.cpp:164
 msgid "When checked the bevel is circular"
 msgstr "Ha bekapcsolt, akkor a sarkítás kerek"
 
@@ -98,39 +99,39 @@ msgstr "Ha bekapcsolt, akkor a sarkítás kerek"
 msgid "Metaballs"
 msgstr "Metalabdák"
 
-#: src/modules/mod_example/metaballs.cpp:135
+#: src/modules/mod_example/metaballs.cpp:129
 #: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:552
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:194
 #: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:112
-#: src/modules/mod_noise/noise.cpp:259 src/modules/mod_particle/plant.cpp:403
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
 #: src/synfig/valuenode_gradientrotate.cpp:164
 #: src/synfig/valuenode_repeat_gradient.cpp:203
 msgid "Gradient"
 msgstr "Színátmenet"
 
-#: src/modules/mod_example/metaballs.cpp:139
+#: src/modules/mod_example/metaballs.cpp:133
 msgid "Balls"
 msgstr "Labdák"
 
-#: src/modules/mod_example/metaballs.cpp:143
+#: src/modules/mod_example/metaballs.cpp:137
 msgid "Radii"
 msgstr "Sugarak"
 
-#: src/modules/mod_example/metaballs.cpp:147
+#: src/modules/mod_example/metaballs.cpp:141
 msgid "Weights"
 msgstr "Súlyok"
 
-#: src/modules/mod_example/metaballs.cpp:151
+#: src/modules/mod_example/metaballs.cpp:145
 msgid "Gradient Left"
 msgstr "Bal színátmenet"
 
-#: src/modules/mod_example/metaballs.cpp:155
+#: src/modules/mod_example/metaballs.cpp:149
 msgid "Gradient Right"
 msgstr "Jobb színátmenet"
 
-#: src/modules/mod_example/metaballs.cpp:159
+#: src/modules/mod_example/metaballs.cpp:153
 msgid "Positive Only"
 msgstr "Csak pozitív"
 
@@ -142,21 +143,21 @@ msgstr "Egyszerű kör"
 #: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
 #: src/modules/mod_gradient/conicalgradient.cpp:114
 #: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:117
+#: src/modules/mod_gradient/spiralgradient.cpp:118
 msgid "Center"
 msgstr "Közép"
 
 #: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:144
+#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
 msgid "Center of the circle"
 msgstr "A kör közepe"
 
 #: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:151
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:132
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
 #: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:122
-#: src/modules/mod_noise/valuenode_random.cpp:269
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/valuenode_radialcomposite.cpp:272
 msgid "Radius"
 msgstr "Sugár"
@@ -164,20 +165,20 @@ msgstr "Sugár"
 #: src/modules/mod_example/simplecircle.cpp:118
 #: src/modules/lyr_std/twirl.cpp:118
 #: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:124
 msgid "This is the radius of the circle"
 msgstr "Ez a kör sugara"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
-#: src/modules/lyr_freetype/lyr_freetype.cpp:517
+#: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Szöveg"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
 #: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
-#: src/modules/lyr_std/supersample.cpp:57 src/modules/lyr_std/timeloop.cpp:60
-#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:70
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:79
+#: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
+#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
 msgid "Other"
 msgstr "Egyéb"
 
@@ -185,247 +186,247 @@ msgstr "Egyéb"
 msgid "Text Layer"
 msgstr "Szöveg réteg"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:390
+#: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
 msgstr "Nem tudom inicializálni"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:409
+#: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
 msgstr "Üres betűkészlet"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:518
+#: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
 msgstr "Megjelenítendő szöveg"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:524
+#: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "A szöveg színe"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:528
+#: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
 msgstr "Betűcsalád"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:533
+#: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
 msgstr "Stílus"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:535
-#: src/modules/lyr_freetype/lyr_freetype.cpp:545
+#: src/modules/lyr_freetype/lyr_freetype.cpp:587
+#: src/modules/lyr_freetype/lyr_freetype.cpp:597
 msgid "Normal"
 msgstr "Normális"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:536
+#: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
 msgstr "Kurzív"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:537
+#: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
 msgstr "Dőlt"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:541
+#: src/modules/lyr_freetype/lyr_freetype.cpp:593
 msgid "Weight"
 msgstr "Vastagság"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:543
+#: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
 msgstr "Ultrakönnyű"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:544
+#: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
 msgstr "Vékony"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:546
+#: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
 msgstr "Vastag"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:547
+#: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
 msgstr "Nagyon vastag"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:548
+#: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
 msgstr "Nehéz"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:551
+#: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
 msgstr "Vízszintes szóköz"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:552
+#: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
 msgstr "Megadja, hogy milyen közel vannak egymáshoz a betük"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:556
+#: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
 msgstr "Sortávolság"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:557
+#: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
 msgstr "Megadja, hogy milyen közel vannak egymáshoz a szöveg sorai"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:561
-#: src/modules/lyr_std/shade.cpp:570 src/modules/lyr_std/xorpattern.cpp:129
-#: src/modules/mod_filter/blur.cpp:372
+#: src/modules/lyr_freetype/lyr_freetype.cpp:613
+#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:413
 #: src/modules/mod_filter/radialblur.cpp:115
-#: src/modules/mod_geometry/checkerboard.cpp:130
-#: src/modules/mod_noise/distort.cpp:222 src/modules/mod_noise/noise.cpp:267
+#: src/modules/mod_geometry/checkerboard.cpp:154
+#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
 msgstr "Méret"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:562
+#: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
 msgstr "A szöveg mérete"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:569
+#: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
 msgstr "Irány"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:570
+#: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
 msgstr "A szöveg iránya"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/insideout.cpp:143 src/modules/lyr_std/rotate.cpp:116
-#: src/modules/lyr_std/shade.cpp:567 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:389
-#: src/modules/lyr_std/xorpattern.cpp:125 src/modules/lyr_std/zoom.cpp:104
+#: src/modules/lyr_freetype/lyr_freetype.cpp:627
+#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
+#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
+#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
-#: src/modules/mod_geometry/checkerboard.cpp:126
-#: src/modules/mod_geometry/circle.cpp:143
-#: src/modules/mod_gradient/curvegradient.cpp:537
-#: src/modules/mod_particle/plant.cpp:398 src/synfig/layer_pastecanvas.cpp:133
-#: src/synfig/layer_shape.cpp:1197 src/synfig/valuenode_composite.cpp:518
+#: src/modules/mod_geometry/checkerboard.cpp:150
+#: src/modules/mod_geometry/circle.cpp:161
+#: src/modules/mod_gradient/curvegradient.cpp:550
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
+#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
 msgid "Origin"
 msgstr "Középpont"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:576
+#: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
 msgstr "A szöveg pozíciója"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:580
+#: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
 msgstr "Betűtípus"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:581
+#: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
 msgstr "A használandó betűtípus állományának elélési útvonala"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:588
+#: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
 msgstr "Alávágás"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:589
+#: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
 msgstr ""
 "Engedélyezi/tiltja az alávágást (azaz az egymásba lógó betűk kezelését). (Ha "
 "a betűtípus támogatja azt.)"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
 msgstr "Éles élek"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:594
+#: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
 msgstr "Kapcsolja ki, ha a szöveget animálni akarja"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:597
-#: src/modules/lyr_std/shade.cpp:587 src/modules/mod_geometry/circle.cpp:147
-#: src/synfig/layer_shape.cpp:1200
+#: src/modules/lyr_freetype/lyr_freetype.cpp:649
+#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1228
 msgid "Invert"
 msgstr "Invertál"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:654
+#: src/modules/lyr_freetype/lyr_freetype.cpp:714
 msgid "No face loaded, no text will be rendered."
 msgstr "Nincs betűtípus betöltve, nem lesz szöveg megjelenítve."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:680
+#: src/modules/lyr_freetype/lyr_freetype.cpp:740
 msgid "Text too small, no text will be rendered."
 msgstr "A szöveg túl kicsi, semmilyen szöveg nem fog megjelenni"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:704
+#: src/modules/lyr_freetype/lyr_freetype.cpp:764
 msgid "Unable to set face size."
 msgstr "Nem lehet beállítani a betűtípus méretét."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:747
+#: src/modules/lyr_freetype/lyr_freetype.cpp:807
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr "Hibás multibyte sorozat - be van állítva a lokalizáció?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:754
+#: src/modules/lyr_freetype/lyr_freetype.cpp:814
 msgid "Can't parse multibyte character.\n"
 msgstr "Ne lehet a multibyteos karaktereket feldolgozni.\n"
 
-#: src/modules/lyr_std/bevel.cpp:69 src/modules/lyr_std/shade.cpp:68
+#: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "Stilizál"
 
-#: src/modules/lyr_std/bevel.cpp:570 src/modules/lyr_std/shade.cpp:576
-#: src/modules/mod_filter/blur.cpp:376
-#: src/modules/mod_filter/halftone2.cpp:170
+#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
+#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Típus"
 
-#: src/modules/lyr_std/bevel.cpp:571 src/modules/lyr_std/shade.cpp:577
-#: src/modules/mod_filter/blur.cpp:377
+#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
+#: src/modules/mod_filter/blur.cpp:418
 msgid "Type of blur to use"
 msgstr "A elmosás típusa"
 
-#: src/modules/lyr_std/bevel.cpp:573 src/modules/lyr_std/shade.cpp:579
-#: src/modules/mod_filter/blur.cpp:379 src/synfig/layer_shape.cpp:1213
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
 msgid "Box Blur"
 msgstr "Négyzetes elmosás"
 
-#: src/modules/lyr_std/bevel.cpp:574 src/modules/lyr_std/shade.cpp:580
-#: src/modules/mod_filter/blur.cpp:380 src/synfig/layer_shape.cpp:1214
+#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
+#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
 msgid "Fast Gaussian Blur"
 msgstr "Gyors Gauss elmosás"
 
-#: src/modules/lyr_std/bevel.cpp:575 src/modules/lyr_std/shade.cpp:581
-#: src/modules/mod_filter/blur.cpp:381 src/synfig/layer_shape.cpp:1215
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
 msgid "Cross-Hatch Blur"
 msgstr "Négyzetháló elmosás"
 
-#: src/modules/lyr_std/bevel.cpp:576 src/modules/lyr_std/shade.cpp:582
-#: src/modules/mod_filter/blur.cpp:382 src/synfig/layer_shape.cpp:1216
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
 msgid "Gaussian Blur"
 msgstr "Gauss elmosás"
 
-#: src/modules/lyr_std/bevel.cpp:577 src/modules/lyr_std/shade.cpp:583
-#: src/modules/mod_filter/blur.cpp:383 src/synfig/layer_shape.cpp:1217
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
 msgid "Disc Blur"
 msgstr "Kör elmosás"
 
-#: src/modules/lyr_std/bevel.cpp:581
+#: src/modules/lyr_std/bevel.cpp:635
 msgid "Hi-Color"
 msgstr "Fényes szín"
 
-#: src/modules/lyr_std/bevel.cpp:584
+#: src/modules/lyr_std/bevel.cpp:638
 msgid "Lo-Color"
 msgstr "Árnyék szín"
 
-#: src/modules/lyr_std/bevel.cpp:587
+#: src/modules/lyr_std/bevel.cpp:641
 msgid "Light Angle"
 msgstr "Fényszög"
 
-#: src/modules/lyr_std/bevel.cpp:591
+#: src/modules/lyr_std/bevel.cpp:645
 msgid "Depth of Bevel"
 msgstr "Sarkítás mélysége"
 
-#: src/modules/lyr_std/bevel.cpp:595
+#: src/modules/lyr_std/bevel.cpp:649
 msgid "Softness"
 msgstr "Finomság"
 
-#: src/modules/lyr_std/bevel.cpp:598
+#: src/modules/lyr_std/bevel.cpp:652
 msgid "Use Luma"
 msgstr "Világosság használata"
 
-#: src/modules/lyr_std/bevel.cpp:601
+#: src/modules/lyr_std/bevel.cpp:655
 msgid "Solid"
 msgstr "Kitöltött"
 
-#: src/modules/lyr_std/booleancurve.cpp:104
+#: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
 msgstr "Régióhalmaz"
 
-#: src/modules/lyr_std/booleancurve.cpp:105
+#: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
 msgstr "A összevonandó régiók halmaza"
 
@@ -433,38 +434,38 @@ msgstr "A összevonandó régiók halmaza"
 msgid "Clamp"
 msgstr "Szín intervallum"
 
-#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:56
-#: src/modules/mod_filter/halftone2.cpp:59
-#: src/modules/mod_filter/halftone3.cpp:59
-#: src/modules/mod_filter/lumakey.cpp:59
+#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:57
+#: src/modules/mod_filter/halftone2.cpp:60
+#: src/modules/mod_filter/halftone3.cpp:60
+#: src/modules/mod_filter/lumakey.cpp:60
 msgid "Filters"
 msgstr "Szűrők"
 
-#: src/modules/lyr_std/clamp.cpp:158
+#: src/modules/lyr_std/clamp.cpp:162
 msgid "Invert Negative"
 msgstr "Negatív inverz"
 
-#: src/modules/lyr_std/clamp.cpp:162
+#: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
 msgstr "Felső vágás"
 
-#: src/modules/lyr_std/clamp.cpp:163
+#: src/modules/lyr_std/clamp.cpp:167
 msgid "When checked the Ceiling value is used"
 msgstr "Ha bekapcsolt, akkor a felső határ figyelembe vesszük"
 
-#: src/modules/lyr_std/clamp.cpp:167
+#: src/modules/lyr_std/clamp.cpp:171
 msgid "Ceiling"
 msgstr "Felső határ"
 
-#: src/modules/lyr_std/clamp.cpp:168
+#: src/modules/lyr_std/clamp.cpp:172
 msgid "Upper boundary of the clamping"
 msgstr "Az intervallum felső határa"
 
-#: src/modules/lyr_std/clamp.cpp:172
+#: src/modules/lyr_std/clamp.cpp:176
 msgid "Floor"
 msgstr "Alsó határ"
 
-#: src/modules/lyr_std/clamp.cpp:173
+#: src/modules/lyr_std/clamp.cpp:177
 msgid "Lower boundary of the clamping"
 msgstr "Az intervallum alsó határa"
 
@@ -472,24 +473,24 @@ msgstr "Az intervallum alsó határa"
 msgid "Import Image"
 msgstr "Kép importálása"
 
-#: src/modules/lyr_std/import.cpp:151 src/modules/lyr_std/import.cpp:201
+#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr "A fájlnév már be van állítva erre:  \"%s\" (%s)"
 
-#: src/modules/lyr_std/import.cpp:283
+#: src/modules/lyr_std/import.cpp:293
 msgid "Filename"
 msgstr "Fájlnév"
 
-#: src/modules/lyr_std/import.cpp:284
+#: src/modules/lyr_std/import.cpp:294
 msgid "File to import"
 msgstr "Importálandó fájl"
 
-#: src/modules/lyr_std/import.cpp:288 src/synfig/layer_pastecanvas.cpp:146
+#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
 msgid "Time Offset"
 msgstr "Idő-eltolás"
 
-#: src/modules/lyr_std/import.cpp:289
+#: src/modules/lyr_std/import.cpp:299
 msgid "Time Offset to apply to the imported file"
 msgstr "Az importált fájlra alkalmazandó idő eltolás"
 
@@ -498,14 +499,14 @@ msgid "Inside Out"
 msgstr "Kifordítva"
 
 #: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:75
 #: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:57 src/modules/lyr_std/curvewarp.cpp:56
-#: src/modules/mod_noise/distort.cpp:58
+#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
+#: src/modules/mod_noise/distort.cpp:59
 msgid "Distortions"
 msgstr "Torzítások"
 
-#: src/modules/lyr_std/insideout.cpp:144
+#: src/modules/lyr_std/insideout.cpp:163
 msgid "Defines the where the center will be"
 msgstr "Megadja, hogy hol lesz a közép"
 
@@ -517,97 +518,97 @@ msgstr "Júlia halmaz"
 msgid "Fractals"
 msgstr "Fraktálok"
 
-#: src/modules/lyr_std/julia.cpp:309
+#: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
 msgstr "Belső szín"
 
-#: src/modules/lyr_std/julia.cpp:310
+#: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
 msgstr "A halmaz színe"
 
-#: src/modules/lyr_std/julia.cpp:313
+#: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
 msgstr "Külső szín"
 
-#: src/modules/lyr_std/julia.cpp:314
+#: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
 msgstr "A halmazon kívüli pontok színe"
 
-#: src/modules/lyr_std/julia.cpp:317
+#: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
 msgstr "Szín eltolás"
 
-#: src/modules/lyr_std/julia.cpp:320 src/modules/lyr_std/mandelbrot.cpp:223
+#: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
 msgstr "Iterációk"
 
-#: src/modules/lyr_std/julia.cpp:323
+#: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
 msgstr "Kiindulási pont"
 
-#: src/modules/lyr_std/julia.cpp:326 src/modules/lyr_std/mandelbrot.cpp:226
+#: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
 msgstr "Kisegítő alapérték"
 
-#: src/modules/lyr_std/julia.cpp:330 src/modules/lyr_std/mandelbrot.cpp:236
+#: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
 msgstr "Torzítás belül"
 
-#: src/modules/lyr_std/julia.cpp:333 src/modules/lyr_std/mandelbrot.cpp:240
+#: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
 msgstr "Árnyékolás belül"
 
-#: src/modules/lyr_std/julia.cpp:336 src/modules/lyr_std/mandelbrot.cpp:244
+#: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
 msgstr "Kitöltött belül"
 
-#: src/modules/lyr_std/julia.cpp:339 src/modules/lyr_std/mandelbrot.cpp:248
+#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
 msgstr "Inverz belül"
 
-#: src/modules/lyr_std/julia.cpp:342
+#: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
 msgstr "Szín belül"
 
-#: src/modules/lyr_std/julia.cpp:345 src/modules/lyr_std/mandelbrot.cpp:265
+#: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
 msgstr "Torzítás kívül"
 
-#: src/modules/lyr_std/julia.cpp:348 src/modules/lyr_std/mandelbrot.cpp:269
+#: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
 msgstr "Árnyékolás kívül"
 
-#: src/modules/lyr_std/julia.cpp:351 src/modules/lyr_std/mandelbrot.cpp:273
+#: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
 msgstr "Kitöltött kívül"
 
-#: src/modules/lyr_std/julia.cpp:354 src/modules/lyr_std/mandelbrot.cpp:277
+#: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
 msgstr "Inverz kívül"
 
-#: src/modules/lyr_std/julia.cpp:357
+#: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
 msgstr "Szín kívül"
 
-#: src/modules/lyr_std/julia.cpp:361
+#: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
 msgstr "Ciklikus színek"
 
-#: src/modules/lyr_std/julia.cpp:364 src/modules/lyr_std/mandelbrot.cpp:285
+#: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
 msgstr "Egyenletes kívül"
 
-#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:286
+#: src/modules/lyr_std/julia.cpp:391 src/modules/lyr_std/mandelbrot.cpp:282
 msgid "Smooth the coloration outside the set"
 msgstr "Egyenletes színezés a halmazon kívül"
 
-#: src/modules/lyr_std/julia.cpp:368 src/modules/lyr_std/mandelbrot.cpp:230
+#: src/modules/lyr_std/julia.cpp:394 src/modules/lyr_std/mandelbrot.cpp:226
 msgid "Break Set"
 msgstr "Törés halmaz"
 
-#: src/modules/lyr_std/julia.cpp:369 src/modules/lyr_std/mandelbrot.cpp:231
+#: src/modules/lyr_std/julia.cpp:395 src/modules/lyr_std/mandelbrot.cpp:227
 msgid "Modify equation to achieve interesting results"
 msgstr "Módosított egyenlet, hogy érdekes eredményeket kapjunk"
 
@@ -615,48 +616,48 @@ msgstr "Módosított egyenlet, hogy érdekes eredményeket kapjunk"
 msgid "Mandelbrot Set"
 msgstr "Mandelbrot halmaz"
 
+#: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
 #: src/modules/lyr_std/mandelbrot.cpp:241
 #: src/modules/lyr_std/mandelbrot.cpp:245
 #: src/modules/lyr_std/mandelbrot.cpp:249
 #: src/modules/lyr_std/mandelbrot.cpp:253
 #: src/modules/lyr_std/mandelbrot.cpp:257
-#: src/modules/lyr_std/mandelbrot.cpp:261
 msgid "Inside"
 msgstr "Belül"
 
-#: src/modules/lyr_std/mandelbrot.cpp:252
+#: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
 msgstr "Színátmenet belül"
 
-#: src/modules/lyr_std/mandelbrot.cpp:256
+#: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
 msgstr "Eltolás belül"
 
-#: src/modules/lyr_std/mandelbrot.cpp:260
+#: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
 msgstr "Ciklus belül"
 
+#: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
 #: src/modules/lyr_std/mandelbrot.cpp:270
 #: src/modules/lyr_std/mandelbrot.cpp:274
 #: src/modules/lyr_std/mandelbrot.cpp:278
-#: src/modules/lyr_std/mandelbrot.cpp:282
+#: src/modules/lyr_std/mandelbrot.cpp:283
 #: src/modules/lyr_std/mandelbrot.cpp:287
 #: src/modules/lyr_std/mandelbrot.cpp:291
-#: src/modules/lyr_std/mandelbrot.cpp:295
 msgid "Outside"
 msgstr "Kívül"
 
-#: src/modules/lyr_std/mandelbrot.cpp:281
+#: src/modules/lyr_std/mandelbrot.cpp:277
 msgid "Gradient outside"
 msgstr "Színátmenet kívül"
 
-#: src/modules/lyr_std/mandelbrot.cpp:290
+#: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
 msgstr "Eltolás kívül"
 
-#: src/modules/lyr_std/mandelbrot.cpp:294
+#: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
 msgstr "Nagyítás kívül"
 
@@ -669,16 +670,16 @@ msgstr "Forgatás"
 msgid "Transform"
 msgstr "Eltolás"
 
-#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/translate.cpp:101
+#: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:134
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr "A pont ahová a középpontot szeretné"
 
-#: src/modules/lyr_std/rotate.cpp:121
-#: src/modules/lyr_std/sphere_distort.cpp:158
+#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:217
+#: src/synfig/layer_composite.cpp:249
 #: src/synfig/valuenode_blinecalctangent.cpp:251
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
@@ -687,61 +688,61 @@ msgstr "A pont ahová a középpontot szeretné"
 msgid "Amount"
 msgstr "Mennyiség"
 
-#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
 msgstr "Az elforgatás szöge"
 
-#: src/modules/lyr_std/shade.cpp:67
+#: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
 msgstr "Árnyék"
 
-#: src/modules/lyr_std/shade.cpp:571
+#: src/modules/lyr_std/shade.cpp:627
 msgid "Size of Shade"
 msgstr "Az árnyék mérete"
 
-#: src/modules/lyr_std/sphere_distort.cpp:73
-#: src/modules/lyr_std/sphere_distort.cpp:172
+#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:167
 msgid "Spherize"
 msgstr "Gömbös torzítás"
 
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/synfig/valuenode_composite.cpp:536
+#: src/modules/lyr_std/sphere_distort.cpp:141
+#: src/synfig/valuenode_composite.cpp:546
 msgid "Position"
 msgstr "Pozíció"
 
-#: src/modules/lyr_std/sphere_distort.cpp:147
+#: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
 msgstr "Ahol a körös torzítás közepe van"
 
-#: src/modules/lyr_std/sphere_distort.cpp:154
+#: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr "A gömbös torzítás mértéke"
 
-#: src/modules/lyr_std/sphere_distort.cpp:160
+#: src/modules/lyr_std/sphere_distort.cpp:155
 msgid "The distortion intensity (negative values inverts effect)"
 msgstr "A torzítás mértéke (negatív értékek invertálják a hatást)"
 
-#: src/modules/lyr_std/sphere_distort.cpp:164 src/modules/lyr_std/warp.cpp:409
+#: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
 msgstr "Vágás"
 
-#: src/modules/lyr_std/sphere_distort.cpp:165
+#: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
 msgstr "Ha bekapcsolt, akkor a sugáron kívüli terület nem lesz torzítva"
 
-#: src/modules/lyr_std/sphere_distort.cpp:169
+#: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
 msgstr "Torzítás-típus"
 
-#: src/modules/lyr_std/sphere_distort.cpp:170
+#: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
 msgstr "A torzítás iránya"
 
-#: src/modules/lyr_std/sphere_distort.cpp:173
+#: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
 msgstr "Függőleges sáv"
 
-#: src/modules/lyr_std/sphere_distort.cpp:174
+#: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
 msgstr "Vízszites sáv"
 
@@ -761,105 +762,105 @@ msgstr "A nyújtás középpontja"
 msgid "Stroboscope"
 msgstr "Sztroboszkóp"
 
-#: src/modules/lyr_std/stroboscope.cpp:102
+#: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
 msgstr "Frekvencia"
 
-#: src/modules/lyr_std/stroboscope.cpp:103
+#: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
 msgstr "A megvilágítás üteme másodpercenkénti gyakoriság "
 
-#: src/modules/lyr_std/supersample.cpp:56
+#: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
 msgstr "Szuper mintázás"
 
-#: src/modules/lyr_std/supersample.cpp:129
+#: src/modules/lyr_std/supersample.cpp:146
 msgid "Unable to create SurfaceTarget"
 msgstr "A SurfaceTarget nem létrehozható"
 
-#: src/modules/lyr_std/supersample.cpp:290
-#: src/modules/lyr_std/curvewarp.cpp:393
-#: src/modules/mod_gradient/curvegradient.cpp:542
-#: src/synfig/valuenode_composite.cpp:514
-#: src/synfig/valuenode_composite.cpp:540
+#: src/modules/lyr_std/supersample.cpp:337
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_composite.cpp:524
+#: src/synfig/valuenode_composite.cpp:550
 #: src/synfig/valuenode_realstring.cpp:180
 #: src/synfig/valuenode_repeat_gradient.cpp:213
 #: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
 msgid "Width"
 msgstr "Szélesség"
 
-#: src/modules/lyr_std/supersample.cpp:291
+#: src/modules/lyr_std/supersample.cpp:338
 msgid "Width of sample area (In pixels)"
 msgstr "A mintaterület szélessége (pixelben)"
 
-#: src/modules/lyr_std/supersample.cpp:294 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
 msgid "Height"
 msgstr "Magasság"
 
-#: src/modules/lyr_std/supersample.cpp:295
+#: src/modules/lyr_std/supersample.cpp:342
 msgid "Height of sample area (In pixels)"
 msgstr "A mintaterület magassága (pixelben)"
 
-#: src/modules/lyr_std/supersample.cpp:298
+#: src/modules/lyr_std/supersample.cpp:345
 msgid "Use Parametric"
 msgstr "Paraméteres"
 
-#: src/modules/lyr_std/supersample.cpp:299
+#: src/modules/lyr_std/supersample.cpp:346
 msgid "Use the Parametric Renderer"
 msgstr "Használjon paraméteres megjelenítőt"
 
-#: src/modules/lyr_std/supersample.cpp:302
+#: src/modules/lyr_std/supersample.cpp:349
 msgid "Be Alpha Safe"
 msgstr "Átlátszóság-biztos"
 
-#: src/modules/lyr_std/supersample.cpp:303
+#: src/modules/lyr_std/supersample.cpp:350
 msgid "Avoid alpha artifacts when checked"
 msgstr "Ha bekapcsolt megelőzi az átlátszósági hibákat"
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:166
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr "Ismétlés"
 
-#: src/modules/lyr_std/timeloop.cpp:124 src/synfig/valuenode_timeloop.cpp:179
+#: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
 msgstr "Kapcsolódási időpont"
 
-#: src/modules/lyr_std/timeloop.cpp:125
+#: src/modules/lyr_std/timeloop.cpp:134
 msgid "Start time of the loop for the cycled context"
 msgstr "Az ismétlődés kezdete az ismétlődő elemekre vonatkozóan"
 
-#: src/modules/lyr_std/timeloop.cpp:129 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr "Helyi időtartam"
 
-#: src/modules/lyr_std/timeloop.cpp:130 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr "Az az időtartam, amikor az eredményül kapott ismétlődés elindul"
 
-#: src/modules/lyr_std/timeloop.cpp:134 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr "Időtartam"
 
-#: src/modules/lyr_std/timeloop.cpp:135 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
 msgid "Lenght of the loop"
 msgstr "Az ismétlődés időtartama"
 
-#: src/modules/lyr_std/timeloop.cpp:139
+#: src/modules/lyr_std/timeloop.cpp:148
 msgid "Only For Positive Duration"
 msgstr "Csak pozitív időtartam"
 
-#: src/modules/lyr_std/timeloop.cpp:140
+#: src/modules/lyr_std/timeloop.cpp:149
 msgid "When checked will loop only positive durations"
 msgstr ""
 "Ha bekapcsolt, akkor az ismétlődés csak pozitív időtartamok esetén indul el"
 
-#: src/modules/lyr_std/timeloop.cpp:144
+#: src/modules/lyr_std/timeloop.cpp:153
 msgid "Symmetrical"
 msgstr "Szimmetrikus"
 
-#: src/modules/lyr_std/timeloop.cpp:145
+#: src/modules/lyr_std/timeloop.cpp:154
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 "Ha bekapcsolt, akkor az ismétlődések a helyi dőre nézve középpontosan "
@@ -889,116 +890,116 @@ msgstr "Ha bekapcsolt, akkor a körön belül pödör"
 msgid "When checked, distorts outside the circle"
 msgstr "Ha bekapcsolt, akkor a körön kívül pödör"
 
-#: src/modules/lyr_std/warp.cpp:56
+#: src/modules/lyr_std/warp.cpp:57
 msgid "Warp"
 msgstr "Kifeszít"
 
-#: src/modules/lyr_std/warp.cpp:374
+#: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
 msgstr "Forrás bal felső"
 
-#: src/modules/lyr_std/warp.cpp:376
+#: src/modules/lyr_std/warp.cpp:382
 msgid "Top Left corner of the source to warp"
 msgstr "A kifeszítendő terület bal felső sarka"
 
-#: src/modules/lyr_std/warp.cpp:380
+#: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
 msgstr "Forrás jobb alsó"
 
-#: src/modules/lyr_std/warp.cpp:381
+#: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
 msgstr "A kifeszítendő terület jobb alsó sarka"
 
-#: src/modules/lyr_std/warp.cpp:385
+#: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
 msgstr "Cél bal felső"
 
-#: src/modules/lyr_std/warp.cpp:387
+#: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
 msgstr "A cél terület bal felső sarka"
 
-#: src/modules/lyr_std/warp.cpp:391
+#: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
 msgstr "Cél jobb alsó"
 
-#: src/modules/lyr_std/warp.cpp:393
+#: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
 msgstr "A cél terület jobb felső sarka"
 
-#: src/modules/lyr_std/warp.cpp:397
+#: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
 msgstr "Cél jobb alsó"
 
-#: src/modules/lyr_std/warp.cpp:399
+#: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
 msgstr "A cél terület bal felső sarka"
 
-#: src/modules/lyr_std/warp.cpp:403
+#: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
 msgstr "Cél bal alsó"
 
-#: src/modules/lyr_std/warp.cpp:405
+#: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
 msgstr "A cél terület bal alsó sarka"
 
-#: src/modules/lyr_std/warp.cpp:413
+#: src/modules/lyr_std/warp.cpp:419
 msgid "Horizon"
 msgstr "Horizont"
 
-#: src/modules/lyr_std/warp.cpp:414
+#: src/modules/lyr_std/warp.cpp:420
 msgid "Height that determines the horizon in perspectives"
 msgstr "Az a magasság, amely a perspektíva horizontját adja meg"
 
-#: src/modules/lyr_std/curvewarp.cpp:55
+#: src/modules/lyr_std/curvewarp.cpp:56
 msgid "Curve Warp"
 msgstr "Íves feszítés"
 
-#: src/modules/lyr_std/curvewarp.cpp:390
-msgid "Position of the source line"
-msgstr "Az ív középpontja"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:395
+#: src/modules/lyr_std/curvewarp.cpp:404
 msgid "How much is expanded the result perpendicular to the source line"
 msgstr ""
 "Az eredményül kapott alakzat milyen mértékben legyen függőleges az ívre"
 
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:407
 msgid "Start Point"
 msgstr "Kezdő pont"
 
-#: src/modules/lyr_std/curvewarp.cpp:400
+#: src/modules/lyr_std/curvewarp.cpp:409
 msgid "First point of the source line"
 msgstr "Az ív első pontja"
 
-#: src/modules/lyr_std/curvewarp.cpp:403
+#: src/modules/lyr_std/curvewarp.cpp:412
 msgid "End Point"
 msgstr "Végpont"
 
-#: src/modules/lyr_std/curvewarp.cpp:404
+#: src/modules/lyr_std/curvewarp.cpp:413
 msgid "Final point of the source line"
 msgstr "Az ív végpontja"
 
-#: src/modules/lyr_std/curvewarp.cpp:407
-#: src/modules/mod_geometry/advanced_outline.cpp:1123
-#: src/modules/mod_geometry/outline.cpp:814
-#: src/modules/mod_geometry/region.cpp:233
-#: src/modules/mod_gradient/curvegradient.cpp:546
-#: src/modules/mod_particle/plant.cpp:391
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
 msgid "Vertices"
 msgstr "Pontok"
 
-#: src/modules/lyr_std/curvewarp.cpp:410
+#: src/modules/lyr_std/curvewarp.cpp:419
 msgid "List of Spline Points where the source line is curved to"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:413
-#: src/modules/mod_geometry/advanced_outline.cpp:1178
-#: src/modules/mod_gradient/curvegradient.cpp:567
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
 msgid "Fast"
 msgstr "Gyors"
 
-#: src/modules/lyr_std/curvewarp.cpp:414
-#: src/modules/mod_gradient/curvegradient.cpp:568
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
 msgid "When checked, renders quickly but with artifacts"
 msgstr "Ha bekapcsolt, gyorsan előállítja az eredményt, de csúnya élekkel"
 
@@ -1006,15 +1007,15 @@ msgstr "Ha bekapcsolt, gyorsan előállítja az eredményt, de csúnya élekkel"
 msgid "XOR Pattern"
 msgstr "Kizáró vagy minta"
 
-#: src/modules/lyr_std/xorpattern.cpp:126
+#: src/modules/lyr_std/xorpattern.cpp:130
 msgid "Center of the pattern"
 msgstr "A minta középpontja"
 
-#: src/modules/lyr_std/xorpattern.cpp:130
+#: src/modules/lyr_std/xorpattern.cpp:134
 msgid "Size of the pattern"
 msgstr "A minta mérete"
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:143
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
 #: src/synfig/valuenode_blinecalctangent.cpp:261
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
 #: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
@@ -1025,7 +1026,7 @@ msgstr "Nagyítás"
 msgid "Amount to scale to"
 msgstr "A nagyítás mértéke"
 
-#: src/modules/lyr_std/zoom.cpp:105
+#: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
 msgstr "A nagyítás kezdőpontja"
 
@@ -1043,22 +1044,22 @@ msgstr "%s nem BMP formátumban van"
 #: src/modules/mod_bmp/mptr_bmp.cpp:150
 #, c-format
 msgid "Failure while reading BITMAPFILEHEADER from %s"
-msgstr "%s: Hiba a BITMAPFILEHEADER olvasása során"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:158
 #, c-format
 msgid "Failure while reading BITMAPINFOHEADER from %s"
-msgstr "%s: Hiba a BITMAPINFOHEADER olvasása során"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:168
 #, c-format
 msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
-msgstr "Rossz  BITMAPFILEHEADER %s fájlban. (bfOffsetBits=%d, %d helyett)"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:176
 #, c-format
 msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
-msgstr "Rossz BITMAPINFOHEADER %s fájlban. (biSize=%d, 40 helyett)"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
 msgid "Reading compressed bitmaps is not supported"
@@ -1093,126 +1094,143 @@ msgstr "Az információs fejrészt nem lehet a fájlba írni"
 msgid "Unable to open pipe to encodedv"
 msgstr "Nem lehet csatlakozni az encodedv-hez"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:201
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:208
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:218
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:272
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-msgid "Unable to open pipe to ffmpeg"
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:214
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no pipe)"
+msgstr "Nem lehet csatlakozni az ffmpeg-hez"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:221
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (pid == -1)"
+msgstr "Nem lehet csatlakozni az ffmpeg-hez"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:231
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
+msgstr "Nem lehet csatlakozni az ffmpeg-hez"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:285
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (exec failed)"
+msgstr "Nem lehet csatlakozni az ffmpeg-hez"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:303
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no file)"
 msgstr "Nem lehet csatlakozni az ffmpeg-hez"
 
-#: src/modules/mod_filter/blur.cpp:68
+#: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
 msgstr "Elmosás"
 
-#: src/modules/mod_filter/blur.cpp:69 src/modules/mod_filter/radialblur.cpp:56
+#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
 #: src/synfig/layer_motionblur.cpp:57
 msgid "Blurs"
 msgstr "Elmosások"
 
-#: src/modules/mod_filter/blur.cpp:373
+#: src/modules/mod_filter/blur.cpp:414
 msgid "Size of Blur"
 msgstr "Az elmosás mérete"
 
-#: src/modules/mod_filter/colorcorrect.cpp:55
+#: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
 msgstr "Színkorrekció"
 
-#: src/modules/mod_filter/colorcorrect.cpp:211
+#: src/modules/mod_filter/colorcorrect.cpp:217
 msgid "Hue Adjust"
 msgstr "Színárnyalat utánaállítása"
 
-#: src/modules/mod_filter/colorcorrect.cpp:215
+#: src/modules/mod_filter/colorcorrect.cpp:221
 msgid "Brightness"
 msgstr "Fényesség"
 
-#: src/modules/mod_filter/colorcorrect.cpp:219
+#: src/modules/mod_filter/colorcorrect.cpp:225
 msgid "Contrast"
 msgstr "Kontraszt"
 
-#: src/modules/mod_filter/colorcorrect.cpp:223
+#: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
 msgstr "Expozíció utánaállítás"
 
-#: src/modules/mod_filter/colorcorrect.cpp:227 src/synfig/layer_bitmap.cpp:179
+#: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
 msgstr "Gamma utánaállítás"
 
-#: src/modules/mod_filter/halftone2.cpp:58
+#: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
 msgstr "Féltónus 2"
 
-#: src/modules/mod_filter/halftone2.cpp:151
+#: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
 msgstr "Maszk középpont"
 
-#: src/modules/mod_filter/halftone2.cpp:155
+#: src/modules/mod_filter/halftone2.cpp:159
 msgid "Mask Angle"
 msgstr "Maszk szög"
 
-#: src/modules/mod_filter/halftone2.cpp:159
-#: src/modules/mod_filter/halftone3.cpp:309
+#: src/modules/mod_filter/halftone2.cpp:163
+#: src/modules/mod_filter/halftone3.cpp:328
 msgid "Mask Size"
 msgstr "Maszk méret"
 
-#: src/modules/mod_filter/halftone2.cpp:164
+#: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
 msgstr "Világos szín"
 
-#: src/modules/mod_filter/halftone2.cpp:167
+#: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
 msgstr "Sötét szín"
 
-#: src/modules/mod_filter/halftone2.cpp:172
-#: src/modules/mod_filter/halftone3.cpp:314
+#: src/modules/mod_filter/halftone2.cpp:176
+#: src/modules/mod_filter/halftone3.cpp:333
 #: src/modules/mod_gradient/conicalgradient.cpp:125
 msgid "Symmetric"
 msgstr "Szimmetrikus"
 
-#: src/modules/mod_filter/halftone2.cpp:173
-#: src/modules/mod_filter/halftone3.cpp:315
+#: src/modules/mod_filter/halftone2.cpp:177
+#: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
 msgstr "Világos a sötéten"
 
-#: src/modules/mod_filter/halftone2.cpp:175
-#: src/modules/mod_filter/halftone3.cpp:317
+#: src/modules/mod_filter/halftone2.cpp:179
+#: src/modules/mod_filter/halftone3.cpp:336
 msgid "Diamond"
 msgstr "Gyémánt"
 
-#: src/modules/mod_filter/halftone2.cpp:176
-#: src/modules/mod_filter/halftone3.cpp:318
+#: src/modules/mod_filter/halftone2.cpp:180
+#: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
 msgstr "Csíkos"
 
-#: src/modules/mod_filter/halftone3.cpp:58
+#: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
 msgstr "Féltónus 3"
 
-#: src/modules/mod_filter/halftone3.cpp:312
+#: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
 msgstr "Típus"
 
-#: src/modules/mod_filter/halftone3.cpp:321
+#: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
 msgstr "Kivonó mód"
 
-#: src/modules/mod_filter/halftone3.cpp:329
+#: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
 msgstr " szín"
 
-#: src/modules/mod_filter/halftone3.cpp:333
+#: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
 msgstr " maszk középpont"
 
-#: src/modules/mod_filter/halftone3.cpp:337
+#: src/modules/mod_filter/halftone3.cpp:356
 msgid " Mask Angle"
 msgstr " maszk szög"
 
-#: src/modules/mod_filter/lumakey.cpp:58
+#: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
 msgstr "Világossági kulcs"
 
-#: src/modules/mod_filter/radialblur.cpp:55
+#: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
 msgstr "Körkörös elmosás"
 
@@ -1234,19 +1252,19 @@ msgstr "Kockás minta"
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:62 src/synfig/layer_solidcolor.cpp:57
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
 msgstr "Geometria"
 
-#: src/modules/mod_geometry/checkerboard.cpp:123
+#: src/modules/mod_geometry/checkerboard.cpp:147
 msgid "Color of checkers"
 msgstr "A kockák színe"
 
-#: src/modules/mod_geometry/checkerboard.cpp:127
+#: src/modules/mod_geometry/checkerboard.cpp:151
 msgid "Center of the checkers"
 msgstr "A kockák közepe"
 
-#: src/modules/mod_geometry/checkerboard.cpp:131
+#: src/modules/mod_geometry/checkerboard.cpp:155
 msgid "Size of checkers"
 msgstr "A kockák mérete"
 
@@ -1254,54 +1272,54 @@ msgstr "A kockák mérete"
 msgid "Circle"
 msgstr "Kör"
 
-#: src/modules/mod_geometry/circle.cpp:134
+#: src/modules/mod_geometry/circle.cpp:152
 msgid "Radius of the circle"
 msgstr "A kör sugara"
 
-#: src/modules/mod_geometry/circle.cpp:138 src/synfig/layer_shape.cpp:1206
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
 msgid "Feather"
 msgstr "Lágy szél"
 
-#: src/modules/mod_geometry/circle.cpp:140
+#: src/modules/mod_geometry/circle.cpp:158
 msgid "Amount of feather of the circle"
 msgstr "A kör finom szélének vastagsága"
 
-#: src/modules/mod_geometry/circle.cpp:148
+#: src/modules/mod_geometry/circle.cpp:166
 msgid "Invert the circle"
 msgstr "Inverz kör"
 
-#: src/modules/mod_geometry/circle.cpp:152
+#: src/modules/mod_geometry/circle.cpp:170
 msgid "Falloff"
 msgstr "Halványítás"
 
-#: src/modules/mod_geometry/circle.cpp:153
+#: src/modules/mod_geometry/circle.cpp:171
 msgid "Determines the falloff function for the feather"
 msgstr "Meghatározza a lágy szél halványítási függvényét"
 
-#: src/modules/mod_geometry/circle.cpp:155
-#: src/modules/mod_noise/distort.cpp:234 src/modules/mod_noise/noise.cpp:275
-#: src/modules/mod_noise/valuenode_random.cpp:288
-#: src/synfig/layer_bitmap.cpp:173 src/synfig/layer_motionblur.cpp:150
-#: src/synfig/valuenode.cpp:139 src/synfig/valuenode_linear.cpp:146
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:289
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
 msgid "Linear"
 msgstr "Lineáris"
 
-#: src/modules/mod_geometry/circle.cpp:156
+#: src/modules/mod_geometry/circle.cpp:174
 msgid "Squared"
 msgstr "Négyzetes"
 
-#: src/modules/mod_geometry/circle.cpp:157
+#: src/modules/mod_geometry/circle.cpp:175
 msgid "Square Root"
 msgstr "Négyzetgyökös"
 
-#: src/modules/mod_geometry/circle.cpp:158
+#: src/modules/mod_geometry/circle.cpp:176
 msgid "Sigmond"
 msgstr "Sigmond"
 
-#: src/modules/mod_geometry/circle.cpp:159
-#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:276
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:174
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:290
+#: src/synfig/layer_bitmap.cpp:170
 msgid "Cosine"
 msgstr "Koszinusz"
 
@@ -1309,161 +1327,161 @@ msgstr "Koszinusz"
 msgid "Advanced Outline"
 msgstr "Fejlettebb kontúr"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:133
+#: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1125
-#: src/modules/mod_geometry/outline.cpp:817
-#: src/modules/mod_geometry/region.cpp:235
-#: src/modules/mod_gradient/curvegradient.cpp:549
-#: src/modules/mod_particle/plant.cpp:392
+#: src/modules/mod_geometry/advanced_outline.cpp:1136
+#: src/modules/mod_geometry/outline.cpp:826
+#: src/modules/mod_geometry/region.cpp:240
+#: src/modules/mod_gradient/curvegradient.cpp:562
+#: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1129
-#: src/modules/mod_geometry/outline.cpp:831
+#: src/modules/mod_geometry/advanced_outline.cpp:1140
+#: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
 msgstr "Kontúr szélesség"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1130
-#: src/modules/mod_geometry/outline.cpp:832
+#: src/modules/mod_geometry/advanced_outline.cpp:1141
+#: src/modules/mod_geometry/outline.cpp:841
 msgid "Global width of the outline"
 msgstr "A kontúr globális szélessége"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:837
+#: src/modules/mod_geometry/advanced_outline.cpp:1145
+#: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
 msgstr "Kibővítés"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1135
-#: src/modules/mod_geometry/outline.cpp:838
+#: src/modules/mod_geometry/advanced_outline.cpp:1146
+#: src/modules/mod_geometry/outline.cpp:847
 msgid "Value to add to the global width"
 msgstr "Az az érték, amelyet a globális szélességhez hozzá kell adni"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1138
+#: src/modules/mod_geometry/advanced_outline.cpp:1149
 msgid "Tip Type at Start"
 msgstr "A kezdeti vonalvég"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1139
+#: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1141
-#: src/modules/mod_geometry/advanced_outline.cpp:1150
-#: src/synfig/valuenode_composite.cpp:548
+#: src/modules/mod_geometry/advanced_outline.cpp:1152
+#: src/modules/mod_geometry/advanced_outline.cpp:1161
 #: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:587
-#: src/synfig/valuenode_composite.cpp:596
+#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:606
 msgid "Rounded Stop"
 msgstr "Kerekített vég"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1142
-#: src/modules/mod_geometry/advanced_outline.cpp:1151
-#: src/synfig/valuenode_composite.cpp:549
+#: src/modules/mod_geometry/advanced_outline.cpp:1153
+#: src/modules/mod_geometry/advanced_outline.cpp:1162
 #: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:588
-#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:607
 msgid "Squared Stop"
 msgstr "Négyzete vég"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1143
-#: src/modules/mod_geometry/advanced_outline.cpp:1152
-#: src/synfig/valuenode_composite.cpp:550
+#: src/modules/mod_geometry/advanced_outline.cpp:1154
+#: src/modules/mod_geometry/advanced_outline.cpp:1163
 #: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:570
+#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:608
 msgid "Peak Stop"
 msgstr "Csúcsos vég"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1144
-#: src/modules/mod_geometry/advanced_outline.cpp:1153
-#: src/synfig/valuenode_composite.cpp:551
+#: src/modules/mod_geometry/advanced_outline.cpp:1155
+#: src/modules/mod_geometry/advanced_outline.cpp:1164
 #: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:590
-#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:571
+#: src/synfig/valuenode_composite.cpp:600
+#: src/synfig/valuenode_composite.cpp:609
 msgid "Flat Stop"
 msgstr "Lapos vég"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1147
+#: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
 msgstr "A befejező vonalvég"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1148
+#: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1156
+#: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
 msgstr "Fordulópontok típusa"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1157
-#: src/modules/mod_geometry/outline.cpp:843
+#: src/modules/mod_geometry/advanced_outline.cpp:1168
+#: src/modules/mod_geometry/outline.cpp:852
 msgid "Determines cusp type"
 msgstr "Meghatározza a fordulópontok típusát"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1159
+#: src/modules/mod_geometry/advanced_outline.cpp:1170
 msgid "Sharp"
 msgstr "Éles"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1160
+#: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
 msgstr "Kerekített"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1164
+#: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
 msgstr "Simaság"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1165
+#: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
 msgstr "A szélességi pontok közötti interpolációt határozza meg."
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1168
-#: src/modules/mod_geometry/outline.cpp:859
+#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/outline.cpp:869
 #: src/synfig/valuenode_blinecalctangent.cpp:271
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
 msgstr "Homogén"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1169
+#: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
+#: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
 msgstr "Szélesség pont lista"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1175
+#: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
 msgstr ""
 "A szélességi pontok listája, amelyek a változó szélességet határozzák meg"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
 msgstr "Ha bejelölt, akkor a kontúr gyorsabban jelenik meg, de kevésbé pontos"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1182
+#: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
 msgstr "Vonalkázott kontúr"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1184
+#: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
 msgstr "Ha bejelölt, akkor a kontúr vonalkázott"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1187
+#: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
 msgstr "Vonalkák listája"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1190
+#: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
 msgstr "A vonalkák listája, amelyek a vonalkázott kontúr alkotják"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1193
+#: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
 msgstr "Vonalkák eltolási értéke"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1196
+#: src/modules/mod_geometry/advanced_outline.cpp:1207
 msgid "Distance to Offset the Dash Items"
 msgstr "A távolság, amellyel a vonalkákat el kell tolni"
 
@@ -1471,32 +1489,36 @@ msgstr "A távolság, amellyel a vonalkákat el kell tolni"
 msgid "Outline"
 msgstr "Kontúr"
 
-#: src/modules/mod_geometry/outline.cpp:183
+#: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
 msgstr "Nincsenek pontok a kontúron"
 
-#: src/modules/mod_geometry/outline.cpp:842
+#: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
 msgstr "Éles fordulópontok"
 
-#: src/modules/mod_geometry/outline.cpp:847
+#: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
 msgstr "Kerekített kezdet"
 
-#: src/modules/mod_geometry/outline.cpp:848
-#: src/modules/mod_geometry/outline.cpp:853
+#: src/modules/mod_geometry/outline.cpp:857
+#: src/modules/mod_geometry/outline.cpp:862
 msgid "Round off the tip"
 msgstr "Lekerekíti a vonalvéget"
 
-#: src/modules/mod_geometry/outline.cpp:852
+#: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
 msgstr "Kerekített befejezés"
 
-#: src/modules/mod_geometry/outline.cpp:856
+#: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
 msgstr "Folytonosság"
 
-#: src/modules/mod_geometry/outline.cpp:860
+#: src/modules/mod_geometry/outline.cpp:866
+msgid "(Currently not used)"
+msgstr ""
+
+#: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
 msgstr ""
 "Ha bejelölt, akkor a kontúr szélességét az egész bvonalat figyelembe véve "
@@ -1506,11 +1528,11 @@ msgstr ""
 msgid "Rectangle"
 msgstr "Téglalap"
 
-#: src/modules/mod_geometry/rectangle.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
 msgstr "Kiterjesztés mértéke"
 
-#: src/modules/mod_geometry/rectangle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
 msgstr "Invertálja a téglalapot"
 
@@ -1522,46 +1544,46 @@ msgstr "Régió"
 msgid "Star"
 msgstr "Csillag"
 
-#: src/modules/mod_geometry/star.cpp:183
+#: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
 msgstr "Külső sugár"
 
-#: src/modules/mod_geometry/star.cpp:184
+#: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
 msgstr "Sugár a csillag külső pontjainak meghatározásához"
 
-#: src/modules/mod_geometry/star.cpp:190
+#: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
 msgstr "Belső sugár"
 
-#: src/modules/mod_geometry/star.cpp:191
+#: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
 msgstr "Sugár a csillag belső pontjainak meghatározásához"
 
-#: src/modules/mod_geometry/star.cpp:197
+#: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:129
+#: src/modules/mod_gradient/spiralgradient.cpp:130
 #: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr "Szög"
 
-#: src/modules/mod_geometry/star.cpp:198
+#: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr "A csillag iránya"
 
-#: src/modules/mod_geometry/star.cpp:203 src/synfig/distance.cpp:251
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
 msgid "Points"
 msgstr "Pontok"
 
-#: src/modules/mod_geometry/star.cpp:204
+#: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
 msgstr "A csillag pontjainak száma"
 
-#: src/modules/mod_geometry/star.cpp:208
+#: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
 msgstr "Szabályos sokszög"
 
-#: src/modules/mod_geometry/star.cpp:209
+#: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr "Ha bejelölt, akkor csillag helyett szabályos sokszöget rajzol"
 
@@ -1579,20 +1601,20 @@ msgid "Conical Gradient"
 msgstr "Kúpos színátmenet"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
-#: src/modules/mod_gradient/curvegradient.cpp:61
+#: src/modules/mod_gradient/curvegradient.cpp:62
 #: src/modules/mod_gradient/lineargradient.cpp:55
 #: src/modules/mod_gradient/radialgradient.cpp:58
-#: src/modules/mod_gradient/spiralgradient.cpp:57
-#: src/modules/mod_noise/noise.cpp:58
+#: src/modules/mod_gradient/spiralgradient.cpp:58
+#: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
 msgstr "Színátmenetek"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
-#: src/modules/mod_gradient/curvegradient.cpp:553
-#: src/modules/mod_gradient/lineargradient.cpp:200
+#: src/modules/mod_gradient/curvegradient.cpp:566
+#: src/modules/mod_gradient/lineargradient.cpp:195
 #: src/modules/mod_gradient/radialgradient.cpp:114
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:260
+#: src/modules/mod_gradient/spiralgradient.cpp:114
+#: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
 msgstr "Az alkalmazandó színátmenet"
 
@@ -1605,27 +1627,27 @@ msgid "Rotation of the gradient around the center"
 msgstr "A színátmenet forgatása a középpont körül"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
-#: src/modules/mod_gradient/curvegradient.cpp:557
-#: src/modules/mod_gradient/lineargradient.cpp:204
+#: src/modules/mod_gradient/curvegradient.cpp:570
+#: src/modules/mod_gradient/lineargradient.cpp:199
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr "Ha bejelölt, akkor a színátmenet folyamatos lesz"
 
-#: src/modules/mod_gradient/curvegradient.cpp:60
+#: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
 msgstr "Ívelt színátmenet"
 
-#: src/modules/mod_gradient/curvegradient.cpp:538
-#: src/modules/mod_particle/plant.cpp:399
+#: src/modules/mod_gradient/curvegradient.cpp:551
+#: src/modules/mod_particle/plant.cpp:432
 msgid "Offset for the Vertices List"
 msgstr "A pontok listájára alkalmazandó eltolás"
 
-#: src/modules/mod_gradient/curvegradient.cpp:543
+#: src/modules/mod_gradient/curvegradient.cpp:556
 msgid "Global width of the gradient"
 msgstr "A gradiens globális szélessége"
 
-#: src/modules/mod_gradient/curvegradient.cpp:556
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/curvegradient.cpp:569
+#: src/modules/mod_gradient/lineargradient.cpp:198
 #: src/modules/mod_gradient/radialgradient.cpp:130
 #: src/synfig/valuenode_blinecalctangent.cpp:246
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
@@ -1633,19 +1655,19 @@ msgstr "A gradiens globális szélessége"
 msgid "Loop"
 msgstr "Ismétlődő"
 
-#: src/modules/mod_gradient/curvegradient.cpp:560
-#: src/modules/mod_gradient/lineargradient.cpp:207
+#: src/modules/mod_gradient/curvegradient.cpp:573
+#: src/modules/mod_gradient/lineargradient.cpp:202
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr "Cikk-cakk"
 
-#: src/modules/mod_gradient/curvegradient.cpp:561
-#: src/modules/mod_gradient/lineargradient.cpp:208
+#: src/modules/mod_gradient/curvegradient.cpp:574
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:136
 msgid "When checked the gradient is summetrical at the center"
 msgstr "Ha bejelölt, akkor a színátmenet szimmetrikus az ívre"
 
-#: src/modules/mod_gradient/curvegradient.cpp:564
+#: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
 msgstr "Merőleges"
 
@@ -1653,11 +1675,11 @@ msgstr "Merőleges"
 msgid "Linear Gradient"
 msgstr "Lineáris színátmenet"
 
-#: src/modules/mod_gradient/lineargradient.cpp:192
+#: src/modules/mod_gradient/lineargradient.cpp:187
 msgid "Start point of the gradient"
 msgstr "A színátmenet kezdőpontja"
 
-#: src/modules/mod_gradient/lineargradient.cpp:196
+#: src/modules/mod_gradient/lineargradient.cpp:191
 msgid "End point of the gradient"
 msgstr "A színátmenet végpontja"
 
@@ -1666,23 +1688,23 @@ msgid "Radial Gradient"
 msgstr "Körkörös színátmenet"
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:119
 msgid "Center of the gradient"
 msgstr "A színátmenet középpontja"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:56
+#: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
 msgstr "Spirális színátmenet"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:130
+#: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
 msgstr "A spirál elforgatásának szöge"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:135
+#: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
 msgstr "Órajárással egyezően"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:136
+#: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
 msgstr "Ha bejelölt, aspirál az órajárással egyezően fordul"
 
@@ -1695,13 +1717,15 @@ msgstr "Nincs megnyitandó fájl"
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/listimporter.cpp:184 src/synfig/listimporter.cpp:185
+#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
+#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
 msgid "Unable to open "
 msgstr "Nem lehet megnyitni"
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/listimporter.cpp:191 src/synfig/listimporter.cpp:192
+#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
+#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
 msgid "Unable to get frame from "
 msgstr "Nem lehet a képkockát kiolvasni"
 
@@ -1739,117 +1763,117 @@ msgstr "Korai fájlvég"
 msgid "Unable to open pipe to imagemagick's convert utility"
 msgstr "Nem lehet az imagemagick konvertáló segédletét megnyitni"
 
-#: src/modules/mod_noise/distort.cpp:57
+#: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
 msgstr "Zaj-torzítás"
 
-#: src/modules/mod_noise/distort.cpp:217
+#: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
 msgstr "Elmozdítás"
 
-#: src/modules/mod_noise/distort.cpp:218
+#: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
 msgstr "Milyen mértékben mozdítsa el a környezetet a torzítás"
 
-#: src/modules/mod_noise/distort.cpp:223
+#: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
 msgstr "A torzítások közötti távolság"
 
-#: src/modules/mod_noise/distort.cpp:226 src/modules/mod_noise/noise.cpp:263
+#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
 msgstr "Véletlen zaj kezdőérték"
 
-#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:264
+#: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
 msgstr ""
 "Az érték megváltoztatásával, megváltozik a véletlen zaj generálásához "
 "használt kezdőérték"
 
-#: src/modules/mod_noise/distort.cpp:230 src/modules/mod_noise/noise.cpp:271
-#: src/modules/mod_noise/valuenode_random.cpp:284
-#: src/synfig/layer_bitmap.cpp:169
+#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr "Interpoláció"
 
-#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
-#: src/synfig/layer_bitmap.cpp:170
+#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
+#: src/synfig/layer_bitmap.cpp:166
 msgid "What type of interpolation to use"
 msgstr "Milyen interpolációt használjunk"
 
-#: src/modules/mod_noise/distort.cpp:233 src/modules/mod_noise/noise.cpp:274
-#: src/synfig/layer_bitmap.cpp:172
+#: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
+#: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
 msgstr "Legközelebbi szomszéd"
 
-#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:277
-#: src/modules/mod_noise/valuenode_random.cpp:290 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_bline.cpp:1001
+#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
+#: src/synfig/valuenode_bline.cpp:1006
 #: src/synfig/valuenode_blinecalctangent.cpp:241
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr "Spline"
 
-#: src/modules/mod_noise/distort.cpp:237 src/modules/mod_noise/noise.cpp:278
-#: src/modules/mod_noise/valuenode_random.cpp:291
-#: src/synfig/layer_bitmap.cpp:175
+#: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr "Köbös"
 
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:281
+#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
 msgstr "Részletezettség"
 
-#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:282
+#: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
 msgstr "Magasabb érték, a zaj finomabb részletezettségét eredményezi"
 
-#: src/modules/mod_noise/distort.cpp:244 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
 msgstr "Animáció sebesség"
 
-#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
 msgstr "Ciklus/másodpercben"
 
-#: src/modules/mod_noise/distort.cpp:248 src/modules/mod_noise/noise.cpp:289
+#: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
 msgstr "Turbulens"
 
-#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:290
+#: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
 msgstr "Ha bejelölt, akkor turbulens zajt hoz létre"
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:183
+#: src/modules/mod_noise/valuenode_random.cpp:184
 msgid "Random"
 msgstr "Véletlenszerű"
 
-#: src/modules/mod_noise/noise.cpp:57
+#: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
 msgstr "Zaj színátmenet"
 
-#: src/modules/mod_noise/noise.cpp:268
+#: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
 msgstr "A zaj mérete"
 
-#: src/modules/mod_noise/noise.cpp:293
+#: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
 msgstr "Átlátszóság is"
 
-#: src/modules/mod_noise/noise.cpp:294
+#: src/modules/mod_noise/noise.cpp:303
 msgid "Uses transparency"
 msgstr "Használjon átlátszóságot is"
 
-#: src/modules/mod_noise/noise.cpp:297
+#: src/modules/mod_noise/noise.cpp:306
 msgid "Super Sampling"
 msgstr "Szuper mintavételezés"
 
-#: src/modules/mod_noise/noise.cpp:298
+#: src/modules/mod_noise/noise.cpp:307
 msgid "When checked the gradient is supersampled"
 msgstr "Ha bejelölt, akkor a színátmenet szuper mintavételezett"
 
-#: src/modules/mod_noise/valuenode_random.cpp:264
+#: src/modules/mod_noise/valuenode_random.cpp:265
 #: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
 #: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
 #: src/synfig/valuenode_reciprocal.cpp:165
@@ -1858,107 +1882,107 @@ msgstr "Ha bejelölt, akkor a színátmenet szuper mintavételezett"
 msgid "Link"
 msgstr "Csatol"
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "The value node source that provides the central value"
 msgstr "A érték csomópont forrás, amely a középponti értéket adja"
 
-#: src/modules/mod_noise/valuenode_random.cpp:270
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid "The value of the maximum random difference"
 msgstr "A maximális véletlen különbség értéke"
 
-#: src/modules/mod_noise/valuenode_random.cpp:274
-#: src/modules/mod_particle/plant.cpp:450
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr "Kiinduló érték"
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:276
 msgid "Seeds the random number generator"
 msgstr "A véletlen szám generátor kiinduló értéke"
 
-#: src/modules/mod_noise/valuenode_random.cpp:279
+#: src/modules/mod_noise/valuenode_random.cpp:280
 msgid "Speed"
 msgstr "Sebesség"
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:281
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 "Meghatározza, hogy milyen gyakran választunk új véletlen értéket "
 "(választások száma per másodperc)"
 
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:286
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 "Meghatározza, hogyan interpolálódik az érték az egyik véletlen választástól "
 "a következőig"
 
-#: src/modules/mod_noise/valuenode_random.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:288
 msgid "No interpolation"
 msgstr "Nincs interpoláció"
 
-#: src/modules/mod_noise/valuenode_random.cpp:296
+#: src/modules/mod_noise/valuenode_random.cpp:297
 msgid "Loop Time"
 msgstr "Ciklus idő"
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:298
 msgid "Makes the random value repeat after the given time"
 msgstr "A véletlenszerű érték ezen idő elteltével újra ismétlődik"
 
-#: src/modules/mod_particle/plant.cpp:69
+#: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
 msgstr "Növény"
 
-#: src/modules/mod_particle/plant.cpp:404
+#: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
 msgstr "A növény színezésére használt színátmenet"
 
-#: src/modules/mod_particle/plant.cpp:408
+#: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
 msgstr "Vágószög"
 
-#: src/modules/mod_particle/plant.cpp:409
+#: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
 msgstr "Az a szög amellyel minden vágás elhajlik a szülőtől"
 
-#: src/modules/mod_particle/plant.cpp:413
+#: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
 msgstr "Gravitáció"
 
-#: src/modules/mod_particle/plant.cpp:414
+#: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
 msgstr "Az az irány amerre a hajtások nőnek"
 
-#: src/modules/mod_particle/plant.cpp:419
+#: src/modules/mod_particle/plant.cpp:452
 msgid "Tangential Velocity"
 msgstr "Tangens sebesség"
 
-#: src/modules/mod_particle/plant.cpp:420
+#: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:424
+#: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
 msgstr "Merőleges sebesség"
 
-#: src/modules/mod_particle/plant.cpp:425
+#: src/modules/mod_particle/plant.cpp:458
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:429
+#: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
 msgstr "Hajtás méret"
 
-#: src/modules/mod_particle/plant.cpp:430
+#: src/modules/mod_particle/plant.cpp:463
 msgid "Size of the stem"
 msgstr "A hajtások mérete"
 
-#: src/modules/mod_particle/plant.cpp:435
+#: src/modules/mod_particle/plant.cpp:468
 msgid "Size As Alpha"
 msgstr "Átlátszóság mint méret"
 
-#: src/modules/mod_particle/plant.cpp:436
+#: src/modules/mod_particle/plant.cpp:469
 msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
@@ -1966,67 +1990,67 @@ msgstr ""
 "Ha bejelölt, akkor a hajtás mérete szorzódik a színátmenet átlátszósági "
 "értékével, és a megjelenítéskor 1.0 átlátszósági érték használatos"
 
-#: src/modules/mod_particle/plant.cpp:440
+#: src/modules/mod_particle/plant.cpp:473
 msgid "Reverse"
 msgstr "Visszafelé"
 
-#: src/modules/mod_particle/plant.cpp:441
+#: src/modules/mod_particle/plant.cpp:474
 msgid "If enabled, render the plant in the opposite direction"
 msgstr "Ha bejelölt, akkor a növény az ellenkező irányba nő"
 
-#: src/modules/mod_particle/plant.cpp:445 src/synfig/valuenode.cpp:170
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
 #: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
 msgid "Step"
 msgstr "Lépésköz"
 
-#: src/modules/mod_particle/plant.cpp:446
+#: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
 msgstr "A megjelenítéskor mennyi legyen a pontok közötti távolság"
 
-#: src/modules/mod_particle/plant.cpp:451
+#: src/modules/mod_particle/plant.cpp:484
 msgid "Used to seed the pseudo-random number generator"
 msgstr "A pszeudo-véletlen számnak adott kezdőérték"
 
-#: src/modules/mod_particle/plant.cpp:455
+#: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
 msgstr "Elágazások"
 
-#: src/modules/mod_particle/plant.cpp:456
+#: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
 msgstr "Maximum hányszor tud egy hajtás rekurzívan hatást növeszteni"
 
-#: src/modules/mod_particle/plant.cpp:460
+#: src/modules/mod_particle/plant.cpp:493
 msgid "Sprouts"
 msgstr "Hajtások"
 
-#: src/modules/mod_particle/plant.cpp:461
+#: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:465
+#: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
 msgstr "Véletlenszerűség mértéke"
 
-#: src/modules/mod_particle/plant.cpp:466
+#: src/modules/mod_particle/plant.cpp:499
 msgid ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 msgstr ""
 "Minden véletlenszerű hatás gyengítésére szolgál. Ha 0 akkor semmilyen "
 "véletlenszerű hatás nincs"
 
-#: src/modules/mod_particle/plant.cpp:470
+#: src/modules/mod_particle/plant.cpp:503
 msgid "Drag"
 msgstr "Lassítás"
 
-#: src/modules/mod_particle/plant.cpp:471
+#: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
 msgstr "A lassítás a növekedést lassítja"
 
-#: src/modules/mod_particle/plant.cpp:475
+#: src/modules/mod_particle/plant.cpp:508
 msgid "Use Width"
 msgstr "Használjon szélességet"
 
-#: src/modules/mod_particle/plant.cpp:476
+#: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
@@ -2035,97 +2059,102 @@ msgstr ""
 msgid "%s was not in PPM format"
 msgstr "%s nincs PPM formátumban"
 
-#: src/synfig/cairoimporter.cpp:87 src/synfig/importer.cpp:87
+#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
 msgid "Importer::open(): Cannot open empty filename"
 msgstr "Importer::open(): Nem lehet üres fájlnevet megnyitni"
 
-#: src/synfig/cairoimporter.cpp:101 src/synfig/importer.cpp:101
+#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
 msgid "Importer::open(): Couldn't find extension"
 msgstr "Importer::open(): a kiterjesztés nem található"
 
-#: src/synfig/cairoimporter.cpp:112 src/synfig/importer.cpp:112
+#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
 msgid "Importer::open(): Unknown file type -- "
 msgstr "Importer::open(): Ismeretlen fájltípus"
 
-#: src/synfig/canvas.cpp:798 src/synfig/canvas.cpp:863
-#: src/synfig/canvas.cpp:886
+#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
+#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+msgid "No images in list"
+msgstr "A listában nincsenek képek"
+
+#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
+#: src/synfig/canvas.cpp:927
 msgid "in line"
 msgstr "egy vonalban"
 
-#: src/synfig/distance.cpp:249
+#: src/synfig/distance.cpp:251
 msgid "Units"
 msgstr "Mértékegységek"
 
-#: src/synfig/distance.cpp:250
+#: src/synfig/distance.cpp:252
 msgid "Pixels"
 msgstr "Pixelek"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:254
 msgid "Inches"
 msgstr "Hüvelykek"
 
-#: src/synfig/distance.cpp:253
+#: src/synfig/distance.cpp:255
 msgid "Meters"
 msgstr "Méterek"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:256
 msgid "Millimeters"
 msgstr "Milliméterek"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:257
 msgid "Centimeters"
 msgstr "Centiméterek"
 
-#: src/synfig/layer.cpp:565 src/synfig/layer_composite.cpp:128
+#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
 msgid "Unable to create surface target"
 msgstr "Nem lehet létrehozni a felület célt"
 
-#: src/synfig/layer.cpp:619
+#: src/synfig/layer.cpp:605
 msgid "Z Depth"
 msgstr "Z mélység"
 
-#: src/synfig/layer.cpp:621
+#: src/synfig/layer.cpp:607
 msgid "Modifies the position of the layer in the layer stack"
 msgstr "A réteg rétegek közötti pozícióját módosítja"
 
-#: src/synfig/layer_bitmap.cpp:159
+#: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
 msgstr "Bal felső"
 
-#: src/synfig/layer_bitmap.cpp:160
+#: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
 msgstr "A kép bal felső sarka"
 
-#: src/synfig/layer_bitmap.cpp:164
+#: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
 msgstr "Jobb alsó"
 
-#: src/synfig/layer_bitmap.cpp:165
+#: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
 msgstr "A kép jobb alsó sarka"
 
-#: src/synfig/layer_composite.cpp:218
+#: src/synfig/layer_composite.cpp:250
 msgid "Alpha channel of the layer"
 msgstr "A réteg átlátszósága"
 
-#: src/synfig/layer_composite.cpp:221 src/synfig/paramdesc.cpp:62
+#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr "Kompozíciós metódus"
 
-#: src/synfig/layer_composite.cpp:222
+#: src/synfig/layer_composite.cpp:254
 msgid "The blending method used to composite on the layers below"
 msgstr "Az a metódus, ahogyan a rétegekből előállítsuk a végleges képet"
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:168
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
 #: src/synfig/valuenode_duplicate.cpp:174
 msgid "Duplicate"
 msgstr "Megkettőz"
 
-#: src/synfig/layer_duplicate.cpp:148
+#: src/synfig/layer_duplicate.cpp:151
 msgid "Index"
 msgstr "Sorszám"
 
-#: src/synfig/layer_duplicate.cpp:149
+#: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
 msgstr "Sorszám másolása"
 
@@ -2137,156 +2166,156 @@ msgstr "[MIME]"
 msgid "Motion Blur"
 msgstr "Mozgási elmosódás"
 
-#: src/synfig/layer_motionblur.cpp:136
+#: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
 msgstr "Rekesznyílás"
 
-#: src/synfig/layer_motionblur.cpp:137
+#: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
 msgstr "Zársebesség"
 
-#: src/synfig/layer_motionblur.cpp:141
+#: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
 msgstr "Almintavételezési faktor"
 
-#: src/synfig/layer_motionblur.cpp:142
+#: src/synfig/layer_motionblur.cpp:141
 msgid "Multiplies The Number Of Subsamples Rendered"
 msgstr "A megjelenített almintavételezések számát szorozza meg"
 
-#: src/synfig/layer_motionblur.cpp:146
+#: src/synfig/layer_motionblur.cpp:145
 msgid "Subsampling Type"
 msgstr "Almintavételezési típus"
 
-#: src/synfig/layer_motionblur.cpp:147
+#: src/synfig/layer_motionblur.cpp:146
 msgid "Curve Type For Weighting Subsamples"
 msgstr "Az almintavételezések súlyozásához használt görbe típusa"
 
-#: src/synfig/layer_motionblur.cpp:149 src/synfig/valuenode_const.cpp:127
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
 msgid "Constant"
 msgstr "Konstans"
 
-#: src/synfig/layer_motionblur.cpp:151
+#: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
 msgstr "Hiperbolikus"
 
-#: src/synfig/layer_motionblur.cpp:155
+#: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
 msgstr "Kezdeti almintavételezések száma"
 
-#: src/synfig/layer_motionblur.cpp:156
+#: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
 msgstr "Az első alminta relatív mennyisége, lineáris súlyozáshoz"
 
-#: src/synfig/layer_motionblur.cpp:160
+#: src/synfig/layer_motionblur.cpp:159
 msgid "Subsample End Amount"
 msgstr "Végső almintavételezések száma"
 
-#: src/synfig/layer_motionblur.cpp:161
+#: src/synfig/layer_motionblur.cpp:160
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr "Az utolsó alminta relatív mennyisége, lineáris súlyozáshoz"
 
-#: src/synfig/layer_pastecanvas.cpp:78 src/synfig/layer_pastecanvas.cpp:120
-#: src/synfig/layer_pastecanvas.cpp:121
+#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
+#: src/synfig/layer_pastecanvas.cpp:124
 msgid "Group"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:137
+#: src/synfig/layer_pastecanvas.cpp:140
 msgid "Canvas"
 msgstr "Vászon"
 
-#: src/synfig/layer_pastecanvas.cpp:138
+#: src/synfig/layer_pastecanvas.cpp:141
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:144
 msgid "Zoom"
 msgstr "Nagyít"
 
-#: src/synfig/layer_pastecanvas.cpp:142
+#: src/synfig/layer_pastecanvas.cpp:145
 msgid "Size of canvas"
 msgstr "A vászon mérete"
 
-#: src/synfig/layer_pastecanvas.cpp:147
+#: src/synfig/layer_pastecanvas.cpp:152
 msgid "Time Offset to apply to the context"
 msgstr "A környezetre alkalmazandó időeltolás"
 
-#: src/synfig/layer_pastecanvas.cpp:151
+#: src/synfig/layer_pastecanvas.cpp:156
 msgid "Children Lock"
 msgstr "Gyermekzár"
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:157
 msgid "When checked prevents to select the children using the mouse click"
 msgstr "Ha bejelölt, akkor a gyerekeket nem lehet kiválasztani egér klikkel"
 
-#: src/synfig/layer_pastecanvas.cpp:156
+#: src/synfig/layer_pastecanvas.cpp:162
 msgid "Focus Point"
 msgstr "Fókuszpont"
 
-#: src/synfig/layer_pastecanvas.cpp:159
+#: src/synfig/layer_pastecanvas.cpp:165
 msgid "Point to remain fixed when zooming"
 msgstr "Az a pont, amely nagyításkor rögzített marad"
 
-#: src/synfig/layer_pastecanvas.cpp:164
+#: src/synfig/layer_pastecanvas.cpp:170
 msgid "Outline Grow"
 msgstr "Kontúr növelés"
 
-#: src/synfig/layer_pastecanvas.cpp:165
+#: src/synfig/layer_pastecanvas.cpp:171
 msgid "Exponential value to grow children Outline layers width"
 msgstr "A gyermek kontúr rétegek növeléséhet használt exponenciális érték"
 
-#: src/synfig/layer_pastecanvas.cpp:180
+#: src/synfig/layer_pastecanvas.cpp:186
 msgid "Current Time"
 msgstr "Aktuális idő"
 
-#: src/synfig/layer_polygon.cpp:61
+#: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
 msgstr "Sokszög"
 
-#: src/synfig/layer_polygon.cpp:187
+#: src/synfig/layer_polygon.cpp:194
 msgid "Vertices List"
 msgstr "Pont lista"
 
-#: src/synfig/layer_polygon.cpp:188
+#: src/synfig/layer_polygon.cpp:195
 msgid "Define the corners of the polygon"
 msgstr "Meghatározza a sokszög sarokpontjait"
 
-#: src/synfig/layer_shape.cpp:64
+#: src/synfig/layer_shape.cpp:66
 msgid "Shape"
 msgstr "Alak"
 
-#: src/synfig/layer_shape.cpp:65
+#: src/synfig/layer_shape.cpp:67
 msgid "Internal"
 msgstr "Belső"
 
-#: src/synfig/layer_shape.cpp:1194
+#: src/synfig/layer_shape.cpp:1222
 msgid "Layer_Shape Color"
 msgstr "A réteg alakzatának színe"
 
-#: src/synfig/layer_shape.cpp:1203
+#: src/synfig/layer_shape.cpp:1231
 msgid "Antialiasing"
 msgstr "Élsimítás"
 
-#: src/synfig/layer_shape.cpp:1210
+#: src/synfig/layer_shape.cpp:1238
 msgid "Type of Feather"
 msgstr "Lágy szél típus"
 
-#: src/synfig/layer_shape.cpp:1211
+#: src/synfig/layer_shape.cpp:1239
 msgid "Type of feathering to use"
 msgstr "A lágy szél típusának meghatározása"
 
-#: src/synfig/layer_shape.cpp:1220
+#: src/synfig/layer_shape.cpp:1248
 msgid "Winding Style"
 msgstr "Kitöltési stílus"
 
-#: src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_shape.cpp:1249
 msgid "Winding style to use"
 msgstr "A használandó kitöltési stílus"
 
-#: src/synfig/layer_shape.cpp:1223
+#: src/synfig/layer_shape.cpp:1251
 msgid "Non Zero"
 msgstr "Nem nulla"
 
-#: src/synfig/layer_shape.cpp:1224
+#: src/synfig/layer_shape.cpp:1252
 msgid "Even/Odd"
 msgstr "Páros/páratlan"
 
@@ -2294,68 +2323,65 @@ msgstr "Páros/páratlan"
 msgid "Solid Color"
 msgstr "Homogén szín"
 
-#: src/synfig/listimporter.cpp:161 src/synfig/listimporter.cpp:162
-msgid "No images in list"
-msgstr "A listában nincsenek képek"
-
-#: src/synfig/loadcanvas.cpp:142
+#: src/synfig/loadcanvas.cpp:143
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr "'%s' nem lehet rekurzívan betölteni"
 
-#: src/synfig/loadcanvas.cpp:185
+#: src/synfig/loadcanvas.cpp:186
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr "Váratlan elem <%s>, várt <%s>"
 
-#: src/synfig/loadcanvas.cpp:191
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr "Váratlan elem <%s>"
 
-#: src/synfig/loadcanvas.cpp:205
+#: src/synfig/loadcanvas.cpp:206
 msgid "Too many warnings"
 msgstr "Túl sok figyelmeztető üzenet"
 
-#: src/synfig/loadcanvas.cpp:236
+#: src/synfig/loadcanvas.cpp:237
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr "<%s>-ból hiányzó \"%s\" attribútum"
 
 #: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:469
-#: src/synfig/loadcanvas.cpp:1118
+#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
+#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr "<%s> nem tartalmazhat semmit"
 
 #: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:473
-#: src/synfig/loadcanvas.cpp:1122
+#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
+#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr "<%s>-ból hiányzik a \"value\" attribútum"
 
-#: src/synfig/loadcanvas.cpp:484 src/synfig/loadcanvas.cpp:1144
+#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
+#: src/synfig/loadcanvas.cpp:1200
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr "Hibás érték \"%s\" <%s>-ban"
 
-#: src/synfig/loadcanvas.cpp:508
+#: src/synfig/loadcanvas.cpp:533
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr "<%s>-ből hiányzik a \"pos\" attribútum"
 
-#: src/synfig/loadcanvas.cpp:1284
+#: src/synfig/loadcanvas.cpp:1353
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr "Nem létrehozható az <animated> \"%s\" típussal"
 
-#: src/synfig/loadcanvas.cpp:1301
+#: src/synfig/loadcanvas.cpp:1375
 msgid "<waypoint> is missing attribute \"time\""
 msgstr "<waypoint> hiányzó attribútum: \"time\""
 
-#: src/synfig/loadcanvas.cpp:1314
+#: src/synfig/loadcanvas.cpp:1388
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
@@ -2363,156 +2389,155 @@ msgstr ""
 "\"use\" attribútumot találtam a <waypoint> számára, amely nem volt üres. A "
 "tartalom figyelmen kívül marad..."
 
-#: src/synfig/loadcanvas.cpp:1330
+#: src/synfig/loadcanvas.cpp:1404
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr "Ismeretlen azonosító (%s) hivatkozás a referencia pontban"
 
-#: src/synfig/loadcanvas.cpp:1336 src/synfig/loadcanvas.cpp:1348
+#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
 #, c-format
 msgid "<%s> is missing its data"
 msgstr "<%s> hiányoznak az adatok"
 
-#: src/synfig/loadcanvas.cpp:1365
+#: src/synfig/loadcanvas.cpp:1439
 msgid "Bad data for <waypoint>"
 msgstr "<waypoint> hibás adatokat tartalmaz"
 
-#: src/synfig/loadcanvas.cpp:1380
+#: src/synfig/loadcanvas.cpp:1455
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 "Nem várt elem <%s> <waypoint> adatok után, figyelmen kívül lesz hagyva..."
 
-#: src/synfig/loadcanvas.cpp:1424 src/synfig/loadcanvas.cpp:1443
-#, c-format
-msgid "\"%s\" not a valid value for attribute \"%s\" in <%s>"
-msgstr "\"%s\" nem érvényes a \"%s\" attribútum számára <%s>-ban"
-
-#: src/synfig/loadcanvas.cpp:1504
+#: src/synfig/loadcanvas.cpp:1556
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr "Hiányzó attribútum \"type\" <%s>-ben"
 
-#: src/synfig/loadcanvas.cpp:1512
+#: src/synfig/loadcanvas.cpp:1565
 #, c-format
 msgid "Bad type in <%s>"
 msgstr "Rossz típus <%s>-ban"
 
-#: src/synfig/loadcanvas.cpp:1522
+#: src/synfig/loadcanvas.cpp:1577
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr "Hiba a ValueNode <%s> létrehozásakor '%s' típussal.  Hivatkozás: '%s'"
 
-#: src/synfig/loadcanvas.cpp:1531
+#: src/synfig/loadcanvas.cpp:1587
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr "<%s> nem fogad el '%s' típust"
 
-#: src/synfig/loadcanvas.cpp:1557 src/synfig/loadcanvas.cpp:1628
+#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr "'%s' már definiálva volt itt: <%s>"
 
-#: src/synfig/loadcanvas.cpp:1570
+#: src/synfig/loadcanvas.cpp:1625
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr "'%s' attribútum itt: <%s> '%s' ismeretlen azonosítóra hivatkozik"
 
-#: src/synfig/loadcanvas.cpp:1579
+#: src/synfig/loadcanvas.cpp:1634
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 "Nem lehet beállítani a kapcsolódást '\"%s\" az érték csomópont \"%s\"-hoz "
 "(kapcsolat #%d itt: \"%s\")"
 
-#: src/synfig/loadcanvas.cpp:1603
+#: src/synfig/loadcanvas.cpp:1658
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr "Érték csomópont \"%s\" hivatkozásakor ismeretlen kivétel keletkezett"
 
-#: src/synfig/loadcanvas.cpp:1643
+#: src/synfig/loadcanvas.cpp:1698
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr "A <%s> elemből hiányzik a tartalom"
 
-#: src/synfig/loadcanvas.cpp:1652
+#: src/synfig/loadcanvas.cpp:1707
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr "A '%s' feldolgozása sikertelen"
 
-#: src/synfig/loadcanvas.cpp:1659
+#: src/synfig/loadcanvas.cpp:1714
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 "Nem lehet hozzákapcsolódni az értékcsomóponthoz ('%s' típusa '%s') kapcsolat "
 "létrehozásához ehhez: %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1677
+#: src/synfig/loadcanvas.cpp:1732
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr "\"%s\" elem feldolgozásakor ismeretlen kivétel keletkezett"
 
-#: src/synfig/loadcanvas.cpp:1747
+#: src/synfig/loadcanvas.cpp:1811
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr "<%s> hiányzó kapcsolatot tartalmaz: %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1841
-msgid "Unable to create <dynamic_list>"
-msgstr "<dynamic_list> listát nem lehet létrehozni"
+#: src/synfig/loadcanvas.cpp:1861
+msgid "Unable to create <list>"
+msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1993
+#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr "<entry> elemből hiányzik a tartalom vagy hiányzó \"use\" elem"
 
-#: src/synfig/loadcanvas.cpp:2038
+#: src/synfig/loadcanvas.cpp:1998
+msgid "Unable to create <dynamic_list>"
+msgstr "<dynamic_list> listát nem lehet létrehozni"
+
+#: src/synfig/loadcanvas.cpp:2220
 #, c-format
 msgid "Bad data in <%s>"
 msgstr "<%s> rossz adatot tartalmaz"
 
-#: src/synfig/loadcanvas.cpp:2076
+#: src/synfig/loadcanvas.cpp:2283
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr "Érték csomópont a várt elem. Hivatkozás: '%s'"
 
-#: src/synfig/loadcanvas.cpp:2097
+#: src/synfig/loadcanvas.cpp:2304
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr "Rossz azonosító \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2102
+#: src/synfig/loadcanvas.cpp:2310
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr "Duplikált azonosító  \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2107
+#: src/synfig/loadcanvas.cpp:2316
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr "Az érték csomópont \"%s\" hozzáadásakor ismeretlen kivétel keletkezett"
 
-#: src/synfig/loadcanvas.cpp:2142
+#: src/synfig/loadcanvas.cpp:2373
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr "Hiányzó \"type\" attribútum a \"layer\" elemben"
 
-#: src/synfig/loadcanvas.cpp:2161
+#: src/synfig/loadcanvas.cpp:2392
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 "A telepített réteg verzió száma kisebb, mint az állományban lévő réteg "
 "verziószáma"
 
-#: src/synfig/loadcanvas.cpp:2181
+#: src/synfig/loadcanvas.cpp:2415
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr "<name> elem <layer> rétegnek még nem támogatott. Mellőzve..."
 
-#: src/synfig/loadcanvas.cpp:2184
+#: src/synfig/loadcanvas.cpp:2418
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr "<desc> elem <layer> rétegnek még nem támogatott. Mellőzve..."
 
-#: src/synfig/loadcanvas.cpp:2192
+#: src/synfig/loadcanvas.cpp:2426
 msgid "Missing \"name\" attribute for <param>."
 msgstr "Hiányzó \"name\" attribútum a <param> számára."
 
-#: src/synfig/loadcanvas.cpp:2209
+#: src/synfig/loadcanvas.cpp:2443
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
@@ -2520,191 +2545,195 @@ msgstr ""
 "\"use\" attribútumot találtunk a <param> számára, ami nem volt üres. A "
 "tartalma mellőzve lesz..."
 
-#: src/synfig/loadcanvas.cpp:2214
+#: src/synfig/loadcanvas.cpp:2448
 msgid "Empty use=\"\" value in <param>"
 msgstr "Üres use=\"\" érték a <param> elemben"
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2454
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr "'%s' alárendelt vászon betöltése sikertelen"
 
-#: src/synfig/loadcanvas.cpp:2222
+#: src/synfig/loadcanvas.cpp:2456
 msgid "Layer rejected canvas link"
 msgstr "A réteg visszautasította a vászon csatolását"
 
-#: src/synfig/loadcanvas.cpp:2244
+#: src/synfig/loadcanvas.cpp:2480
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr "Ismeretlen azonosító (%s) hivatkozás az alábbi paraméterben: \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2260
+#: src/synfig/loadcanvas.cpp:2496
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr "<param>: vagy hiányzik a tartalom vagy hiányzik a \"use\" attribútum."
 
-#: src/synfig/loadcanvas.cpp:2272 src/synfig/loadcanvas.cpp:2292
+#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
 msgid "Bad data for <param>"
 msgstr "Rossz adatok <param> számára"
 
-#: src/synfig/loadcanvas.cpp:2280
+#: src/synfig/loadcanvas.cpp:2516
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr "A réteg '%s' visszautasította a '%s' paraméter értékét"
 
-#: src/synfig/loadcanvas.cpp:2303
+#: src/synfig/loadcanvas.cpp:2539
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr "Nem várt elem <%s> <param> adat után, mellőzve..."
 
-#: src/synfig/loadcanvas.cpp:2376 src/synfig/loadcanvas.cpp:2384
+#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
 msgid "Canvas with width or height less than one is not allowed"
 msgstr "Egynél kisebb vászon szélesség vagy magasság nem megengedett"
 
-#: src/synfig/loadcanvas.cpp:2470
+#: src/synfig/loadcanvas.cpp:2710
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2478
+#: src/synfig/loadcanvas.cpp:2717
+msgid "Inline canvas cannot have a <bones> section"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2725
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2490
+#: src/synfig/loadcanvas.cpp:2737
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2498
+#: src/synfig/loadcanvas.cpp:2745
 msgid "<meta> must have a name"
 msgstr "<meta> elemnek neve kell legyen"
 
-#: src/synfig/loadcanvas.cpp:2504
+#: src/synfig/loadcanvas.cpp:2751
 msgid "<meta> must have content"
 msgstr "<meta> elemnek tartalma kell legyen"
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:2763
 msgid "blank \"name\" entity"
 msgstr "üres \"name\" entitás"
 
-#: src/synfig/loadcanvas.cpp:2531
+#: src/synfig/loadcanvas.cpp:2778
 msgid "blank \"desc\" entity"
 msgstr "üres \"desc\" entitás"
 
-#: src/synfig/loadcanvas.cpp:2546
+#: src/synfig/loadcanvas.cpp:2793
 msgid "blank \"author\" entity"
 msgstr "üres  \"author\" entitás"
 
-#: src/synfig/loadcanvas.cpp:2578
+#: src/synfig/loadcanvas.cpp:2828
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr "A vászon '%s' tartalmaz nem definiált %s-t: %s"
 
-#: src/synfig/loadcanvas.cpp:2580 src/synfig/valuenode.cpp:353
+#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
 msgid "ValueNode"
 msgstr "Érték csomópont"
 
-#: src/synfig/loadcanvas.cpp:2580
+#: src/synfig/loadcanvas.cpp:2830
 msgid "ValueNodes"
 msgstr "Érték csomópontok"
 
-#: src/synfig/loadcanvas.cpp:2660 src/synfig/loadcanvas.cpp:2716
+#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
 msgid "Can't open file"
 msgstr "A fájlt nem lehet megnyitni"
 
-#: src/synfig/main.cpp:102
+#: src/synfig/main.cpp:118
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr "API verzió eltérés (könyvtár:%d, program:%d)"
 
-#: src/synfig/main.cpp:107
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr "Eltérés a vektor méretében (alkalmazás: %d, könyvtár: %d)"
 
-#: src/synfig/main.cpp:112
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr "Eltérés a szín méretében (alkalmazás: %d, könyvtár: %d)"
 
-#: src/synfig/main.cpp:117
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr "Eltérés a vászon méretében (alkalmazás: %d, könyvtár: %d)"
 
-#: src/synfig/main.cpp:122
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr "Eltérés a réteg méretében (alkalmazás: %d, könyvtár: %d)"
 
-#: src/synfig/main.cpp:184
+#: src/synfig/main.cpp:207
 msgid "Starting Subsystem \"Modules\""
 msgstr "A \"Modules\" (Modulok) alrendszer indítása"
 
-#: src/synfig/main.cpp:186
+#: src/synfig/main.cpp:209
 msgid "Unable to initialize subsystem \"Module\""
 msgstr "A \"Modules\" (Modulok) alrendszer indítása sikertelen"
 
-#: src/synfig/main.cpp:188
+#: src/synfig/main.cpp:211
 msgid "Starting Subsystem \"Layers\""
 msgstr "A \"Layers\" (Rétegek) alrendszer indítása"
 
-#: src/synfig/main.cpp:192
+#: src/synfig/main.cpp:215
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr "A \"Layers\" (Rétegek) alrendszer indítása sikertelen"
 
-#: src/synfig/main.cpp:195
+#: src/synfig/main.cpp:218
 msgid "Starting Subsystem \"Targets\""
 msgstr "A \"Targets\" alrendszer indítása"
 
-#: src/synfig/main.cpp:200
+#: src/synfig/main.cpp:223
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr "A \"Targets\" (Rétegek) alrendszer indítása sikertelen"
 
-#: src/synfig/main.cpp:203
+#: src/synfig/main.cpp:226
 msgid "Starting Subsystem \"Importers\""
 msgstr "Az \"Importers\" (Importálók) alrendszer indítása"
 
-#: src/synfig/main.cpp:209
+#: src/synfig/main.cpp:232
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr "A \"Importers\" (Importálók) alrendszer indítása sikertelen"
 
-#: src/synfig/main.cpp:212
+#: src/synfig/main.cpp:235
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:219
+#: src/synfig/main.cpp:242
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:222
+#: src/synfig/main.cpp:245
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr " A \"ValueNodes\" (Érték csomópontok) alrendszer indítása"
 
-#: src/synfig/main.cpp:230
+#: src/synfig/main.cpp:253
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr " A \"ValueNodes\" (Érték csomópontok) alrendszer indítása sikertelen"
 
-#: src/synfig/main.cpp:267 src/synfig/main.cpp:268
+#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
 #, c-format
 msgid "Loading modules from %s"
 msgstr "Modulok betöltése %s-ból"
 
-#: src/synfig/main.cpp:279
+#: src/synfig/main.cpp:302
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr "Nem lehet megnyitni a modul lista fájlt: '%s'"
 
-#: src/synfig/main.cpp:293 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
 msgid "DONE"
 msgstr "KÉSZ"
 
-#: src/synfig/main.cpp:360 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
 msgid "error"
 msgstr "hiba"
 
-#: src/synfig/main.cpp:375 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
 msgid "warning"
 msgstr "figyelmeztetés"
 
-#: src/synfig/main.cpp:390
+#: src/synfig/main.cpp:413
 msgid "info"
 msgstr "információ"
 
@@ -2779,147 +2808,147 @@ msgstr "%s valószínűleg nem egy érvényes %s típusú paletta állomány"
 msgid "%s does not appear to be a supported palette file"
 msgstr "%s valószínűleg nem egy támogatott paletta fájl"
 
-#: src/synfig/paramdesc.cpp:64 src/synfig/valuenode.cpp:140
-#: src/synfig/valuenode_composite.cpp:437
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
+#: src/synfig/valuenode_composite.cpp:447
 msgid "Composite"
 msgstr "Összetett"
 
-#: src/synfig/paramdesc.cpp:65
+#: src/synfig/paramdesc.cpp:69
 msgid "Straight"
 msgstr "Egyenes"
 
-#: src/synfig/paramdesc.cpp:66
+#: src/synfig/paramdesc.cpp:70
 msgid "Onto"
 msgstr "Ráillesztett"
 
-#: src/synfig/paramdesc.cpp:67
+#: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
 msgstr "Egyenes ráillesztett"
 
-#: src/synfig/paramdesc.cpp:68
+#: src/synfig/paramdesc.cpp:72
 msgid "Behind"
 msgstr "Mögé"
 
-#: src/synfig/paramdesc.cpp:69
+#: src/synfig/paramdesc.cpp:73
 msgid "Screen"
 msgstr "Kivetítés"
 
-#: src/synfig/paramdesc.cpp:70
+#: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
 msgstr "Rávetítés"
 
-#: src/synfig/paramdesc.cpp:71
+#: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
 msgstr "Erős fény"
 
-#: src/synfig/paramdesc.cpp:72
+#: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
 msgstr "Szorzás"
 
-#: src/synfig/paramdesc.cpp:73
+#: src/synfig/paramdesc.cpp:77
 msgid "Divide"
 msgstr "Osztás"
 
-#: src/synfig/paramdesc.cpp:74 src/synfig/valuenode.cpp:157
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
 #: src/synfig/valuenode_add.cpp:190
 msgid "Add"
 msgstr "Összegzés"
 
-#: src/synfig/paramdesc.cpp:75 src/synfig/valuenode.cpp:147
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
 #: src/synfig/valuenode_subtract.cpp:194
 msgid "Subtract"
 msgstr "Kivonás"
 
-#: src/synfig/paramdesc.cpp:76
+#: src/synfig/paramdesc.cpp:80
 msgid "Difference"
 msgstr "Különbség"
 
-#: src/synfig/paramdesc.cpp:77
+#: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
 msgstr "Világosít"
 
-#: src/synfig/paramdesc.cpp:78
+#: src/synfig/paramdesc.cpp:82
 msgid "Darken"
 msgstr "Sötétít"
 
-#: src/synfig/paramdesc.cpp:80 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
 msgid "Hue"
 msgstr "Színárnyalat"
 
-#: src/synfig/paramdesc.cpp:81 src/synfig/valuenode_radialcomposite.cpp:260
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
 #: src/synfig/valuenode_radialcomposite.cpp:266
 msgid "Saturation"
 msgstr "Telítettség"
 
-#: src/synfig/paramdesc.cpp:82
+#: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
 msgstr "Fényesség"
 
-#: src/synfig/paramdesc.cpp:83
+#: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
 msgstr "Átlátszóság alkalmazása"
 
-#: src/synfig/paramdesc.cpp:84
+#: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
 msgstr "Átlátszóság világosítás"
 
-#: src/synfig/paramdesc.cpp:85
+#: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
 msgstr "Átlátszóság sötétítés"
 
-#: src/synfig/render.cpp:246 src/synfig/render.cpp:247
-#: src/synfig/render.cpp:301 src/synfig/render.cpp:302
-#: src/synfig/render.cpp:536 src/synfig/render.cpp:537
-#: src/synfig/render.cpp:563 src/synfig/render.cpp:564
+#: src/synfig/render.cpp:248 src/synfig/render.cpp:249
+#: src/synfig/render.cpp:303 src/synfig/render.cpp:304
+#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
+#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
 msgid "Target panic"
 msgstr "Cél pánik"
 
-#: src/synfig/savecanvas.cpp:290
+#: src/synfig/savecanvas.cpp:359
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr "Ismeretlen érték (%s), nem lehet létrehozni az XML reprezentációt!"
 
-#: src/synfig/savecanvas.cpp:543
+#: src/synfig/savecanvas.cpp:674 src/synfig/savecanvas.cpp:699
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 "Ismeretlen érték csomópont típus (%s), nem lehet létrehozni az XML "
 "reprezentációt!"
 
-#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:185
+#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
 #: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:281
 msgid "Target initialization failure"
 msgstr "Cél inicializációs hiba"
 
-#: src/synfig/target_cairo.cpp:146
+#: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:155 src/synfig/target_scanline.cpp:258
-#: src/synfig/target_scanline.cpp:405
+#: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:260
+#: src/synfig/target_scanline.cpp:407
 msgid "Unable to put surface on target"
 msgstr "Nem lehet felületet létrehozni a célon"
 
-#: src/synfig/target_cairo.cpp:162
+#: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:169 src/synfig/target_cairo_tile.cpp:248
-#: src/synfig/target_scanline.cpp:418 src/synfig/target_tile.cpp:396
+#: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
+#: src/synfig/target_scanline.cpp:420 src/synfig/target_tile.cpp:398
 msgid "Caught string :"
 msgstr "Az elkapott szöveg: "
 
-#: src/synfig/target_cairo.cpp:174 src/synfig/target_cairo_tile.cpp:253
-#: src/synfig/target_scanline.cpp:423 src/synfig/target_tile.cpp:401
+#: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
+#: src/synfig/target_scanline.cpp:425 src/synfig/target_tile.cpp:403
 msgid "Ran out of memory (Probably a bug)"
 msgstr "Elfogyott a memória (Valószínűleg programhiba)"
 
-#: src/synfig/target_cairo.cpp:179 src/synfig/target_cairo_tile.cpp:258
-#: src/synfig/target_scanline.cpp:428 src/synfig/target_tile.cpp:406
+#: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
+#: src/synfig/target_scanline.cpp:430 src/synfig/target_tile.cpp:408
 msgid "Caught unknown error, rethrowing..."
 msgstr "Elkapott ismeretlen hiba, újradobás..."
 
-#: src/synfig/target_cairo.cpp:190
+#: src/synfig/target_cairo.cpp:201
 msgid "Cairo Surface bad status"
 msgstr ""
 
@@ -2927,24 +2956,24 @@ msgstr ""
 msgid "Bad Tile Size"
 msgstr "Rossz lapméret"
 
-#: src/synfig/target_cairo_tile.cpp:142 src/synfig/target_cairo_tile.cpp:240
-#: src/synfig/target_scanline.cpp:203 src/synfig/target_scanline.cpp:249
-#: src/synfig/target_scanline.cpp:348 src/synfig/target_scanline.cpp:396
+#: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
+#: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:251
+#: src/synfig/target_scanline.cpp:350 src/synfig/target_scanline.cpp:398
 #: src/synfig/target_tile.cpp:225
 msgid "Accelerated Renderer Failure"
 msgstr "Gyorsított megjelenítő hiba"
 
-#: src/synfig/target_cairo_tile.cpp:150
+#: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:156 src/synfig/target_tile.cpp:179
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:179
 #: src/synfig/target_tile.cpp:245
 msgid "add_tile():Unable to put surface on target"
 msgstr "add_tile(): Nem lehet felületet illeszteni a célra"
 
-#: src/synfig/target_cairo_tile.cpp:211
+#: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
 msgstr ""
 
@@ -2971,277 +3000,317 @@ msgstr ""
 "ismeretlen! Másodperc lesz az idő mértékegysége (\"%s\")"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:276 src/synfig/value.cpp:308 src/synfig/value.cpp:360
+#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
 msgid "bool"
 msgstr "logikai"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:277 src/synfig/value.cpp:310 src/synfig/value.cpp:358
+#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
 msgid "integer"
 msgstr "egész"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:278 src/synfig/value.cpp:312
+#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
 msgid "angle"
 msgstr "szög"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:279 src/synfig/value.cpp:314 src/synfig/value.cpp:352
+#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
 msgid "time"
 msgstr "idő"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:280 src/synfig/value.cpp:316 src/synfig/value.cpp:355
+#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
 msgid "real"
 msgstr "valós"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:281 src/synfig/value.cpp:318
+#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
 msgid "vector"
 msgstr "vektor"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:282 src/synfig/value.cpp:320
+#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
 msgid "color"
 msgstr "szín"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:283 src/synfig/value.cpp:322
+#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
 msgid "segment"
 msgstr "szegmens"
 
-#: src/synfig/value.cpp:284
+#: src/synfig/value.cpp:378
 msgid "bline_point"
 msgstr "bvonal pont"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:285 src/synfig/value.cpp:326
+#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
+msgid "matrix"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
+msgid "bone_weight_pair"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
 msgid "width_point"
 msgstr "szélességi pont"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:286 src/synfig/value.cpp:328
+#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
 msgid "dash_item"
 msgstr "vonalkázott elem"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:287 src/synfig/value.cpp:330
+#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
 msgid "list"
 msgstr "lista"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:288 src/synfig/value.cpp:332
+#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
 msgid "canvas"
 msgstr "vászon"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:289 src/synfig/value.cpp:334
+#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
 msgid "string"
 msgstr "szöveg"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:290 src/synfig/value.cpp:336
+#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
 msgid "gradient"
 msgstr "színátmenet"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:291 src/synfig/value.cpp:338
+#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
+msgid "bone_object"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
+msgid "bone_valuenode"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
 msgid "nil"
 msgstr "üres"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:324
+#: src/synfig/value.cpp:422
 msgid "spline_point"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:141 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
 msgid "Radial Composite"
 msgstr "Sugaras összetett"
 
-#: src/synfig/valuenode.cpp:142 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr "Referencia"
 
-#: src/synfig/valuenode.cpp:144 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr "Szegmens tangens"
 
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr "Szegmenspont"
 
-#: src/synfig/valuenode.cpp:146 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr "Csíkok"
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr "Kettős tónus"
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_dynamiclist.cpp:755
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
 msgid "Dynamic List"
 msgstr "Dinamikus lista"
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr "Színátmenet forgatása"
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr "Szinusz"
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
 msgid "Timed Swap"
 msgstr "Időzített csere"
 
-#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr "Ismétléses színátmenet"
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr "Exponenciális"
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
 msgid "Range"
 msgstr "Intervallum"
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
 #: src/synfig/valuenode_switch.cpp:163
 msgid "Switch"
 msgstr "Csere"
 
-#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr "Koszinusz"
 
-#: src/synfig/valuenode.cpp:164
+#: src/synfig/valuenode.cpp:170
 msgid "aTan2"
 msgstr "Arkusztangens2"
 
-#: src/synfig/valuenode.cpp:165
+#: src/synfig/valuenode.cpp:171
 msgid "Reverse Tangent"
 msgstr "Inverz tangens"
 
-#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr "Reciprokos"
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
 msgid "Integer"
 msgstr "Egész"
 
-#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
 msgid "Vector Angle"
 msgstr "Vektor szög"
 
-#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
 msgid "Vector Length"
 msgstr "Vektor hossz"
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
 msgid "Vector X"
 msgstr "Vektor X"
 
-#: src/synfig/valuenode.cpp:176 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
 msgid "Vector Y"
 msgstr "Vektor Y"
 
-#: src/synfig/valuenode.cpp:177
+#: src/synfig/valuenode.cpp:183
 msgid "Gradient Color"
 msgstr "Színátmenet szín"
 
-#: src/synfig/valuenode.cpp:178
+#: src/synfig/valuenode.cpp:184
 msgid "Dot Product"
 msgstr "Pont szorzat"
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
 msgid "Time String"
 msgstr "Időpont szövegesen"
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_real.cpp:161
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
 #: src/synfig/valuenode_realstring.cpp:175
 msgid "Real"
 msgstr "Valós"
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
 msgid "Real String"
 msgstr "Valós szövegesen"
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
 msgid "Joined List"
 msgstr "Összefésült lista"
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:189
 msgid "Angle String"
 msgstr "Szög szövegesen"
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:190
 msgid "Int String"
 msgstr "Egész szövegesen"
 
-#: src/synfig/valuenode.cpp:185
+#: src/synfig/valuenode.cpp:191
 msgid "Logarithm"
 msgstr "Logaritmikus"
 
-#: src/synfig/valuenode.cpp:187
+#: src/synfig/valuenode.cpp:192
 msgid "Greyed"
 msgstr "Szürkésített"
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr "Hatványozott"
 
-#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr "Összehasonlítás"
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195
 msgid "Not"
 msgstr "Nem"
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196
 msgid "And"
 msgstr "És"
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197
 msgid "Or"
 msgstr "Vagy"
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:199
+msgid "Bone Influence"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:200
+msgid "Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:201
+msgid "Root Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:202
+msgid "Static List"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:203
+msgid "Bone Weight Pair"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
 msgid "WPList"
 msgstr "WPList"
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:206
 msgid "DIList"
 msgstr "DIList"
 
-#: src/synfig/valuenode.cpp:233
+#: src/synfig/valuenode.cpp:241
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr "Rossz típus: az értékcsomópont '%s' nem fogad el '%s' típust"
 
-#: src/synfig/valuenode.cpp:513
+#: src/synfig/valuenode.cpp:540
 msgid "Placeholder"
 msgstr "Helyfenntartó"
 
-#: src/synfig/valuenode.h:61
+#: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr "%s:%d rossz típus ennek: %s: szükséges %s, de ez van:  %s"
@@ -3308,32 +3377,32 @@ msgstr "Kapcsolat2"
 msgid "Second operand of the AND operation"
 msgstr "Az és művelet második operandusa"
 
-#: src/synfig/valuenode_animated.cpp:355 src/synfig/valuenode_animated.cpp:379
-#: src/synfig/valuenode_animated.cpp:703 src/synfig/valuenode_animated.cpp:721
-#: src/synfig/valuenode_animated.cpp:801 src/synfig/valuenode_animated.cpp:820
+#: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
+#: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
+#: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr "A mérföldkő ebben az időpontban már létezik"
 
-#: src/synfig/valuenode_animated.cpp:1134
+#: src/synfig/valuenode_animated.cpp:1173
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr "%s: nem használhat ilyet: %s egy animált értékcsomópontban"
 
-#: src/synfig/valuenode_animated.cpp:1169
+#: src/synfig/valuenode_animated.cpp:1208
 msgid "Animated"
 msgstr "Animált"
 
-#: src/synfig/valuenode_bline.cpp:977 src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
 #: src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in list"
 msgstr "A listában nincsenek bejegyzések"
 
-#: src/synfig/valuenode_bline.cpp:980 src/synfig/valuenode_dynamiclist.cpp:664
+#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
 #: src/synfig/valuenode_wplist.cpp:339
 msgid "No entries in ret_list"
 msgstr "A ret_list nem tartalmaz bejegyzéseket"
 
-#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_bline.cpp:1023
+#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
 #, c-format
 msgid "Vertex %03d"
 msgstr "Pont %03d"
@@ -3353,7 +3422,7 @@ msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:584
 #: src/synfig/valuenode_gradientrotate.cpp:169
 #: src/synfig/valuenode_linear.cpp:213
 msgid "Offset"
@@ -3407,190 +3476,186 @@ msgstr "Szélesség nagyítási értéke"
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:219
+#: src/synfig/valuenode_composite.cpp:229
 msgid "Bad type for composite"
 msgstr "Rossz típus az összetett értékhez"
 
-#: src/synfig/valuenode_composite.cpp:464
+#: src/synfig/valuenode_composite.cpp:474
 msgid "Red"
 msgstr "Vörös"
 
-#: src/synfig/valuenode_composite.cpp:465
+#: src/synfig/valuenode_composite.cpp:475
 msgid "The red component of the color"
 msgstr "A szín vörös komponense"
 
-#: src/synfig/valuenode_composite.cpp:468
+#: src/synfig/valuenode_composite.cpp:478
 msgid "Green"
 msgstr "Zöld"
 
-#: src/synfig/valuenode_composite.cpp:469
+#: src/synfig/valuenode_composite.cpp:479
 msgid "The green component of the color"
 msgstr "A szín zöld komponense"
 
-#: src/synfig/valuenode_composite.cpp:472
+#: src/synfig/valuenode_composite.cpp:482
 msgid "Blue"
 msgstr "Kék"
 
-#: src/synfig/valuenode_composite.cpp:473
+#: src/synfig/valuenode_composite.cpp:483
 msgid "The blue component of the color"
 msgstr "A szín kék komponense"
 
-#: src/synfig/valuenode_composite.cpp:476
+#: src/synfig/valuenode_composite.cpp:486
 msgid "Alpha"
 msgstr "Átlátszóság"
 
-#: src/synfig/valuenode_composite.cpp:477
+#: src/synfig/valuenode_composite.cpp:487
 msgid "The alpha of the color"
 msgstr "A szín átlátszósága"
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:492
 msgid "Vertex 1"
 msgstr "Pont 1"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:493
 msgid "The first vertex of the segment"
 msgstr "A szegmens első pontja"
 
-#: src/synfig/valuenode_composite.cpp:486
-#: src/synfig/valuenode_composite.cpp:526
+#: src/synfig/valuenode_composite.cpp:496
+#: src/synfig/valuenode_composite.cpp:536
 msgid "Tangent 1"
 msgstr "Tangens 1"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:497
 msgid "The first tangent of the segment"
 msgstr "A szegmens első tangense"
 
-#: src/synfig/valuenode_composite.cpp:490
+#: src/synfig/valuenode_composite.cpp:500
 msgid "Vertex 2"
 msgstr "Pont 2"
 
-#: src/synfig/valuenode_composite.cpp:491
+#: src/synfig/valuenode_composite.cpp:501
 msgid "The second vertex of the segment"
 msgstr "A szegmens második pontja"
 
-#: src/synfig/valuenode_composite.cpp:494
-#: src/synfig/valuenode_composite.cpp:530
+#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:540
 msgid "Tangent 2"
 msgstr "Tangens 2"
 
-#: src/synfig/valuenode_composite.cpp:495
+#: src/synfig/valuenode_composite.cpp:505
 msgid "The second tangent of the segment"
 msgstr "A szegmens második tangense"
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:510
 msgid "X-Axis"
 msgstr "X tengely"
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:511
 msgid "The X-Axis component of the vector"
 msgstr "A vektor X koordinátája"
 
-#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:514
 msgid "Y-Axis"
 msgstr "Y tengely"
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:515
 msgid "The Y-Axis component of the vector"
 msgstr "A vektor Y koordinátája"
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:520
 msgid "Vertex"
 msgstr "Csúcspont"
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:521
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:525
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:519
+#: src/synfig/valuenode_composite.cpp:529
 msgid "Defines the Off and On position relative to neighbours"
 msgstr "A szomszédokhoz relatív ki és bekapcsolt pozíciókat definiálja"
 
-#: src/synfig/valuenode_composite.cpp:522
+#: src/synfig/valuenode_composite.cpp:532
 msgid "Split"
 msgstr "Szétkapcsolt"
 
-#: src/synfig/valuenode_composite.cpp:523
+#: src/synfig/valuenode_composite.cpp:533
 msgid "When checked, tangents are independent"
 msgstr "Ha bekapcsolt, akkor a tangensek függetlenek"
 
-#: src/synfig/valuenode_composite.cpp:527
+#: src/synfig/valuenode_composite.cpp:537
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:531
+#: src/synfig/valuenode_composite.cpp:541
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:547
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:551
 msgid "The width of the Width Point"
 msgstr "A szélességi pont szélessége"
 
-#: src/synfig/valuenode_composite.cpp:544
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_composite.cpp:554
+#: src/synfig/valuenode_composite.cpp:594
 msgid "Side Type Before"
 msgstr "Az oldal típusa előtte"
 
-#: src/synfig/valuenode_composite.cpp:545
 #: src/synfig/valuenode_composite.cpp:555
+#: src/synfig/valuenode_composite.cpp:565
 msgid "Defines the interpolation type of the width point"
 msgstr "A szélességi pont interpolációjának típusát határozza meg"
 
-#: src/synfig/valuenode_composite.cpp:547
 #: src/synfig/valuenode_composite.cpp:557
+#: src/synfig/valuenode_composite.cpp:567
 msgid "Interpolate"
 msgstr "Interpolál"
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:593
+#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:603
 msgid "Side Type After"
 msgstr "Az oldal típusa utána"
 
-#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:574
 msgid "Lower Boundary"
 msgstr "Alsó határ"
 
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:575
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:578
 msgid "Upper Boundary"
 msgstr "Felső határ"
 
-#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:579
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:585
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:589
 #: src/synfig/valuenode_timedswap.cpp:260
 msgid "Length"
 msgstr "Hossz"
 
-#: src/synfig/valuenode_composite.cpp:580
+#: src/synfig/valuenode_composite.cpp:590
 msgid "The length of the Dash Item"
 msgstr "A vonalkázott elem hossza"
 
-#: src/synfig/valuenode_composite.cpp:585
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:595
+#: src/synfig/valuenode_composite.cpp:604
 msgid "Defines the side type of the dash item"
 msgstr "A vonalkázott elem oldalának típusát határozza meg"
 
-#: src/synfig/valuenode_const.cpp:127
-msgid "Static"
-msgstr "Statikus"
-
 #: src/synfig/valuenode_compare.cpp:168
 msgid "The left side of the comparison"
 msgstr "Az összehasonlítás bal oldala"
@@ -3655,12 +3720,12 @@ msgstr "A sorszám végső értéke"
 msgid "Amount increment of the index"
 msgstr "Sorszám növelési értéke"
 
-#: src/synfig/valuenode_dynamiclist.cpp:655
+#: src/synfig/valuenode_dynamiclist.cpp:661
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr "Lista típus/elem típus eltérés, az elérés eldobása"
 
-#: src/synfig/valuenode_dynamiclist.cpp:703
-#: src/synfig/valuenode_dynamiclist.cpp:957
+#: src/synfig/valuenode_dynamiclist.cpp:709
+#: src/synfig/valuenode_dynamiclist.cpp:964
 #, c-format
 msgid "Item %03d"
 msgstr "Elem %03d"
@@ -3996,9 +4061,8 @@ msgid "Intersection"
 msgstr "Metszéspont"
 
 #: src/synfig/valuenode_step.cpp:213
-msgid "Value that define whether the step is centerd on the value [0,1]"
+msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
-"Az érték, amely meghatározza, hogy mennyire esik a lépés az érték közepére"
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
 msgid "Color 1"
@@ -4136,196 +4200,196 @@ msgstr "A vektor, amelyből az Y koordinátát számítjuk"
 msgid "WidthPoint %03d"
 msgstr "Szélességi pont %03d"
 
-#: src/tool/main.cpp:133
+#: src/tool/main.cpp:140
 msgid "FATAL: Synfig Version Mismatch"
 msgstr "VÉGZETES: Synfig verzióeltérés"
 
-#: src/tool/main.cpp:169
+#: src/tool/main.cpp:176
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:171
+#: src/tool/main.cpp:178
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:172
+#: src/tool/main.cpp:179
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:173
+#: src/tool/main.cpp:180
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:174
+#: src/tool/main.cpp:181
 msgid "Set the diagonal size of image window (Span)"
 msgstr "Kép ablak átlója méretének beállítása (fesztáv)"
 
-#: src/tool/main.cpp:175
+#: src/tool/main.cpp:182
 msgid "Set antialias amount for parametric renderer."
 msgstr "Élsimítás mennyiségének beállítása a paraméteres megjelenítő számára"
 
-#: src/tool/main.cpp:176
+#: src/tool/main.cpp:183
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:184
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:178
+#: src/tool/main.cpp:185
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:186
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:187
 msgid "Specify output filename"
 msgstr "Kimeneti fájlnév mehatározása"
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:188
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:189
 msgid "Render the canvas with the given id instead of the root."
 msgstr "A vászon megjelenítése a megadott azonosítóval, a gyökér helyett"
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:190
 msgid "Set the frame rate"
 msgstr "Kocka sebesség beállítása"
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:191
 msgid "Render a single frame at <seconds>"
 msgstr "Egyetlen kocka megjelenítése <seconds> időpontban"
 
-#: src/tool/main.cpp:185 src/tool/main.cpp:186
+#: src/tool/main.cpp:192 src/tool/main.cpp:193
 msgid "Set the starting time"
 msgstr "Kezdő időpont beállítása"
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:194
 msgid "Set the ending time"
 msgstr "Befejező időpont beállítása"
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:195
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:196
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:197
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:193
+#: src/tool/main.cpp:200
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:202
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:203
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr "Csendes mód (Nincs előhaladás/hátralévő idő kijelzés)"
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:204
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:200
+#: src/tool/main.cpp:207
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:202
+#: src/tool/main.cpp:209
 msgid "Append layers in <filename> to composition"
 msgstr "A <filename>-ban lévő rétegek hozzáfűzése a kompozícióhoz"
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:210
 msgid "Print out specified details of the root canvas"
 msgstr "A gyökér vászon meghatározott részleteinek kinyomtatása"
 
-#: src/tool/main.cpp:204 src/tool/main.cpp:230
+#: src/tool/main.cpp:211 src/tool/main.cpp:237
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:207
+#: src/tool/main.cpp:214
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:216
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:210
+#: src/tool/main.cpp:217
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:213
+#: src/tool/main.cpp:220
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:215
+#: src/tool/main.cpp:222
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:223
 msgid "Print out the list of available importers"
 msgstr "Az elérhető importálók kinyomtatása"
 
-#: src/tool/main.cpp:217
+#: src/tool/main.cpp:224
 msgid "Print out misc build information"
 msgstr "Vegyes fordítási információk kinyomtatása"
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:225
 msgid "Print out the list of available layers"
 msgstr "Az elérhető rétegek kinyomtatása"
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:226
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 "A réteg leírásának, paraméter információinak és egyebeknek kinyomtatása"
 
-#: src/tool/main.cpp:220
+#: src/tool/main.cpp:227
 msgid "Print out license information"
 msgstr "Licenc információk kinyomtatása"
 
-#: src/tool/main.cpp:221
+#: src/tool/main.cpp:228
 msgid "Print out the list of loaded modules"
 msgstr "A betöltött modulok  kinyomtatása"
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:229
 msgid "Print out the list of available targets"
 msgstr "Az elérhető célformátumok kinyomtatása"
 
-#: src/tool/main.cpp:223
+#: src/tool/main.cpp:230
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:231
 msgid "Print out the list of available ValueNodes"
 msgstr "Az elérhető értékcsomópontok kinyomtatása"
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:232
 msgid "Print out version information"
 msgstr "Verzió információ kinyomtatása"
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:241
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:236
+#: src/tool/main.cpp:243
 msgid "Test GUID generation"
 msgstr "Teszt GUID generálása"
 
-#: src/tool/main.cpp:237
+#: src/tool/main.cpp:244
 msgid "Test signal implementation"
 msgstr "Teszt szignál implementáció"
 
@@ -4389,157 +4453,157 @@ msgstr ""
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:113
+#: src/tool/optionsprocessor.cpp:114
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:115
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:131
+#: src/tool/optionsprocessor.cpp:132
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:146
+#: src/tool/optionsprocessor.cpp:147
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:224
+#: src/tool/optionsprocessor.cpp:225
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:226
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:227
+#: src/tool/optionsprocessor.cpp:228
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:232
+#: src/tool/optionsprocessor.cpp:233
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:234
+#: src/tool/optionsprocessor.cpp:235
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:236
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:239
+#: src/tool/optionsprocessor.cpp:240
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:243
+#: src/tool/optionsprocessor.cpp:244
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:309
+#: src/tool/optionsprocessor.cpp:310
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:316
+#: src/tool/optionsprocessor.cpp:317
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:324
+#: src/tool/optionsprocessor.cpp:325
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:334
+#: src/tool/optionsprocessor.cpp:335
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:343
+#: src/tool/optionsprocessor.cpp:344
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:352
+#: src/tool/optionsprocessor.cpp:353
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:379
+#: src/tool/optionsprocessor.cpp:380
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:385
+#: src/tool/optionsprocessor.cpp:386
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:400
+#: src/tool/optionsprocessor.cpp:401
 #, c-format
 msgid "Resolution set to %dx%d"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:417
+#: src/tool/optionsprocessor.cpp:418
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:437
+#: src/tool/optionsprocessor.cpp:438
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:440
+#: src/tool/optionsprocessor.cpp:441
 #, c-format
 msgid "Target video codec set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:446
+#: src/tool/optionsprocessor.cpp:447
 #, c-format
 msgid "Target bitrate set to %dk"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:452
+#: src/tool/optionsprocessor.cpp:453
 #, c-format
 msgid "Output file sequence separator set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:487
+#: src/tool/optionsprocessor.cpp:488
 #, c-format
 msgid "Unable to load '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:494
+#: src/tool/optionsprocessor.cpp:495
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:499
+#: src/tool/optionsprocessor.cpp:500
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:513
+#: src/tool/optionsprocessor.cpp:514
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:532
+#: src/tool/optionsprocessor.cpp:533
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:539
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:557
+#: src/tool/optionsprocessor.cpp:558
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:571
+#: src/tool/optionsprocessor.cpp:572
 msgid "Appended contents of "
 msgstr ""
 
diff --git a/po/it.gmo b/po/it.gmo
index 05ec9be..29979c8 100644
Binary files a/po/it.gmo and b/po/it.gmo differ
diff --git a/po/it.po b/po/it.po
index e0592e8..f3efa84 100644
--- a/po/it.po
+++ b/po/it.po
@@ -1,101 +1,100 @@
-# Translation of it.po to Italian
-# Italian translations for Synfig Core package
-# Traduzione in Italiano per il pacchetto Synfig Core.
-# Copyright (C) 2012 Synfig Contributors
+# Translation file for Synfig Core package.
+# Copyright (C) 2013 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
 # bottye <bottye at gmail.com>, 2010, 2011, 2012
-# bottye <bottye at gmail.com>, 2011
+# bottye <bottye at gmail.com>, 2010-2012
 # bottye <bottye at gmail.com>, 2011, 2012
 # morevnaproject <ksee.zelgadis at gmail.com>, 2011
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2013-05-09 18:34+0200\n"
-"PO-Revision-Date: 2013-05-02 12:39+0000\n"
-"Last-Translator: genete <genetita at gmail.com>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
+"POT-Creation-Date: 2013-10-25 17:57+0700\n"
+"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
+"Language-Team: Italian (http://www.transifex.com/projects/p/synfig/language/"
+"it/)\n"
 "Language: it\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:58
+#: src/modules/mod_example/filledrect.cpp:59
 msgid "Filled Rectangle"
 msgstr "Rettangolo Pieno"
 
-#: src/modules/mod_example/filledrect.cpp:59
+#: src/modules/mod_example/filledrect.cpp:60
 #: src/modules/mod_example/metaballs.cpp:58
 #: src/modules/mod_example/simplecircle.cpp:58
 msgid "Example"
 msgstr "Esempio"
 
-#: src/modules/mod_example/filledrect.cpp:120
+#: src/modules/mod_example/filledrect.cpp:131
 #: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:523
-#: src/modules/lyr_std/shade.cpp:564
-#: src/modules/mod_geometry/checkerboard.cpp:122
-#: src/modules/mod_geometry/circle.cpp:128
-#: src/modules/mod_geometry/rectangle.cpp:125 src/synfig/layer_shape.cpp:1193
-#: src/synfig/layer_solidcolor.cpp:102 src/synfig/paramdesc.cpp:79
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:620
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
 msgid "Color"
 msgstr "Colore"
 
-#: src/modules/mod_example/filledrect.cpp:121
+#: src/modules/mod_example/filledrect.cpp:132
 #: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:129
-#: src/modules/mod_geometry/rectangle.cpp:126
-#: src/synfig/layer_solidcolor.cpp:103
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
 msgid "Fill color of the layer"
 msgstr "Colore di riempimento del livello"
 
-#: src/modules/mod_example/filledrect.cpp:125
-#: src/modules/mod_geometry/rectangle.cpp:130
-#: src/modules/mod_gradient/lineargradient.cpp:190
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:185
 msgid "Point 1"
 msgstr "Punto 1"
 
-#: src/modules/mod_example/filledrect.cpp:126
-#: src/modules/mod_geometry/rectangle.cpp:132
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
 msgid "First corner of the rectangle"
 msgstr "Primo vertice del rettangolo"
 
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_geometry/rectangle.cpp:136
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:190
 msgid "Point 2"
 msgstr "Punto 2"
 
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_geometry/rectangle.cpp:137
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
 msgid "Second corner of the rectangle"
 msgstr "Secondo vertice del rettangolo"
 
-#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_example/filledrect.cpp:147
 msgid "Feather X"
 msgstr "Sfuma X"
 
-#: src/modules/mod_example/filledrect.cpp:140
+#: src/modules/mod_example/filledrect.cpp:152
 msgid "Feather Y"
 msgstr "Sfuma Y"
 
-#: src/modules/mod_example/filledrect.cpp:144 src/modules/lyr_std/bevel.cpp:68
-#: src/modules/mod_geometry/advanced_outline.cpp:1161
+#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
 msgid "Bevel"
 msgstr "Smusso"
 
-#: src/modules/mod_example/filledrect.cpp:145
+#: src/modules/mod_example/filledrect.cpp:158
 msgid "Use Bevel for the corners"
 msgstr "Utilizzare Smusso per i vertici"
 
-#: src/modules/mod_example/filledrect.cpp:149
+#: src/modules/mod_example/filledrect.cpp:163
 msgid "Keep Bevel Circular"
 msgstr "Mantieni Smusso Circolare"
 
-#: src/modules/mod_example/filledrect.cpp:150
+#: src/modules/mod_example/filledrect.cpp:164
 msgid "When checked the bevel is circular"
 msgstr "Quando è selezionata lo smusso è circolare"
 
@@ -103,39 +102,39 @@ msgstr "Quando è selezionata lo smusso è circolare"
 msgid "Metaballs"
 msgstr "Metasfere"
 
-#: src/modules/mod_example/metaballs.cpp:135
+#: src/modules/mod_example/metaballs.cpp:129
 #: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:552
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:194
 #: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:112
-#: src/modules/mod_noise/noise.cpp:259 src/modules/mod_particle/plant.cpp:403
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
 #: src/synfig/valuenode_gradientrotate.cpp:164
 #: src/synfig/valuenode_repeat_gradient.cpp:203
 msgid "Gradient"
 msgstr "Gradiente"
 
-#: src/modules/mod_example/metaballs.cpp:139
+#: src/modules/mod_example/metaballs.cpp:133
 msgid "Balls"
 msgstr "Sfere"
 
-#: src/modules/mod_example/metaballs.cpp:143
+#: src/modules/mod_example/metaballs.cpp:137
 msgid "Radii"
 msgstr "Raggi"
 
-#: src/modules/mod_example/metaballs.cpp:147
+#: src/modules/mod_example/metaballs.cpp:141
 msgid "Weights"
 msgstr "Pesi"
 
-#: src/modules/mod_example/metaballs.cpp:151
+#: src/modules/mod_example/metaballs.cpp:145
 msgid "Gradient Left"
 msgstr "Gradiente Sinistro"
 
-#: src/modules/mod_example/metaballs.cpp:155
+#: src/modules/mod_example/metaballs.cpp:149
 msgid "Gradient Right"
 msgstr "Gradiente Destro"
 
-#: src/modules/mod_example/metaballs.cpp:159
+#: src/modules/mod_example/metaballs.cpp:153
 msgid "Positive Only"
 msgstr "Solo Positivo"
 
@@ -147,21 +146,21 @@ msgstr "Cerchio Semplice"
 #: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
 #: src/modules/mod_gradient/conicalgradient.cpp:114
 #: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:117
+#: src/modules/mod_gradient/spiralgradient.cpp:118
 msgid "Center"
 msgstr "Centro"
 
 #: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:144
+#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
 msgid "Center of the circle"
 msgstr "Centro del cerchio"
 
 #: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:151
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:132
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
 #: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:122
-#: src/modules/mod_noise/valuenode_random.cpp:269
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/valuenode_radialcomposite.cpp:272
 msgid "Radius"
 msgstr "Raggio"
@@ -169,20 +168,20 @@ msgstr "Raggio"
 #: src/modules/mod_example/simplecircle.cpp:118
 #: src/modules/lyr_std/twirl.cpp:118
 #: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:124
 msgid "This is the radius of the circle"
 msgstr "Questo è il raggio del cerchio"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
-#: src/modules/lyr_freetype/lyr_freetype.cpp:517
+#: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Testo"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
 #: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
-#: src/modules/lyr_std/supersample.cpp:57 src/modules/lyr_std/timeloop.cpp:60
-#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:70
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:79
+#: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
+#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
 msgid "Other"
 msgstr "Altro"
 
@@ -190,245 +189,245 @@ msgstr "Altro"
 msgid "Text Layer"
 msgstr "Livello di Testo"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:390
+#: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
 msgstr "impossibile inizializzare"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:409
+#: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
 msgstr "gruppo font vuoto"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:518
+#: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
 msgstr "Testo da Visualizzare"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:524
+#: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "Colore del testo"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:528
+#: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
 msgstr "Famiglia del Font"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:533
+#: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
 msgstr "Stile"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:535
-#: src/modules/lyr_freetype/lyr_freetype.cpp:545
+#: src/modules/lyr_freetype/lyr_freetype.cpp:587
+#: src/modules/lyr_freetype/lyr_freetype.cpp:597
 msgid "Normal"
 msgstr "Normale"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:536
+#: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
 msgstr "Obliqua"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:537
+#: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
 msgstr "Italico [Corsivo]"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:541
+#: src/modules/lyr_freetype/lyr_freetype.cpp:593
 msgid "Weight"
 msgstr "Peso"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:543
+#: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
 msgstr "Ultra Leggera"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:544
+#: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
 msgstr "Leggera"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:546
+#: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
 msgstr "Grassetto"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:547
+#: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
 msgstr "Ultra Grassetto"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:548
+#: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
 msgstr "Pesante"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:551
+#: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
 msgstr "Spaziatura Orizzontale"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:552
+#: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
 msgstr "Descrive come sono, orizzontalmente, i glifi vicini"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:556
+#: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
 msgstr "Spaziatura Verticale"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:557
+#: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
 msgstr "Descrive come sono, verticalmente, i glifi vicini"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:561
-#: src/modules/lyr_std/shade.cpp:570 src/modules/lyr_std/xorpattern.cpp:129
-#: src/modules/mod_filter/blur.cpp:372
+#: src/modules/lyr_freetype/lyr_freetype.cpp:613
+#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:413
 #: src/modules/mod_filter/radialblur.cpp:115
-#: src/modules/mod_geometry/checkerboard.cpp:130
-#: src/modules/mod_noise/distort.cpp:222 src/modules/mod_noise/noise.cpp:267
+#: src/modules/mod_geometry/checkerboard.cpp:154
+#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
 msgstr "Dimensione"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:562
+#: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
 msgstr "Dimensione del testo"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:569
+#: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
 msgstr "Orientamento"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:570
+#: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
 msgstr "Orientamento del testo"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/insideout.cpp:143 src/modules/lyr_std/rotate.cpp:116
-#: src/modules/lyr_std/shade.cpp:567 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:389
-#: src/modules/lyr_std/xorpattern.cpp:125 src/modules/lyr_std/zoom.cpp:104
+#: src/modules/lyr_freetype/lyr_freetype.cpp:627
+#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
+#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
+#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
-#: src/modules/mod_geometry/checkerboard.cpp:126
-#: src/modules/mod_geometry/circle.cpp:143
-#: src/modules/mod_gradient/curvegradient.cpp:537
-#: src/modules/mod_particle/plant.cpp:398 src/synfig/layer_pastecanvas.cpp:133
-#: src/synfig/layer_shape.cpp:1197 src/synfig/valuenode_composite.cpp:518
+#: src/modules/mod_geometry/checkerboard.cpp:150
+#: src/modules/mod_geometry/circle.cpp:161
+#: src/modules/mod_gradient/curvegradient.cpp:550
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
+#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
 msgid "Origin"
 msgstr "Origine"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:576
+#: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
 msgstr "Posizione del testo"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:580
+#: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
 msgstr "Font"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:581
+#: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
 msgstr "Nome del file del font da usare"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:588
+#: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
 msgstr "Crenatura"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:589
+#: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
 msgstr "Abilita/Disabilita la crenatura del font (se il font lo supporta)"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
 msgstr "Bordi affilati"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:594
+#: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
 msgstr "Togli il segno di spunta se stai per animare il testo"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:597
-#: src/modules/lyr_std/shade.cpp:587 src/modules/mod_geometry/circle.cpp:147
-#: src/synfig/layer_shape.cpp:1200
+#: src/modules/lyr_freetype/lyr_freetype.cpp:649
+#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1228
 msgid "Invert"
 msgstr "Inversione"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:654
+#: src/modules/lyr_freetype/lyr_freetype.cpp:714
 msgid "No face loaded, no text will be rendered."
 msgstr "Nessun font caricato, nessun testo verrà visualizzato."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:680
+#: src/modules/lyr_freetype/lyr_freetype.cpp:740
 msgid "Text too small, no text will be rendered."
 msgstr "Testo troppo piccolo, nessun testo verrà visualizzato."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:704
+#: src/modules/lyr_freetype/lyr_freetype.cpp:764
 msgid "Unable to set face size."
 msgstr "Impossibile impostare le dimensioni del font."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:747
+#: src/modules/lyr_freetype/lyr_freetype.cpp:807
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr "Sequenza multibye invalida - è stata impostata la lingua locale?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:754
+#: src/modules/lyr_freetype/lyr_freetype.cpp:814
 msgid "Can't parse multibyte character.\n"
 msgstr "Non posso analizzare il carattere multibyte.\n"
 
-#: src/modules/lyr_std/bevel.cpp:69 src/modules/lyr_std/shade.cpp:68
+#: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "Stilizza"
 
-#: src/modules/lyr_std/bevel.cpp:570 src/modules/lyr_std/shade.cpp:576
-#: src/modules/mod_filter/blur.cpp:376
-#: src/modules/mod_filter/halftone2.cpp:170
+#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
+#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Tipo"
 
-#: src/modules/lyr_std/bevel.cpp:571 src/modules/lyr_std/shade.cpp:577
-#: src/modules/mod_filter/blur.cpp:377
+#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
+#: src/modules/mod_filter/blur.cpp:418
 msgid "Type of blur to use"
 msgstr "Tipo di sfocatura da usare"
 
-#: src/modules/lyr_std/bevel.cpp:573 src/modules/lyr_std/shade.cpp:579
-#: src/modules/mod_filter/blur.cpp:379 src/synfig/layer_shape.cpp:1213
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
 msgid "Box Blur"
 msgstr "Sfocatura Media Circostante \"Box Blur\""
 
-#: src/modules/lyr_std/bevel.cpp:574 src/modules/lyr_std/shade.cpp:580
-#: src/modules/mod_filter/blur.cpp:380 src/synfig/layer_shape.cpp:1214
+#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
+#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
 msgid "Fast Gaussian Blur"
 msgstr "Sfocatura Gaussiana Veloce"
 
-#: src/modules/lyr_std/bevel.cpp:575 src/modules/lyr_std/shade.cpp:581
-#: src/modules/mod_filter/blur.cpp:381 src/synfig/layer_shape.cpp:1215
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
 msgid "Cross-Hatch Blur"
 msgstr "Sfocatura a Tratteggio"
 
-#: src/modules/lyr_std/bevel.cpp:576 src/modules/lyr_std/shade.cpp:582
-#: src/modules/mod_filter/blur.cpp:382 src/synfig/layer_shape.cpp:1216
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
 msgid "Gaussian Blur"
 msgstr "Sfocatura Gaussiana"
 
-#: src/modules/lyr_std/bevel.cpp:577 src/modules/lyr_std/shade.cpp:583
-#: src/modules/mod_filter/blur.cpp:383 src/synfig/layer_shape.cpp:1217
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
 msgid "Disc Blur"
 msgstr "Sfocatura Radiale"
 
-#: src/modules/lyr_std/bevel.cpp:581
+#: src/modules/lyr_std/bevel.cpp:635
 msgid "Hi-Color"
 msgstr "Colore Chiaro"
 
-#: src/modules/lyr_std/bevel.cpp:584
+#: src/modules/lyr_std/bevel.cpp:638
 msgid "Lo-Color"
 msgstr "Colore Scuro"
 
-#: src/modules/lyr_std/bevel.cpp:587
+#: src/modules/lyr_std/bevel.cpp:641
 msgid "Light Angle"
 msgstr "Angolo della Luce"
 
-#: src/modules/lyr_std/bevel.cpp:591
+#: src/modules/lyr_std/bevel.cpp:645
 msgid "Depth of Bevel"
 msgstr "Profondità dello Smusso"
 
-#: src/modules/lyr_std/bevel.cpp:595
+#: src/modules/lyr_std/bevel.cpp:649
 msgid "Softness"
 msgstr "Morbidezza"
 
-#: src/modules/lyr_std/bevel.cpp:598
+#: src/modules/lyr_std/bevel.cpp:652
 msgid "Use Luma"
 msgstr "Uso Luma"
 
-#: src/modules/lyr_std/bevel.cpp:601
+#: src/modules/lyr_std/bevel.cpp:655
 msgid "Solid"
 msgstr "Solido"
 
-#: src/modules/lyr_std/booleancurve.cpp:104
+#: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
 msgstr "Gruppo di Aree"
 
-#: src/modules/lyr_std/booleancurve.cpp:105
+#: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
 msgstr "Gruppo di aree da unire"
 
@@ -436,38 +435,38 @@ msgstr "Gruppo di aree da unire"
 msgid "Clamp"
 msgstr "Compatta"
 
-#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:56
-#: src/modules/mod_filter/halftone2.cpp:59
-#: src/modules/mod_filter/halftone3.cpp:59
-#: src/modules/mod_filter/lumakey.cpp:59
+#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:57
+#: src/modules/mod_filter/halftone2.cpp:60
+#: src/modules/mod_filter/halftone3.cpp:60
+#: src/modules/mod_filter/lumakey.cpp:60
 msgid "Filters"
 msgstr "Filtri"
 
-#: src/modules/lyr_std/clamp.cpp:158
+#: src/modules/lyr_std/clamp.cpp:162
 msgid "Invert Negative"
 msgstr "Inversione Negativa"
 
-#: src/modules/lyr_std/clamp.cpp:162
+#: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
 msgstr "Compatta Sopra"
 
-#: src/modules/lyr_std/clamp.cpp:163
+#: src/modules/lyr_std/clamp.cpp:167
 msgid "When checked the Ceiling value is used"
 msgstr "Se selezionato, viene usato il valore del Soffitto"
 
-#: src/modules/lyr_std/clamp.cpp:167
+#: src/modules/lyr_std/clamp.cpp:171
 msgid "Ceiling"
 msgstr "Superiore"
 
-#: src/modules/lyr_std/clamp.cpp:168
+#: src/modules/lyr_std/clamp.cpp:172
 msgid "Upper boundary of the clamping"
 msgstr "Limite superiore di serraggio"
 
-#: src/modules/lyr_std/clamp.cpp:172
+#: src/modules/lyr_std/clamp.cpp:176
 msgid "Floor"
 msgstr "Inferiore"
 
-#: src/modules/lyr_std/clamp.cpp:173
+#: src/modules/lyr_std/clamp.cpp:177
 msgid "Lower boundary of the clamping"
 msgstr "Limite inferiore del serraggio"
 
@@ -475,24 +474,24 @@ msgstr "Limite inferiore del serraggio"
 msgid "Import Image"
 msgstr "Importa Immagine"
 
-#: src/modules/lyr_std/import.cpp:151 src/modules/lyr_std/import.cpp:201
+#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr "Il nome del file pare sia già impostato a \"%s\" (%s)"
 
-#: src/modules/lyr_std/import.cpp:283
+#: src/modules/lyr_std/import.cpp:293
 msgid "Filename"
 msgstr "Nome del file"
 
-#: src/modules/lyr_std/import.cpp:284
+#: src/modules/lyr_std/import.cpp:294
 msgid "File to import"
 msgstr "File da importare"
 
-#: src/modules/lyr_std/import.cpp:288 src/synfig/layer_pastecanvas.cpp:146
+#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
 msgid "Time Offset"
 msgstr "Sfalsamento Tiemporale"
 
-#: src/modules/lyr_std/import.cpp:289
+#: src/modules/lyr_std/import.cpp:299
 msgid "Time Offset to apply to the imported file"
 msgstr "Sfalsamento Temporale da applicare al file importato"
 
@@ -501,14 +500,14 @@ msgid "Inside Out"
 msgstr "Al rovescio"
 
 #: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:75
 #: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:57 src/modules/lyr_std/curvewarp.cpp:56
-#: src/modules/mod_noise/distort.cpp:58
+#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
+#: src/modules/mod_noise/distort.cpp:59
 msgid "Distortions"
 msgstr "Distorsioni"
 
-#: src/modules/lyr_std/insideout.cpp:144
+#: src/modules/lyr_std/insideout.cpp:163
 msgid "Defines the where the center will be"
 msgstr "Definisci la posizione del cento"
 
@@ -520,97 +519,97 @@ msgstr "Gruppo di Julia"
 msgid "Fractals"
 msgstr "Frattali"
 
-#: src/modules/lyr_std/julia.cpp:309
+#: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
 msgstr "Colore Interno"
 
-#: src/modules/lyr_std/julia.cpp:310
+#: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
 msgstr "Color del Gruppo"
 
-#: src/modules/lyr_std/julia.cpp:313
+#: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
 msgstr "Color Esterno"
 
-#: src/modules/lyr_std/julia.cpp:314
+#: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
 msgstr "Colore esterno al Gruppo"
 
-#: src/modules/lyr_std/julia.cpp:317
+#: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
 msgstr "Variazione Colore"
 
-#: src/modules/lyr_std/julia.cpp:320 src/modules/lyr_std/mandelbrot.cpp:223
+#: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
 msgstr "Iterazioni"
 
-#: src/modules/lyr_std/julia.cpp:323
+#: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
 msgstr "Punto Origine"
 
-#: src/modules/lyr_std/julia.cpp:326 src/modules/lyr_std/mandelbrot.cpp:226
+#: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
 msgstr "Valore Base di Baliout"
 
-#: src/modules/lyr_std/julia.cpp:330 src/modules/lyr_std/mandelbrot.cpp:236
+#: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
 msgstr "Distorsione Interna"
 
-#: src/modules/lyr_std/julia.cpp:333 src/modules/lyr_std/mandelbrot.cpp:240
+#: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
 msgstr "Ombra Interna"
 
-#: src/modules/lyr_std/julia.cpp:336 src/modules/lyr_std/mandelbrot.cpp:244
+#: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
 msgstr "Interno Pieno"
 
-#: src/modules/lyr_std/julia.cpp:339 src/modules/lyr_std/mandelbrot.cpp:248
+#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
 msgstr "Inversione Interno"
 
-#: src/modules/lyr_std/julia.cpp:342
+#: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
 msgstr "Colore Interno"
 
-#: src/modules/lyr_std/julia.cpp:345 src/modules/lyr_std/mandelbrot.cpp:265
+#: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
 msgstr "Distorsione Esterna"
 
-#: src/modules/lyr_std/julia.cpp:348 src/modules/lyr_std/mandelbrot.cpp:269
+#: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
 msgstr "Ombra Esterna"
 
-#: src/modules/lyr_std/julia.cpp:351 src/modules/lyr_std/mandelbrot.cpp:273
+#: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
 msgstr "Esterno Pieno"
 
-#: src/modules/lyr_std/julia.cpp:354 src/modules/lyr_std/mandelbrot.cpp:277
+#: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
 msgstr "Inversione Esterna"
 
-#: src/modules/lyr_std/julia.cpp:357
+#: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
 msgstr "Colore Esterno"
 
-#: src/modules/lyr_std/julia.cpp:361
+#: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
 msgstr "Cicla Colore"
 
-#: src/modules/lyr_std/julia.cpp:364 src/modules/lyr_std/mandelbrot.cpp:285
+#: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
 msgstr "Rifinitura Esterna"
 
-#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:286
+#: src/modules/lyr_std/julia.cpp:391 src/modules/lyr_std/mandelbrot.cpp:282
 msgid "Smooth the coloration outside the set"
 msgstr "Rifinisci il colore esterno al gruppo"
 
-#: src/modules/lyr_std/julia.cpp:368 src/modules/lyr_std/mandelbrot.cpp:230
+#: src/modules/lyr_std/julia.cpp:394 src/modules/lyr_std/mandelbrot.cpp:226
 msgid "Break Set"
 msgstr "Separa Gruppo"
 
-#: src/modules/lyr_std/julia.cpp:369 src/modules/lyr_std/mandelbrot.cpp:231
+#: src/modules/lyr_std/julia.cpp:395 src/modules/lyr_std/mandelbrot.cpp:227
 msgid "Modify equation to achieve interesting results"
 msgstr "Modifica l'equazione per ottenere il risultato desiderato"
 
@@ -618,48 +617,48 @@ msgstr "Modifica l'equazione per ottenere il risultato desiderato"
 msgid "Mandelbrot Set"
 msgstr "Gruppo di Mandelbrot"
 
+#: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
 #: src/modules/lyr_std/mandelbrot.cpp:241
 #: src/modules/lyr_std/mandelbrot.cpp:245
 #: src/modules/lyr_std/mandelbrot.cpp:249
 #: src/modules/lyr_std/mandelbrot.cpp:253
 #: src/modules/lyr_std/mandelbrot.cpp:257
-#: src/modules/lyr_std/mandelbrot.cpp:261
 msgid "Inside"
 msgstr "Interno"
 
-#: src/modules/lyr_std/mandelbrot.cpp:252
+#: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
 msgstr "Gradiente Interno"
 
-#: src/modules/lyr_std/mandelbrot.cpp:256
+#: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
 msgstr "Sfalsamento Interno"
 
-#: src/modules/lyr_std/mandelbrot.cpp:260
+#: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
 msgstr "Ciclo Continuo Interno"
 
+#: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
 #: src/modules/lyr_std/mandelbrot.cpp:270
 #: src/modules/lyr_std/mandelbrot.cpp:274
 #: src/modules/lyr_std/mandelbrot.cpp:278
-#: src/modules/lyr_std/mandelbrot.cpp:282
+#: src/modules/lyr_std/mandelbrot.cpp:283
 #: src/modules/lyr_std/mandelbrot.cpp:287
 #: src/modules/lyr_std/mandelbrot.cpp:291
-#: src/modules/lyr_std/mandelbrot.cpp:295
 msgid "Outside"
 msgstr "Esterno"
 
-#: src/modules/lyr_std/mandelbrot.cpp:281
+#: src/modules/lyr_std/mandelbrot.cpp:277
 msgid "Gradient outside"
 msgstr "Gradiente Esterno"
 
-#: src/modules/lyr_std/mandelbrot.cpp:290
+#: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
 msgstr "Sfalsamento Esterno"
 
-#: src/modules/lyr_std/mandelbrot.cpp:294
+#: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
 msgstr "Scala Esterno"
 
@@ -672,16 +671,16 @@ msgstr "Ruota"
 msgid "Transform"
 msgstr "Trasforma"
 
-#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/translate.cpp:101
+#: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:134
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr "Punto dove impostare l'origine"
 
-#: src/modules/lyr_std/rotate.cpp:121
-#: src/modules/lyr_std/sphere_distort.cpp:158
+#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:217
+#: src/synfig/layer_composite.cpp:249
 #: src/synfig/valuenode_blinecalctangent.cpp:251
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
@@ -690,61 +689,61 @@ msgstr "Punto dove impostare l'origine"
 msgid "Amount"
 msgstr "Valore"
 
-#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
 msgstr "Valore della rotazione"
 
-#: src/modules/lyr_std/shade.cpp:67
+#: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
 msgstr "Ombra"
 
-#: src/modules/lyr_std/shade.cpp:571
+#: src/modules/lyr_std/shade.cpp:627
 msgid "Size of Shade"
 msgstr "Dimensione dell' Ombra"
 
-#: src/modules/lyr_std/sphere_distort.cpp:73
-#: src/modules/lyr_std/sphere_distort.cpp:172
+#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:167
 msgid "Spherize"
 msgstr "Sferizza"
 
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/synfig/valuenode_composite.cpp:536
+#: src/modules/lyr_std/sphere_distort.cpp:141
+#: src/synfig/valuenode_composite.cpp:546
 msgid "Position"
 msgstr "Posizione"
 
-#: src/modules/lyr_std/sphere_distort.cpp:147
+#: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
 msgstr "Nei casi in cui la distorsione della sfera è centrata"
 
-#: src/modules/lyr_std/sphere_distort.cpp:154
+#: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr "La dimensione della distorsione sferica"
 
-#: src/modules/lyr_std/sphere_distort.cpp:160
+#: src/modules/lyr_std/sphere_distort.cpp:155
 msgid "The distortion intensity (negative values inverts effect)"
 msgstr "Intensità di distorsione (valori negativi invertono l'effetto)"
 
-#: src/modules/lyr_std/sphere_distort.cpp:164 src/modules/lyr_std/warp.cpp:409
+#: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
 msgstr "Ritaglia"
 
-#: src/modules/lyr_std/sphere_distort.cpp:165
+#: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
 msgstr "Se spuntato, l'area al di fuori del Raggio non è distorta"
 
-#: src/modules/lyr_std/sphere_distort.cpp:169
+#: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
 msgstr "Tipo di Distorsione"
 
-#: src/modules/lyr_std/sphere_distort.cpp:170
+#: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
 msgstr "Direzione della distorsione"
 
-#: src/modules/lyr_std/sphere_distort.cpp:173
+#: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
 msgstr "Barra Verticale"
 
-#: src/modules/lyr_std/sphere_distort.cpp:174
+#: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
 msgstr "Barra Orizzontale"
 
@@ -764,104 +763,104 @@ msgstr "Nei casi in cui la distorsione del tratto è centrata"
 msgid "Stroboscope"
 msgstr "Stroboscopio"
 
-#: src/modules/lyr_std/stroboscope.cpp:102
+#: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
 msgstr "Frequenza"
 
-#: src/modules/lyr_std/stroboscope.cpp:103
+#: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
 msgstr "Frequenza dello Strobo al secondo"
 
-#: src/modules/lyr_std/supersample.cpp:56
+#: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
 msgstr "Super Esempio"
 
-#: src/modules/lyr_std/supersample.cpp:129
+#: src/modules/lyr_std/supersample.cpp:146
 msgid "Unable to create SurfaceTarget"
 msgstr "Impossibile creare Superficie Destinazione"
 
-#: src/modules/lyr_std/supersample.cpp:290
-#: src/modules/lyr_std/curvewarp.cpp:393
-#: src/modules/mod_gradient/curvegradient.cpp:542
-#: src/synfig/valuenode_composite.cpp:514
-#: src/synfig/valuenode_composite.cpp:540
+#: src/modules/lyr_std/supersample.cpp:337
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_composite.cpp:524
+#: src/synfig/valuenode_composite.cpp:550
 #: src/synfig/valuenode_realstring.cpp:180
 #: src/synfig/valuenode_repeat_gradient.cpp:213
 #: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
 msgid "Width"
 msgstr "Larghezza"
 
-#: src/modules/lyr_std/supersample.cpp:291
+#: src/modules/lyr_std/supersample.cpp:338
 msgid "Width of sample area (In pixels)"
 msgstr "Larghezza dell'area d'esempio (in pixel)"
 
-#: src/modules/lyr_std/supersample.cpp:294 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
 msgid "Height"
 msgstr "Altezza"
 
-#: src/modules/lyr_std/supersample.cpp:295
+#: src/modules/lyr_std/supersample.cpp:342
 msgid "Height of sample area (In pixels)"
 msgstr "Altezza dell'area d'esempio (in pixel)"
 
-#: src/modules/lyr_std/supersample.cpp:298
+#: src/modules/lyr_std/supersample.cpp:345
 msgid "Use Parametric"
 msgstr "Usa Parametrico"
 
-#: src/modules/lyr_std/supersample.cpp:299
+#: src/modules/lyr_std/supersample.cpp:346
 msgid "Use the Parametric Renderer"
 msgstr "Usa il Visualizzatore Parametrico"
 
-#: src/modules/lyr_std/supersample.cpp:302
+#: src/modules/lyr_std/supersample.cpp:349
 msgid "Be Alpha Safe"
 msgstr "Mantenere la Transparencia"
 
-#: src/modules/lyr_std/supersample.cpp:303
+#: src/modules/lyr_std/supersample.cpp:350
 msgid "Avoid alpha artifacts when checked"
 msgstr "Evitare gli artefatti alfa quando spuntato"
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:166
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr "Ciclo Temporale Continuo"
 
-#: src/modules/lyr_std/timeloop.cpp:124 src/synfig/valuenode_timeloop.cpp:179
+#: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
 msgstr "Tempo di Collegamento"
 
-#: src/modules/lyr_std/timeloop.cpp:125
+#: src/modules/lyr_std/timeloop.cpp:134
 msgid "Start time of the loop for the cycled context"
 msgstr "Tempo di inizio ciclo per il contesto esaminato"
 
-#: src/modules/lyr_std/timeloop.cpp:129 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr "Ora Locale"
 
-#: src/modules/lyr_std/timeloop.cpp:130 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr "Il momento in cui inizia il ciclo risultante"
 
-#: src/modules/lyr_std/timeloop.cpp:134 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr "Durata"
 
-#: src/modules/lyr_std/timeloop.cpp:135 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
 msgid "Lenght of the loop"
 msgstr "Lunghezza del ciclo"
 
-#: src/modules/lyr_std/timeloop.cpp:139
+#: src/modules/lyr_std/timeloop.cpp:148
 msgid "Only For Positive Duration"
 msgstr "Solo Per Durata Positiva"
 
-#: src/modules/lyr_std/timeloop.cpp:140
+#: src/modules/lyr_std/timeloop.cpp:149
 msgid "When checked will loop only positive durations"
 msgstr "Se spuntato, ciclerà solamente le durate positive"
 
-#: src/modules/lyr_std/timeloop.cpp:144
+#: src/modules/lyr_std/timeloop.cpp:153
 msgid "Symmetrical"
 msgstr "Simmetrico"
 
-#: src/modules/lyr_std/timeloop.cpp:145
+#: src/modules/lyr_std/timeloop.cpp:154
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr "Se spuntato, i cicli vengono rispecchiati all'Ora Locale"
 
@@ -889,115 +888,115 @@ msgstr "Se selezionato, distorce all'interno del cerchio"
 msgid "When checked, distorts outside the circle"
 msgstr "Se selezionato, distorce fuori dal cerchio"
 
-#: src/modules/lyr_std/warp.cpp:56
+#: src/modules/lyr_std/warp.cpp:57
 msgid "Warp"
 msgstr "Deformazione"
 
-#: src/modules/lyr_std/warp.cpp:374
+#: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
 msgstr "Origine TL"
 
-#: src/modules/lyr_std/warp.cpp:376
+#: src/modules/lyr_std/warp.cpp:382
 msgid "Top Left corner of the source to warp"
 msgstr "Vertice superiore sinistro della sorgente da deformare"
 
-#: src/modules/lyr_std/warp.cpp:380
+#: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
 msgstr "Origine BR"
 
-#: src/modules/lyr_std/warp.cpp:381
+#: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
 msgstr "Vertice inferiore destro della sorgente da deformare"
 
-#: src/modules/lyr_std/warp.cpp:385
+#: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
 msgstr "Destinazione TL"
 
-#: src/modules/lyr_std/warp.cpp:387
+#: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
 msgstr "Vertice superiore sinistro della destinazione"
 
-#: src/modules/lyr_std/warp.cpp:391
+#: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
 msgstr "Destinazione TR"
 
-#: src/modules/lyr_std/warp.cpp:393
+#: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
 msgstr "Vertice Superiore Destro della destinazione"
 
-#: src/modules/lyr_std/warp.cpp:397
+#: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
 msgstr "Destinazione BR"
 
-#: src/modules/lyr_std/warp.cpp:399
+#: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
 msgstr "Primo vertice del rettangolo"
 
-#: src/modules/lyr_std/warp.cpp:403
+#: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
 msgstr "Destinazione BL"
 
-#: src/modules/lyr_std/warp.cpp:405
+#: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
 msgstr "Secondo vertice del rettangolo"
 
-#: src/modules/lyr_std/warp.cpp:413
+#: src/modules/lyr_std/warp.cpp:419
 msgid "Horizon"
 msgstr "Orizzonte"
 
-#: src/modules/lyr_std/warp.cpp:414
+#: src/modules/lyr_std/warp.cpp:420
 msgid "Height that determines the horizon in perspectives"
 msgstr "Utilizzare Smusso per i vertici"
 
-#: src/modules/lyr_std/curvewarp.cpp:55
+#: src/modules/lyr_std/curvewarp.cpp:56
 msgid "Curve Warp"
 msgstr "Deformazione Curva"
 
-#: src/modules/lyr_std/curvewarp.cpp:390
-msgid "Position of the source line"
-msgstr "Vertice Superiore Sinistro della sorgente da deformare"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:395
+#: src/modules/lyr_std/curvewarp.cpp:404
 msgid "How much is expanded the result perpendicular to the source line"
 msgstr "Ampiezza del risultato perpendicolare alla linea origine"
 
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:407
 msgid "Start Point"
 msgstr "Punto Iniziale"
 
-#: src/modules/lyr_std/curvewarp.cpp:400
+#: src/modules/lyr_std/curvewarp.cpp:409
 msgid "First point of the source line"
 msgstr "Vertice Superiore Sinistro della destinazione"
 
-#: src/modules/lyr_std/curvewarp.cpp:403
+#: src/modules/lyr_std/curvewarp.cpp:412
 msgid "End Point"
 msgstr "Punto Finale"
 
-#: src/modules/lyr_std/curvewarp.cpp:404
+#: src/modules/lyr_std/curvewarp.cpp:413
 msgid "Final point of the source line"
 msgstr "Vertice Superiore Destro della destinazione"
 
-#: src/modules/lyr_std/curvewarp.cpp:407
-#: src/modules/mod_geometry/advanced_outline.cpp:1123
-#: src/modules/mod_geometry/outline.cpp:814
-#: src/modules/mod_geometry/region.cpp:233
-#: src/modules/mod_gradient/curvegradient.cpp:546
-#: src/modules/mod_particle/plant.cpp:391
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
 msgid "Vertices"
 msgstr "Vertici"
 
-#: src/modules/lyr_std/curvewarp.cpp:410
+#: src/modules/lyr_std/curvewarp.cpp:419
 msgid "List of Spline Points where the source line is curved to"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:413
-#: src/modules/mod_geometry/advanced_outline.cpp:1178
-#: src/modules/mod_gradient/curvegradient.cpp:567
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
 msgid "Fast"
 msgstr "Veloce"
 
-#: src/modules/lyr_std/curvewarp.cpp:414
-#: src/modules/mod_gradient/curvegradient.cpp:568
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
 msgid "When checked, renders quickly but with artifacts"
 msgstr "Vertice Inferiore Sinistro della destinazione"
 
@@ -1005,15 +1004,15 @@ msgstr "Vertice Inferiore Sinistro della destinazione"
 msgid "XOR Pattern"
 msgstr "Motivo XOR"
 
-#: src/modules/lyr_std/xorpattern.cpp:126
+#: src/modules/lyr_std/xorpattern.cpp:130
 msgid "Center of the pattern"
 msgstr "Angolo superiore sinistro dell'immagine"
 
-#: src/modules/lyr_std/xorpattern.cpp:130
+#: src/modules/lyr_std/xorpattern.cpp:134
 msgid "Size of the pattern"
 msgstr "Angolo inferiore destro dell'immagine"
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:143
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
 #: src/synfig/valuenode_blinecalctangent.cpp:261
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
 #: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
@@ -1024,7 +1023,7 @@ msgstr "Scala"
 msgid "Amount to scale to"
 msgstr "Valore da scalare"
 
-#: src/modules/lyr_std/zoom.cpp:105
+#: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
 msgstr "Punto dal quale scalare"
 
@@ -1042,22 +1041,22 @@ msgstr "%s non è in formato BMP"
 #: src/modules/mod_bmp/mptr_bmp.cpp:150
 #, c-format
 msgid "Failure while reading BITMAPFILEHEADER from %s"
-msgstr "Errore di lettura del BITMAPFILEHEADER da %s"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:158
 #, c-format
 msgid "Failure while reading BITMAPINFOHEADER from %s"
-msgstr "Errore di lettura del BITMAPINFOHEADER da %s"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:168
 #, c-format
 msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
-msgstr "Errato BITMAPFILEHEADER in %s. (bfOffsetBits=%d, dovrebbe essere %d)"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:176
 #, c-format
 msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
-msgstr "Errato BITMAPINFOHEADER in %s. (biSize=%d, dovrebbe essere 40)"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
 msgid "Reading compressed bitmaps is not supported"
@@ -1093,126 +1092,143 @@ msgstr "Impossibile scrivere le informazioni d'intestazione"
 msgid "Unable to open pipe to encodedv"
 msgstr "Impossibile aprire il canale a encodedv"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:201
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:208
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:218
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:272
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-msgid "Unable to open pipe to ffmpeg"
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:214
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no pipe)"
+msgstr "Impossibile aprire il canale a ffmpeg"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:221
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (pid == -1)"
+msgstr "Impossibile aprire il canale a ffmpeg"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:231
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
+msgstr "Impossibile aprire il canale a ffmpeg"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:285
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (exec failed)"
+msgstr "Impossibile aprire il canale a ffmpeg"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:303
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no file)"
 msgstr "Impossibile aprire il canale a ffmpeg"
 
-#: src/modules/mod_filter/blur.cpp:68
+#: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
 msgstr "Sfoca"
 
-#: src/modules/mod_filter/blur.cpp:69 src/modules/mod_filter/radialblur.cpp:56
+#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
 #: src/synfig/layer_motionblur.cpp:57
 msgid "Blurs"
 msgstr "Sfocature"
 
-#: src/modules/mod_filter/blur.cpp:373
+#: src/modules/mod_filter/blur.cpp:414
 msgid "Size of Blur"
 msgstr "Ampiezza Sfocatura"
 
-#: src/modules/mod_filter/colorcorrect.cpp:55
+#: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
 msgstr "Correzione Colore"
 
-#: src/modules/mod_filter/colorcorrect.cpp:211
+#: src/modules/mod_filter/colorcorrect.cpp:217
 msgid "Hue Adjust"
 msgstr " Regolazione Tonalità"
 
-#: src/modules/mod_filter/colorcorrect.cpp:215
+#: src/modules/mod_filter/colorcorrect.cpp:221
 msgid "Brightness"
 msgstr "Luminosità"
 
-#: src/modules/mod_filter/colorcorrect.cpp:219
+#: src/modules/mod_filter/colorcorrect.cpp:225
 msgid "Contrast"
 msgstr "Contrasto"
 
-#: src/modules/mod_filter/colorcorrect.cpp:223
+#: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
 msgstr "Regolazione Esposizione"
 
-#: src/modules/mod_filter/colorcorrect.cpp:227 src/synfig/layer_bitmap.cpp:179
+#: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
 msgstr "Regolazione Gamma"
 
-#: src/modules/mod_filter/halftone2.cpp:58
+#: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
 msgstr "Mezzi Toni 2"
 
-#: src/modules/mod_filter/halftone2.cpp:151
+#: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
 msgstr "Origine Maschera"
 
-#: src/modules/mod_filter/halftone2.cpp:155
+#: src/modules/mod_filter/halftone2.cpp:159
 msgid "Mask Angle"
 msgstr "Angolo Maschera"
 
-#: src/modules/mod_filter/halftone2.cpp:159
-#: src/modules/mod_filter/halftone3.cpp:309
+#: src/modules/mod_filter/halftone2.cpp:163
+#: src/modules/mod_filter/halftone3.cpp:328
 msgid "Mask Size"
 msgstr "Dimensione Maschera"
 
-#: src/modules/mod_filter/halftone2.cpp:164
+#: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
 msgstr "Colore Chiaro"
 
-#: src/modules/mod_filter/halftone2.cpp:167
+#: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
 msgstr "Colore Scuro"
 
-#: src/modules/mod_filter/halftone2.cpp:172
-#: src/modules/mod_filter/halftone3.cpp:314
+#: src/modules/mod_filter/halftone2.cpp:176
+#: src/modules/mod_filter/halftone3.cpp:333
 #: src/modules/mod_gradient/conicalgradient.cpp:125
 msgid "Symmetric"
 msgstr "Simmetrico"
 
-#: src/modules/mod_filter/halftone2.cpp:173
-#: src/modules/mod_filter/halftone3.cpp:315
+#: src/modules/mod_filter/halftone2.cpp:177
+#: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
 msgstr "Chiaroscuro"
 
-#: src/modules/mod_filter/halftone2.cpp:175
-#: src/modules/mod_filter/halftone3.cpp:317
+#: src/modules/mod_filter/halftone2.cpp:179
+#: src/modules/mod_filter/halftone3.cpp:336
 msgid "Diamond"
 msgstr "Diamante"
 
-#: src/modules/mod_filter/halftone2.cpp:176
-#: src/modules/mod_filter/halftone3.cpp:318
+#: src/modules/mod_filter/halftone2.cpp:180
+#: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
 msgstr "Striscie"
 
-#: src/modules/mod_filter/halftone3.cpp:58
+#: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
 msgstr "Toni Medi 3"
 
-#: src/modules/mod_filter/halftone3.cpp:312
+#: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
 msgstr " Tipo"
 
-#: src/modules/mod_filter/halftone3.cpp:321
+#: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
 msgstr "Attenuazione"
 
-#: src/modules/mod_filter/halftone3.cpp:329
+#: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
 msgstr " Colore"
 
-#: src/modules/mod_filter/halftone3.cpp:333
+#: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
 msgstr " Origine Maschera"
 
-#: src/modules/mod_filter/halftone3.cpp:337
+#: src/modules/mod_filter/halftone3.cpp:356
 msgid " Mask Angle"
 msgstr " Angolo Maschera"
 
-#: src/modules/mod_filter/lumakey.cpp:58
+#: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
 msgstr "Chiave Luma"
 
-#: src/modules/mod_filter/radialblur.cpp:55
+#: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
 msgstr "Sfocatura Radiale"
 
@@ -1234,19 +1250,19 @@ msgstr "Scacchiera"
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:62 src/synfig/layer_solidcolor.cpp:57
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
 msgstr "Geometría"
 
-#: src/modules/mod_geometry/checkerboard.cpp:123
+#: src/modules/mod_geometry/checkerboard.cpp:147
 msgid "Color of checkers"
 msgstr "Colore Riquadri"
 
-#: src/modules/mod_geometry/checkerboard.cpp:127
+#: src/modules/mod_geometry/checkerboard.cpp:151
 msgid "Center of the checkers"
 msgstr "Definisce gli angoli del poligono"
 
-#: src/modules/mod_geometry/checkerboard.cpp:131
+#: src/modules/mod_geometry/checkerboard.cpp:155
 msgid "Size of checkers"
 msgstr "Dimensione Riquadri"
 
@@ -1254,54 +1270,54 @@ msgstr "Dimensione Riquadri"
 msgid "Circle"
 msgstr "Cerchio"
 
-#: src/modules/mod_geometry/circle.cpp:134
+#: src/modules/mod_geometry/circle.cpp:152
 msgid "Radius of the circle"
 msgstr "Raggio del cerchio"
 
-#: src/modules/mod_geometry/circle.cpp:138 src/synfig/layer_shape.cpp:1206
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
 msgid "Feather"
 msgstr "Sfumatura"
 
-#: src/modules/mod_geometry/circle.cpp:140
+#: src/modules/mod_geometry/circle.cpp:158
 msgid "Amount of feather of the circle"
 msgstr "Importo della sfumarura del cerchio"
 
-#: src/modules/mod_geometry/circle.cpp:148
+#: src/modules/mod_geometry/circle.cpp:166
 msgid "Invert the circle"
 msgstr "Inversione Circolo"
 
-#: src/modules/mod_geometry/circle.cpp:152
+#: src/modules/mod_geometry/circle.cpp:170
 msgid "Falloff"
 msgstr "Deterioremento"
 
-#: src/modules/mod_geometry/circle.cpp:153
+#: src/modules/mod_geometry/circle.cpp:171
 msgid "Determines the falloff function for the feather"
 msgstr "Determina la funzione di deterioramento della sfumatura"
 
-#: src/modules/mod_geometry/circle.cpp:155
-#: src/modules/mod_noise/distort.cpp:234 src/modules/mod_noise/noise.cpp:275
-#: src/modules/mod_noise/valuenode_random.cpp:288
-#: src/synfig/layer_bitmap.cpp:173 src/synfig/layer_motionblur.cpp:150
-#: src/synfig/valuenode.cpp:139 src/synfig/valuenode_linear.cpp:146
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:289
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
 msgid "Linear"
 msgstr "Lineare"
 
-#: src/modules/mod_geometry/circle.cpp:156
+#: src/modules/mod_geometry/circle.cpp:174
 msgid "Squared"
 msgstr "Quadtrato"
 
-#: src/modules/mod_geometry/circle.cpp:157
+#: src/modules/mod_geometry/circle.cpp:175
 msgid "Square Root"
 msgstr "Radice Quadrata"
 
-#: src/modules/mod_geometry/circle.cpp:158
+#: src/modules/mod_geometry/circle.cpp:176
 msgid "Sigmond"
 msgstr "Sigmond"
 
-#: src/modules/mod_geometry/circle.cpp:159
-#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:276
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:174
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:290
+#: src/synfig/layer_bitmap.cpp:170
 msgid "Cosine"
 msgstr "Coseno"
 
@@ -1309,162 +1325,162 @@ msgstr "Coseno"
 msgid "Advanced Outline"
 msgstr "Contorno Avanzato"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:133
+#: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1125
-#: src/modules/mod_geometry/outline.cpp:817
-#: src/modules/mod_geometry/region.cpp:235
-#: src/modules/mod_gradient/curvegradient.cpp:549
-#: src/modules/mod_particle/plant.cpp:392
+#: src/modules/mod_geometry/advanced_outline.cpp:1136
+#: src/modules/mod_geometry/outline.cpp:826
+#: src/modules/mod_geometry/region.cpp:240
+#: src/modules/mod_gradient/curvegradient.cpp:562
+#: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1129
-#: src/modules/mod_geometry/outline.cpp:831
+#: src/modules/mod_geometry/advanced_outline.cpp:1140
+#: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
 msgstr "Ampiezza Contorno"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1130
-#: src/modules/mod_geometry/outline.cpp:832
+#: src/modules/mod_geometry/advanced_outline.cpp:1141
+#: src/modules/mod_geometry/outline.cpp:841
 msgid "Global width of the outline"
 msgstr "Ampiezza globale del contorno"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:837
+#: src/modules/mod_geometry/advanced_outline.cpp:1145
+#: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
 msgstr "Espansione"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1135
-#: src/modules/mod_geometry/outline.cpp:838
+#: src/modules/mod_geometry/advanced_outline.cpp:1146
+#: src/modules/mod_geometry/outline.cpp:847
 msgid "Value to add to the global width"
 msgstr "Valore da aggiungere all'ampiezza globale"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1138
+#: src/modules/mod_geometry/advanced_outline.cpp:1149
 msgid "Tip Type at Start"
 msgstr "Tipo di Punta Iniziale"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1139
+#: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1141
-#: src/modules/mod_geometry/advanced_outline.cpp:1150
-#: src/synfig/valuenode_composite.cpp:548
+#: src/modules/mod_geometry/advanced_outline.cpp:1152
+#: src/modules/mod_geometry/advanced_outline.cpp:1161
 #: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:587
-#: src/synfig/valuenode_composite.cpp:596
+#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:606
 msgid "Rounded Stop"
 msgstr "Terminazione arrotondata"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1142
-#: src/modules/mod_geometry/advanced_outline.cpp:1151
-#: src/synfig/valuenode_composite.cpp:549
+#: src/modules/mod_geometry/advanced_outline.cpp:1153
+#: src/modules/mod_geometry/advanced_outline.cpp:1162
 #: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:588
-#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:607
 msgid "Squared Stop"
 msgstr "Terminazione squadrata"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1143
-#: src/modules/mod_geometry/advanced_outline.cpp:1152
-#: src/synfig/valuenode_composite.cpp:550
+#: src/modules/mod_geometry/advanced_outline.cpp:1154
+#: src/modules/mod_geometry/advanced_outline.cpp:1163
 #: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:570
+#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:608
 msgid "Peak Stop"
 msgstr "Terminazione appuntita"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1144
-#: src/modules/mod_geometry/advanced_outline.cpp:1153
-#: src/synfig/valuenode_composite.cpp:551
+#: src/modules/mod_geometry/advanced_outline.cpp:1155
+#: src/modules/mod_geometry/advanced_outline.cpp:1164
 #: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:590
-#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:571
+#: src/synfig/valuenode_composite.cpp:600
+#: src/synfig/valuenode_composite.cpp:609
 msgid "Flat Stop"
 msgstr "Terminazione Piatta"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1147
+#: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
 msgstr "Tipo di Punta Finale"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1148
+#: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1156
+#: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
 msgstr "Tipo di cuspidi"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1157
-#: src/modules/mod_geometry/outline.cpp:843
+#: src/modules/mod_geometry/advanced_outline.cpp:1168
+#: src/modules/mod_geometry/outline.cpp:852
 msgid "Determines cusp type"
 msgstr "Determina il tipo di punta"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1159
+#: src/modules/mod_geometry/advanced_outline.cpp:1170
 msgid "Sharp"
 msgstr "Netto"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1160
+#: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
 msgstr "Arrotondato"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1164
+#: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
 msgstr "Smussato"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1165
+#: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
 msgstr "Determina l'interpolazione tra i punti. (0) Lineare (1) Smussato"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1168
-#: src/modules/mod_geometry/outline.cpp:859
+#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/outline.cpp:869
 #: src/synfig/valuenode_blinecalctangent.cpp:271
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
 msgstr "Omogeneo"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1169
+#: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
+#: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
 msgstr "Lista dei Punti di Larghezza"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1175
+#: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
 msgstr "Lista dei Punti di Larghezza che definisce la larghezza variabile"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
 msgstr ""
 "Quando viene spuntato contorno, la renderizzazione è più rapida ma meno "
 "accurata"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1182
+#: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
 msgstr "Contorno Tratteggiato"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1184
+#: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
 msgstr "Quando spuntato il contorno viene tratteggiato"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1187
+#: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
 msgstr "Lista Voci Tratteggio"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1190
+#: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
 msgstr "Lista Voci di Tratteggio che definiscono il tratteggio del contorno"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1193
+#: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
 msgstr "Scostamento Voci Tratteggio"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1196
+#: src/modules/mod_geometry/advanced_outline.cpp:1207
 msgid "Distance to Offset the Dash Items"
 msgstr "Distanza di Scostamento delle Voci Tratteggio"
 
@@ -1472,32 +1488,36 @@ msgstr "Distanza di Scostamento delle Voci Tratteggio"
 msgid "Outline"
 msgstr "Contorno"
 
-#: src/modules/mod_geometry/outline.cpp:183
+#: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
 msgstr "Nessun vertice di contorno "
 
-#: src/modules/mod_geometry/outline.cpp:842
+#: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
 msgstr "Punte Accuminate"
 
-#: src/modules/mod_geometry/outline.cpp:847
+#: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
 msgstr "Inizio Arrotondato"
 
-#: src/modules/mod_geometry/outline.cpp:848
-#: src/modules/mod_geometry/outline.cpp:853
+#: src/modules/mod_geometry/outline.cpp:857
+#: src/modules/mod_geometry/outline.cpp:862
 msgid "Round off the tip"
 msgstr "Arrotondamento punta"
 
-#: src/modules/mod_geometry/outline.cpp:852
+#: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
 msgstr "Fine Arrotondata"
 
-#: src/modules/mod_geometry/outline.cpp:856
+#: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
 msgstr "Loopyness"
 
-#: src/modules/mod_geometry/outline.cpp:860
+#: src/modules/mod_geometry/outline.cpp:866
+msgid "(Currently not used)"
+msgstr ""
+
+#: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
 msgstr ""
 "Se selezionato, la larghezza considera la lunghezza della curvatura per "
@@ -1507,11 +1527,11 @@ msgstr ""
 msgid "Rectangle"
 msgstr "Rettangolo"
 
-#: src/modules/mod_geometry/rectangle.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
 msgstr "Valore Espansione"
 
-#: src/modules/mod_geometry/rectangle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
 msgstr "Inversione Rettangolo"
 
@@ -1523,46 +1543,46 @@ msgstr "Regione"
 msgid "Star"
 msgstr "Stella"
 
-#: src/modules/mod_geometry/star.cpp:183
+#: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
 msgstr "Raggio Esterno"
 
-#: src/modules/mod_geometry/star.cpp:184
+#: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
 msgstr "Raggio dei punti esterni della stella"
 
-#: src/modules/mod_geometry/star.cpp:190
+#: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
 msgstr "Raggio Interno"
 
-#: src/modules/mod_geometry/star.cpp:191
+#: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
 msgstr "Raggio dei punti interni della stella"
 
-#: src/modules/mod_geometry/star.cpp:197
+#: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:129
+#: src/modules/mod_gradient/spiralgradient.cpp:130
 #: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr "Angolo"
 
-#: src/modules/mod_geometry/star.cpp:198
+#: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr "Orientamento della stella"
 
-#: src/modules/mod_geometry/star.cpp:203 src/synfig/distance.cpp:251
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
 msgid "Points"
 msgstr "Punti"
 
-#: src/modules/mod_geometry/star.cpp:204
+#: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
 msgstr "Numero di punti della stella"
 
-#: src/modules/mod_geometry/star.cpp:208
+#: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
 msgstr "Poligono Regolare"
 
-#: src/modules/mod_geometry/star.cpp:209
+#: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr "Sia per disegnare una stella o un poligono"
 
@@ -1580,20 +1600,20 @@ msgid "Conical Gradient"
 msgstr "Gradiente Conico"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
-#: src/modules/mod_gradient/curvegradient.cpp:61
+#: src/modules/mod_gradient/curvegradient.cpp:62
 #: src/modules/mod_gradient/lineargradient.cpp:55
 #: src/modules/mod_gradient/radialgradient.cpp:58
-#: src/modules/mod_gradient/spiralgradient.cpp:57
-#: src/modules/mod_noise/noise.cpp:58
+#: src/modules/mod_gradient/spiralgradient.cpp:58
+#: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
 msgstr "Gradienti"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
-#: src/modules/mod_gradient/curvegradient.cpp:553
-#: src/modules/mod_gradient/lineargradient.cpp:200
+#: src/modules/mod_gradient/curvegradient.cpp:566
+#: src/modules/mod_gradient/lineargradient.cpp:195
 #: src/modules/mod_gradient/radialgradient.cpp:114
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:260
+#: src/modules/mod_gradient/spiralgradient.cpp:114
+#: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
 msgstr "Gradiente di applicare"
 
@@ -1606,27 +1626,27 @@ msgid "Rotation of the gradient around the center"
 msgstr "Rotazione del gradiente attorno al centro"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
-#: src/modules/mod_gradient/curvegradient.cpp:557
-#: src/modules/mod_gradient/lineargradient.cpp:204
+#: src/modules/mod_gradient/curvegradient.cpp:570
+#: src/modules/mod_gradient/lineargradient.cpp:199
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr "Se selezionato, il gradiente viene ciclato"
 
-#: src/modules/mod_gradient/curvegradient.cpp:60
+#: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
 msgstr "Gradiente Curvo"
 
-#: src/modules/mod_gradient/curvegradient.cpp:538
-#: src/modules/mod_particle/plant.cpp:399
+#: src/modules/mod_gradient/curvegradient.cpp:551
+#: src/modules/mod_particle/plant.cpp:432
 msgid "Offset for the Vertices List"
 msgstr "Scostamento per la Lista vertici"
 
-#: src/modules/mod_gradient/curvegradient.cpp:543
+#: src/modules/mod_gradient/curvegradient.cpp:556
 msgid "Global width of the gradient"
 msgstr "Ampiezza globale del gradiente"
 
-#: src/modules/mod_gradient/curvegradient.cpp:556
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/curvegradient.cpp:569
+#: src/modules/mod_gradient/lineargradient.cpp:198
 #: src/modules/mod_gradient/radialgradient.cpp:130
 #: src/synfig/valuenode_blinecalctangent.cpp:246
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
@@ -1634,19 +1654,19 @@ msgstr "Ampiezza globale del gradiente"
 msgid "Loop"
 msgstr "Ciclo Continuo"
 
-#: src/modules/mod_gradient/curvegradient.cpp:560
-#: src/modules/mod_gradient/lineargradient.cpp:207
+#: src/modules/mod_gradient/curvegradient.cpp:573
+#: src/modules/mod_gradient/lineargradient.cpp:202
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr "ZigZag"
 
-#: src/modules/mod_gradient/curvegradient.cpp:561
-#: src/modules/mod_gradient/lineargradient.cpp:208
+#: src/modules/mod_gradient/curvegradient.cpp:574
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:136
 msgid "When checked the gradient is summetrical at the center"
 msgstr "Se selezionato, il gradiente è simmetrico al centro"
 
-#: src/modules/mod_gradient/curvegradient.cpp:564
+#: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
 msgstr "Perpendicolare"
 
@@ -1654,11 +1674,11 @@ msgstr "Perpendicolare"
 msgid "Linear Gradient"
 msgstr "Gradiente Lineare"
 
-#: src/modules/mod_gradient/lineargradient.cpp:192
+#: src/modules/mod_gradient/lineargradient.cpp:187
 msgid "Start point of the gradient"
 msgstr "Punto di inizio del gradiente"
 
-#: src/modules/mod_gradient/lineargradient.cpp:196
+#: src/modules/mod_gradient/lineargradient.cpp:191
 msgid "End point of the gradient"
 msgstr "Punto finale del gradiente"
 
@@ -1667,23 +1687,23 @@ msgid "Radial Gradient"
 msgstr "Gradiente Radiale"
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:119
 msgid "Center of the gradient"
 msgstr "Centro del gradiente"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:56
+#: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
 msgstr "Gradiente a Spirale"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:130
+#: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
 msgstr "Rotazione della spirale"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:135
+#: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
 msgstr "Senso Orario"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:136
+#: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
 msgstr "Se selezionato, la spirale gira in senso orario"
 
@@ -1696,13 +1716,15 @@ msgstr "Nessun file da caricare"
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/listimporter.cpp:184 src/synfig/listimporter.cpp:185
+#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
+#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
 msgid "Unable to open "
 msgstr "Impossibile aprire "
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/listimporter.cpp:191 src/synfig/listimporter.cpp:192
+#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
+#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
 msgid "Unable to get frame from "
 msgstr "Impossibile aprire il fotogramma da "
 
@@ -1740,115 +1762,115 @@ msgstr "Prematura fine del file"
 msgid "Unable to open pipe to imagemagick's convert utility"
 msgstr "Impossibile aprire il canale per l'utility di conversione imagemagick"
 
-#: src/modules/mod_noise/distort.cpp:57
+#: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
 msgstr "Distrosione Disturbo"
 
-#: src/modules/mod_noise/distort.cpp:217
+#: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
 msgstr "Scostamento"
 
-#: src/modules/mod_noise/distort.cpp:218
+#: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
 msgstr "Ampiezza della distorsione sul contesto"
 
-#: src/modules/mod_noise/distort.cpp:223
+#: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
 msgstr "La distanza tra le distorsioni"
 
-#: src/modules/mod_noise/distort.cpp:226 src/modules/mod_noise/noise.cpp:263
+#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
 msgstr "Seme di Disturbo Casuale"
 
-#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:264
+#: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
 msgstr "Cambia per modificare il valore casuale del disturbo"
 
-#: src/modules/mod_noise/distort.cpp:230 src/modules/mod_noise/noise.cpp:271
-#: src/modules/mod_noise/valuenode_random.cpp:284
-#: src/synfig/layer_bitmap.cpp:169
+#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr "Interpolazione"
 
-#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
-#: src/synfig/layer_bitmap.cpp:170
+#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
+#: src/synfig/layer_bitmap.cpp:166
 msgid "What type of interpolation to use"
 msgstr "Tipo di interpolazione da usare"
 
-#: src/modules/mod_noise/distort.cpp:233 src/modules/mod_noise/noise.cpp:274
-#: src/synfig/layer_bitmap.cpp:172
+#: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
+#: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
 msgstr "Vicino più Prossimo"
 
-#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:277
-#: src/modules/mod_noise/valuenode_random.cpp:290 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_bline.cpp:1001
+#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
+#: src/synfig/valuenode_bline.cpp:1006
 #: src/synfig/valuenode_blinecalctangent.cpp:241
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr "Curvatura"
 
-#: src/modules/mod_noise/distort.cpp:237 src/modules/mod_noise/noise.cpp:278
-#: src/modules/mod_noise/valuenode_random.cpp:291
-#: src/synfig/layer_bitmap.cpp:175
+#: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr "Cubico"
 
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:281
+#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
 msgstr "Dettaglio"
 
-#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:282
+#: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
 msgstr "Incrementa per ottenere maggiori dettagli del disturbo"
 
-#: src/modules/mod_noise/distort.cpp:244 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
 msgstr "Velocità di Animazione"
 
-#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
 msgstr "In cicli al secondo"
 
-#: src/modules/mod_noise/distort.cpp:248 src/modules/mod_noise/noise.cpp:289
+#: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
 msgstr "Turbolenza"
 
-#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:290
+#: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
 msgstr "Se selezionato, produce un disturbo turbolento"
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:183
+#: src/modules/mod_noise/valuenode_random.cpp:184
 msgid "Random"
 msgstr "Casuale"
 
-#: src/modules/mod_noise/noise.cpp:57
+#: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
 msgstr "Gradiente Disturbo"
 
-#: src/modules/mod_noise/noise.cpp:268
+#: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
 msgstr "Dimensioni del disturbo"
 
-#: src/modules/mod_noise/noise.cpp:293
+#: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
 msgstr "Imposta Transparenza"
 
-#: src/modules/mod_noise/noise.cpp:294
+#: src/modules/mod_noise/noise.cpp:303
 msgid "Uses transparency"
 msgstr "Utilizzo trasparenza"
 
-#: src/modules/mod_noise/noise.cpp:297
+#: src/modules/mod_noise/noise.cpp:306
 msgid "Super Sampling"
 msgstr "Super Esempio"
 
-#: src/modules/mod_noise/noise.cpp:298
+#: src/modules/mod_noise/noise.cpp:307
 msgid "When checked the gradient is supersampled"
 msgstr "Se selezionato, il gradiente viene sovracampionato"
 
-#: src/modules/mod_noise/valuenode_random.cpp:264
+#: src/modules/mod_noise/valuenode_random.cpp:265
 #: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
 #: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
 #: src/synfig/valuenode_reciprocal.cpp:165
@@ -1857,107 +1879,107 @@ msgstr "Se selezionato, il gradiente viene sovracampionato"
 msgid "Link"
 msgstr "Collegamento"
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "The value node source that provides the central value"
 msgstr "Sorgente del valore del nodo che fornisce il valore centrale"
 
-#: src/modules/mod_noise/valuenode_random.cpp:270
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid "The value of the maximum random difference"
 msgstr "Il valore della differenza massima casuale"
 
-#: src/modules/mod_noise/valuenode_random.cpp:274
-#: src/modules/mod_particle/plant.cpp:450
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr "Origine"
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:276
 msgid "Seeds the random number generator"
 msgstr "Omposta il valore iniziale del generatore di numeri casuali"
 
-#: src/modules/mod_noise/valuenode_random.cpp:279
+#: src/modules/mod_noise/valuenode_random.cpp:280
 msgid "Speed"
 msgstr "Velocità"
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:281
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 "Definisce quanto spesso viene scelto un nuovo valore casuale (in scelte al "
 "secondo)"
 
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:286
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 "Determina come il valore viene interpolato da una scelta casuale per la "
 "successiva"
 
-#: src/modules/mod_noise/valuenode_random.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:288
 msgid "No interpolation"
 msgstr "Nessuna interpolazione"
 
-#: src/modules/mod_noise/valuenode_random.cpp:296
+#: src/modules/mod_noise/valuenode_random.cpp:297
 msgid "Loop Time"
 msgstr "Ciclo Temporale Continuo"
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:298
 msgid "Makes the random value repeat after the given time"
 msgstr "Ripete il valore casuale dopo il tempo stabilito"
 
-#: src/modules/mod_particle/plant.cpp:69
+#: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
 msgstr "Pianta"
 
-#: src/modules/mod_particle/plant.cpp:404
+#: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
 msgstr "Gradiente usato per colorare la pianta"
 
-#: src/modules/mod_particle/plant.cpp:408
+#: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
 msgstr "Angolo di Divisione"
 
-#: src/modules/mod_particle/plant.cpp:409
+#: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
 msgstr "Angolo col quale ogni divisione devia dal genitore"
 
-#: src/modules/mod_particle/plant.cpp:413
+#: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
 msgstr "Gravità"
 
-#: src/modules/mod_particle/plant.cpp:414
+#: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
 msgstr "Direzione in cui i rami tendono a voltarsi"
 
-#: src/modules/mod_particle/plant.cpp:419
+#: src/modules/mod_particle/plant.cpp:452
 msgid "Tangential Velocity"
 msgstr "Velocità Tangenziale"
 
-#: src/modules/mod_particle/plant.cpp:420
+#: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:424
+#: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
 msgstr "Velocità Perpendicolare"
 
-#: src/modules/mod_particle/plant.cpp:425
+#: src/modules/mod_particle/plant.cpp:458
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:429
+#: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
 msgstr "Dimensione Fusto"
 
-#: src/modules/mod_particle/plant.cpp:430
+#: src/modules/mod_particle/plant.cpp:463
 msgid "Size of the stem"
 msgstr "Dimensione del Fusto"
 
-#: src/modules/mod_particle/plant.cpp:435
+#: src/modules/mod_particle/plant.cpp:468
 msgid "Size As Alpha"
 msgstr "Valore della Trasparenza (Alpha)"
 
-#: src/modules/mod_particle/plant.cpp:436
+#: src/modules/mod_particle/plant.cpp:469
 msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
@@ -1966,67 +1988,67 @@ msgstr ""
 "la dimensione del fusto, ed un valore alfa di 1,0 è usato per la "
 "visualizzazione"
 
-#: src/modules/mod_particle/plant.cpp:440
+#: src/modules/mod_particle/plant.cpp:473
 msgid "Reverse"
 msgstr "Inversa"
 
-#: src/modules/mod_particle/plant.cpp:441
+#: src/modules/mod_particle/plant.cpp:474
 msgid "If enabled, render the plant in the opposite direction"
 msgstr "Se abilitato, visualizza la pianta nella direzione opposta"
 
-#: src/modules/mod_particle/plant.cpp:445 src/synfig/valuenode.cpp:170
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
 #: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
 msgid "Step"
 msgstr "Passo"
 
-#: src/modules/mod_particle/plant.cpp:446
+#: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
 msgstr "Misura della distanza tra punti durante la visualizzazione"
 
-#: src/modules/mod_particle/plant.cpp:451
+#: src/modules/mod_particle/plant.cpp:484
 msgid "Used to seed the pseudo-random number generator"
 msgstr "Usato come punto origine per il generatore di numeri pseudo casuali"
 
-#: src/modules/mod_particle/plant.cpp:455
+#: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
 msgstr "Divisioni"
 
-#: src/modules/mod_particle/plant.cpp:456
+#: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
 msgstr "Numero massimo di volte che ogni gemma può germogliare ricorsivamente"
 
-#: src/modules/mod_particle/plant.cpp:460
+#: src/modules/mod_particle/plant.cpp:493
 msgid "Sprouts"
 msgstr "Gemme"
 
-#: src/modules/mod_particle/plant.cpp:461
+#: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:465
+#: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
 msgstr "Fattore Casuale"
 
-#: src/modules/mod_particle/plant.cpp:466
+#: src/modules/mod_particle/plant.cpp:499
 msgid ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 msgstr ""
 "Usato per ridurre tutti gli effetti casuali. Impostato a zero disabilita la "
 "generazione casuale"
 
-#: src/modules/mod_particle/plant.cpp:470
+#: src/modules/mod_particle/plant.cpp:503
 msgid "Drag"
 msgstr "Trascina"
 
-#: src/modules/mod_particle/plant.cpp:471
+#: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
 msgstr "Trascinando rallenta la crescita"
 
-#: src/modules/mod_particle/plant.cpp:475
+#: src/modules/mod_particle/plant.cpp:508
 msgid "Use Width"
 msgstr "Usa Larghezza"
 
-#: src/modules/mod_particle/plant.cpp:476
+#: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
@@ -2035,97 +2057,102 @@ msgstr ""
 msgid "%s was not in PPM format"
 msgstr "%s non in formato PPM"
 
-#: src/synfig/cairoimporter.cpp:87 src/synfig/importer.cpp:87
+#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
 msgid "Importer::open(): Cannot open empty filename"
 msgstr "Importer::open(): Non può aprire un file vuoto"
 
-#: src/synfig/cairoimporter.cpp:101 src/synfig/importer.cpp:101
+#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
 msgid "Importer::open(): Couldn't find extension"
 msgstr "Importer::open(): Non trova l'estensione"
 
-#: src/synfig/cairoimporter.cpp:112 src/synfig/importer.cpp:112
+#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
 msgid "Importer::open(): Unknown file type -- "
 msgstr "Importer::open(): Tipo di file sconosiuto -- "
 
-#: src/synfig/canvas.cpp:798 src/synfig/canvas.cpp:863
-#: src/synfig/canvas.cpp:886
+#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
+#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+msgid "No images in list"
+msgstr "Nessuna immagine in lista"
+
+#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
+#: src/synfig/canvas.cpp:927
 msgid "in line"
 msgstr "in linea"
 
-#: src/synfig/distance.cpp:249
+#: src/synfig/distance.cpp:251
 msgid "Units"
 msgstr "Unità"
 
-#: src/synfig/distance.cpp:250
+#: src/synfig/distance.cpp:252
 msgid "Pixels"
 msgstr "Pixel"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:254
 msgid "Inches"
 msgstr "Pollici"
 
-#: src/synfig/distance.cpp:253
+#: src/synfig/distance.cpp:255
 msgid "Meters"
 msgstr "Metri"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:256
 msgid "Millimeters"
 msgstr "Millimetri"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:257
 msgid "Centimeters"
 msgstr "Centímetri"
 
-#: src/synfig/layer.cpp:565 src/synfig/layer_composite.cpp:128
+#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
 msgid "Unable to create surface target"
 msgstr "Impossibile creare la superficie di destinazione"
 
-#: src/synfig/layer.cpp:619
+#: src/synfig/layer.cpp:605
 msgid "Z Depth"
 msgstr "Profondità Z"
 
-#: src/synfig/layer.cpp:621
+#: src/synfig/layer.cpp:607
 msgid "Modifies the position of the layer in the layer stack"
 msgstr "Modifica la posizione del livello nella pila dei livelli"
 
-#: src/synfig/layer_bitmap.cpp:159
+#: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
 msgstr "Alto-Sinistra"
 
-#: src/synfig/layer_bitmap.cpp:160
+#: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
 msgstr "Angolo superiore sinistro dell'immagine"
 
-#: src/synfig/layer_bitmap.cpp:164
+#: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
 msgstr "Basso-Destra"
 
-#: src/synfig/layer_bitmap.cpp:165
+#: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
 msgstr "Angolo inferiore destro dell'immagine"
 
-#: src/synfig/layer_composite.cpp:218
+#: src/synfig/layer_composite.cpp:250
 msgid "Alpha channel of the layer"
 msgstr "canale Alfa del livello"
 
-#: src/synfig/layer_composite.cpp:221 src/synfig/paramdesc.cpp:62
+#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr "Metodo Miscela"
 
-#: src/synfig/layer_composite.cpp:222
+#: src/synfig/layer_composite.cpp:254
 msgid "The blending method used to composite on the layers below"
 msgstr "Metodo di fusione usato per comporre gli strati sottostanti"
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:168
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
 #: src/synfig/valuenode_duplicate.cpp:174
 msgid "Duplicate"
 msgstr "Duplicato"
 
-#: src/synfig/layer_duplicate.cpp:148
+#: src/synfig/layer_duplicate.cpp:151
 msgid "Index"
 msgstr "Indice"
 
-#: src/synfig/layer_duplicate.cpp:149
+#: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
 msgstr "Copia Indice"
 
@@ -2137,160 +2164,160 @@ msgstr "[MIME]"
 msgid "Motion Blur"
 msgstr "Movimento Sfocatura"
 
-#: src/synfig/layer_motionblur.cpp:136
+#: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
 msgstr "Apertura"
 
-#: src/synfig/layer_motionblur.cpp:137
+#: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
 msgstr "Tiempo Otturazione"
 
-#: src/synfig/layer_motionblur.cpp:141
+#: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
 msgstr "Fattore di sottocampionamento"
 
-#: src/synfig/layer_motionblur.cpp:142
+#: src/synfig/layer_motionblur.cpp:141
 msgid "Multiplies The Number Of Subsamples Rendered"
 msgstr "Moltiplica il numero di sottocampionamentii renderizzati"
 
-#: src/synfig/layer_motionblur.cpp:146
+#: src/synfig/layer_motionblur.cpp:145
 msgid "Subsampling Type"
 msgstr "Tipo Sottocampionamento"
 
-#: src/synfig/layer_motionblur.cpp:147
+#: src/synfig/layer_motionblur.cpp:146
 msgid "Curve Type For Weighting Subsamples"
 msgstr "Tipo di curvatura per la ponderazione dei sottocampionamenti"
 
-#: src/synfig/layer_motionblur.cpp:149 src/synfig/valuenode_const.cpp:127
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
 msgid "Constant"
 msgstr "Costante"
 
-#: src/synfig/layer_motionblur.cpp:151
+#: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
 msgstr "Iperbolico"
 
-#: src/synfig/layer_motionblur.cpp:155
+#: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
 msgstr "Valore di partenza del sottocampionamento"
 
-#: src/synfig/layer_motionblur.cpp:156
+#: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
 msgstr ""
 "Valore relativo del primo sottocampionamento, per la ponderazione lineare"
 
-#: src/synfig/layer_motionblur.cpp:160
+#: src/synfig/layer_motionblur.cpp:159
 msgid "Subsample End Amount"
 msgstr "Valore finale del sottocampionamento"
 
-#: src/synfig/layer_motionblur.cpp:161
+#: src/synfig/layer_motionblur.cpp:160
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 "Valore relativo dell'ultimo sottocampionamento, per la ponderazione lineare"
 
-#: src/synfig/layer_pastecanvas.cpp:78 src/synfig/layer_pastecanvas.cpp:120
-#: src/synfig/layer_pastecanvas.cpp:121
+#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
+#: src/synfig/layer_pastecanvas.cpp:124
 msgid "Group"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:137
+#: src/synfig/layer_pastecanvas.cpp:140
 msgid "Canvas"
 msgstr "Tela"
 
-#: src/synfig/layer_pastecanvas.cpp:138
+#: src/synfig/layer_pastecanvas.cpp:141
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:144
 msgid "Zoom"
 msgstr "Ingrandimento"
 
-#: src/synfig/layer_pastecanvas.cpp:142
+#: src/synfig/layer_pastecanvas.cpp:145
 msgid "Size of canvas"
 msgstr "Dimensione della Tela"
 
-#: src/synfig/layer_pastecanvas.cpp:147
+#: src/synfig/layer_pastecanvas.cpp:152
 msgid "Time Offset to apply to the context"
 msgstr "Scostamento temporale da applicare al contesto"
 
-#: src/synfig/layer_pastecanvas.cpp:151
+#: src/synfig/layer_pastecanvas.cpp:156
 msgid "Children Lock"
 msgstr "Blocco Bambini"
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:157
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 "Se selezionato, impedisce di selezionare i discendenti con il clic del mouse"
 
-#: src/synfig/layer_pastecanvas.cpp:156
+#: src/synfig/layer_pastecanvas.cpp:162
 msgid "Focus Point"
 msgstr "Punto Focale"
 
-#: src/synfig/layer_pastecanvas.cpp:159
+#: src/synfig/layer_pastecanvas.cpp:165
 msgid "Point to remain fixed when zooming"
 msgstr "Punto che resta fisso in ingrandimento"
 
-#: src/synfig/layer_pastecanvas.cpp:164
+#: src/synfig/layer_pastecanvas.cpp:170
 msgid "Outline Grow"
 msgstr "Incremento contorno"
 
-#: src/synfig/layer_pastecanvas.cpp:165
+#: src/synfig/layer_pastecanvas.cpp:171
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 "Valore esponenziale di crescita dei figli per l'ampiezza dei livelli Contorno"
 
-#: src/synfig/layer_pastecanvas.cpp:180
+#: src/synfig/layer_pastecanvas.cpp:186
 msgid "Current Time"
 msgstr "Ora Attuale"
 
-#: src/synfig/layer_polygon.cpp:61
+#: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
 msgstr "Poligono"
 
-#: src/synfig/layer_polygon.cpp:187
+#: src/synfig/layer_polygon.cpp:194
 msgid "Vertices List"
 msgstr "Lista Vertici"
 
-#: src/synfig/layer_polygon.cpp:188
+#: src/synfig/layer_polygon.cpp:195
 msgid "Define the corners of the polygon"
 msgstr "Definisce gli spigoli del poligono"
 
-#: src/synfig/layer_shape.cpp:64
+#: src/synfig/layer_shape.cpp:66
 msgid "Shape"
 msgstr "Forma"
 
-#: src/synfig/layer_shape.cpp:65
+#: src/synfig/layer_shape.cpp:67
 msgid "Internal"
 msgstr "Interno"
 
-#: src/synfig/layer_shape.cpp:1194
+#: src/synfig/layer_shape.cpp:1222
 msgid "Layer_Shape Color"
 msgstr "Colore del Piano_Forma"
 
-#: src/synfig/layer_shape.cpp:1203
+#: src/synfig/layer_shape.cpp:1231
 msgid "Antialiasing"
 msgstr "Antiscalettatura"
 
-#: src/synfig/layer_shape.cpp:1210
+#: src/synfig/layer_shape.cpp:1238
 msgid "Type of Feather"
 msgstr "Tipo di Sfumatura"
 
-#: src/synfig/layer_shape.cpp:1211
+#: src/synfig/layer_shape.cpp:1239
 msgid "Type of feathering to use"
 msgstr "Tipo di sfumatura da usare"
 
-#: src/synfig/layer_shape.cpp:1220
+#: src/synfig/layer_shape.cpp:1248
 msgid "Winding Style"
 msgstr "Stile Serpentina"
 
-#: src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_shape.cpp:1249
 msgid "Winding style to use"
 msgstr "Stile serpentina da usare"
 
-#: src/synfig/layer_shape.cpp:1223
+#: src/synfig/layer_shape.cpp:1251
 msgid "Non Zero"
 msgstr "Non Zero"
 
-#: src/synfig/layer_shape.cpp:1224
+#: src/synfig/layer_shape.cpp:1252
 msgid "Even/Odd"
 msgstr "Pari/Dispari"
 
@@ -2298,68 +2325,65 @@ msgstr "Pari/Dispari"
 msgid "Solid Color"
 msgstr "Colore Pieno"
 
-#: src/synfig/listimporter.cpp:161 src/synfig/listimporter.cpp:162
-msgid "No images in list"
-msgstr "Nessuna immagine in lista"
-
-#: src/synfig/loadcanvas.cpp:142
+#: src/synfig/loadcanvas.cpp:143
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr "Impossibile caricare '%s' ricorsivamente"
 
-#: src/synfig/loadcanvas.cpp:185
+#: src/synfig/loadcanvas.cpp:186
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr "Elemento inatteso <%s>, Atteso <%s>"
 
-#: src/synfig/loadcanvas.cpp:191
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr "Elemento inatteso <%s>"
 
-#: src/synfig/loadcanvas.cpp:205
+#: src/synfig/loadcanvas.cpp:206
 msgid "Too many warnings"
 msgstr "Troppi avvisi"
 
-#: src/synfig/loadcanvas.cpp:236
+#: src/synfig/loadcanvas.cpp:237
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr "<%s> mancante dell'attributo \"%s\""
 
 #: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:469
-#: src/synfig/loadcanvas.cpp:1118
+#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
+#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr "<%s> non dovrebbe contenere nulla"
 
 #: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:473
-#: src/synfig/loadcanvas.cpp:1122
+#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
+#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr "<%s> mancante dell'attributo \"value\""
 
-#: src/synfig/loadcanvas.cpp:484 src/synfig/loadcanvas.cpp:1144
+#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
+#: src/synfig/loadcanvas.cpp:1200
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr "Valore errato \"%s\" in <%s>"
 
-#: src/synfig/loadcanvas.cpp:508
+#: src/synfig/loadcanvas.cpp:533
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr "<%s> mancante dell'attributo \"pos\""
 
-#: src/synfig/loadcanvas.cpp:1284
+#: src/synfig/loadcanvas.cpp:1353
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr "Impossibile creare <animated> col tipo \"%s \""
 
-#: src/synfig/loadcanvas.cpp:1301
+#: src/synfig/loadcanvas.cpp:1375
 msgid "<waypoint> is missing attribute \"time\""
 msgstr "<waypoint> mancante dell'attributo \"time\""
 
-#: src/synfig/loadcanvas.cpp:1314
+#: src/synfig/loadcanvas.cpp:1388
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
@@ -2367,347 +2391,350 @@ msgstr ""
 "Trovato \"use\" attributo per <waypoint>, però non era vuoto. Ingoro il "
 "contenuto..."
 
-#: src/synfig/loadcanvas.cpp:1330
+#: src/synfig/loadcanvas.cpp:1404
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr "ID Sconosciuto (%s) riferito nella visuale"
 
-#: src/synfig/loadcanvas.cpp:1336 src/synfig/loadcanvas.cpp:1348
+#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
 #, c-format
 msgid "<%s> is missing its data"
 msgstr "<%s> mancante del dato"
 
-#: src/synfig/loadcanvas.cpp:1365
+#: src/synfig/loadcanvas.cpp:1439
 msgid "Bad data for <waypoint>"
 msgstr "Dato errato per <waypoint>"
 
-#: src/synfig/loadcanvas.cpp:1380
+#: src/synfig/loadcanvas.cpp:1455
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr "Elemento inatteso<%s> dopo <waypoint>, ingnoro il dato..."
 
-#: src/synfig/loadcanvas.cpp:1424 src/synfig/loadcanvas.cpp:1443
-#, c-format
-msgid "\"%s\" not a valid value for attribute \"%s\" in <%s>"
-msgstr "\"%s\" valore non valido per l'attributo \"%s\" in <%s>"
-
-#: src/synfig/loadcanvas.cpp:1504
+#: src/synfig/loadcanvas.cpp:1556
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr "Attributo mancante \"type\" in <%s>"
 
-#: src/synfig/loadcanvas.cpp:1512
+#: src/synfig/loadcanvas.cpp:1565
 #, c-format
 msgid "Bad type in <%s>"
 msgstr "Tipo errato in <%s>"
 
-#: src/synfig/loadcanvas.cpp:1522
+#: src/synfig/loadcanvas.cpp:1577
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr "Errore creando il Valore del Nodo <%s> con tipo '%s'. Riferito a '%s'"
 
-#: src/synfig/loadcanvas.cpp:1531
+#: src/synfig/loadcanvas.cpp:1587
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr "<%s> non accetta il tipo '%s'"
 
-#: src/synfig/loadcanvas.cpp:1557 src/synfig/loadcanvas.cpp:1628
+#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr "'%s' già definito in <%s>"
 
-#: src/synfig/loadcanvas.cpp:1570
+#: src/synfig/loadcanvas.cpp:1625
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr "attributo '%s' in <%s> con riferimento sconosciuto a ID '%s'"
 
-#: src/synfig/loadcanvas.cpp:1579
+#: src/synfig/loadcanvas.cpp:1634
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 "Impossibile impostare il collegamento \"%s\" al Valore del Nodo \"%s"
 "\" (collegamento #%d in \"%s\")"
 
-#: src/synfig/loadcanvas.cpp:1603
+#: src/synfig/loadcanvas.cpp:1658
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 "Eccezione sconosciuta sollevata nel riferimento al Valore del Nodo \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1643
+#: src/synfig/loadcanvas.cpp:1698
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr "Elemento <%s> mancante del contenuto"
 
-#: src/synfig/loadcanvas.cpp:1652
+#: src/synfig/loadcanvas.cpp:1707
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr "Analisi di '%s' fallita"
 
-#: src/synfig/loadcanvas.cpp:1659
+#: src/synfig/loadcanvas.cpp:1714
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 "Impossibile connettere il valore del nodo ('%s' di tipo '%s') al "
 "collegamento %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1677
+#: src/synfig/loadcanvas.cpp:1732
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr "Eccezione sconosciuta sollevata agendo sull'elemento \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1747
+#: src/synfig/loadcanvas.cpp:1811
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr "<%s> collegamento mancante a %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1841
-msgid "Unable to create <dynamic_list>"
-msgstr "Impossibile creare <dynamic_list>"
+#: src/synfig/loadcanvas.cpp:1861
+msgid "Unable to create <list>"
+msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1993
+#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr "<entry> contenuti mancanti o elemento \"use\" mancante"
 
-#: src/synfig/loadcanvas.cpp:2038
+#: src/synfig/loadcanvas.cpp:1998
+msgid "Unable to create <dynamic_list>"
+msgstr "Impossibile creare <dynamic_list>"
+
+#: src/synfig/loadcanvas.cpp:2220
 #, c-format
 msgid "Bad data in <%s>"
 msgstr "Dati errati in <%s>"
 
-#: src/synfig/loadcanvas.cpp:2076
+#: src/synfig/loadcanvas.cpp:2283
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr "Atteso un Valore del Nodo. Riferito a '%s'"
 
-#: src/synfig/loadcanvas.cpp:2097
+#: src/synfig/loadcanvas.cpp:2304
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr "ID Errato \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2102
+#: src/synfig/loadcanvas.cpp:2310
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr "ID duplicato \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2107
+#: src/synfig/loadcanvas.cpp:2316
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 "Eccezione sconosciuta sollevata durante l'aggiunta del Valore del Nodo \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2142
+#: src/synfig/loadcanvas.cpp:2373
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr "Attributo mancante \"type\" all'elemento \"layer\""
 
-#: src/synfig/loadcanvas.cpp:2161
+#: src/synfig/loadcanvas.cpp:2392
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 "La versione dei piani installata è inferiore alla versione dei piani nel file"
 
-#: src/synfig/loadcanvas.cpp:2181
+#: src/synfig/loadcanvas.cpp:2415
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr "Dato inserito <name> per <layer> non ancora supportato. Ignoro..."
 
-#: src/synfig/loadcanvas.cpp:2184
+#: src/synfig/loadcanvas.cpp:2418
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr "Dato inserito <desc> per <layer> non ancora supportato. Ignoro..."
 
-#: src/synfig/loadcanvas.cpp:2192
+#: src/synfig/loadcanvas.cpp:2426
 msgid "Missing \"name\" attribute for <param>."
 msgstr "Attributo \"name\" mancante per <param>."
 
-#: src/synfig/loadcanvas.cpp:2209
+#: src/synfig/loadcanvas.cpp:2443
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 "Rilevato attributo \"use\" per <param>, ma non vuoto. Ingnoro il contenuto..."
 
-#: src/synfig/loadcanvas.cpp:2214
+#: src/synfig/loadcanvas.cpp:2448
 msgid "Empty use=\"\" value in <param>"
 msgstr "Uso vuoto=\"\" valore in <param>"
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2454
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr "Errore caricamento sotto-tela '%s'"
 
-#: src/synfig/loadcanvas.cpp:2222
+#: src/synfig/loadcanvas.cpp:2456
 msgid "Layer rejected canvas link"
 msgstr "Il piano ha respinto il collegamento della tela"
 
-#: src/synfig/loadcanvas.cpp:2244
+#: src/synfig/loadcanvas.cpp:2480
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr "ID Sconosciuto (%s) riferito nel parametro \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2260
+#: src/synfig/loadcanvas.cpp:2496
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr "<param> mancante del contenuto o mancante un attributo di \"use\"."
 
-#: src/synfig/loadcanvas.cpp:2272 src/synfig/loadcanvas.cpp:2292
+#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
 msgid "Bad data for <param>"
 msgstr "Dato errato per <param>"
 
-#: src/synfig/loadcanvas.cpp:2280
+#: src/synfig/loadcanvas.cpp:2516
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr "Il piano '%s' ha respinto il valore per il parametro '%s'"
 
-#: src/synfig/loadcanvas.cpp:2303
+#: src/synfig/loadcanvas.cpp:2539
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr "Elemento inatteso <%s> dopo il dato <param>, ignoro..."
 
-#: src/synfig/loadcanvas.cpp:2376 src/synfig/loadcanvas.cpp:2384
+#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
 msgid "Canvas with width or height less than one is not allowed"
 msgstr "Tela con valore larghezza o altezza inferiore a uno non consentito"
 
-#: src/synfig/loadcanvas.cpp:2470
+#: src/synfig/loadcanvas.cpp:2710
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2478
+#: src/synfig/loadcanvas.cpp:2717
+msgid "Inline canvas cannot have a <bones> section"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2725
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2490
+#: src/synfig/loadcanvas.cpp:2737
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2498
+#: src/synfig/loadcanvas.cpp:2745
 msgid "<meta> must have a name"
 msgstr "<meta> deve avere un nome"
 
-#: src/synfig/loadcanvas.cpp:2504
+#: src/synfig/loadcanvas.cpp:2751
 msgid "<meta> must have content"
 msgstr "<meta> deve avere un contenuto"
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:2763
 msgid "blank \"name\" entity"
 msgstr "entità \"name\" vuota"
 
-#: src/synfig/loadcanvas.cpp:2531
+#: src/synfig/loadcanvas.cpp:2778
 msgid "blank \"desc\" entity"
 msgstr "entità \"desc\" vuota"
 
-#: src/synfig/loadcanvas.cpp:2546
+#: src/synfig/loadcanvas.cpp:2793
 msgid "blank \"author\" entity"
 msgstr "entità \"author\" vuota"
 
-#: src/synfig/loadcanvas.cpp:2578
+#: src/synfig/loadcanvas.cpp:2828
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr "Tela '%s' ha '%s':'%s' indefinito"
 
-#: src/synfig/loadcanvas.cpp:2580 src/synfig/valuenode.cpp:353
+#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
 msgid "ValueNode"
 msgstr "Valore del Nodo"
 
-#: src/synfig/loadcanvas.cpp:2580
+#: src/synfig/loadcanvas.cpp:2830
 msgid "ValueNodes"
 msgstr "Valori dei Nodi"
 
-#: src/synfig/loadcanvas.cpp:2660 src/synfig/loadcanvas.cpp:2716
+#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
 msgid "Can't open file"
 msgstr "Impossibile aprire il file"
 
-#: src/synfig/main.cpp:102
+#: src/synfig/main.cpp:118
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr "Versione API non corrispondente (LIB:%d, PROG:%d)"
 
-#: src/synfig/main.cpp:107
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr "Dimensione del Vettore non corrispondente (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:112
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr "Dimensione di Colore non corrispondente (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:117
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr "Dimensione della Tela non corrispondente (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:122
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr "Dimensione del Piano non corrispondente (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:184
+#: src/synfig/main.cpp:207
 msgid "Starting Subsystem \"Modules\""
 msgstr "Avvio Sottosistema \"Modules\""
 
-#: src/synfig/main.cpp:186
+#: src/synfig/main.cpp:209
 msgid "Unable to initialize subsystem \"Module\""
 msgstr "Impossibile inizializzare il sottosistema \"Module\""
 
-#: src/synfig/main.cpp:188
+#: src/synfig/main.cpp:211
 msgid "Starting Subsystem \"Layers\""
 msgstr "Avvio sottosistema \"Layers\""
 
-#: src/synfig/main.cpp:192
+#: src/synfig/main.cpp:215
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr "Impossibile inizializzare il sottosistema \"Layers\""
 
-#: src/synfig/main.cpp:195
+#: src/synfig/main.cpp:218
 msgid "Starting Subsystem \"Targets\""
 msgstr "Avvio Sottosistema \"Targets\""
 
-#: src/synfig/main.cpp:200
+#: src/synfig/main.cpp:223
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr "Impossibile inizializzare il sottosistema \"Targets\""
 
-#: src/synfig/main.cpp:203
+#: src/synfig/main.cpp:226
 msgid "Starting Subsystem \"Importers\""
 msgstr "Avvio Sottosistema \"Importers\""
 
-#: src/synfig/main.cpp:209
+#: src/synfig/main.cpp:232
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr "Impossibile inizializzare il sottosistema \"Importers\""
 
-#: src/synfig/main.cpp:212
+#: src/synfig/main.cpp:235
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:219
+#: src/synfig/main.cpp:242
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:222
+#: src/synfig/main.cpp:245
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr "Avvio Sottosistema \"ValueNodes\""
 
-#: src/synfig/main.cpp:230
+#: src/synfig/main.cpp:253
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr "Impossibile inizializzare il sottosistema \"ValueNodes\""
 
-#: src/synfig/main.cpp:267 src/synfig/main.cpp:268
+#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
 #, c-format
 msgid "Loading modules from %s"
 msgstr "Caricamento moduli da %s"
 
-#: src/synfig/main.cpp:279
+#: src/synfig/main.cpp:302
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr "Impossibile aprire il file della lista moduli '%s'"
 
-#: src/synfig/main.cpp:293 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
 msgid "DONE"
 msgstr "FATTO"
 
-#: src/synfig/main.cpp:360 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
 msgid "error"
 msgstr "errore"
 
-#: src/synfig/main.cpp:375 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
 msgid "warning"
 msgstr "attenzione"
 
-#: src/synfig/main.cpp:390
+#: src/synfig/main.cpp:413
 msgid "info"
 msgstr "informazione"
 
@@ -2782,147 +2809,147 @@ msgstr "%s non sembra essere un file di tavolozza valido %s"
 msgid "%s does not appear to be a supported palette file"
 msgstr "%s non sembra essere un file di tavolozza supportato"
 
-#: src/synfig/paramdesc.cpp:64 src/synfig/valuenode.cpp:140
-#: src/synfig/valuenode_composite.cpp:437
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
+#: src/synfig/valuenode_composite.cpp:447
 msgid "Composite"
 msgstr "Composito"
 
-#: src/synfig/paramdesc.cpp:65
+#: src/synfig/paramdesc.cpp:69
 msgid "Straight"
 msgstr "Lineare"
 
-#: src/synfig/paramdesc.cpp:66
+#: src/synfig/paramdesc.cpp:70
 msgid "Onto"
 msgstr "Sopra"
 
-#: src/synfig/paramdesc.cpp:67
+#: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
 msgstr "Lineare Sopra"
 
-#: src/synfig/paramdesc.cpp:68
+#: src/synfig/paramdesc.cpp:72
 msgid "Behind"
 msgstr "Dietro"
 
-#: src/synfig/paramdesc.cpp:69
+#: src/synfig/paramdesc.cpp:73
 msgid "Screen"
 msgstr "Schermo"
 
-#: src/synfig/paramdesc.cpp:70
+#: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
 msgstr "Copertura"
 
-#: src/synfig/paramdesc.cpp:71
+#: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
 msgstr "Luce intensa"
 
-#: src/synfig/paramdesc.cpp:72
+#: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
 msgstr "_Moltiplica"
 
-#: src/synfig/paramdesc.cpp:73
+#: src/synfig/paramdesc.cpp:77
 msgid "Divide"
 msgstr "Divide"
 
-#: src/synfig/paramdesc.cpp:74 src/synfig/valuenode.cpp:157
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
 #: src/synfig/valuenode_add.cpp:190
 msgid "Add"
 msgstr "Somma"
 
-#: src/synfig/paramdesc.cpp:75 src/synfig/valuenode.cpp:147
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
 #: src/synfig/valuenode_subtract.cpp:194
 msgid "Subtract"
 msgstr "Sottrai"
 
-#: src/synfig/paramdesc.cpp:76
+#: src/synfig/paramdesc.cpp:80
 msgid "Difference"
 msgstr "Differenza"
 
-#: src/synfig/paramdesc.cpp:77
+#: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
 msgstr "Sc_hiarimento"
 
-#: src/synfig/paramdesc.cpp:78
+#: src/synfig/paramdesc.cpp:82
 msgid "Darken"
 msgstr "Scurisce"
 
-#: src/synfig/paramdesc.cpp:80 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
 msgid "Hue"
 msgstr "Tonalità"
 
-#: src/synfig/paramdesc.cpp:81 src/synfig/valuenode_radialcomposite.cpp:260
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
 #: src/synfig/valuenode_radialcomposite.cpp:266
 msgid "Saturation"
 msgstr "Saturazione"
 
-#: src/synfig/paramdesc.cpp:82
+#: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
 msgstr "Luminanza"
 
-#: src/synfig/paramdesc.cpp:83
+#: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
 msgstr "Alfa Sopra"
 
-#: src/synfig/paramdesc.cpp:84
+#: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
 msgstr "Alfa Schiarisce"
 
-#: src/synfig/paramdesc.cpp:85
+#: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
 msgstr "Alfa Scurisce"
 
-#: src/synfig/render.cpp:246 src/synfig/render.cpp:247
-#: src/synfig/render.cpp:301 src/synfig/render.cpp:302
-#: src/synfig/render.cpp:536 src/synfig/render.cpp:537
-#: src/synfig/render.cpp:563 src/synfig/render.cpp:564
+#: src/synfig/render.cpp:248 src/synfig/render.cpp:249
+#: src/synfig/render.cpp:303 src/synfig/render.cpp:304
+#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
+#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
 msgid "Target panic"
 msgstr "Panico per il formato"
 
-#: src/synfig/savecanvas.cpp:290
+#: src/synfig/savecanvas.cpp:359
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr "Valore sconosciuto (%s), impossibile creare una rappresentazione XML!"
 
-#: src/synfig/savecanvas.cpp:543
+#: src/synfig/savecanvas.cpp:674 src/synfig/savecanvas.cpp:699
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 "Tipo di Valore del Nodo (%s) sconosciuto, impossibile creare una "
 "rappresentazione XML!"
 
-#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:185
+#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
 #: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:281
 msgid "Target initialization failure"
 msgstr "Errore inizializzazione formato"
 
-#: src/synfig/target_cairo.cpp:146
+#: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:155 src/synfig/target_scanline.cpp:258
-#: src/synfig/target_scanline.cpp:405
+#: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:260
+#: src/synfig/target_scanline.cpp:407
 msgid "Unable to put surface on target"
 msgstr "Impossibile porre la superficie nel formato"
 
-#: src/synfig/target_cairo.cpp:162
+#: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:169 src/synfig/target_cairo_tile.cpp:248
-#: src/synfig/target_scanline.cpp:418 src/synfig/target_tile.cpp:396
+#: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
+#: src/synfig/target_scanline.cpp:420 src/synfig/target_tile.cpp:398
 msgid "Caught string :"
 msgstr "Stringa rilevata :"
 
-#: src/synfig/target_cairo.cpp:174 src/synfig/target_cairo_tile.cpp:253
-#: src/synfig/target_scanline.cpp:423 src/synfig/target_tile.cpp:401
+#: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
+#: src/synfig/target_scanline.cpp:425 src/synfig/target_tile.cpp:403
 msgid "Ran out of memory (Probably a bug)"
 msgstr "Fuori memoria (Probabilemente un bug)"
 
-#: src/synfig/target_cairo.cpp:179 src/synfig/target_cairo_tile.cpp:258
-#: src/synfig/target_scanline.cpp:428 src/synfig/target_tile.cpp:406
+#: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
+#: src/synfig/target_scanline.cpp:430 src/synfig/target_tile.cpp:408
 msgid "Caught unknown error, rethrowing..."
 msgstr "Rilevato errore sconosciuto, rilancio..."
 
-#: src/synfig/target_cairo.cpp:190
+#: src/synfig/target_cairo.cpp:201
 msgid "Cairo Surface bad status"
 msgstr ""
 
@@ -2930,24 +2957,24 @@ msgstr ""
 msgid "Bad Tile Size"
 msgstr "Dimensione Errata Tessera"
 
-#: src/synfig/target_cairo_tile.cpp:142 src/synfig/target_cairo_tile.cpp:240
-#: src/synfig/target_scanline.cpp:203 src/synfig/target_scanline.cpp:249
-#: src/synfig/target_scanline.cpp:348 src/synfig/target_scanline.cpp:396
+#: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
+#: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:251
+#: src/synfig/target_scanline.cpp:350 src/synfig/target_scanline.cpp:398
 #: src/synfig/target_tile.cpp:225
 msgid "Accelerated Renderer Failure"
 msgstr "Errore Visualizzazione Accelerata"
 
-#: src/synfig/target_cairo_tile.cpp:150
+#: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:156 src/synfig/target_tile.cpp:179
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:179
 #: src/synfig/target_tile.cpp:245
 msgid "add_tile():Unable to put surface on target"
 msgstr "add_tile():Impossibile porre la superficie nel formato"
 
-#: src/synfig/target_cairo_tile.cpp:211
+#: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
 msgstr ""
 
@@ -2974,277 +3001,317 @@ msgstr ""
 "è sconosciuto! Assumo SECONDI"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:276 src/synfig/value.cpp:308 src/synfig/value.cpp:360
+#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
 msgid "bool"
 msgstr "Booleano"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:277 src/synfig/value.cpp:310 src/synfig/value.cpp:358
+#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
 msgid "integer"
 msgstr "Intero"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:278 src/synfig/value.cpp:312
+#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
 msgid "angle"
 msgstr "Angolo"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:279 src/synfig/value.cpp:314 src/synfig/value.cpp:352
+#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
 msgid "time"
 msgstr "Tempo"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:280 src/synfig/value.cpp:316 src/synfig/value.cpp:355
+#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
 msgid "real"
 msgstr "Reale"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:281 src/synfig/value.cpp:318
+#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
 msgid "vector"
 msgstr "Vettore"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:282 src/synfig/value.cpp:320
+#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
 msgid "color"
 msgstr "Colore"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:283 src/synfig/value.cpp:322
+#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
 msgid "segment"
 msgstr "Segmento"
 
-#: src/synfig/value.cpp:284
+#: src/synfig/value.cpp:378
 msgid "bline_point"
 msgstr "Punto di línea Beizer (BLine)"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:285 src/synfig/value.cpp:326
+#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
+msgid "matrix"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
+msgid "bone_weight_pair"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
 msgid "width_point"
 msgstr "punto_larghezza"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:286 src/synfig/value.cpp:328
+#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
 msgid "dash_item"
 msgstr "tratteggio_voce"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:287 src/synfig/value.cpp:330
+#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
 msgid "list"
 msgstr "Lista"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:288 src/synfig/value.cpp:332
+#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
 msgid "canvas"
 msgstr "Tela"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:289 src/synfig/value.cpp:334
+#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
 msgid "string"
 msgstr "Stringa"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:290 src/synfig/value.cpp:336
+#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
 msgid "gradient"
 msgstr "Gradiente"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:291 src/synfig/value.cpp:338
+#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
+msgid "bone_object"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
+msgid "bone_valuenode"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
 msgid "nil"
 msgstr "Nullo"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:324
+#: src/synfig/value.cpp:422
 msgid "spline_point"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:141 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
 msgid "Radial Composite"
 msgstr "Radiale Composito"
 
-#: src/synfig/valuenode.cpp:142 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr "Riferimento"
 
-#: src/synfig/valuenode.cpp:144 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr "Tangente Segmento"
 
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr "Vertice Segmento"
 
-#: src/synfig/valuenode.cpp:146 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr "Striscie"
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr "Doppia Tonalità"
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_dynamiclist.cpp:755
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
 msgid "Dynamic List"
 msgstr "Lista Dinamica"
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr "Rotazione Gradiente"
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr "Seno"
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
 msgid "Timed Swap"
 msgstr "Interscambio Temporizzato"
 
-#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr "Ripetizione Gradiente"
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr "Esponenziale"
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
 msgid "Range"
 msgstr "Intervallo"
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
 #: src/synfig/valuenode_switch.cpp:163
 msgid "Switch"
 msgstr "Interruttore"
 
-#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr "Coseno"
 
-#: src/synfig/valuenode.cpp:164
+#: src/synfig/valuenode.cpp:170
 msgid "aTan2"
 msgstr "aTan2"
 
-#: src/synfig/valuenode.cpp:165
+#: src/synfig/valuenode.cpp:171
 msgid "Reverse Tangent"
 msgstr "Tangente Inversa"
 
-#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr "Reciproco"
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
 msgid "Integer"
 msgstr "Intero"
 
-#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
 msgid "Vector Angle"
 msgstr "Angolo Vettore"
 
-#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
 msgid "Vector Length"
 msgstr "Lunghezza Vettore"
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
 msgid "Vector X"
 msgstr "Vettore X"
 
-#: src/synfig/valuenode.cpp:176 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
 msgid "Vector Y"
 msgstr "Vettore Y"
 
-#: src/synfig/valuenode.cpp:177
+#: src/synfig/valuenode.cpp:183
 msgid "Gradient Color"
 msgstr "Colore Gradiente"
 
-#: src/synfig/valuenode.cpp:178
+#: src/synfig/valuenode.cpp:184
 msgid "Dot Product"
 msgstr "Punto Prodotto"
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
 msgid "Time String"
 msgstr "Stringa Tempo"
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_real.cpp:161
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
 #: src/synfig/valuenode_realstring.cpp:175
 msgid "Real"
 msgstr "Reale"
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
 msgid "Real String"
 msgstr "Stringa Reale"
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
 msgid "Joined List"
 msgstr "Lista Unita"
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:189
 msgid "Angle String"
 msgstr "Stringa Angolo"
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:190
 msgid "Int String"
 msgstr "Stringa Intero"
 
-#: src/synfig/valuenode.cpp:185
+#: src/synfig/valuenode.cpp:191
 msgid "Logarithm"
 msgstr "Logaritmo"
 
-#: src/synfig/valuenode.cpp:187
+#: src/synfig/valuenode.cpp:192
 msgid "Greyed"
 msgstr "Disattivato"
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr "Potenza"
 
-#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr "Comparare"
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195
 msgid "Not"
 msgstr "No"
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196
 msgid "And"
 msgstr "Sì"
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197
 msgid "Or"
 msgstr "O"
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:199
+msgid "Bone Influence"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:200
+msgid "Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:201
+msgid "Root Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:202
+msgid "Static List"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:203
+msgid "Bone Weight Pair"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
 msgid "WPList"
 msgstr "WPList"
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:206
 msgid "DIList"
 msgstr "DILista"
 
-#: src/synfig/valuenode.cpp:233
+#: src/synfig/valuenode.cpp:241
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr "Tipo errato: Il valore del Nodo %s non acetta il tipo %s"
 
-#: src/synfig/valuenode.cpp:513
+#: src/synfig/valuenode.cpp:540
 msgid "Placeholder"
 msgstr "Segnaposto"
 
-#: src/synfig/valuenode.h:61
+#: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr "%s:%d tipo errato per %s: richiesto %s ma ottenuto %s"
@@ -3311,33 +3378,33 @@ msgstr "Collegamento2"
 msgid "Second operand of the AND operation"
 msgstr "secondo operando dell'operazione AND"
 
-#: src/synfig/valuenode_animated.cpp:355 src/synfig/valuenode_animated.cpp:379
-#: src/synfig/valuenode_animated.cpp:703 src/synfig/valuenode_animated.cpp:721
-#: src/synfig/valuenode_animated.cpp:801 src/synfig/valuenode_animated.cpp:820
+#: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
+#: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
+#: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 "Un punto di interpolazione (waypoint) esiste già in questo punto temporale"
 
-#: src/synfig/valuenode_animated.cpp:1134
+#: src/synfig/valuenode_animated.cpp:1173
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr "%s: Non puoi usare %s in un Valore del Nodo animato"
 
-#: src/synfig/valuenode_animated.cpp:1169
+#: src/synfig/valuenode_animated.cpp:1208
 msgid "Animated"
 msgstr "Animato"
 
-#: src/synfig/valuenode_bline.cpp:977 src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
 #: src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in list"
 msgstr "Nessun valore nella lista"
 
-#: src/synfig/valuenode_bline.cpp:980 src/synfig/valuenode_dynamiclist.cpp:664
+#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
 #: src/synfig/valuenode_wplist.cpp:339
 msgid "No entries in ret_list"
 msgstr "Nessun valore nella ret_list"
 
-#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_bline.cpp:1023
+#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
 #, c-format
 msgid "Vertex %03d"
 msgstr "Vertice %03d"
@@ -3357,7 +3424,7 @@ msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:584
 #: src/synfig/valuenode_gradientrotate.cpp:169
 #: src/synfig/valuenode_linear.cpp:213
 msgid "Offset"
@@ -3411,190 +3478,186 @@ msgstr "Scala della larghezza"
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:219
+#: src/synfig/valuenode_composite.cpp:229
 msgid "Bad type for composite"
 msgstr "Tipo errato per composito"
 
-#: src/synfig/valuenode_composite.cpp:464
+#: src/synfig/valuenode_composite.cpp:474
 msgid "Red"
 msgstr "Rosso"
 
-#: src/synfig/valuenode_composite.cpp:465
+#: src/synfig/valuenode_composite.cpp:475
 msgid "The red component of the color"
 msgstr "La componente rossa del colore"
 
-#: src/synfig/valuenode_composite.cpp:468
+#: src/synfig/valuenode_composite.cpp:478
 msgid "Green"
 msgstr "Verde"
 
-#: src/synfig/valuenode_composite.cpp:469
+#: src/synfig/valuenode_composite.cpp:479
 msgid "The green component of the color"
 msgstr "La componente verde del colore"
 
-#: src/synfig/valuenode_composite.cpp:472
+#: src/synfig/valuenode_composite.cpp:482
 msgid "Blue"
 msgstr "Blu"
 
-#: src/synfig/valuenode_composite.cpp:473
+#: src/synfig/valuenode_composite.cpp:483
 msgid "The blue component of the color"
 msgstr "La componente blu del colore"
 
-#: src/synfig/valuenode_composite.cpp:476
+#: src/synfig/valuenode_composite.cpp:486
 msgid "Alpha"
 msgstr "Alfa"
 
-#: src/synfig/valuenode_composite.cpp:477
+#: src/synfig/valuenode_composite.cpp:487
 msgid "The alpha of the color"
 msgstr "L'alfa del colore"
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:492
 msgid "Vertex 1"
 msgstr "Vertice 1"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:493
 msgid "The first vertex of the segment"
 msgstr "Il primo vertice del segmento"
 
-#: src/synfig/valuenode_composite.cpp:486
-#: src/synfig/valuenode_composite.cpp:526
+#: src/synfig/valuenode_composite.cpp:496
+#: src/synfig/valuenode_composite.cpp:536
 msgid "Tangent 1"
 msgstr "Tangente 1"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:497
 msgid "The first tangent of the segment"
 msgstr "La tangente prima del segmento"
 
-#: src/synfig/valuenode_composite.cpp:490
+#: src/synfig/valuenode_composite.cpp:500
 msgid "Vertex 2"
 msgstr "Vertice 2"
 
-#: src/synfig/valuenode_composite.cpp:491
+#: src/synfig/valuenode_composite.cpp:501
 msgid "The second vertex of the segment"
 msgstr "Il secondo vertice del segmento"
 
-#: src/synfig/valuenode_composite.cpp:494
-#: src/synfig/valuenode_composite.cpp:530
+#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:540
 msgid "Tangent 2"
 msgstr "Tangente 2"
 
-#: src/synfig/valuenode_composite.cpp:495
+#: src/synfig/valuenode_composite.cpp:505
 msgid "The second tangent of the segment"
 msgstr "La seconda tangente del segmento"
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:510
 msgid "X-Axis"
 msgstr "Asse-X"
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:511
 msgid "The X-Axis component of the vector"
 msgstr "La componente Asse-X del vettore"
 
-#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:514
 msgid "Y-Axis"
 msgstr "Asse-Y"
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:515
 msgid "The Y-Axis component of the vector"
 msgstr "La componente Asse-Y del vettore"
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:520
 msgid "Vertex"
 msgstr "Vertice"
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:521
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:525
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:519
+#: src/synfig/valuenode_composite.cpp:529
 msgid "Defines the Off and On position relative to neighbours"
 msgstr "Definisce la posizione On/Off rispetto ai vicini"
 
-#: src/synfig/valuenode_composite.cpp:522
+#: src/synfig/valuenode_composite.cpp:532
 msgid "Split"
 msgstr "Dividere"
 
-#: src/synfig/valuenode_composite.cpp:523
+#: src/synfig/valuenode_composite.cpp:533
 msgid "When checked, tangents are independent"
 msgstr "Se selezionato, le tangenti sono indipendenti"
 
-#: src/synfig/valuenode_composite.cpp:527
+#: src/synfig/valuenode_composite.cpp:537
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:531
+#: src/synfig/valuenode_composite.cpp:541
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:547
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:551
 msgid "The width of the Width Point"
 msgstr "La larghezza del Punto Larghezza"
 
-#: src/synfig/valuenode_composite.cpp:544
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_composite.cpp:554
+#: src/synfig/valuenode_composite.cpp:594
 msgid "Side Type Before"
 msgstr "Batti prima il lato"
 
-#: src/synfig/valuenode_composite.cpp:545
 #: src/synfig/valuenode_composite.cpp:555
+#: src/synfig/valuenode_composite.cpp:565
 msgid "Defines the interpolation type of the width point"
 msgstr "Definisce il tipo di interpolazione del punto di larghezza"
 
-#: src/synfig/valuenode_composite.cpp:547
 #: src/synfig/valuenode_composite.cpp:557
+#: src/synfig/valuenode_composite.cpp:567
 msgid "Interpolate"
 msgstr "Interpolare"
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:593
+#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:603
 msgid "Side Type After"
 msgstr "Batti Dopo il Lato"
 
-#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:574
 msgid "Lower Boundary"
 msgstr "Limite Inferiore"
 
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:575
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:578
 msgid "Upper Boundary"
 msgstr "Limite Superiore"
 
-#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:579
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:585
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:589
 #: src/synfig/valuenode_timedswap.cpp:260
 msgid "Length"
 msgstr "Lunghezza"
 
-#: src/synfig/valuenode_composite.cpp:580
+#: src/synfig/valuenode_composite.cpp:590
 msgid "The length of the Dash Item"
 msgstr "La lunghezza della Voce di Tratteggio"
 
-#: src/synfig/valuenode_composite.cpp:585
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:595
+#: src/synfig/valuenode_composite.cpp:604
 msgid "Defines the side type of the dash item"
 msgstr "Definisce la parte tipo della voce trattino"
 
-#: src/synfig/valuenode_const.cpp:127
-msgid "Static"
-msgstr "Statico"
-
 #: src/synfig/valuenode_compare.cpp:168
 msgid "The left side of the comparison"
 msgstr "Il lato sinistro del confronto"
@@ -3659,12 +3722,12 @@ msgstr "Valore finale dell'indice"
 msgid "Amount increment of the index"
 msgstr "Valore incremento dell'indice"
 
-#: src/synfig/valuenode_dynamiclist.cpp:655
+#: src/synfig/valuenode_dynamiclist.cpp:661
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr "Tipo lista/Tipo elemento discordante, discordanza rifiutata"
 
-#: src/synfig/valuenode_dynamiclist.cpp:703
-#: src/synfig/valuenode_dynamiclist.cpp:957
+#: src/synfig/valuenode_dynamiclist.cpp:709
+#: src/synfig/valuenode_dynamiclist.cpp:964
 #, c-format
 msgid "Item %03d"
 msgstr "Elemento %03d"
@@ -3996,8 +4059,8 @@ msgid "Intersection"
 msgstr "Intersezione"
 
 #: src/synfig/valuenode_step.cpp:213
-msgid "Value that define whether the step is centerd on the value [0,1]"
-msgstr "Valore che definisce se il passo è centerato sul valore [0,1]"
+msgid "Value that define whether the step is centered on the value [0,1]"
+msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
 msgid "Color 1"
@@ -4136,196 +4199,196 @@ msgstr "Vettore da cui la coordinata Y è estratta"
 msgid "WidthPoint %03d"
 msgstr "Punto di Larghezza %03d"
 
-#: src/tool/main.cpp:133
+#: src/tool/main.cpp:140
 msgid "FATAL: Synfig Version Mismatch"
 msgstr "FATALE: Versione di Synfig Non Corrispondente"
 
-#: src/tool/main.cpp:169
+#: src/tool/main.cpp:176
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:171
+#: src/tool/main.cpp:178
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:172
+#: src/tool/main.cpp:179
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:173
+#: src/tool/main.cpp:180
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:174
+#: src/tool/main.cpp:181
 msgid "Set the diagonal size of image window (Span)"
 msgstr "Imposta la dimensione diagonale dell finestra immagine (Span)"
 
-#: src/tool/main.cpp:175
+#: src/tool/main.cpp:182
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 "Imposta il valore dell'antiscalettatura per il visualizzatore parametrico"
 
-#: src/tool/main.cpp:176
+#: src/tool/main.cpp:183
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:184
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:178
+#: src/tool/main.cpp:185
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:186
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:187
 msgid "Specify output filename"
 msgstr "Specifica il nome file in uscita"
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:188
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:189
 msgid "Render the canvas with the given id instead of the root."
 msgstr "Visualizza la tela con l'ID dato anziché la radice."
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:190
 msgid "Set the frame rate"
 msgstr "Imposta la frequenza fotogrammi"
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:191
 msgid "Render a single frame at <seconds>"
 msgstr "Visualizza un solo fotograma al <seconds>"
 
-#: src/tool/main.cpp:185 src/tool/main.cpp:186
+#: src/tool/main.cpp:192 src/tool/main.cpp:193
 msgid "Set the starting time"
 msgstr "Imposta il tempo di avvio"
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:194
 msgid "Set the ending time"
 msgstr "Imposta il tempo di arresto"
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:195
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:196
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:197
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:193
+#: src/tool/main.cpp:200
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:202
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:203
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr "Modo silenzioso (Non visualizza progresso/tempo restante)"
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:204
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:200
+#: src/tool/main.cpp:207
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:202
+#: src/tool/main.cpp:209
 msgid "Append layers in <filename> to composition"
 msgstr "Accoda i piani in <filename> per la composizione"
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:210
 msgid "Print out specified details of the root canvas"
 msgstr "Stampa i dettagli specificati nella tela radice"
 
-#: src/tool/main.cpp:204 src/tool/main.cpp:230
+#: src/tool/main.cpp:211 src/tool/main.cpp:237
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:207
+#: src/tool/main.cpp:214
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:216
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:210
+#: src/tool/main.cpp:217
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:213
+#: src/tool/main.cpp:220
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:215
+#: src/tool/main.cpp:222
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:223
 msgid "Print out the list of available importers"
 msgstr "Stampa la lista degli importatori disponibili"
 
-#: src/tool/main.cpp:217
+#: src/tool/main.cpp:224
 msgid "Print out misc build information"
 msgstr "Stampa l'insieme delle informazioni di costruzione"
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:225
 msgid "Print out the list of available layers"
 msgstr "Stampa la lista dei piani disponibili"
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:226
 msgid "Print out layer's description, parameter info, etc."
 msgstr "Stampa la descrizione dei piani, informazioni del parametro, etc."
 
-#: src/tool/main.cpp:220
+#: src/tool/main.cpp:227
 msgid "Print out license information"
 msgstr "Stampa le informazioni della licenza"
 
-#: src/tool/main.cpp:221
+#: src/tool/main.cpp:228
 msgid "Print out the list of loaded modules"
 msgstr "Stampa la lista dei moduli caricati"
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:229
 msgid "Print out the list of available targets"
 msgstr "Stampa la lista dei formati disponibili"
 
-#: src/tool/main.cpp:223
+#: src/tool/main.cpp:230
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:231
 msgid "Print out the list of available ValueNodes"
 msgstr "Stampa la lista dei Valori del Nodo disponibili"
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:232
 msgid "Print out version information"
 msgstr "Stampa le informazioni di versione"
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:241
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:236
+#: src/tool/main.cpp:243
 msgid "Test GUID generation"
 msgstr "Verifica la generazione della GUID"
 
-#: src/tool/main.cpp:237
+#: src/tool/main.cpp:244
 msgid "Test signal implementation"
 msgstr "Verifica l'implementazione del segnale"
 
@@ -4389,157 +4452,157 @@ msgstr ""
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:113
+#: src/tool/optionsprocessor.cpp:114
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:115
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:131
+#: src/tool/optionsprocessor.cpp:132
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:146
+#: src/tool/optionsprocessor.cpp:147
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:224
+#: src/tool/optionsprocessor.cpp:225
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:226
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:227
+#: src/tool/optionsprocessor.cpp:228
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:232
+#: src/tool/optionsprocessor.cpp:233
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:234
+#: src/tool/optionsprocessor.cpp:235
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:236
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:239
+#: src/tool/optionsprocessor.cpp:240
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:243
+#: src/tool/optionsprocessor.cpp:244
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:309
+#: src/tool/optionsprocessor.cpp:310
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:316
+#: src/tool/optionsprocessor.cpp:317
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:324
+#: src/tool/optionsprocessor.cpp:325
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:334
+#: src/tool/optionsprocessor.cpp:335
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:343
+#: src/tool/optionsprocessor.cpp:344
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:352
+#: src/tool/optionsprocessor.cpp:353
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:379
+#: src/tool/optionsprocessor.cpp:380
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:385
+#: src/tool/optionsprocessor.cpp:386
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:400
+#: src/tool/optionsprocessor.cpp:401
 #, c-format
 msgid "Resolution set to %dx%d"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:417
+#: src/tool/optionsprocessor.cpp:418
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:437
+#: src/tool/optionsprocessor.cpp:438
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:440
+#: src/tool/optionsprocessor.cpp:441
 #, c-format
 msgid "Target video codec set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:446
+#: src/tool/optionsprocessor.cpp:447
 #, c-format
 msgid "Target bitrate set to %dk"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:452
+#: src/tool/optionsprocessor.cpp:453
 #, c-format
 msgid "Output file sequence separator set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:487
+#: src/tool/optionsprocessor.cpp:488
 #, c-format
 msgid "Unable to load '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:494
+#: src/tool/optionsprocessor.cpp:495
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:499
+#: src/tool/optionsprocessor.cpp:500
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:513
+#: src/tool/optionsprocessor.cpp:514
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:532
+#: src/tool/optionsprocessor.cpp:533
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:539
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:557
+#: src/tool/optionsprocessor.cpp:558
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:571
+#: src/tool/optionsprocessor.cpp:572
 msgid "Appended contents of "
 msgstr ""
 
diff --git a/po/ja_JP.gmo b/po/ja_JP.gmo
index 5b18b0f..5f868c6 100644
Binary files a/po/ja_JP.gmo and b/po/ja_JP.gmo differ
diff --git a/po/ja_JP.po b/po/ja_JP.po
index 280f206..3085c8e 100644
--- a/po/ja_JP.po
+++ b/po/ja_JP.po
@@ -1,96 +1,98 @@
-# translation of cs.po to Japanese (Japan)
+# Translation file for Synfig Core package.
 # Copyright (C) 2013 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
 # cyaoeu <cyaoeu at gmail.com>, 2013
+# cyaoeu <cyaoeu at gmail.com>, 2013
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2013-05-09 18:34+0200\n"
-"PO-Revision-Date: 2013-05-02 12:39+0000\n"
-"Last-Translator: genete <genetita at gmail.com>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
+"POT-Creation-Date: 2013-10-25 17:57+0700\n"
+"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
+"Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/synfig/"
+"language/ja_JP/)\n"
 "Language: ja_JP\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-#: src/modules/mod_example/filledrect.cpp:58
+#: src/modules/mod_example/filledrect.cpp:59
 msgid "Filled Rectangle"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:59
+#: src/modules/mod_example/filledrect.cpp:60
 #: src/modules/mod_example/metaballs.cpp:58
 #: src/modules/mod_example/simplecircle.cpp:58
 msgid "Example"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:120
+#: src/modules/mod_example/filledrect.cpp:131
 #: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:523
-#: src/modules/lyr_std/shade.cpp:564
-#: src/modules/mod_geometry/checkerboard.cpp:122
-#: src/modules/mod_geometry/circle.cpp:128
-#: src/modules/mod_geometry/rectangle.cpp:125 src/synfig/layer_shape.cpp:1193
-#: src/synfig/layer_solidcolor.cpp:102 src/synfig/paramdesc.cpp:79
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:620
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
 msgid "Color"
 msgstr "色彩"
 
-#: src/modules/mod_example/filledrect.cpp:121
+#: src/modules/mod_example/filledrect.cpp:132
 #: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:129
-#: src/modules/mod_geometry/rectangle.cpp:126
-#: src/synfig/layer_solidcolor.cpp:103
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
 msgid "Fill color of the layer"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:125
-#: src/modules/mod_geometry/rectangle.cpp:130
-#: src/modules/mod_gradient/lineargradient.cpp:190
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:185
 msgid "Point 1"
 msgstr "頂点 1"
 
-#: src/modules/mod_example/filledrect.cpp:126
-#: src/modules/mod_geometry/rectangle.cpp:132
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
 msgid "First corner of the rectangle"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_geometry/rectangle.cpp:136
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:190
 msgid "Point 2"
 msgstr "頂点 2"
 
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_geometry/rectangle.cpp:137
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
 msgid "Second corner of the rectangle"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_example/filledrect.cpp:147
 msgid "Feather X"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:140
+#: src/modules/mod_example/filledrect.cpp:152
 msgid "Feather Y"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:144 src/modules/lyr_std/bevel.cpp:68
-#: src/modules/mod_geometry/advanced_outline.cpp:1161
+#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
 msgid "Bevel"
 msgstr "ベベル"
 
-#: src/modules/mod_example/filledrect.cpp:145
+#: src/modules/mod_example/filledrect.cpp:158
 msgid "Use Bevel for the corners"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:149
+#: src/modules/mod_example/filledrect.cpp:163
 msgid "Keep Bevel Circular"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:150
+#: src/modules/mod_example/filledrect.cpp:164
 msgid "When checked the bevel is circular"
 msgstr ""
 
@@ -98,39 +100,39 @@ msgstr ""
 msgid "Metaballs"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:135
+#: src/modules/mod_example/metaballs.cpp:129
 #: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:552
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:194
 #: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:112
-#: src/modules/mod_noise/noise.cpp:259 src/modules/mod_particle/plant.cpp:403
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
 #: src/synfig/valuenode_gradientrotate.cpp:164
 #: src/synfig/valuenode_repeat_gradient.cpp:203
 msgid "Gradient"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:139
+#: src/modules/mod_example/metaballs.cpp:133
 msgid "Balls"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:143
+#: src/modules/mod_example/metaballs.cpp:137
 msgid "Radii"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:147
+#: src/modules/mod_example/metaballs.cpp:141
 msgid "Weights"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:151
+#: src/modules/mod_example/metaballs.cpp:145
 msgid "Gradient Left"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:155
+#: src/modules/mod_example/metaballs.cpp:149
 msgid "Gradient Right"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:159
+#: src/modules/mod_example/metaballs.cpp:153
 msgid "Positive Only"
 msgstr ""
 
@@ -142,21 +144,21 @@ msgstr ""
 #: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
 #: src/modules/mod_gradient/conicalgradient.cpp:114
 #: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:117
+#: src/modules/mod_gradient/spiralgradient.cpp:118
 msgid "Center"
 msgstr "中心"
 
 #: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:144
+#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
 msgid "Center of the circle"
 msgstr "円の中心"
 
 #: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:151
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:132
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
 #: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:122
-#: src/modules/mod_noise/valuenode_random.cpp:269
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/valuenode_radialcomposite.cpp:272
 msgid "Radius"
 msgstr "半径"
@@ -164,20 +166,20 @@ msgstr "半径"
 #: src/modules/mod_example/simplecircle.cpp:118
 #: src/modules/lyr_std/twirl.cpp:118
 #: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:124
 msgid "This is the radius of the circle"
 msgstr "これが円の半径です"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
-#: src/modules/lyr_freetype/lyr_freetype.cpp:517
+#: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "テキスト"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
 #: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
-#: src/modules/lyr_std/supersample.cpp:57 src/modules/lyr_std/timeloop.cpp:60
-#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:70
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:79
+#: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
+#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
 msgid "Other"
 msgstr ""
 
@@ -185,245 +187,245 @@ msgstr ""
 msgid "Text Layer"
 msgstr "テキストレイヤー"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:390
+#: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:409
+#: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:518
+#: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:524
+#: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:528
+#: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:533
+#: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:535
-#: src/modules/lyr_freetype/lyr_freetype.cpp:545
+#: src/modules/lyr_freetype/lyr_freetype.cpp:587
+#: src/modules/lyr_freetype/lyr_freetype.cpp:597
 msgid "Normal"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:536
+#: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:537
+#: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:541
+#: src/modules/lyr_freetype/lyr_freetype.cpp:593
 msgid "Weight"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:543
+#: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:544
+#: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:546
+#: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:547
+#: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:548
+#: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:551
+#: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:552
+#: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:556
+#: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:557
+#: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:561
-#: src/modules/lyr_std/shade.cpp:570 src/modules/lyr_std/xorpattern.cpp:129
-#: src/modules/mod_filter/blur.cpp:372
+#: src/modules/lyr_freetype/lyr_freetype.cpp:613
+#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:413
 #: src/modules/mod_filter/radialblur.cpp:115
-#: src/modules/mod_geometry/checkerboard.cpp:130
-#: src/modules/mod_noise/distort.cpp:222 src/modules/mod_noise/noise.cpp:267
+#: src/modules/mod_geometry/checkerboard.cpp:154
+#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
 msgstr "サイズ"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:562
+#: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
 msgstr "テキストのサイズ"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:569
+#: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:570
+#: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/insideout.cpp:143 src/modules/lyr_std/rotate.cpp:116
-#: src/modules/lyr_std/shade.cpp:567 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:389
-#: src/modules/lyr_std/xorpattern.cpp:125 src/modules/lyr_std/zoom.cpp:104
+#: src/modules/lyr_freetype/lyr_freetype.cpp:627
+#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
+#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
+#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
-#: src/modules/mod_geometry/checkerboard.cpp:126
-#: src/modules/mod_geometry/circle.cpp:143
-#: src/modules/mod_gradient/curvegradient.cpp:537
-#: src/modules/mod_particle/plant.cpp:398 src/synfig/layer_pastecanvas.cpp:133
-#: src/synfig/layer_shape.cpp:1197 src/synfig/valuenode_composite.cpp:518
+#: src/modules/mod_geometry/checkerboard.cpp:150
+#: src/modules/mod_geometry/circle.cpp:161
+#: src/modules/mod_gradient/curvegradient.cpp:550
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
+#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
 msgid "Origin"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:576
+#: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:580
+#: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:581
+#: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:588
+#: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:589
+#: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:594
+#: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:597
-#: src/modules/lyr_std/shade.cpp:587 src/modules/mod_geometry/circle.cpp:147
-#: src/synfig/layer_shape.cpp:1200
+#: src/modules/lyr_freetype/lyr_freetype.cpp:649
+#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1228
 msgid "Invert"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:654
+#: src/modules/lyr_freetype/lyr_freetype.cpp:714
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:680
+#: src/modules/lyr_freetype/lyr_freetype.cpp:740
 msgid "Text too small, no text will be rendered."
 msgstr "テキストが小さすぎるためレンダーできません。"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:704
+#: src/modules/lyr_freetype/lyr_freetype.cpp:764
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:747
+#: src/modules/lyr_freetype/lyr_freetype.cpp:807
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:754
+#: src/modules/lyr_freetype/lyr_freetype.cpp:814
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:69 src/modules/lyr_std/shade.cpp:68
+#: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:570 src/modules/lyr_std/shade.cpp:576
-#: src/modules/mod_filter/blur.cpp:376
-#: src/modules/mod_filter/halftone2.cpp:170
+#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
+#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:571 src/modules/lyr_std/shade.cpp:577
-#: src/modules/mod_filter/blur.cpp:377
+#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
+#: src/modules/mod_filter/blur.cpp:418
 msgid "Type of blur to use"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:573 src/modules/lyr_std/shade.cpp:579
-#: src/modules/mod_filter/blur.cpp:379 src/synfig/layer_shape.cpp:1213
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:574 src/modules/lyr_std/shade.cpp:580
-#: src/modules/mod_filter/blur.cpp:380 src/synfig/layer_shape.cpp:1214
+#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
+#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
 msgid "Fast Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:575 src/modules/lyr_std/shade.cpp:581
-#: src/modules/mod_filter/blur.cpp:381 src/synfig/layer_shape.cpp:1215
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
 msgid "Cross-Hatch Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:576 src/modules/lyr_std/shade.cpp:582
-#: src/modules/mod_filter/blur.cpp:382 src/synfig/layer_shape.cpp:1216
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
 msgid "Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:577 src/modules/lyr_std/shade.cpp:583
-#: src/modules/mod_filter/blur.cpp:383 src/synfig/layer_shape.cpp:1217
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:581
+#: src/modules/lyr_std/bevel.cpp:635
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:584
+#: src/modules/lyr_std/bevel.cpp:638
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:587
+#: src/modules/lyr_std/bevel.cpp:641
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:591
+#: src/modules/lyr_std/bevel.cpp:645
 msgid "Depth of Bevel"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:595
+#: src/modules/lyr_std/bevel.cpp:649
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:598
+#: src/modules/lyr_std/bevel.cpp:652
 msgid "Use Luma"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:601
+#: src/modules/lyr_std/bevel.cpp:655
 msgid "Solid"
 msgstr ""
 
-#: src/modules/lyr_std/booleancurve.cpp:104
+#: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
 msgstr ""
 
-#: src/modules/lyr_std/booleancurve.cpp:105
+#: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
 msgstr ""
 
@@ -431,38 +433,38 @@ msgstr ""
 msgid "Clamp"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:56
-#: src/modules/mod_filter/halftone2.cpp:59
-#: src/modules/mod_filter/halftone3.cpp:59
-#: src/modules/mod_filter/lumakey.cpp:59
+#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:57
+#: src/modules/mod_filter/halftone2.cpp:60
+#: src/modules/mod_filter/halftone3.cpp:60
+#: src/modules/mod_filter/lumakey.cpp:60
 msgid "Filters"
 msgstr "フィルター"
 
-#: src/modules/lyr_std/clamp.cpp:158
+#: src/modules/lyr_std/clamp.cpp:162
 msgid "Invert Negative"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:162
+#: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:163
+#: src/modules/lyr_std/clamp.cpp:167
 msgid "When checked the Ceiling value is used"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:167
+#: src/modules/lyr_std/clamp.cpp:171
 msgid "Ceiling"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:168
+#: src/modules/lyr_std/clamp.cpp:172
 msgid "Upper boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:172
+#: src/modules/lyr_std/clamp.cpp:176
 msgid "Floor"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:173
+#: src/modules/lyr_std/clamp.cpp:177
 msgid "Lower boundary of the clamping"
 msgstr ""
 
@@ -470,24 +472,24 @@ msgstr ""
 msgid "Import Image"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:151 src/modules/lyr_std/import.cpp:201
+#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:283
+#: src/modules/lyr_std/import.cpp:293
 msgid "Filename"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:284
+#: src/modules/lyr_std/import.cpp:294
 msgid "File to import"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:288 src/synfig/layer_pastecanvas.cpp:146
+#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:289
+#: src/modules/lyr_std/import.cpp:299
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -496,14 +498,14 @@ msgid "Inside Out"
 msgstr ""
 
 #: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:75
 #: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:57 src/modules/lyr_std/curvewarp.cpp:56
-#: src/modules/mod_noise/distort.cpp:58
+#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
+#: src/modules/mod_noise/distort.cpp:59
 msgid "Distortions"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:144
+#: src/modules/lyr_std/insideout.cpp:163
 msgid "Defines the where the center will be"
 msgstr ""
 
@@ -515,97 +517,97 @@ msgstr ""
 msgid "Fractals"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:309
+#: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:310
+#: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:313
+#: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:314
+#: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:317
+#: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:320 src/modules/lyr_std/mandelbrot.cpp:223
+#: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:323
+#: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:326 src/modules/lyr_std/mandelbrot.cpp:226
+#: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:330 src/modules/lyr_std/mandelbrot.cpp:236
+#: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:333 src/modules/lyr_std/mandelbrot.cpp:240
+#: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:336 src/modules/lyr_std/mandelbrot.cpp:244
+#: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:339 src/modules/lyr_std/mandelbrot.cpp:248
+#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:342
+#: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:345 src/modules/lyr_std/mandelbrot.cpp:265
+#: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:348 src/modules/lyr_std/mandelbrot.cpp:269
+#: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:351 src/modules/lyr_std/mandelbrot.cpp:273
+#: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:354 src/modules/lyr_std/mandelbrot.cpp:277
+#: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:357
+#: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:361
+#: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:364 src/modules/lyr_std/mandelbrot.cpp:285
+#: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:286
+#: src/modules/lyr_std/julia.cpp:391 src/modules/lyr_std/mandelbrot.cpp:282
 msgid "Smooth the coloration outside the set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:368 src/modules/lyr_std/mandelbrot.cpp:230
+#: src/modules/lyr_std/julia.cpp:394 src/modules/lyr_std/mandelbrot.cpp:226
 msgid "Break Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:369 src/modules/lyr_std/mandelbrot.cpp:231
+#: src/modules/lyr_std/julia.cpp:395 src/modules/lyr_std/mandelbrot.cpp:227
 msgid "Modify equation to achieve interesting results"
 msgstr ""
 
@@ -613,48 +615,48 @@ msgstr ""
 msgid "Mandelbrot Set"
 msgstr ""
 
+#: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
 #: src/modules/lyr_std/mandelbrot.cpp:241
 #: src/modules/lyr_std/mandelbrot.cpp:245
 #: src/modules/lyr_std/mandelbrot.cpp:249
 #: src/modules/lyr_std/mandelbrot.cpp:253
 #: src/modules/lyr_std/mandelbrot.cpp:257
-#: src/modules/lyr_std/mandelbrot.cpp:261
 msgid "Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:252
+#: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:256
+#: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:260
+#: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
 msgstr ""
 
+#: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
 #: src/modules/lyr_std/mandelbrot.cpp:270
 #: src/modules/lyr_std/mandelbrot.cpp:274
 #: src/modules/lyr_std/mandelbrot.cpp:278
-#: src/modules/lyr_std/mandelbrot.cpp:282
+#: src/modules/lyr_std/mandelbrot.cpp:283
 #: src/modules/lyr_std/mandelbrot.cpp:287
 #: src/modules/lyr_std/mandelbrot.cpp:291
-#: src/modules/lyr_std/mandelbrot.cpp:295
 msgid "Outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:281
+#: src/modules/lyr_std/mandelbrot.cpp:277
 msgid "Gradient outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:290
+#: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:294
+#: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
 msgstr ""
 
@@ -667,16 +669,16 @@ msgstr "回転"
 msgid "Transform"
 msgstr "変形"
 
-#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/translate.cpp:101
+#: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:134
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:121
-#: src/modules/lyr_std/sphere_distort.cpp:158
+#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:217
+#: src/synfig/layer_composite.cpp:249
 #: src/synfig/valuenode_blinecalctangent.cpp:251
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
@@ -685,61 +687,61 @@ msgstr ""
 msgid "Amount"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:67
+#: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:571
+#: src/modules/lyr_std/shade.cpp:627
 msgid "Size of Shade"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:73
-#: src/modules/lyr_std/sphere_distort.cpp:172
+#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:167
 msgid "Spherize"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/synfig/valuenode_composite.cpp:536
+#: src/modules/lyr_std/sphere_distort.cpp:141
+#: src/synfig/valuenode_composite.cpp:546
 msgid "Position"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:147
+#: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:154
+#: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:160
+#: src/modules/lyr_std/sphere_distort.cpp:155
 msgid "The distortion intensity (negative values inverts effect)"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:164 src/modules/lyr_std/warp.cpp:409
+#: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:165
+#: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:169
+#: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:170
+#: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:173
+#: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:174
+#: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
 msgstr ""
 
@@ -759,104 +761,104 @@ msgstr ""
 msgid "Stroboscope"
 msgstr ""
 
-#: src/modules/lyr_std/stroboscope.cpp:102
+#: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
 msgstr ""
 
-#: src/modules/lyr_std/stroboscope.cpp:103
+#: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:56
+#: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:129
+#: src/modules/lyr_std/supersample.cpp:146
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:290
-#: src/modules/lyr_std/curvewarp.cpp:393
-#: src/modules/mod_gradient/curvegradient.cpp:542
-#: src/synfig/valuenode_composite.cpp:514
-#: src/synfig/valuenode_composite.cpp:540
+#: src/modules/lyr_std/supersample.cpp:337
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_composite.cpp:524
+#: src/synfig/valuenode_composite.cpp:550
 #: src/synfig/valuenode_realstring.cpp:180
 #: src/synfig/valuenode_repeat_gradient.cpp:213
 #: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
 msgid "Width"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:291
+#: src/modules/lyr_std/supersample.cpp:338
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:294 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
 msgid "Height"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:295
+#: src/modules/lyr_std/supersample.cpp:342
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:298
+#: src/modules/lyr_std/supersample.cpp:345
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:299
+#: src/modules/lyr_std/supersample.cpp:346
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:302
+#: src/modules/lyr_std/supersample.cpp:349
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:303
+#: src/modules/lyr_std/supersample.cpp:350
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:166
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:124 src/synfig/valuenode_timeloop.cpp:179
+#: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:125
+#: src/modules/lyr_std/timeloop.cpp:134
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:129 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:130 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:134 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:135 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139
+#: src/modules/lyr_std/timeloop.cpp:148
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:140
+#: src/modules/lyr_std/timeloop.cpp:149
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144
+#: src/modules/lyr_std/timeloop.cpp:153
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:145
+#: src/modules/lyr_std/timeloop.cpp:154
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
@@ -884,115 +886,115 @@ msgstr ""
 msgid "When checked, distorts outside the circle"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:56
+#: src/modules/lyr_std/warp.cpp:57
 msgid "Warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:374
+#: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:376
+#: src/modules/lyr_std/warp.cpp:382
 msgid "Top Left corner of the source to warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:380
+#: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:381
+#: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:385
+#: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:387
+#: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:391
+#: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:393
+#: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:397
+#: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:399
+#: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:403
+#: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:405
+#: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:413
+#: src/modules/lyr_std/warp.cpp:419
 msgid "Horizon"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:414
+#: src/modules/lyr_std/warp.cpp:420
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:55
+#: src/modules/lyr_std/curvewarp.cpp:56
 msgid "Curve Warp"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:390
-msgid "Position of the source line"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:395
+#: src/modules/lyr_std/curvewarp.cpp:404
 msgid "How much is expanded the result perpendicular to the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:407
 msgid "Start Point"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:400
+#: src/modules/lyr_std/curvewarp.cpp:409
 msgid "First point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:403
+#: src/modules/lyr_std/curvewarp.cpp:412
 msgid "End Point"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:404
+#: src/modules/lyr_std/curvewarp.cpp:413
 msgid "Final point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:407
-#: src/modules/mod_geometry/advanced_outline.cpp:1123
-#: src/modules/mod_geometry/outline.cpp:814
-#: src/modules/mod_geometry/region.cpp:233
-#: src/modules/mod_gradient/curvegradient.cpp:546
-#: src/modules/mod_particle/plant.cpp:391
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
 msgid "Vertices"
 msgstr "頂点"
 
-#: src/modules/lyr_std/curvewarp.cpp:410
+#: src/modules/lyr_std/curvewarp.cpp:419
 msgid "List of Spline Points where the source line is curved to"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:413
-#: src/modules/mod_geometry/advanced_outline.cpp:1178
-#: src/modules/mod_gradient/curvegradient.cpp:567
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
 msgid "Fast"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:414
-#: src/modules/mod_gradient/curvegradient.cpp:568
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
 msgid "When checked, renders quickly but with artifacts"
 msgstr ""
 
@@ -1000,15 +1002,15 @@ msgstr ""
 msgid "XOR Pattern"
 msgstr ""
 
-#: src/modules/lyr_std/xorpattern.cpp:126
+#: src/modules/lyr_std/xorpattern.cpp:130
 msgid "Center of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/xorpattern.cpp:130
+#: src/modules/lyr_std/xorpattern.cpp:134
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:143
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
 #: src/synfig/valuenode_blinecalctangent.cpp:261
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
 #: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
@@ -1019,7 +1021,7 @@ msgstr ""
 msgid "Amount to scale to"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:105
+#: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
 msgstr ""
 
@@ -1087,126 +1089,141 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:201
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:208
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:218
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:272
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-msgid "Unable to open pipe to ffmpeg"
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:214
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no pipe)"
+msgstr "ファイルを開けません"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:221
+msgid "Unable to open pipe to ffmpeg (pid == -1)"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:68
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:231
+msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:285
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (exec failed)"
+msgstr "ファイルを開けません"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:303
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no file)"
+msgstr "ファイルを開けません"
+
+#: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:69 src/modules/mod_filter/radialblur.cpp:56
+#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
 #: src/synfig/layer_motionblur.cpp:57
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:373
+#: src/modules/mod_filter/blur.cpp:414
 msgid "Size of Blur"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:55
+#: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:211
+#: src/modules/mod_filter/colorcorrect.cpp:217
 msgid "Hue Adjust"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:215
+#: src/modules/mod_filter/colorcorrect.cpp:221
 msgid "Brightness"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:219
+#: src/modules/mod_filter/colorcorrect.cpp:225
 msgid "Contrast"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:223
+#: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:227 src/synfig/layer_bitmap.cpp:179
+#: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:58
+#: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:151
+#: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:155
+#: src/modules/mod_filter/halftone2.cpp:159
 msgid "Mask Angle"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:159
-#: src/modules/mod_filter/halftone3.cpp:309
+#: src/modules/mod_filter/halftone2.cpp:163
+#: src/modules/mod_filter/halftone3.cpp:328
 msgid "Mask Size"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:164
+#: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:167
+#: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:172
-#: src/modules/mod_filter/halftone3.cpp:314
+#: src/modules/mod_filter/halftone2.cpp:176
+#: src/modules/mod_filter/halftone3.cpp:333
 #: src/modules/mod_gradient/conicalgradient.cpp:125
 msgid "Symmetric"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:173
-#: src/modules/mod_filter/halftone3.cpp:315
+#: src/modules/mod_filter/halftone2.cpp:177
+#: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:175
-#: src/modules/mod_filter/halftone3.cpp:317
+#: src/modules/mod_filter/halftone2.cpp:179
+#: src/modules/mod_filter/halftone3.cpp:336
 msgid "Diamond"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:176
-#: src/modules/mod_filter/halftone3.cpp:318
+#: src/modules/mod_filter/halftone2.cpp:180
+#: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:58
+#: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:312
+#: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:321
+#: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:329
+#: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:333
+#: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:337
+#: src/modules/mod_filter/halftone3.cpp:356
 msgid " Mask Angle"
 msgstr ""
 
-#: src/modules/mod_filter/lumakey.cpp:58
+#: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
 msgstr ""
 
-#: src/modules/mod_filter/radialblur.cpp:55
+#: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
 msgstr ""
 
@@ -1228,19 +1245,19 @@ msgstr ""
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:62 src/synfig/layer_solidcolor.cpp:57
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:123
+#: src/modules/mod_geometry/checkerboard.cpp:147
 msgid "Color of checkers"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:127
+#: src/modules/mod_geometry/checkerboard.cpp:151
 msgid "Center of the checkers"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:131
+#: src/modules/mod_geometry/checkerboard.cpp:155
 msgid "Size of checkers"
 msgstr ""
 
@@ -1248,54 +1265,54 @@ msgstr ""
 msgid "Circle"
 msgstr "円"
 
-#: src/modules/mod_geometry/circle.cpp:134
+#: src/modules/mod_geometry/circle.cpp:152
 msgid "Radius of the circle"
 msgstr "円の半径"
 
-#: src/modules/mod_geometry/circle.cpp:138 src/synfig/layer_shape.cpp:1206
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
 msgid "Feather"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:140
+#: src/modules/mod_geometry/circle.cpp:158
 msgid "Amount of feather of the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:148
+#: src/modules/mod_geometry/circle.cpp:166
 msgid "Invert the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:152
+#: src/modules/mod_geometry/circle.cpp:170
 msgid "Falloff"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:153
+#: src/modules/mod_geometry/circle.cpp:171
 msgid "Determines the falloff function for the feather"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:155
-#: src/modules/mod_noise/distort.cpp:234 src/modules/mod_noise/noise.cpp:275
-#: src/modules/mod_noise/valuenode_random.cpp:288
-#: src/synfig/layer_bitmap.cpp:173 src/synfig/layer_motionblur.cpp:150
-#: src/synfig/valuenode.cpp:139 src/synfig/valuenode_linear.cpp:146
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:289
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
 msgid "Linear"
 msgstr "リネア"
 
-#: src/modules/mod_geometry/circle.cpp:156
+#: src/modules/mod_geometry/circle.cpp:174
 msgid "Squared"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:157
+#: src/modules/mod_geometry/circle.cpp:175
 msgid "Square Root"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:158
+#: src/modules/mod_geometry/circle.cpp:176
 msgid "Sigmond"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:159
-#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:276
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:174
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:290
+#: src/synfig/layer_bitmap.cpp:170
 msgid "Cosine"
 msgstr ""
 
@@ -1303,160 +1320,160 @@ msgstr ""
 msgid "Advanced Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:133
+#: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1125
-#: src/modules/mod_geometry/outline.cpp:817
-#: src/modules/mod_geometry/region.cpp:235
-#: src/modules/mod_gradient/curvegradient.cpp:549
-#: src/modules/mod_particle/plant.cpp:392
+#: src/modules/mod_geometry/advanced_outline.cpp:1136
+#: src/modules/mod_geometry/outline.cpp:826
+#: src/modules/mod_geometry/region.cpp:240
+#: src/modules/mod_gradient/curvegradient.cpp:562
+#: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1129
-#: src/modules/mod_geometry/outline.cpp:831
+#: src/modules/mod_geometry/advanced_outline.cpp:1140
+#: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1130
-#: src/modules/mod_geometry/outline.cpp:832
+#: src/modules/mod_geometry/advanced_outline.cpp:1141
+#: src/modules/mod_geometry/outline.cpp:841
 msgid "Global width of the outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:837
+#: src/modules/mod_geometry/advanced_outline.cpp:1145
+#: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1135
-#: src/modules/mod_geometry/outline.cpp:838
+#: src/modules/mod_geometry/advanced_outline.cpp:1146
+#: src/modules/mod_geometry/outline.cpp:847
 msgid "Value to add to the global width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1138
+#: src/modules/mod_geometry/advanced_outline.cpp:1149
 msgid "Tip Type at Start"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1139
+#: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1141
-#: src/modules/mod_geometry/advanced_outline.cpp:1150
-#: src/synfig/valuenode_composite.cpp:548
+#: src/modules/mod_geometry/advanced_outline.cpp:1152
+#: src/modules/mod_geometry/advanced_outline.cpp:1161
 #: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:587
-#: src/synfig/valuenode_composite.cpp:596
+#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:606
 msgid "Rounded Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1142
-#: src/modules/mod_geometry/advanced_outline.cpp:1151
-#: src/synfig/valuenode_composite.cpp:549
+#: src/modules/mod_geometry/advanced_outline.cpp:1153
+#: src/modules/mod_geometry/advanced_outline.cpp:1162
 #: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:588
-#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:607
 msgid "Squared Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1143
-#: src/modules/mod_geometry/advanced_outline.cpp:1152
-#: src/synfig/valuenode_composite.cpp:550
+#: src/modules/mod_geometry/advanced_outline.cpp:1154
+#: src/modules/mod_geometry/advanced_outline.cpp:1163
 #: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:570
+#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:608
 msgid "Peak Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1144
-#: src/modules/mod_geometry/advanced_outline.cpp:1153
-#: src/synfig/valuenode_composite.cpp:551
+#: src/modules/mod_geometry/advanced_outline.cpp:1155
+#: src/modules/mod_geometry/advanced_outline.cpp:1164
 #: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:590
-#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:571
+#: src/synfig/valuenode_composite.cpp:600
+#: src/synfig/valuenode_composite.cpp:609
 msgid "Flat Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1147
+#: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1148
+#: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1156
+#: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1157
-#: src/modules/mod_geometry/outline.cpp:843
+#: src/modules/mod_geometry/advanced_outline.cpp:1168
+#: src/modules/mod_geometry/outline.cpp:852
 msgid "Determines cusp type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1159
+#: src/modules/mod_geometry/advanced_outline.cpp:1170
 msgid "Sharp"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1160
+#: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1164
+#: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1165
+#: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1168
-#: src/modules/mod_geometry/outline.cpp:859
+#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/outline.cpp:869
 #: src/synfig/valuenode_blinecalctangent.cpp:271
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1169
+#: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
+#: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1175
+#: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1182
+#: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1184
+#: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1187
+#: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1190
+#: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1193
+#: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1196
+#: src/modules/mod_geometry/advanced_outline.cpp:1207
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
@@ -1464,32 +1481,36 @@ msgstr ""
 msgid "Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:183
+#: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:842
+#: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:847
+#: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:848
-#: src/modules/mod_geometry/outline.cpp:853
+#: src/modules/mod_geometry/outline.cpp:857
+#: src/modules/mod_geometry/outline.cpp:862
 msgid "Round off the tip"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:852
+#: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:856
+#: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:860
+#: src/modules/mod_geometry/outline.cpp:866
+msgid "(Currently not used)"
+msgstr ""
+
+#: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
 msgstr ""
 
@@ -1497,11 +1518,11 @@ msgstr ""
 msgid "Rectangle"
 msgstr ""
 
-#: src/modules/mod_geometry/rectangle.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
 msgstr ""
 
-#: src/modules/mod_geometry/rectangle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
 msgstr ""
 
@@ -1513,46 +1534,46 @@ msgstr ""
 msgid "Star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:183
+#: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:184
+#: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190
+#: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:191
+#: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:197
+#: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:129
+#: src/modules/mod_gradient/spiralgradient.cpp:130
 #: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:198
+#: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:203 src/synfig/distance.cpp:251
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
 msgid "Points"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:204
+#: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:208
+#: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:209
+#: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
@@ -1570,20 +1591,20 @@ msgid "Conical Gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
-#: src/modules/mod_gradient/curvegradient.cpp:61
+#: src/modules/mod_gradient/curvegradient.cpp:62
 #: src/modules/mod_gradient/lineargradient.cpp:55
 #: src/modules/mod_gradient/radialgradient.cpp:58
-#: src/modules/mod_gradient/spiralgradient.cpp:57
-#: src/modules/mod_noise/noise.cpp:58
+#: src/modules/mod_gradient/spiralgradient.cpp:58
+#: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
-#: src/modules/mod_gradient/curvegradient.cpp:553
-#: src/modules/mod_gradient/lineargradient.cpp:200
+#: src/modules/mod_gradient/curvegradient.cpp:566
+#: src/modules/mod_gradient/lineargradient.cpp:195
 #: src/modules/mod_gradient/radialgradient.cpp:114
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:260
+#: src/modules/mod_gradient/spiralgradient.cpp:114
+#: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
 msgstr ""
 
@@ -1596,27 +1617,27 @@ msgid "Rotation of the gradient around the center"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
-#: src/modules/mod_gradient/curvegradient.cpp:557
-#: src/modules/mod_gradient/lineargradient.cpp:204
+#: src/modules/mod_gradient/curvegradient.cpp:570
+#: src/modules/mod_gradient/lineargradient.cpp:199
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:60
+#: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:538
-#: src/modules/mod_particle/plant.cpp:399
+#: src/modules/mod_gradient/curvegradient.cpp:551
+#: src/modules/mod_particle/plant.cpp:432
 msgid "Offset for the Vertices List"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:543
+#: src/modules/mod_gradient/curvegradient.cpp:556
 msgid "Global width of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:556
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/curvegradient.cpp:569
+#: src/modules/mod_gradient/lineargradient.cpp:198
 #: src/modules/mod_gradient/radialgradient.cpp:130
 #: src/synfig/valuenode_blinecalctangent.cpp:246
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
@@ -1624,19 +1645,19 @@ msgstr ""
 msgid "Loop"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:560
-#: src/modules/mod_gradient/lineargradient.cpp:207
+#: src/modules/mod_gradient/curvegradient.cpp:573
+#: src/modules/mod_gradient/lineargradient.cpp:202
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:561
-#: src/modules/mod_gradient/lineargradient.cpp:208
+#: src/modules/mod_gradient/curvegradient.cpp:574
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:136
 msgid "When checked the gradient is summetrical at the center"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:564
+#: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
 msgstr ""
 
@@ -1644,11 +1665,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:192
+#: src/modules/mod_gradient/lineargradient.cpp:187
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:196
+#: src/modules/mod_gradient/lineargradient.cpp:191
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1657,23 +1678,23 @@ msgid "Radial Gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:119
 msgid "Center of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:56
+#: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:130
+#: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:135
+#: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:136
+#: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
@@ -1686,13 +1707,15 @@ msgstr ""
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/listimporter.cpp:184 src/synfig/listimporter.cpp:185
+#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
+#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
 msgid "Unable to open "
 msgstr ""
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/listimporter.cpp:191 src/synfig/listimporter.cpp:192
+#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
+#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
 msgid "Unable to get frame from "
 msgstr ""
 
@@ -1730,115 +1753,115 @@ msgstr ""
 msgid "Unable to open pipe to imagemagick's convert utility"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:57
+#: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:217
+#: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:218
+#: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:223
+#: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:226 src/modules/mod_noise/noise.cpp:263
+#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:264
+#: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:230 src/modules/mod_noise/noise.cpp:271
-#: src/modules/mod_noise/valuenode_random.cpp:284
-#: src/synfig/layer_bitmap.cpp:169
+#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
-#: src/synfig/layer_bitmap.cpp:170
+#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
+#: src/synfig/layer_bitmap.cpp:166
 msgid "What type of interpolation to use"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:233 src/modules/mod_noise/noise.cpp:274
-#: src/synfig/layer_bitmap.cpp:172
+#: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
+#: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:277
-#: src/modules/mod_noise/valuenode_random.cpp:290 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_bline.cpp:1001
+#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
+#: src/synfig/valuenode_bline.cpp:1006
 #: src/synfig/valuenode_blinecalctangent.cpp:241
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:237 src/modules/mod_noise/noise.cpp:278
-#: src/modules/mod_noise/valuenode_random.cpp:291
-#: src/synfig/layer_bitmap.cpp:175
+#: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:281
+#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:282
+#: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:244 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:248 src/modules/mod_noise/noise.cpp:289
+#: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:290
+#: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:183
+#: src/modules/mod_noise/valuenode_random.cpp:184
 msgid "Random"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:57
+#: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:268
+#: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:293
+#: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:294
+#: src/modules/mod_noise/noise.cpp:303
 msgid "Uses transparency"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:297
+#: src/modules/mod_noise/noise.cpp:306
 msgid "Super Sampling"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:298
+#: src/modules/mod_noise/noise.cpp:307
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:264
+#: src/modules/mod_noise/valuenode_random.cpp:265
 #: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
 #: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
 #: src/synfig/valuenode_reciprocal.cpp:165
@@ -1847,167 +1870,167 @@ msgstr ""
 msgid "Link"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:270
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:274
-#: src/modules/mod_particle/plant.cpp:450
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:276
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:279
+#: src/modules/mod_noise/valuenode_random.cpp:280
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:281
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:286
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:288
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:296
+#: src/modules/mod_noise/valuenode_random.cpp:297
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:298
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:69
+#: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:404
+#: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:408
+#: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:409
+#: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:413
+#: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:414
+#: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:419
+#: src/modules/mod_particle/plant.cpp:452
 msgid "Tangential Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:420
+#: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:424
+#: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:425
+#: src/modules/mod_particle/plant.cpp:458
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:429
+#: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:430
+#: src/modules/mod_particle/plant.cpp:463
 msgid "Size of the stem"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:435
+#: src/modules/mod_particle/plant.cpp:468
 msgid "Size As Alpha"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:436
+#: src/modules/mod_particle/plant.cpp:469
 msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:440
+#: src/modules/mod_particle/plant.cpp:473
 msgid "Reverse"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:441
+#: src/modules/mod_particle/plant.cpp:474
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:445 src/synfig/valuenode.cpp:170
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
 #: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
 msgid "Step"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:446
+#: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:451
+#: src/modules/mod_particle/plant.cpp:484
 msgid "Used to seed the pseudo-random number generator"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:455
+#: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:456
+#: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:460
+#: src/modules/mod_particle/plant.cpp:493
 msgid "Sprouts"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:461
+#: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:465
+#: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:466
+#: src/modules/mod_particle/plant.cpp:499
 msgid ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:470
+#: src/modules/mod_particle/plant.cpp:503
 msgid "Drag"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:471
+#: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:475
+#: src/modules/mod_particle/plant.cpp:508
 msgid "Use Width"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:476
+#: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
@@ -2016,97 +2039,102 @@ msgstr ""
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:87 src/synfig/importer.cpp:87
+#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
 msgid "Importer::open(): Cannot open empty filename"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:101 src/synfig/importer.cpp:101
+#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
 msgid "Importer::open(): Couldn't find extension"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:112 src/synfig/importer.cpp:112
+#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
 msgid "Importer::open(): Unknown file type -- "
 msgstr ""
 
-#: src/synfig/canvas.cpp:798 src/synfig/canvas.cpp:863
-#: src/synfig/canvas.cpp:886
+#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
+#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+msgid "No images in list"
+msgstr ""
+
+#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
+#: src/synfig/canvas.cpp:927
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:249
+#: src/synfig/distance.cpp:251
 msgid "Units"
 msgstr ""
 
-#: src/synfig/distance.cpp:250
+#: src/synfig/distance.cpp:252
 msgid "Pixels"
 msgstr ""
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:254
 msgid "Inches"
 msgstr ""
 
-#: src/synfig/distance.cpp:253
+#: src/synfig/distance.cpp:255
 msgid "Meters"
 msgstr ""
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:256
 msgid "Millimeters"
 msgstr ""
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:257
 msgid "Centimeters"
 msgstr ""
 
-#: src/synfig/layer.cpp:565 src/synfig/layer_composite.cpp:128
+#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:619
+#: src/synfig/layer.cpp:605
 msgid "Z Depth"
 msgstr ""
 
-#: src/synfig/layer.cpp:621
+#: src/synfig/layer.cpp:607
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:159
+#: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:160
+#: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:164
+#: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:165
+#: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:218
+#: src/synfig/layer_composite.cpp:250
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:221 src/synfig/paramdesc.cpp:62
+#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:222
+#: src/synfig/layer_composite.cpp:254
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:168
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
 #: src/synfig/valuenode_duplicate.cpp:174
 msgid "Duplicate"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:148
+#: src/synfig/layer_duplicate.cpp:151
 msgid "Index"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:149
+#: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
 msgstr ""
 
@@ -2118,156 +2146,156 @@ msgstr ""
 msgid "Motion Blur"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:136
+#: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:137
+#: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:141
+#: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:142
+#: src/synfig/layer_motionblur.cpp:141
 msgid "Multiplies The Number Of Subsamples Rendered"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:146
+#: src/synfig/layer_motionblur.cpp:145
 msgid "Subsampling Type"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:147
+#: src/synfig/layer_motionblur.cpp:146
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:149 src/synfig/valuenode_const.cpp:127
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
 msgid "Constant"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:151
+#: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:155
+#: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:156
+#: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:160
+#: src/synfig/layer_motionblur.cpp:159
 msgid "Subsample End Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:161
+#: src/synfig/layer_motionblur.cpp:160
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:78 src/synfig/layer_pastecanvas.cpp:120
-#: src/synfig/layer_pastecanvas.cpp:121
+#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
+#: src/synfig/layer_pastecanvas.cpp:124
 msgid "Group"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:137
+#: src/synfig/layer_pastecanvas.cpp:140
 msgid "Canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:138
+#: src/synfig/layer_pastecanvas.cpp:141
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:144
 msgid "Zoom"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:142
+#: src/synfig/layer_pastecanvas.cpp:145
 msgid "Size of canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:147
+#: src/synfig/layer_pastecanvas.cpp:152
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:151
+#: src/synfig/layer_pastecanvas.cpp:156
 msgid "Children Lock"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:157
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
+#: src/synfig/layer_pastecanvas.cpp:162
 msgid "Focus Point"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:159
+#: src/synfig/layer_pastecanvas.cpp:165
 msgid "Point to remain fixed when zooming"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:164
+#: src/synfig/layer_pastecanvas.cpp:170
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:165
+#: src/synfig/layer_pastecanvas.cpp:171
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:180
+#: src/synfig/layer_pastecanvas.cpp:186
 msgid "Current Time"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:61
+#: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:187
+#: src/synfig/layer_polygon.cpp:194
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:188
+#: src/synfig/layer_polygon.cpp:195
 msgid "Define the corners of the polygon"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:64
+#: src/synfig/layer_shape.cpp:66
 msgid "Shape"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:65
+#: src/synfig/layer_shape.cpp:67
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1194
+#: src/synfig/layer_shape.cpp:1222
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1203
+#: src/synfig/layer_shape.cpp:1231
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1210
+#: src/synfig/layer_shape.cpp:1238
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1211
+#: src/synfig/layer_shape.cpp:1239
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1220
+#: src/synfig/layer_shape.cpp:1248
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_shape.cpp:1249
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1223
+#: src/synfig/layer_shape.cpp:1251
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1224
+#: src/synfig/layer_shape.cpp:1252
 msgid "Even/Odd"
 msgstr ""
 
@@ -2275,406 +2303,406 @@ msgstr ""
 msgid "Solid Color"
 msgstr ""
 
-#: src/synfig/listimporter.cpp:161 src/synfig/listimporter.cpp:162
-msgid "No images in list"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:142
+#: src/synfig/loadcanvas.cpp:143
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:185
+#: src/synfig/loadcanvas.cpp:186
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:191
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:205
+#: src/synfig/loadcanvas.cpp:206
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:236
+#: src/synfig/loadcanvas.cpp:237
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:469
-#: src/synfig/loadcanvas.cpp:1118
+#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
+#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:473
-#: src/synfig/loadcanvas.cpp:1122
+#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
+#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:484 src/synfig/loadcanvas.cpp:1144
+#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
+#: src/synfig/loadcanvas.cpp:1200
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:508
+#: src/synfig/loadcanvas.cpp:533
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1284
+#: src/synfig/loadcanvas.cpp:1353
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1301
+#: src/synfig/loadcanvas.cpp:1375
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1314
+#: src/synfig/loadcanvas.cpp:1388
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1330
+#: src/synfig/loadcanvas.cpp:1404
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1336 src/synfig/loadcanvas.cpp:1348
+#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1365
+#: src/synfig/loadcanvas.cpp:1439
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1380
+#: src/synfig/loadcanvas.cpp:1455
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1424 src/synfig/loadcanvas.cpp:1443
-#, c-format
-msgid "\"%s\" not a valid value for attribute \"%s\" in <%s>"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:1504
+#: src/synfig/loadcanvas.cpp:1556
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1512
+#: src/synfig/loadcanvas.cpp:1565
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1522
+#: src/synfig/loadcanvas.cpp:1577
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1531
+#: src/synfig/loadcanvas.cpp:1587
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1557 src/synfig/loadcanvas.cpp:1628
+#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1570
+#: src/synfig/loadcanvas.cpp:1625
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1579
+#: src/synfig/loadcanvas.cpp:1634
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1603
+#: src/synfig/loadcanvas.cpp:1658
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1643
+#: src/synfig/loadcanvas.cpp:1698
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1652
+#: src/synfig/loadcanvas.cpp:1707
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1659
+#: src/synfig/loadcanvas.cpp:1714
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1677
+#: src/synfig/loadcanvas.cpp:1732
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1747
+#: src/synfig/loadcanvas.cpp:1811
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1841
-msgid "Unable to create <dynamic_list>"
+#: src/synfig/loadcanvas.cpp:1861
+msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1993
+#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2038
+#: src/synfig/loadcanvas.cpp:1998
+msgid "Unable to create <dynamic_list>"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2220
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2076
+#: src/synfig/loadcanvas.cpp:2283
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2097
+#: src/synfig/loadcanvas.cpp:2304
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2102
+#: src/synfig/loadcanvas.cpp:2310
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2107
+#: src/synfig/loadcanvas.cpp:2316
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2142
+#: src/synfig/loadcanvas.cpp:2373
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2161
+#: src/synfig/loadcanvas.cpp:2392
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2181
+#: src/synfig/loadcanvas.cpp:2415
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2184
+#: src/synfig/loadcanvas.cpp:2418
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2192
+#: src/synfig/loadcanvas.cpp:2426
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2209
+#: src/synfig/loadcanvas.cpp:2443
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2214
+#: src/synfig/loadcanvas.cpp:2448
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2454
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2222
+#: src/synfig/loadcanvas.cpp:2456
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2244
+#: src/synfig/loadcanvas.cpp:2480
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2260
+#: src/synfig/loadcanvas.cpp:2496
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2272 src/synfig/loadcanvas.cpp:2292
+#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2280
+#: src/synfig/loadcanvas.cpp:2516
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2303
+#: src/synfig/loadcanvas.cpp:2539
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2376 src/synfig/loadcanvas.cpp:2384
+#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2470
+#: src/synfig/loadcanvas.cpp:2710
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2478
+#: src/synfig/loadcanvas.cpp:2717
+msgid "Inline canvas cannot have a <bones> section"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2725
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2490
+#: src/synfig/loadcanvas.cpp:2737
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2498
+#: src/synfig/loadcanvas.cpp:2745
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2504
+#: src/synfig/loadcanvas.cpp:2751
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:2763
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2531
+#: src/synfig/loadcanvas.cpp:2778
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2546
+#: src/synfig/loadcanvas.cpp:2793
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2578
+#: src/synfig/loadcanvas.cpp:2828
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580 src/synfig/valuenode.cpp:353
+#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580
+#: src/synfig/loadcanvas.cpp:2830
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2660 src/synfig/loadcanvas.cpp:2716
+#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:102
+#: src/synfig/main.cpp:118
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:107
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:112
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:117
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:122
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:184
+#: src/synfig/main.cpp:207
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:186
+#: src/synfig/main.cpp:209
 msgid "Unable to initialize subsystem \"Module\""
 msgstr ""
 
-#: src/synfig/main.cpp:188
+#: src/synfig/main.cpp:211
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:192
+#: src/synfig/main.cpp:215
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:195
+#: src/synfig/main.cpp:218
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:200
+#: src/synfig/main.cpp:223
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:203
+#: src/synfig/main.cpp:226
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
+#: src/synfig/main.cpp:232
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:212
+#: src/synfig/main.cpp:235
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:219
+#: src/synfig/main.cpp:242
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:222
+#: src/synfig/main.cpp:245
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:230
+#: src/synfig/main.cpp:253
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:267 src/synfig/main.cpp:268
+#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:279
+#: src/synfig/main.cpp:302
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:293 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:360 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:375 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:390
+#: src/synfig/main.cpp:413
 msgid "info"
 msgstr ""
 
@@ -2749,145 +2777,145 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:64 src/synfig/valuenode.cpp:140
-#: src/synfig/valuenode_composite.cpp:437
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
+#: src/synfig/valuenode_composite.cpp:447
 msgid "Composite"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:65
+#: src/synfig/paramdesc.cpp:69
 msgid "Straight"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:66
+#: src/synfig/paramdesc.cpp:70
 msgid "Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:67
+#: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68
+#: src/synfig/paramdesc.cpp:72
 msgid "Behind"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:69
+#: src/synfig/paramdesc.cpp:73
 msgid "Screen"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:70
+#: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:71
+#: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:72
+#: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:73
+#: src/synfig/paramdesc.cpp:77
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:74 src/synfig/valuenode.cpp:157
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
 #: src/synfig/valuenode_add.cpp:190
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:75 src/synfig/valuenode.cpp:147
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
 #: src/synfig/valuenode_subtract.cpp:194
 msgid "Subtract"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:76
+#: src/synfig/paramdesc.cpp:80
 msgid "Difference"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:77
+#: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78
+#: src/synfig/paramdesc.cpp:82
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:80 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
 msgid "Hue"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:81 src/synfig/valuenode_radialcomposite.cpp:260
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
 #: src/synfig/valuenode_radialcomposite.cpp:266
 msgid "Saturation"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:82
+#: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:83
+#: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84
+#: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85
+#: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
 msgstr ""
 
-#: src/synfig/render.cpp:246 src/synfig/render.cpp:247
-#: src/synfig/render.cpp:301 src/synfig/render.cpp:302
-#: src/synfig/render.cpp:536 src/synfig/render.cpp:537
-#: src/synfig/render.cpp:563 src/synfig/render.cpp:564
+#: src/synfig/render.cpp:248 src/synfig/render.cpp:249
+#: src/synfig/render.cpp:303 src/synfig/render.cpp:304
+#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
+#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:290
+#: src/synfig/savecanvas.cpp:359
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:543
+#: src/synfig/savecanvas.cpp:674 src/synfig/savecanvas.cpp:699
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:185
+#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
 #: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:281
 msgid "Target initialization failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:146
+#: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:155 src/synfig/target_scanline.cpp:258
-#: src/synfig/target_scanline.cpp:405
+#: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:260
+#: src/synfig/target_scanline.cpp:407
 msgid "Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:162
+#: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:169 src/synfig/target_cairo_tile.cpp:248
-#: src/synfig/target_scanline.cpp:418 src/synfig/target_tile.cpp:396
+#: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
+#: src/synfig/target_scanline.cpp:420 src/synfig/target_tile.cpp:398
 msgid "Caught string :"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:174 src/synfig/target_cairo_tile.cpp:253
-#: src/synfig/target_scanline.cpp:423 src/synfig/target_tile.cpp:401
+#: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
+#: src/synfig/target_scanline.cpp:425 src/synfig/target_tile.cpp:403
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:179 src/synfig/target_cairo_tile.cpp:258
-#: src/synfig/target_scanline.cpp:428 src/synfig/target_tile.cpp:406
+#: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
+#: src/synfig/target_scanline.cpp:430 src/synfig/target_tile.cpp:408
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:190
+#: src/synfig/target_cairo.cpp:201
 msgid "Cairo Surface bad status"
 msgstr ""
 
@@ -2895,24 +2923,24 @@ msgstr ""
 msgid "Bad Tile Size"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:142 src/synfig/target_cairo_tile.cpp:240
-#: src/synfig/target_scanline.cpp:203 src/synfig/target_scanline.cpp:249
-#: src/synfig/target_scanline.cpp:348 src/synfig/target_scanline.cpp:396
+#: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
+#: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:251
+#: src/synfig/target_scanline.cpp:350 src/synfig/target_scanline.cpp:398
 #: src/synfig/target_tile.cpp:225
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:150
+#: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:156 src/synfig/target_tile.cpp:179
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:179
 #: src/synfig/target_tile.cpp:245
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:211
+#: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
 msgstr ""
 
@@ -2936,277 +2964,317 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:276 src/synfig/value.cpp:308 src/synfig/value.cpp:360
+#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
 msgid "bool"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:277 src/synfig/value.cpp:310 src/synfig/value.cpp:358
+#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
 msgid "integer"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:278 src/synfig/value.cpp:312
+#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
 msgid "angle"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:279 src/synfig/value.cpp:314 src/synfig/value.cpp:352
+#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
 msgid "time"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:280 src/synfig/value.cpp:316 src/synfig/value.cpp:355
+#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
 msgid "real"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:281 src/synfig/value.cpp:318
+#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
 msgid "vector"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:282 src/synfig/value.cpp:320
+#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
 msgid "color"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:283 src/synfig/value.cpp:322
+#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
 msgid "segment"
 msgstr ""
 
-#: src/synfig/value.cpp:284
+#: src/synfig/value.cpp:378
 msgid "bline_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:285 src/synfig/value.cpp:326
+#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
+msgid "matrix"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
+msgid "bone_weight_pair"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
 msgid "width_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:286 src/synfig/value.cpp:328
+#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
 msgid "dash_item"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:287 src/synfig/value.cpp:330
+#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
 msgid "list"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:288 src/synfig/value.cpp:332
+#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
 msgid "canvas"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:289 src/synfig/value.cpp:334
+#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
 msgid "string"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:290 src/synfig/value.cpp:336
+#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
 msgid "gradient"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:291 src/synfig/value.cpp:338
+#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
+msgid "bone_object"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
+msgid "bone_valuenode"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
 msgid "nil"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:324
+#: src/synfig/value.cpp:422
 msgid "spline_point"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:141 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:142 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:144 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:146 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_dynamiclist.cpp:755
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
 #: src/synfig/valuenode_switch.cpp:163
 msgid "Switch"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164
+#: src/synfig/valuenode.cpp:170
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165
+#: src/synfig/valuenode.cpp:171
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
 msgid "Integer"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:176 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177
+#: src/synfig/valuenode.cpp:183
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:178
+#: src/synfig/valuenode.cpp:184
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_real.cpp:161
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
 #: src/synfig/valuenode_realstring.cpp:175
 msgid "Real"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:189
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:190
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185
+#: src/synfig/valuenode.cpp:191
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187
+#: src/synfig/valuenode.cpp:192
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:199
+msgid "Bone Influence"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:200
+msgid "Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:201
+msgid "Root Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:202
+msgid "Static List"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:203
+msgid "Bone Weight Pair"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:206
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:233
+#: src/synfig/valuenode.cpp:241
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:513
+#: src/synfig/valuenode.cpp:540
 msgid "Placeholder"
 msgstr ""
 
-#: src/synfig/valuenode.h:61
+#: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
@@ -3273,32 +3341,32 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:355 src/synfig/valuenode_animated.cpp:379
-#: src/synfig/valuenode_animated.cpp:703 src/synfig/valuenode_animated.cpp:721
-#: src/synfig/valuenode_animated.cpp:801 src/synfig/valuenode_animated.cpp:820
+#: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
+#: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
+#: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1134
+#: src/synfig/valuenode_animated.cpp:1173
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1169
+#: src/synfig/valuenode_animated.cpp:1208
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:977 src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
 #: src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:980 src/synfig/valuenode_dynamiclist.cpp:664
+#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
 #: src/synfig/valuenode_wplist.cpp:339
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_bline.cpp:1023
+#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
@@ -3318,7 +3386,7 @@ msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:584
 #: src/synfig/valuenode_gradientrotate.cpp:169
 #: src/synfig/valuenode_linear.cpp:213
 msgid "Offset"
@@ -3372,190 +3440,186 @@ msgstr ""
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:219
+#: src/synfig/valuenode_composite.cpp:229
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:464
+#: src/synfig/valuenode_composite.cpp:474
 msgid "Red"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:465
+#: src/synfig/valuenode_composite.cpp:475
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:468
+#: src/synfig/valuenode_composite.cpp:478
 msgid "Green"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:469
+#: src/synfig/valuenode_composite.cpp:479
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:472
+#: src/synfig/valuenode_composite.cpp:482
 msgid "Blue"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:473
+#: src/synfig/valuenode_composite.cpp:483
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:476
+#: src/synfig/valuenode_composite.cpp:486
 msgid "Alpha"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:477
+#: src/synfig/valuenode_composite.cpp:487
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:492
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:493
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
-#: src/synfig/valuenode_composite.cpp:526
+#: src/synfig/valuenode_composite.cpp:496
+#: src/synfig/valuenode_composite.cpp:536
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:497
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:490
+#: src/synfig/valuenode_composite.cpp:500
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:491
+#: src/synfig/valuenode_composite.cpp:501
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:494
-#: src/synfig/valuenode_composite.cpp:530
+#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:540
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:495
+#: src/synfig/valuenode_composite.cpp:505
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:510
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:511
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:514
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:515
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:520
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:521
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:525
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:519
+#: src/synfig/valuenode_composite.cpp:529
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:522
+#: src/synfig/valuenode_composite.cpp:532
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:523
+#: src/synfig/valuenode_composite.cpp:533
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:527
+#: src/synfig/valuenode_composite.cpp:537
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:531
+#: src/synfig/valuenode_composite.cpp:541
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:547
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:551
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:544
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_composite.cpp:554
+#: src/synfig/valuenode_composite.cpp:594
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:545
 #: src/synfig/valuenode_composite.cpp:555
+#: src/synfig/valuenode_composite.cpp:565
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
 #: src/synfig/valuenode_composite.cpp:557
+#: src/synfig/valuenode_composite.cpp:567
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:593
+#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:603
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:574
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:575
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:578
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:579
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:585
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:589
 #: src/synfig/valuenode_timedswap.cpp:260
 msgid "Length"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:580
+#: src/synfig/valuenode_composite.cpp:590
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:595
+#: src/synfig/valuenode_composite.cpp:604
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_const.cpp:127
-msgid "Static"
-msgstr ""
-
 #: src/synfig/valuenode_compare.cpp:168
 msgid "The left side of the comparison"
 msgstr ""
@@ -3620,12 +3684,12 @@ msgstr ""
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:655
+#: src/synfig/valuenode_dynamiclist.cpp:661
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:703
-#: src/synfig/valuenode_dynamiclist.cpp:957
+#: src/synfig/valuenode_dynamiclist.cpp:709
+#: src/synfig/valuenode_dynamiclist.cpp:964
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3949,7 +4013,7 @@ msgid "Intersection"
 msgstr ""
 
 #: src/synfig/valuenode_step.cpp:213
-msgid "Value that define whether the step is centerd on the value [0,1]"
+msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
@@ -4082,195 +4146,195 @@ msgstr ""
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:133
+#: src/tool/main.cpp:140
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:169
+#: src/tool/main.cpp:176
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:171
+#: src/tool/main.cpp:178
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:172
+#: src/tool/main.cpp:179
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:173
+#: src/tool/main.cpp:180
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:174
+#: src/tool/main.cpp:181
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:175
+#: src/tool/main.cpp:182
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:176
+#: src/tool/main.cpp:183
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:184
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:178
+#: src/tool/main.cpp:185
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:186
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:187
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:188
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:189
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:190
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:191
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:185 src/tool/main.cpp:186
+#: src/tool/main.cpp:192 src/tool/main.cpp:193
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:194
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:195
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:196
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:197
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:193
+#: src/tool/main.cpp:200
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:202
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:203
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:204
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:200
+#: src/tool/main.cpp:207
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:202
+#: src/tool/main.cpp:209
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:210
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:204 src/tool/main.cpp:230
+#: src/tool/main.cpp:211 src/tool/main.cpp:237
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:207
+#: src/tool/main.cpp:214
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:216
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:210
+#: src/tool/main.cpp:217
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:213
+#: src/tool/main.cpp:220
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:215
+#: src/tool/main.cpp:222
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:223
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:217
+#: src/tool/main.cpp:224
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:225
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:226
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:220
+#: src/tool/main.cpp:227
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:221
+#: src/tool/main.cpp:228
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:229
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:223
+#: src/tool/main.cpp:230
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:231
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:232
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:241
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:236
+#: src/tool/main.cpp:243
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:237
+#: src/tool/main.cpp:244
 msgid "Test signal implementation"
 msgstr ""
 
@@ -4334,157 +4398,157 @@ msgstr ""
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:113
+#: src/tool/optionsprocessor.cpp:114
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:115
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:131
+#: src/tool/optionsprocessor.cpp:132
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:146
+#: src/tool/optionsprocessor.cpp:147
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:224
+#: src/tool/optionsprocessor.cpp:225
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:226
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:227
+#: src/tool/optionsprocessor.cpp:228
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:232
+#: src/tool/optionsprocessor.cpp:233
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:234
+#: src/tool/optionsprocessor.cpp:235
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:236
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:239
+#: src/tool/optionsprocessor.cpp:240
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:243
+#: src/tool/optionsprocessor.cpp:244
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:309
+#: src/tool/optionsprocessor.cpp:310
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:316
+#: src/tool/optionsprocessor.cpp:317
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:324
+#: src/tool/optionsprocessor.cpp:325
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:334
+#: src/tool/optionsprocessor.cpp:335
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:343
+#: src/tool/optionsprocessor.cpp:344
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:352
+#: src/tool/optionsprocessor.cpp:353
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:379
+#: src/tool/optionsprocessor.cpp:380
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:385
+#: src/tool/optionsprocessor.cpp:386
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:400
+#: src/tool/optionsprocessor.cpp:401
 #, c-format
 msgid "Resolution set to %dx%d"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:417
+#: src/tool/optionsprocessor.cpp:418
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:437
+#: src/tool/optionsprocessor.cpp:438
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:440
+#: src/tool/optionsprocessor.cpp:441
 #, c-format
 msgid "Target video codec set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:446
+#: src/tool/optionsprocessor.cpp:447
 #, c-format
 msgid "Target bitrate set to %dk"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:452
+#: src/tool/optionsprocessor.cpp:453
 #, c-format
 msgid "Output file sequence separator set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:487
+#: src/tool/optionsprocessor.cpp:488
 #, c-format
 msgid "Unable to load '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:494
+#: src/tool/optionsprocessor.cpp:495
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:499
+#: src/tool/optionsprocessor.cpp:500
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:513
+#: src/tool/optionsprocessor.cpp:514
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:532
+#: src/tool/optionsprocessor.cpp:533
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:539
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:557
+#: src/tool/optionsprocessor.cpp:558
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:571
+#: src/tool/optionsprocessor.cpp:572
 msgid "Appended contents of "
 msgstr ""
 
diff --git a/po/lt.gmo b/po/lt.gmo
index 75f18f0..5ea2e60 100644
Binary files a/po/lt.gmo and b/po/lt.gmo differ
diff --git a/po/lt.po b/po/lt.po
index b332a8c..338313f 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -1,18 +1,18 @@
-# Translation of lt.po to Lituanian
-# Lituanian translations for Synfig Core package
-# Copyright (C) 2012 Synfig Contributors
+# Translation file for Synfig Core package.
+# Copyright (C) 2013 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
-# Aldas p <aldixuks at gmail.com.>, 2011
+# Aldas p <aldixuks at gmail.com.>, 2011,2013
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2013-05-09 18:34+0200\n"
-"PO-Revision-Date: 2013-05-02 12:39+0000\n"
-"Last-Translator: genete <genetita at gmail.com>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
+"POT-Creation-Date: 2013-10-25 17:57+0700\n"
+"PO-Revision-Date: 2013-10-28 18:30+0000\n"
+"Last-Translator: Aldas p <aldixuks at gmail.com.>\n"
+"Language-Team: Lithuanian (http://www.transifex.com/projects/p/synfig/"
+"language/lt/)\n"
 "Language: lt\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -20,79 +20,79 @@ msgstr ""
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n"
 "%100<10 || n%100>=20) ? 1 : 2);\n"
 
-#: src/modules/mod_example/filledrect.cpp:58
+#: src/modules/mod_example/filledrect.cpp:59
 msgid "Filled Rectangle"
 msgstr "Užpildytas stačiakampis"
 
-#: src/modules/mod_example/filledrect.cpp:59
+#: src/modules/mod_example/filledrect.cpp:60
 #: src/modules/mod_example/metaballs.cpp:58
 #: src/modules/mod_example/simplecircle.cpp:58
 msgid "Example"
 msgstr "Pavyzdys"
 
-#: src/modules/mod_example/filledrect.cpp:120
+#: src/modules/mod_example/filledrect.cpp:131
 #: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:523
-#: src/modules/lyr_std/shade.cpp:564
-#: src/modules/mod_geometry/checkerboard.cpp:122
-#: src/modules/mod_geometry/circle.cpp:128
-#: src/modules/mod_geometry/rectangle.cpp:125 src/synfig/layer_shape.cpp:1193
-#: src/synfig/layer_solidcolor.cpp:102 src/synfig/paramdesc.cpp:79
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:620
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
 msgid "Color"
 msgstr "Spalva"
 
-#: src/modules/mod_example/filledrect.cpp:121
+#: src/modules/mod_example/filledrect.cpp:132
 #: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:129
-#: src/modules/mod_geometry/rectangle.cpp:126
-#: src/synfig/layer_solidcolor.cpp:103
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
 msgid "Fill color of the layer"
 msgstr "Sluoksnio užpildo spalva"
 
-#: src/modules/mod_example/filledrect.cpp:125
-#: src/modules/mod_geometry/rectangle.cpp:130
-#: src/modules/mod_gradient/lineargradient.cpp:190
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:185
 msgid "Point 1"
 msgstr "Taškas 1"
 
-#: src/modules/mod_example/filledrect.cpp:126
-#: src/modules/mod_geometry/rectangle.cpp:132
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
 msgid "First corner of the rectangle"
 msgstr "Pirmas stačiakampio kampas"
 
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_geometry/rectangle.cpp:136
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:190
 msgid "Point 2"
 msgstr "Taškas 2"
 
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_geometry/rectangle.cpp:137
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
 msgid "Second corner of the rectangle"
 msgstr "Antras stačiakampio kampas"
 
-#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_example/filledrect.cpp:147
 msgid "Feather X"
 msgstr "Ištempimas pagal X"
 
-#: src/modules/mod_example/filledrect.cpp:140
+#: src/modules/mod_example/filledrect.cpp:152
 msgid "Feather Y"
 msgstr "Ištempimas pagal Y"
 
-#: src/modules/mod_example/filledrect.cpp:144 src/modules/lyr_std/bevel.cpp:68
-#: src/modules/mod_geometry/advanced_outline.cpp:1161
+#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
 msgid "Bevel"
 msgstr "Nuožulnus"
 
-#: src/modules/mod_example/filledrect.cpp:145
+#: src/modules/mod_example/filledrect.cpp:158
 msgid "Use Bevel for the corners"
 msgstr "Naudoti nuožulnumą kampuose"
 
-#: src/modules/mod_example/filledrect.cpp:149
+#: src/modules/mod_example/filledrect.cpp:163
 msgid "Keep Bevel Circular"
 msgstr "Palikti nuožulnumą užapvalintą"
 
-#: src/modules/mod_example/filledrect.cpp:150
+#: src/modules/mod_example/filledrect.cpp:164
 msgid "When checked the bevel is circular"
 msgstr "Kai įjungta, kampas yra užapvalinamas"
 
@@ -100,39 +100,39 @@ msgstr "Kai įjungta, kampas yra užapvalinamas"
 msgid "Metaballs"
 msgstr "Metakamuoliai"
 
-#: src/modules/mod_example/metaballs.cpp:135
+#: src/modules/mod_example/metaballs.cpp:129
 #: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:552
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:194
 #: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:112
-#: src/modules/mod_noise/noise.cpp:259 src/modules/mod_particle/plant.cpp:403
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
 #: src/synfig/valuenode_gradientrotate.cpp:164
 #: src/synfig/valuenode_repeat_gradient.cpp:203
 msgid "Gradient"
 msgstr "Gradientas"
 
-#: src/modules/mod_example/metaballs.cpp:139
+#: src/modules/mod_example/metaballs.cpp:133
 msgid "Balls"
 msgstr "Kamuoliai"
 
-#: src/modules/mod_example/metaballs.cpp:143
+#: src/modules/mod_example/metaballs.cpp:137
 msgid "Radii"
 msgstr "Spinduliai"
 
-#: src/modules/mod_example/metaballs.cpp:147
+#: src/modules/mod_example/metaballs.cpp:141
 msgid "Weights"
 msgstr "Svoriai"
 
-#: src/modules/mod_example/metaballs.cpp:151
+#: src/modules/mod_example/metaballs.cpp:145
 msgid "Gradient Left"
 msgstr "Gradientas į kairę"
 
-#: src/modules/mod_example/metaballs.cpp:155
+#: src/modules/mod_example/metaballs.cpp:149
 msgid "Gradient Right"
 msgstr "Gradientas į dešinę"
 
-#: src/modules/mod_example/metaballs.cpp:159
+#: src/modules/mod_example/metaballs.cpp:153
 msgid "Positive Only"
 msgstr "Tik teigiamas"
 
@@ -144,21 +144,21 @@ msgstr "Paprastas apskritimas"
 #: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
 #: src/modules/mod_gradient/conicalgradient.cpp:114
 #: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:117
+#: src/modules/mod_gradient/spiralgradient.cpp:118
 msgid "Center"
 msgstr "Centras"
 
 #: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:144
+#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
 msgid "Center of the circle"
 msgstr "Apskritimo centras"
 
 #: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:151
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:132
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
 #: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:122
-#: src/modules/mod_noise/valuenode_random.cpp:269
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/valuenode_radialcomposite.cpp:272
 msgid "Radius"
 msgstr "Spindulys"
@@ -166,20 +166,20 @@ msgstr "Spindulys"
 #: src/modules/mod_example/simplecircle.cpp:118
 #: src/modules/lyr_std/twirl.cpp:118
 #: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:124
 msgid "This is the radius of the circle"
 msgstr "Tai apskritimo spindulys"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
-#: src/modules/lyr_freetype/lyr_freetype.cpp:517
+#: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Tekstas"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
 #: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
-#: src/modules/lyr_std/supersample.cpp:57 src/modules/lyr_std/timeloop.cpp:60
-#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:70
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:79
+#: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
+#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
 msgid "Other"
 msgstr "Kitas"
 
@@ -187,247 +187,247 @@ msgstr "Kitas"
 msgid "Text Layer"
 msgstr "Teksto sluoksnis"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:390
+#: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
 msgstr "nepavyko inicijuoti"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:409
+#: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
 msgstr "tuščias šrifto rinkinys"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:518
+#: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
 msgstr "Atvaizduojamas tekstas "
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:524
+#: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "Teksto spalva"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:528
+#: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
 msgstr "Šriftų šeima"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:533
+#: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
 msgstr "Stilius"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:535
-#: src/modules/lyr_freetype/lyr_freetype.cpp:545
+#: src/modules/lyr_freetype/lyr_freetype.cpp:587
+#: src/modules/lyr_freetype/lyr_freetype.cpp:597
 msgid "Normal"
 msgstr "Normalus"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:536
+#: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
 msgstr "Kursyvas"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:537
+#: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
 msgstr "Italic"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:541
+#: src/modules/lyr_freetype/lyr_freetype.cpp:593
 msgid "Weight"
 msgstr "Sodrumas"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:543
+#: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
 msgstr "Ultrašviesus"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:544
+#: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
 msgstr "Šviesus"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:546
+#: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
 msgstr "Pusjuodis"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:547
+#: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
 msgstr "Ultrajuodas"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:548
+#: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
 msgstr "Sunkus"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:551
+#: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
 msgstr "Horizontalus išsidėstymas"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:552
+#: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
 msgstr "Aprašoma, kaip glaudžiai horizontaliai yra rašmenys"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:556
+#: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
 msgstr "Vertikalus išsidėstymas"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:557
+#: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
 msgstr "Aprašoma, kaip glaudžiai vertikaliai yra teksto eilutės"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:561
-#: src/modules/lyr_std/shade.cpp:570 src/modules/lyr_std/xorpattern.cpp:129
-#: src/modules/mod_filter/blur.cpp:372
+#: src/modules/lyr_freetype/lyr_freetype.cpp:613
+#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:413
 #: src/modules/mod_filter/radialblur.cpp:115
-#: src/modules/mod_geometry/checkerboard.cpp:130
-#: src/modules/mod_noise/distort.cpp:222 src/modules/mod_noise/noise.cpp:267
+#: src/modules/mod_geometry/checkerboard.cpp:154
+#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
 msgstr "Dydis"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:562
+#: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
 msgstr "Teksto dydis"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:569
+#: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
 msgstr "Orientacija"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:570
+#: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
 msgstr "Teksto orientacija"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/insideout.cpp:143 src/modules/lyr_std/rotate.cpp:116
-#: src/modules/lyr_std/shade.cpp:567 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:389
-#: src/modules/lyr_std/xorpattern.cpp:125 src/modules/lyr_std/zoom.cpp:104
+#: src/modules/lyr_freetype/lyr_freetype.cpp:627
+#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
+#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
+#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
-#: src/modules/mod_geometry/checkerboard.cpp:126
-#: src/modules/mod_geometry/circle.cpp:143
-#: src/modules/mod_gradient/curvegradient.cpp:537
-#: src/modules/mod_particle/plant.cpp:398 src/synfig/layer_pastecanvas.cpp:133
-#: src/synfig/layer_shape.cpp:1197 src/synfig/valuenode_composite.cpp:518
+#: src/modules/mod_geometry/checkerboard.cpp:150
+#: src/modules/mod_geometry/circle.cpp:161
+#: src/modules/mod_gradient/curvegradient.cpp:550
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
+#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
 msgid "Origin"
 msgstr "Pradžia"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:576
+#: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
 msgstr "Teksto padėtis"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:580
+#: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
 msgstr "Šriftas"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:581
+#: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
 msgstr "Naudojamo šrifto failo pavadinimas"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:588
+#: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
 msgstr "Rašmenų sanglauda"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:589
+#: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
 msgstr "Įjungti/Išjungti rašmenų sanglauda (jei šriftas palaiko)"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
 msgstr "Paryškinti kraštai"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:594
+#: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
 msgstr "Išjungti šią funkciją, jei jūs ketinate animuoti tekstą"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:597
-#: src/modules/lyr_std/shade.cpp:587 src/modules/mod_geometry/circle.cpp:147
-#: src/synfig/layer_shape.cpp:1200
+#: src/modules/lyr_freetype/lyr_freetype.cpp:649
+#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1228
 msgid "Invert"
 msgstr "Invertuoti"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:654
+#: src/modules/lyr_freetype/lyr_freetype.cpp:714
 msgid "No face loaded, no text will be rendered."
 msgstr "Užrašas neįkeliamas, tekstas nebus atvaizduotas."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:680
+#: src/modules/lyr_freetype/lyr_freetype.cpp:740
 msgid "Text too small, no text will be rendered."
 msgstr "Tekstas per mažas, tekstas nebus atvaizduotas."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:704
+#: src/modules/lyr_freetype/lyr_freetype.cpp:764
 msgid "Unable to set face size."
 msgstr "Nepavyko nustatyti teksto dydžio."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:747
+#: src/modules/lyr_freetype/lyr_freetype.cpp:807
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr "Neteisinga daugiabaitė seka. Ar nustatėte lokalę?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:754
+#: src/modules/lyr_freetype/lyr_freetype.cpp:814
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 "Nepavyko išanalizuoti daugiabaičio simbolio.\n"
 "\n"
 
-#: src/modules/lyr_std/bevel.cpp:69 src/modules/lyr_std/shade.cpp:68
+#: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "Stilizuoti"
 
-#: src/modules/lyr_std/bevel.cpp:570 src/modules/lyr_std/shade.cpp:576
-#: src/modules/mod_filter/blur.cpp:376
-#: src/modules/mod_filter/halftone2.cpp:170
+#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
+#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Tipas"
 
-#: src/modules/lyr_std/bevel.cpp:571 src/modules/lyr_std/shade.cpp:577
-#: src/modules/mod_filter/blur.cpp:377
+#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
+#: src/modules/mod_filter/blur.cpp:418
 msgid "Type of blur to use"
 msgstr "Suliejimo tipas"
 
-#: src/modules/lyr_std/bevel.cpp:573 src/modules/lyr_std/shade.cpp:579
-#: src/modules/mod_filter/blur.cpp:379 src/synfig/layer_shape.cpp:1213
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
 msgid "Box Blur"
 msgstr "Languotas suliejimas"
 
-#: src/modules/lyr_std/bevel.cpp:574 src/modules/lyr_std/shade.cpp:580
-#: src/modules/mod_filter/blur.cpp:380 src/synfig/layer_shape.cpp:1214
+#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
+#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
 msgid "Fast Gaussian Blur"
 msgstr "Greitas Gauso suliejimas"
 
-#: src/modules/lyr_std/bevel.cpp:575 src/modules/lyr_std/shade.cpp:581
-#: src/modules/mod_filter/blur.cpp:381 src/synfig/layer_shape.cpp:1215
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
 msgid "Cross-Hatch Blur"
 msgstr "Kryžminis suliejimas"
 
-#: src/modules/lyr_std/bevel.cpp:576 src/modules/lyr_std/shade.cpp:582
-#: src/modules/mod_filter/blur.cpp:382 src/synfig/layer_shape.cpp:1216
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
 msgid "Gaussian Blur"
 msgstr "Gauso suliejimas"
 
-#: src/modules/lyr_std/bevel.cpp:577 src/modules/lyr_std/shade.cpp:583
-#: src/modules/mod_filter/blur.cpp:383 src/synfig/layer_shape.cpp:1217
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
 msgid "Disc Blur"
 msgstr "Disko suliejimas"
 
-#: src/modules/lyr_std/bevel.cpp:581
+#: src/modules/lyr_std/bevel.cpp:635
 msgid "Hi-Color"
 msgstr "Šviesos spalva"
 
-#: src/modules/lyr_std/bevel.cpp:584
+#: src/modules/lyr_std/bevel.cpp:638
 msgid "Lo-Color"
 msgstr "Šešėlio spalva"
 
-#: src/modules/lyr_std/bevel.cpp:587
+#: src/modules/lyr_std/bevel.cpp:641
 msgid "Light Angle"
 msgstr "Apšvietimo kampas"
 
-#: src/modules/lyr_std/bevel.cpp:591
+#: src/modules/lyr_std/bevel.cpp:645
 msgid "Depth of Bevel"
 msgstr "Nuožulnumo gylis"
 
-#: src/modules/lyr_std/bevel.cpp:595
+#: src/modules/lyr_std/bevel.cpp:649
 msgid "Softness"
 msgstr "Minkštumas"
 
-#: src/modules/lyr_std/bevel.cpp:598
+#: src/modules/lyr_std/bevel.cpp:652
 msgid "Use Luma"
 msgstr "Šviesis"
 
-#: src/modules/lyr_std/bevel.cpp:601
+#: src/modules/lyr_std/bevel.cpp:655
 msgid "Solid"
 msgstr "Vientisas"
 
-#: src/modules/lyr_std/booleancurve.cpp:104
+#: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
 msgstr "Regiono nustatymas"
 
-#: src/modules/lyr_std/booleancurve.cpp:105
+#: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
 msgstr "Nustatyti regionus sujungimui"
 
@@ -435,38 +435,38 @@ msgstr "Nustatyti regionus sujungimui"
 msgid "Clamp"
 msgstr "Krūva"
 
-#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:56
-#: src/modules/mod_filter/halftone2.cpp:59
-#: src/modules/mod_filter/halftone3.cpp:59
-#: src/modules/mod_filter/lumakey.cpp:59
+#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:57
+#: src/modules/mod_filter/halftone2.cpp:60
+#: src/modules/mod_filter/halftone3.cpp:60
+#: src/modules/mod_filter/lumakey.cpp:60
 msgid "Filters"
 msgstr "Filtrai"
 
-#: src/modules/lyr_std/clamp.cpp:158
+#: src/modules/lyr_std/clamp.cpp:162
 msgid "Invert Negative"
 msgstr "Invertuoti neigiamą"
 
-#: src/modules/lyr_std/clamp.cpp:162
+#: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
 msgstr "Krūvos lubos"
 
-#: src/modules/lyr_std/clamp.cpp:163
+#: src/modules/lyr_std/clamp.cpp:167
 msgid "When checked the Ceiling value is used"
 msgstr "Kai įjungta, naudojama ribinė vertė"
 
-#: src/modules/lyr_std/clamp.cpp:167
+#: src/modules/lyr_std/clamp.cpp:171
 msgid "Ceiling"
 msgstr "Aukščio riba"
 
-#: src/modules/lyr_std/clamp.cpp:168
+#: src/modules/lyr_std/clamp.cpp:172
 msgid "Upper boundary of the clamping"
 msgstr "Viršutinė krūvos riba "
 
-#: src/modules/lyr_std/clamp.cpp:172
+#: src/modules/lyr_std/clamp.cpp:176
 msgid "Floor"
 msgstr "Grindys"
 
-#: src/modules/lyr_std/clamp.cpp:173
+#: src/modules/lyr_std/clamp.cpp:177
 msgid "Lower boundary of the clamping"
 msgstr "Apatinė suspaudimo riba"
 
@@ -474,24 +474,24 @@ msgstr "Apatinė suspaudimo riba"
 msgid "Import Image"
 msgstr "Importuoti paveikslėlį"
 
-#: src/modules/lyr_std/import.cpp:151 src/modules/lyr_std/import.cpp:201
+#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr "Failo pavadinimas, atrodo, jau yra nustatytas \"%s\" (%s)"
 
-#: src/modules/lyr_std/import.cpp:283
+#: src/modules/lyr_std/import.cpp:293
 msgid "Filename"
 msgstr "Failo pavadinimas"
 
-#: src/modules/lyr_std/import.cpp:284
+#: src/modules/lyr_std/import.cpp:294
 msgid "File to import"
 msgstr "Importo failas"
 
-#: src/modules/lyr_std/import.cpp:288 src/synfig/layer_pastecanvas.cpp:146
+#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
 msgid "Time Offset"
 msgstr "Laiko juosta"
 
-#: src/modules/lyr_std/import.cpp:289
+#: src/modules/lyr_std/import.cpp:299
 msgid "Time Offset to apply to the imported file"
 msgstr "Laiko poslinkį taikyti importuojamam failui"
 
@@ -500,14 +500,14 @@ msgid "Inside Out"
 msgstr "Išvirkštinis"
 
 #: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:75
 #: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:57 src/modules/lyr_std/curvewarp.cpp:56
-#: src/modules/mod_noise/distort.cpp:58
+#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
+#: src/modules/mod_noise/distort.cpp:59
 msgid "Distortions"
 msgstr "Iškraipymai"
 
-#: src/modules/lyr_std/insideout.cpp:144
+#: src/modules/lyr_std/insideout.cpp:163
 msgid "Defines the where the center will be"
 msgstr "Nurodo, kur bus "
 
@@ -519,97 +519,97 @@ msgstr "Julios rinkinys"
 msgid "Fractals"
 msgstr "Fraktalai"
 
-#: src/modules/lyr_std/julia.cpp:309
+#: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
 msgstr "Vidinė spalva"
 
-#: src/modules/lyr_std/julia.cpp:310
+#: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
 msgstr "Rinkinio spalva"
 
-#: src/modules/lyr_std/julia.cpp:313
+#: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
 msgstr "Išorės spalva"
 
-#: src/modules/lyr_std/julia.cpp:314
+#: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
 msgstr "Rinkinio išorės spalva"
 
-#: src/modules/lyr_std/julia.cpp:317
+#: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
 msgstr "Spalvos poslinkis"
 
-#: src/modules/lyr_std/julia.cpp:320 src/modules/lyr_std/mandelbrot.cpp:223
+#: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
 msgstr "Iteracija"
 
-#: src/modules/lyr_std/julia.cpp:323
+#: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
 msgstr "Pradžios punktas"
 
-#: src/modules/lyr_std/julia.cpp:326 src/modules/lyr_std/mandelbrot.cpp:226
+#: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
 msgstr "Gelbėti bazinę reikšmę"
 
-#: src/modules/lyr_std/julia.cpp:330 src/modules/lyr_std/mandelbrot.cpp:236
+#: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
 msgstr "Iškreipti viduje"
 
-#: src/modules/lyr_std/julia.cpp:333 src/modules/lyr_std/mandelbrot.cpp:240
+#: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
 msgstr "Šešėlis viduje"
 
-#: src/modules/lyr_std/julia.cpp:336 src/modules/lyr_std/mandelbrot.cpp:244
+#: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
 msgstr "Vientisas viduje"
 
-#: src/modules/lyr_std/julia.cpp:339 src/modules/lyr_std/mandelbrot.cpp:248
+#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
 msgstr "Vidinė inversija"
 
-#: src/modules/lyr_std/julia.cpp:342
+#: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
 msgstr "Vidinė spalva"
 
-#: src/modules/lyr_std/julia.cpp:345 src/modules/lyr_std/mandelbrot.cpp:265
+#: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
 msgstr "Iškreipti išorėje"
 
-#: src/modules/lyr_std/julia.cpp:348 src/modules/lyr_std/mandelbrot.cpp:269
+#: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
 msgstr "Šešėlis išorėje"
 
-#: src/modules/lyr_std/julia.cpp:351 src/modules/lyr_std/mandelbrot.cpp:273
+#: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
 msgstr "Vientisas išorėje"
 
-#: src/modules/lyr_std/julia.cpp:354 src/modules/lyr_std/mandelbrot.cpp:277
+#: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
 msgstr "Išorės inversija"
 
-#: src/modules/lyr_std/julia.cpp:357
+#: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
 msgstr "Išorės spalva"
 
-#: src/modules/lyr_std/julia.cpp:361
+#: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
 msgstr "Spalvos ratas"
 
-#: src/modules/lyr_std/julia.cpp:364 src/modules/lyr_std/mandelbrot.cpp:285
+#: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
 msgstr "Glotninti išorę"
 
-#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:286
+#: src/modules/lyr_std/julia.cpp:391 src/modules/lyr_std/mandelbrot.cpp:282
 msgid "Smooth the coloration outside the set"
 msgstr "Glotninti spalvą už rinkinio ribų"
 
-#: src/modules/lyr_std/julia.cpp:368 src/modules/lyr_std/mandelbrot.cpp:230
+#: src/modules/lyr_std/julia.cpp:394 src/modules/lyr_std/mandelbrot.cpp:226
 msgid "Break Set"
 msgstr "Pertraukti rinkinį"
 
-#: src/modules/lyr_std/julia.cpp:369 src/modules/lyr_std/mandelbrot.cpp:231
+#: src/modules/lyr_std/julia.cpp:395 src/modules/lyr_std/mandelbrot.cpp:227
 msgid "Modify equation to achieve interesting results"
 msgstr "Modifikuoti išlyginimą, kad pasiekti įdomių rezultatų"
 
@@ -617,48 +617,48 @@ msgstr "Modifikuoti išlyginimą, kad pasiekti įdomių rezultatų"
 msgid "Mandelbrot Set"
 msgstr "Mandelbrot rinkinys"
 
+#: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
 #: src/modules/lyr_std/mandelbrot.cpp:241
 #: src/modules/lyr_std/mandelbrot.cpp:245
 #: src/modules/lyr_std/mandelbrot.cpp:249
 #: src/modules/lyr_std/mandelbrot.cpp:253
 #: src/modules/lyr_std/mandelbrot.cpp:257
-#: src/modules/lyr_std/mandelbrot.cpp:261
 msgid "Inside"
 msgstr "Viduje"
 
-#: src/modules/lyr_std/mandelbrot.cpp:252
+#: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
 msgstr "Gradientas viduje"
 
-#: src/modules/lyr_std/mandelbrot.cpp:256
+#: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
 msgstr "Poslinkis viduje"
 
-#: src/modules/lyr_std/mandelbrot.cpp:260
+#: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
 msgstr "Uždaryti viduje"
 
+#: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
 #: src/modules/lyr_std/mandelbrot.cpp:270
 #: src/modules/lyr_std/mandelbrot.cpp:274
 #: src/modules/lyr_std/mandelbrot.cpp:278
-#: src/modules/lyr_std/mandelbrot.cpp:282
+#: src/modules/lyr_std/mandelbrot.cpp:283
 #: src/modules/lyr_std/mandelbrot.cpp:287
 #: src/modules/lyr_std/mandelbrot.cpp:291
-#: src/modules/lyr_std/mandelbrot.cpp:295
 msgid "Outside"
 msgstr "Išorėje"
 
-#: src/modules/lyr_std/mandelbrot.cpp:281
+#: src/modules/lyr_std/mandelbrot.cpp:277
 msgid "Gradient outside"
 msgstr "Gradientas išorėje"
 
-#: src/modules/lyr_std/mandelbrot.cpp:290
+#: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
 msgstr "Poslinkis išorėje"
 
-#: src/modules/lyr_std/mandelbrot.cpp:294
+#: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
 msgstr "Mastelis išorėje"
 
@@ -671,16 +671,16 @@ msgstr "Pasukti"
 msgid "Transform"
 msgstr "Transformuoti"
 
-#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/translate.cpp:101
+#: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:134
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr "Nurodykite, kur norite perkelti centrą"
 
-#: src/modules/lyr_std/rotate.cpp:121
-#: src/modules/lyr_std/sphere_distort.cpp:158
+#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:217
+#: src/synfig/layer_composite.cpp:249
 #: src/synfig/valuenode_blinecalctangent.cpp:251
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
@@ -689,61 +689,61 @@ msgstr "Nurodykite, kur norite perkelti centrą"
 msgid "Amount"
 msgstr "Kiekis"
 
-#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
 msgstr "Sukimosi kiekis"
 
-#: src/modules/lyr_std/shade.cpp:67
+#: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
 msgstr "Šešėlis"
 
-#: src/modules/lyr_std/shade.cpp:571
+#: src/modules/lyr_std/shade.cpp:627
 msgid "Size of Shade"
 msgstr "Šešėlio dydis"
 
-#: src/modules/lyr_std/sphere_distort.cpp:73
-#: src/modules/lyr_std/sphere_distort.cpp:172
+#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:167
 msgid "Spherize"
 msgstr "Sferizavimas"
 
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/synfig/valuenode_composite.cpp:536
+#: src/modules/lyr_std/sphere_distort.cpp:141
+#: src/synfig/valuenode_composite.cpp:546
 msgid "Position"
 msgstr "Pozicija"
 
-#: src/modules/lyr_std/sphere_distort.cpp:147
+#: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
 msgstr "Kur yra sferinio iškraipymo centras"
 
-#: src/modules/lyr_std/sphere_distort.cpp:154
+#: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr "Sferinio iškraipymo dydis"
 
-#: src/modules/lyr_std/sphere_distort.cpp:160
+#: src/modules/lyr_std/sphere_distort.cpp:155
 msgid "The distortion intensity (negative values inverts effect)"
 msgstr "Iškraipymo intensyvumas (neigiama vertė apverčia poveikį)"
 
-#: src/modules/lyr_std/sphere_distort.cpp:164 src/modules/lyr_std/warp.cpp:409
+#: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
 msgstr " Apkarpymas"
 
-#: src/modules/lyr_std/sphere_distort.cpp:165
+#: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
 msgstr "Kai įjungta, spindulio išorėje nebus iškreipimo"
 
-#: src/modules/lyr_std/sphere_distort.cpp:169
+#: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
 msgstr "Iškreipimo tipas"
 
-#: src/modules/lyr_std/sphere_distort.cpp:170
+#: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
 msgstr "Iškraipymo kryptis"
 
-#: src/modules/lyr_std/sphere_distort.cpp:173
+#: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
 msgstr "Vertikalus ruožas"
 
-#: src/modules/lyr_std/sphere_distort.cpp:174
+#: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
 msgstr "Horizontalus ruožas"
 
@@ -763,104 +763,104 @@ msgstr "Kur iškraipymo centras"
 msgid "Stroboscope"
 msgstr "Stroboskopas"
 
-#: src/modules/lyr_std/stroboscope.cpp:102
+#: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
 msgstr "Dažnis"
 
-#: src/modules/lyr_std/stroboscope.cpp:103
+#: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
 msgstr "Mirksėjimo dažnumas per sekundę"
 
-#: src/modules/lyr_std/supersample.cpp:56
+#: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
 msgstr "Glotninimas"
 
-#: src/modules/lyr_std/supersample.cpp:129
+#: src/modules/lyr_std/supersample.cpp:146
 msgid "Unable to create SurfaceTarget"
 msgstr "Nepavyko sukurti tikslo paviršiaus"
 
-#: src/modules/lyr_std/supersample.cpp:290
-#: src/modules/lyr_std/curvewarp.cpp:393
-#: src/modules/mod_gradient/curvegradient.cpp:542
-#: src/synfig/valuenode_composite.cpp:514
-#: src/synfig/valuenode_composite.cpp:540
+#: src/modules/lyr_std/supersample.cpp:337
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_composite.cpp:524
+#: src/synfig/valuenode_composite.cpp:550
 #: src/synfig/valuenode_realstring.cpp:180
 #: src/synfig/valuenode_repeat_gradient.cpp:213
 #: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
 msgid "Width"
 msgstr "Plotis"
 
-#: src/modules/lyr_std/supersample.cpp:291
+#: src/modules/lyr_std/supersample.cpp:338
 msgid "Width of sample area (In pixels)"
 msgstr "Mėginio srities plotis (pikseliais)"
 
-#: src/modules/lyr_std/supersample.cpp:294 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
 msgid "Height"
 msgstr "Aukštis"
 
-#: src/modules/lyr_std/supersample.cpp:295
+#: src/modules/lyr_std/supersample.cpp:342
 msgid "Height of sample area (In pixels)"
 msgstr "Mėginio ploto aukštis (pikseliais)"
 
-#: src/modules/lyr_std/supersample.cpp:298
+#: src/modules/lyr_std/supersample.cpp:345
 msgid "Use Parametric"
 msgstr "Naudoti parametrinius"
 
-#: src/modules/lyr_std/supersample.cpp:299
+#: src/modules/lyr_std/supersample.cpp:346
 msgid "Use the Parametric Renderer"
 msgstr "Naudokite parametrinį atvaizdavimą"
 
-#: src/modules/lyr_std/supersample.cpp:302
+#: src/modules/lyr_std/supersample.cpp:349
 msgid "Be Alpha Safe"
 msgstr "Neliesti alfa"
 
-#: src/modules/lyr_std/supersample.cpp:303
+#: src/modules/lyr_std/supersample.cpp:350
 msgid "Avoid alpha artifacts when checked"
 msgstr "Įjungus padeda išvengti alfa artefaktų"
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:166
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr "Laiko ciklas"
 
-#: src/modules/lyr_std/timeloop.cpp:124 src/synfig/valuenode_timeloop.cpp:179
+#: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
 msgstr "Sąryšio laikas"
 
-#: src/modules/lyr_std/timeloop.cpp:125
+#: src/modules/lyr_std/timeloop.cpp:134
 msgid "Start time of the loop for the cycled context"
 msgstr "Ciklo pradžios laikas uždaram kontekstui"
 
-#: src/modules/lyr_std/timeloop.cpp:129 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr "Lokalus laikas"
 
-#: src/modules/lyr_std/timeloop.cpp:130 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr "Laikas, kai prasideda rezultato ciklas"
 
-#: src/modules/lyr_std/timeloop.cpp:134 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr "Trukmė"
 
-#: src/modules/lyr_std/timeloop.cpp:135 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
 msgid "Lenght of the loop"
 msgstr "Ciklo ilgis"
 
-#: src/modules/lyr_std/timeloop.cpp:139
+#: src/modules/lyr_std/timeloop.cpp:148
 msgid "Only For Positive Duration"
 msgstr "Tik teigiamos trukmės"
 
-#: src/modules/lyr_std/timeloop.cpp:140
+#: src/modules/lyr_std/timeloop.cpp:149
 msgid "When checked will loop only positive durations"
 msgstr "Kai įjungta, ciklas bus tik teigiamos trukmės"
 
-#: src/modules/lyr_std/timeloop.cpp:144
+#: src/modules/lyr_std/timeloop.cpp:153
 msgid "Symmetrical"
 msgstr "Simetriškas"
 
-#: src/modules/lyr_std/timeloop.cpp:145
+#: src/modules/lyr_std/timeloop.cpp:154
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr "Kai įjungta, ciklai atvaizduojami centre Vietos Laiku"
 
@@ -888,115 +888,115 @@ msgstr "Kai įjungta, iškraipoma apskritimo viduje"
 msgid "When checked, distorts outside the circle"
 msgstr "Kai įjungta, iškraipoma už apskritimo"
 
-#: src/modules/lyr_std/warp.cpp:56
+#: src/modules/lyr_std/warp.cpp:57
 msgid "Warp"
 msgstr "Deformuoti"
 
-#: src/modules/lyr_std/warp.cpp:374
+#: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
 msgstr "Šaltinis VK"
 
-#: src/modules/lyr_std/warp.cpp:376
+#: src/modules/lyr_std/warp.cpp:382
 msgid "Top Left corner of the source to warp"
 msgstr "Deformacijos šaltinis viršutiniame kairiajame kampe"
 
-#: src/modules/lyr_std/warp.cpp:380
+#: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
 msgstr "Šaltinis AD"
 
-#: src/modules/lyr_std/warp.cpp:381
+#: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
 msgstr "Deformacijos šaltinis apatiniame dešiniajame kampe"
 
-#: src/modules/lyr_std/warp.cpp:385
+#: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
 msgstr "Tikslas VK"
 
-#: src/modules/lyr_std/warp.cpp:387
+#: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
 msgstr "Tikslas viršutiniame kairiajame kampe "
 
-#: src/modules/lyr_std/warp.cpp:391
+#: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
 msgstr "Tikslas VD"
 
-#: src/modules/lyr_std/warp.cpp:393
+#: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
 msgstr "Tikslas viršutiniame dešiniajame kampe"
 
-#: src/modules/lyr_std/warp.cpp:397
+#: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
 msgstr "Tikslas AD"
 
-#: src/modules/lyr_std/warp.cpp:399
+#: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
 msgstr "Tikslas apatiniame dešiniajame kampe"
 
-#: src/modules/lyr_std/warp.cpp:403
+#: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
 msgstr "Tikslas AK"
 
-#: src/modules/lyr_std/warp.cpp:405
+#: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
 msgstr "Tikslas apatiniame kairiajame kampe"
 
-#: src/modules/lyr_std/warp.cpp:413
+#: src/modules/lyr_std/warp.cpp:419
 msgid "Horizon"
 msgstr "Horizontas"
 
-#: src/modules/lyr_std/warp.cpp:414
+#: src/modules/lyr_std/warp.cpp:420
 msgid "Height that determines the horizon in perspectives"
 msgstr "Aukštis, nustatantis horizontą perspektyvoje"
 
-#: src/modules/lyr_std/curvewarp.cpp:55
+#: src/modules/lyr_std/curvewarp.cpp:56
 msgid "Curve Warp"
 msgstr "Kreivės deformacija"
 
-#: src/modules/lyr_std/curvewarp.cpp:390
-msgid "Position of the source line"
-msgstr "Šaltinio linijos padėtis"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:395
+#: src/modules/lyr_std/curvewarp.cpp:404
 msgid "How much is expanded the result perpendicular to the source line"
 msgstr "Kiek išsiplėtė rezultatas statmenai šaltinio linijai"
 
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:407
 msgid "Start Point"
 msgstr "Pradžios taškas"
 
-#: src/modules/lyr_std/curvewarp.cpp:400
+#: src/modules/lyr_std/curvewarp.cpp:409
 msgid "First point of the source line"
 msgstr "Pirmas šaltinio linijos taškas"
 
-#: src/modules/lyr_std/curvewarp.cpp:403
+#: src/modules/lyr_std/curvewarp.cpp:412
 msgid "End Point"
 msgstr "Pabaigos taškas"
 
-#: src/modules/lyr_std/curvewarp.cpp:404
+#: src/modules/lyr_std/curvewarp.cpp:413
 msgid "Final point of the source line"
 msgstr "Galutinis šaltinio linijos taškas"
 
-#: src/modules/lyr_std/curvewarp.cpp:407
-#: src/modules/mod_geometry/advanced_outline.cpp:1123
-#: src/modules/mod_geometry/outline.cpp:814
-#: src/modules/mod_geometry/region.cpp:233
-#: src/modules/mod_gradient/curvegradient.cpp:546
-#: src/modules/mod_particle/plant.cpp:391
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
 msgid "Vertices"
 msgstr "Viršūnės"
 
-#: src/modules/lyr_std/curvewarp.cpp:410
+#: src/modules/lyr_std/curvewarp.cpp:419
 msgid "List of Spline Points where the source line is curved to"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:413
-#: src/modules/mod_geometry/advanced_outline.cpp:1178
-#: src/modules/mod_gradient/curvegradient.cpp:567
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
 msgid "Fast"
 msgstr "Greitai"
 
-#: src/modules/lyr_std/curvewarp.cpp:414
-#: src/modules/mod_gradient/curvegradient.cpp:568
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
 msgid "When checked, renders quickly but with artifacts"
 msgstr "Kai įjungta, greitai atvaizduoja, tačiau su artefaktais"
 
@@ -1004,15 +1004,15 @@ msgstr "Kai įjungta, greitai atvaizduoja, tačiau su artefaktais"
 msgid "XOR Pattern"
 msgstr "XOR Šablonas"
 
-#: src/modules/lyr_std/xorpattern.cpp:126
+#: src/modules/lyr_std/xorpattern.cpp:130
 msgid "Center of the pattern"
 msgstr "Šablono centras"
 
-#: src/modules/lyr_std/xorpattern.cpp:130
+#: src/modules/lyr_std/xorpattern.cpp:134
 msgid "Size of the pattern"
 msgstr "Šablono dydis"
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:143
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
 #: src/synfig/valuenode_blinecalctangent.cpp:261
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
 #: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
@@ -1023,7 +1023,7 @@ msgstr "Mastelis"
 msgid "Amount to scale to"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:105
+#: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
 msgstr ""
 
@@ -1041,22 +1041,22 @@ msgstr "Failas %s nėra išsaugotas BMP formatu"
 #: src/modules/mod_bmp/mptr_bmp.cpp:150
 #, c-format
 msgid "Failure while reading BITMAPFILEHEADER from %s"
-msgstr "Nesėkmė skaitant RASTROFAILOANTRAŠTĘ iš %s"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:158
 #, c-format
 msgid "Failure while reading BITMAPINFOHEADER from %s"
-msgstr "Nesėkmė skaitant RASTROINFOANTRAŠTĘ iš %s"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:168
 #, c-format
 msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
-msgstr "Bloga RASTROFAILOANTRAŠTĖ %s. (bfOffsetBits=%d, turėtų būti %d)"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:176
 #, c-format
 msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
-msgstr "Bloga RASTROFAILOANTRAŠTĖ %s. (biDydis=%d, turėtų būti 40)"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
 msgid "Reading compressed bitmaps is not supported"
@@ -1091,126 +1091,143 @@ msgstr "Nepavyko užrašyti informacijos "
 msgid "Unable to open pipe to encodedv"
 msgstr "Nepavyko atidaryti signalo, kad koduotidv"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:201
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:208
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:218
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:272
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-msgid "Unable to open pipe to ffmpeg"
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:214
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no pipe)"
+msgstr "Nepavyko atidaryti signalo, kad koduoti ffmpeg"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:221
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (pid == -1)"
+msgstr "Nepavyko atidaryti signalo, kad koduoti ffmpeg"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:231
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
 msgstr "Nepavyko atidaryti signalo, kad koduoti ffmpeg"
 
-#: src/modules/mod_filter/blur.cpp:68
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:285
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (exec failed)"
+msgstr "Nepavyko atidaryti signalo, kad koduoti ffmpeg"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:303
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no file)"
+msgstr "Nepavyko atidaryti signalo, kad koduoti ffmpeg"
+
+#: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
 msgstr "Sulietas"
 
-#: src/modules/mod_filter/blur.cpp:69 src/modules/mod_filter/radialblur.cpp:56
+#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
 #: src/synfig/layer_motionblur.cpp:57
 msgid "Blurs"
 msgstr "Sulieti"
 
-#: src/modules/mod_filter/blur.cpp:373
+#: src/modules/mod_filter/blur.cpp:414
 msgid "Size of Blur"
 msgstr "Suliejimo dydis"
 
-#: src/modules/mod_filter/colorcorrect.cpp:55
+#: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
 msgstr "Spalvos korekcija"
 
-#: src/modules/mod_filter/colorcorrect.cpp:211
+#: src/modules/mod_filter/colorcorrect.cpp:217
 msgid "Hue Adjust"
 msgstr "Atspalvio nustatymas"
 
-#: src/modules/mod_filter/colorcorrect.cpp:215
+#: src/modules/mod_filter/colorcorrect.cpp:221
 msgid "Brightness"
 msgstr "Ryškumas"
 
-#: src/modules/mod_filter/colorcorrect.cpp:219
+#: src/modules/mod_filter/colorcorrect.cpp:225
 msgid "Contrast"
 msgstr "Kontrastas"
 
-#: src/modules/mod_filter/colorcorrect.cpp:223
+#: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
 msgstr "Ekspozicijos nustatymas"
 
-#: src/modules/mod_filter/colorcorrect.cpp:227 src/synfig/layer_bitmap.cpp:179
+#: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
 msgstr "Gamos nustatymas"
 
-#: src/modules/mod_filter/halftone2.cpp:58
+#: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
 msgstr "Pustonis 2"
 
-#: src/modules/mod_filter/halftone2.cpp:151
+#: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
 msgstr "Slėpti pagrindą"
 
-#: src/modules/mod_filter/halftone2.cpp:155
+#: src/modules/mod_filter/halftone2.cpp:159
 msgid "Mask Angle"
 msgstr "Slėpti kampą"
 
-#: src/modules/mod_filter/halftone2.cpp:159
-#: src/modules/mod_filter/halftone3.cpp:309
+#: src/modules/mod_filter/halftone2.cpp:163
+#: src/modules/mod_filter/halftone3.cpp:328
 msgid "Mask Size"
 msgstr "Slėpti dydį"
 
-#: src/modules/mod_filter/halftone2.cpp:164
+#: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
 msgstr "Šviesos spalva"
 
-#: src/modules/mod_filter/halftone2.cpp:167
+#: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
 msgstr "Šešėlio spalva"
 
-#: src/modules/mod_filter/halftone2.cpp:172
-#: src/modules/mod_filter/halftone3.cpp:314
+#: src/modules/mod_filter/halftone2.cpp:176
+#: src/modules/mod_filter/halftone3.cpp:333
 #: src/modules/mod_gradient/conicalgradient.cpp:125
 msgid "Symmetric"
 msgstr "Simetriškas"
 
-#: src/modules/mod_filter/halftone2.cpp:173
-#: src/modules/mod_filter/halftone3.cpp:315
+#: src/modules/mod_filter/halftone2.cpp:177
+#: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
 msgstr "Šviesus ant tamsaus"
 
-#: src/modules/mod_filter/halftone2.cpp:175
-#: src/modules/mod_filter/halftone3.cpp:317
+#: src/modules/mod_filter/halftone2.cpp:179
+#: src/modules/mod_filter/halftone3.cpp:336
 msgid "Diamond"
 msgstr "Deimantas"
 
-#: src/modules/mod_filter/halftone2.cpp:176
-#: src/modules/mod_filter/halftone3.cpp:318
+#: src/modules/mod_filter/halftone2.cpp:180
+#: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
 msgstr "Juosta"
 
-#: src/modules/mod_filter/halftone3.cpp:58
+#: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
 msgstr "Pustonis 3"
 
-#: src/modules/mod_filter/halftone3.cpp:312
+#: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
 msgstr " Tipas"
 
-#: src/modules/mod_filter/halftone3.cpp:321
+#: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
 msgstr "Atimama žyma"
 
-#: src/modules/mod_filter/halftone3.cpp:329
+#: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
 msgstr " Spalva"
 
-#: src/modules/mod_filter/halftone3.cpp:333
+#: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
 msgstr " Slėpti pagrindą"
 
-#: src/modules/mod_filter/halftone3.cpp:337
+#: src/modules/mod_filter/halftone3.cpp:356
 msgid " Mask Angle"
 msgstr " Slėpti kampą"
 
-#: src/modules/mod_filter/lumakey.cpp:58
+#: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
 msgstr "Šviesio "
 
-#: src/modules/mod_filter/radialblur.cpp:55
+#: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
 msgstr "Radialinis suliejimas"
 
@@ -1232,19 +1249,19 @@ msgstr "Šaškių lenta"
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:62 src/synfig/layer_solidcolor.cpp:57
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
 msgstr "Geometrija"
 
-#: src/modules/mod_geometry/checkerboard.cpp:123
+#: src/modules/mod_geometry/checkerboard.cpp:147
 msgid "Color of checkers"
 msgstr "Langelių spalva"
 
-#: src/modules/mod_geometry/checkerboard.cpp:127
+#: src/modules/mod_geometry/checkerboard.cpp:151
 msgid "Center of the checkers"
 msgstr "Langelių centras"
 
-#: src/modules/mod_geometry/checkerboard.cpp:131
+#: src/modules/mod_geometry/checkerboard.cpp:155
 msgid "Size of checkers"
 msgstr "Langelių dydis"
 
@@ -1252,54 +1269,54 @@ msgstr "Langelių dydis"
 msgid "Circle"
 msgstr "Apskritimas"
 
-#: src/modules/mod_geometry/circle.cpp:134
+#: src/modules/mod_geometry/circle.cpp:152
 msgid "Radius of the circle"
 msgstr "Apskritimo spindulys"
 
-#: src/modules/mod_geometry/circle.cpp:138 src/synfig/layer_shape.cpp:1206
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
 msgid "Feather"
 msgstr "Ištempimas"
 
-#: src/modules/mod_geometry/circle.cpp:140
+#: src/modules/mod_geometry/circle.cpp:158
 msgid "Amount of feather of the circle"
 msgstr "Apskritimo ištempimo dydis"
 
-#: src/modules/mod_geometry/circle.cpp:148
+#: src/modules/mod_geometry/circle.cpp:166
 msgid "Invert the circle"
 msgstr "Invertuoti apskritimą"
 
-#: src/modules/mod_geometry/circle.cpp:152
+#: src/modules/mod_geometry/circle.cpp:170
 msgid "Falloff"
 msgstr "Sumažėjimas"
 
-#: src/modules/mod_geometry/circle.cpp:153
+#: src/modules/mod_geometry/circle.cpp:171
 msgid "Determines the falloff function for the feather"
 msgstr "Nustato ištempimo sumažėjimo funkcija"
 
-#: src/modules/mod_geometry/circle.cpp:155
-#: src/modules/mod_noise/distort.cpp:234 src/modules/mod_noise/noise.cpp:275
-#: src/modules/mod_noise/valuenode_random.cpp:288
-#: src/synfig/layer_bitmap.cpp:173 src/synfig/layer_motionblur.cpp:150
-#: src/synfig/valuenode.cpp:139 src/synfig/valuenode_linear.cpp:146
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:289
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
 msgid "Linear"
 msgstr "Linijinis"
 
-#: src/modules/mod_geometry/circle.cpp:156
+#: src/modules/mod_geometry/circle.cpp:174
 msgid "Squared"
 msgstr "Languotas"
 
-#: src/modules/mod_geometry/circle.cpp:157
+#: src/modules/mod_geometry/circle.cpp:175
 msgid "Square Root"
 msgstr "Kvadratinė šaknis"
 
-#: src/modules/mod_geometry/circle.cpp:158
+#: src/modules/mod_geometry/circle.cpp:176
 msgid "Sigmond"
 msgstr "Sigmond"
 
-#: src/modules/mod_geometry/circle.cpp:159
-#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:276
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:174
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:290
+#: src/synfig/layer_bitmap.cpp:170
 msgid "Cosine"
 msgstr "Kosinusas"
 
@@ -1307,160 +1324,160 @@ msgstr "Kosinusas"
 msgid "Advanced Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:133
+#: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1125
-#: src/modules/mod_geometry/outline.cpp:817
-#: src/modules/mod_geometry/region.cpp:235
-#: src/modules/mod_gradient/curvegradient.cpp:549
-#: src/modules/mod_particle/plant.cpp:392
+#: src/modules/mod_geometry/advanced_outline.cpp:1136
+#: src/modules/mod_geometry/outline.cpp:826
+#: src/modules/mod_geometry/region.cpp:240
+#: src/modules/mod_gradient/curvegradient.cpp:562
+#: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1129
-#: src/modules/mod_geometry/outline.cpp:831
+#: src/modules/mod_geometry/advanced_outline.cpp:1140
+#: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
 msgstr "Kontūro plotis"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1130
-#: src/modules/mod_geometry/outline.cpp:832
+#: src/modules/mod_geometry/advanced_outline.cpp:1141
+#: src/modules/mod_geometry/outline.cpp:841
 msgid "Global width of the outline"
 msgstr "Globalus kontūro plotis"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:837
+#: src/modules/mod_geometry/advanced_outline.cpp:1145
+#: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
 msgstr "Plėsti"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1135
-#: src/modules/mod_geometry/outline.cpp:838
+#: src/modules/mod_geometry/advanced_outline.cpp:1146
+#: src/modules/mod_geometry/outline.cpp:847
 msgid "Value to add to the global width"
 msgstr "Pridėti reikšmę prie globalaus pločio"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1138
+#: src/modules/mod_geometry/advanced_outline.cpp:1149
 msgid "Tip Type at Start"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1139
+#: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1141
-#: src/modules/mod_geometry/advanced_outline.cpp:1150
-#: src/synfig/valuenode_composite.cpp:548
+#: src/modules/mod_geometry/advanced_outline.cpp:1152
+#: src/modules/mod_geometry/advanced_outline.cpp:1161
 #: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:587
-#: src/synfig/valuenode_composite.cpp:596
+#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:606
 msgid "Rounded Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1142
-#: src/modules/mod_geometry/advanced_outline.cpp:1151
-#: src/synfig/valuenode_composite.cpp:549
+#: src/modules/mod_geometry/advanced_outline.cpp:1153
+#: src/modules/mod_geometry/advanced_outline.cpp:1162
 #: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:588
-#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:607
 msgid "Squared Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1143
-#: src/modules/mod_geometry/advanced_outline.cpp:1152
-#: src/synfig/valuenode_composite.cpp:550
+#: src/modules/mod_geometry/advanced_outline.cpp:1154
+#: src/modules/mod_geometry/advanced_outline.cpp:1163
 #: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:570
+#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:608
 msgid "Peak Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1144
-#: src/modules/mod_geometry/advanced_outline.cpp:1153
-#: src/synfig/valuenode_composite.cpp:551
+#: src/modules/mod_geometry/advanced_outline.cpp:1155
+#: src/modules/mod_geometry/advanced_outline.cpp:1164
 #: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:590
-#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:571
+#: src/synfig/valuenode_composite.cpp:600
+#: src/synfig/valuenode_composite.cpp:609
 msgid "Flat Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1147
+#: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1148
+#: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1156
+#: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1157
-#: src/modules/mod_geometry/outline.cpp:843
+#: src/modules/mod_geometry/advanced_outline.cpp:1168
+#: src/modules/mod_geometry/outline.cpp:852
 msgid "Determines cusp type"
 msgstr "Nustato smailumo tipą"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1159
+#: src/modules/mod_geometry/advanced_outline.cpp:1170
 msgid "Sharp"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1160
+#: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1164
+#: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1165
+#: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1168
-#: src/modules/mod_geometry/outline.cpp:859
+#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/outline.cpp:869
 #: src/synfig/valuenode_blinecalctangent.cpp:271
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
 msgstr "Vienodas"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1169
+#: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
+#: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1175
+#: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1182
+#: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1184
+#: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1187
+#: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1190
+#: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1193
+#: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1196
+#: src/modules/mod_geometry/advanced_outline.cpp:1207
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
@@ -1468,32 +1485,36 @@ msgstr ""
 msgid "Outline"
 msgstr "Kontūras"
 
-#: src/modules/mod_geometry/outline.cpp:183
+#: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
 msgstr "Kontūre nėra viršūnių "
 
-#: src/modules/mod_geometry/outline.cpp:842
+#: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
 msgstr "Aštrios viršūnės "
 
-#: src/modules/mod_geometry/outline.cpp:847
+#: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
 msgstr "Suapvalinta pradžia"
 
-#: src/modules/mod_geometry/outline.cpp:848
-#: src/modules/mod_geometry/outline.cpp:853
+#: src/modules/mod_geometry/outline.cpp:857
+#: src/modules/mod_geometry/outline.cpp:862
 msgid "Round off the tip"
 msgstr "Suapvalintas galas"
 
-#: src/modules/mod_geometry/outline.cpp:852
+#: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
 msgstr "Suapvalinta pabaiga"
 
-#: src/modules/mod_geometry/outline.cpp:856
+#: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
 msgstr "Kilpinis"
 
-#: src/modules/mod_geometry/outline.cpp:860
+#: src/modules/mod_geometry/outline.cpp:866
+msgid "(Currently not used)"
+msgstr ""
+
+#: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
 msgstr "Kada patikrintas plotis, imasi kreivės ilgio interpoliacijos"
 
@@ -1501,11 +1522,11 @@ msgstr "Kada patikrintas plotis, imasi kreivės ilgio interpoliacijos"
 msgid "Rectangle"
 msgstr "Stačiakampis"
 
-#: src/modules/mod_geometry/rectangle.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
 msgstr "Išplėsti reikšmę"
 
-#: src/modules/mod_geometry/rectangle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
 msgstr "Invertuoti stačiakampį"
 
@@ -1517,46 +1538,46 @@ msgstr "Regionas"
 msgid "Star"
 msgstr "Žvaigždė"
 
-#: src/modules/mod_geometry/star.cpp:183
+#: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
 msgstr "Išorinis spindulys"
 
-#: src/modules/mod_geometry/star.cpp:184
+#: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
 msgstr "Išorinis žvaigždės spindulys"
 
-#: src/modules/mod_geometry/star.cpp:190
+#: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
 msgstr "Vidinis spindulys"
 
-#: src/modules/mod_geometry/star.cpp:191
+#: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
 msgstr "Vidinis žvaigždės spindulys "
 
-#: src/modules/mod_geometry/star.cpp:197
+#: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:129
+#: src/modules/mod_gradient/spiralgradient.cpp:130
 #: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr "Kampas"
 
-#: src/modules/mod_geometry/star.cpp:198
+#: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr "Žvaigždės orientacija"
 
-#: src/modules/mod_geometry/star.cpp:203 src/synfig/distance.cpp:251
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
 msgid "Points"
 msgstr "Taškai"
 
-#: src/modules/mod_geometry/star.cpp:204
+#: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
 msgstr "Žvaigždės viršūnių skaičius"
 
-#: src/modules/mod_geometry/star.cpp:208
+#: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
 msgstr "Taisyklingas daugiakampis"
 
-#: src/modules/mod_geometry/star.cpp:209
+#: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr "Ar padaryti žvaigždę arba taisyklingą daugiakampį"
 
@@ -1574,20 +1595,20 @@ msgid "Conical Gradient"
 msgstr "Kūginis gradientas"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
-#: src/modules/mod_gradient/curvegradient.cpp:61
+#: src/modules/mod_gradient/curvegradient.cpp:62
 #: src/modules/mod_gradient/lineargradient.cpp:55
 #: src/modules/mod_gradient/radialgradient.cpp:58
-#: src/modules/mod_gradient/spiralgradient.cpp:57
-#: src/modules/mod_noise/noise.cpp:58
+#: src/modules/mod_gradient/spiralgradient.cpp:58
+#: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
 msgstr "Gradientai"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
-#: src/modules/mod_gradient/curvegradient.cpp:553
-#: src/modules/mod_gradient/lineargradient.cpp:200
+#: src/modules/mod_gradient/curvegradient.cpp:566
+#: src/modules/mod_gradient/lineargradient.cpp:195
 #: src/modules/mod_gradient/radialgradient.cpp:114
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:260
+#: src/modules/mod_gradient/spiralgradient.cpp:114
+#: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
 msgstr "Taikyti gradientą"
 
@@ -1600,27 +1621,27 @@ msgid "Rotation of the gradient around the center"
 msgstr "Sukimosi aplink centrą gradientas"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
-#: src/modules/mod_gradient/curvegradient.cpp:557
-#: src/modules/mod_gradient/lineargradient.cpp:204
+#: src/modules/mod_gradient/curvegradient.cpp:570
+#: src/modules/mod_gradient/lineargradient.cpp:199
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr "Kai įjungta, gradientas yra kilpinis"
 
-#: src/modules/mod_gradient/curvegradient.cpp:60
+#: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
 msgstr "Kreivės gradientas"
 
-#: src/modules/mod_gradient/curvegradient.cpp:538
-#: src/modules/mod_particle/plant.cpp:399
+#: src/modules/mod_gradient/curvegradient.cpp:551
+#: src/modules/mod_particle/plant.cpp:432
 msgid "Offset for the Vertices List"
 msgstr "Poslinkis viršūnių sąrašui"
 
-#: src/modules/mod_gradient/curvegradient.cpp:543
+#: src/modules/mod_gradient/curvegradient.cpp:556
 msgid "Global width of the gradient"
 msgstr "Globalus gradiento plotis"
 
-#: src/modules/mod_gradient/curvegradient.cpp:556
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/curvegradient.cpp:569
+#: src/modules/mod_gradient/lineargradient.cpp:198
 #: src/modules/mod_gradient/radialgradient.cpp:130
 #: src/synfig/valuenode_blinecalctangent.cpp:246
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
@@ -1628,19 +1649,19 @@ msgstr "Globalus gradiento plotis"
 msgid "Loop"
 msgstr "Kilpa"
 
-#: src/modules/mod_gradient/curvegradient.cpp:560
-#: src/modules/mod_gradient/lineargradient.cpp:207
+#: src/modules/mod_gradient/curvegradient.cpp:573
+#: src/modules/mod_gradient/lineargradient.cpp:202
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr "Zigzagas "
 
-#: src/modules/mod_gradient/curvegradient.cpp:561
-#: src/modules/mod_gradient/lineargradient.cpp:208
+#: src/modules/mod_gradient/curvegradient.cpp:574
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:136
 msgid "When checked the gradient is summetrical at the center"
 msgstr "Kai įjungta, gradientas yra simetriškas centre"
 
-#: src/modules/mod_gradient/curvegradient.cpp:564
+#: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
 msgstr "Statmenas"
 
@@ -1648,11 +1669,11 @@ msgstr "Statmenas"
 msgid "Linear Gradient"
 msgstr "Linijinis gradientas"
 
-#: src/modules/mod_gradient/lineargradient.cpp:192
+#: src/modules/mod_gradient/lineargradient.cpp:187
 msgid "Start point of the gradient"
 msgstr "Gradiento pradžios taškas"
 
-#: src/modules/mod_gradient/lineargradient.cpp:196
+#: src/modules/mod_gradient/lineargradient.cpp:191
 msgid "End point of the gradient"
 msgstr "Gradiento pabaigos taškas"
 
@@ -1661,23 +1682,23 @@ msgid "Radial Gradient"
 msgstr "Radialinis gradientas"
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:119
 msgid "Center of the gradient"
 msgstr "Gradiento centras"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:56
+#: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
 msgstr "Spiralinis gradientas"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:130
+#: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
 msgstr "Spiralės sūkiai"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:135
+#: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
 msgstr "Pagal laikrodžio rodyklę"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:136
+#: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
 msgstr "Kai įjungta, spiralė sukasi pagal laikrodžio rodyklę"
 
@@ -1690,13 +1711,15 @@ msgstr "Nėra failo įkėlimui"
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/listimporter.cpp:184 src/synfig/listimporter.cpp:185
+#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
+#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
 msgid "Unable to open "
 msgstr "Nepavyko atidaryti"
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/listimporter.cpp:191 src/synfig/listimporter.cpp:192
+#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
+#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
 msgid "Unable to get frame from "
 msgstr "Nepavyko gauti kadro iš"
 
@@ -1734,115 +1757,115 @@ msgstr "Pirmalaikė failo pabaiga"
 msgid "Unable to open pipe to imagemagick's convert utility"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:57
+#: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
 msgstr "Triukšmo iškraipymas"
 
-#: src/modules/mod_noise/distort.cpp:217
+#: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
 msgstr "Išstūmimas"
 
-#: src/modules/mod_noise/distort.cpp:218
+#: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
 msgstr "Kokio dydžio iškraipymą pakeičia kontekstas"
 
-#: src/modules/mod_noise/distort.cpp:223
+#: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
 msgstr "Atstumas tarp iškraipymų"
 
-#: src/modules/mod_noise/distort.cpp:226 src/modules/mod_noise/noise.cpp:263
+#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
 msgstr "Atsitiktinis triukšmo grūdas"
 
-#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:264
+#: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
 msgstr "Atsitiktinis triukšmo grūdo keitimas"
 
-#: src/modules/mod_noise/distort.cpp:230 src/modules/mod_noise/noise.cpp:271
-#: src/modules/mod_noise/valuenode_random.cpp:284
-#: src/synfig/layer_bitmap.cpp:169
+#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr "Interpoliacija"
 
-#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
-#: src/synfig/layer_bitmap.cpp:170
+#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
+#: src/synfig/layer_bitmap.cpp:166
 msgid "What type of interpolation to use"
 msgstr "Kokio tipo interpoliacija naudoti"
 
-#: src/modules/mod_noise/distort.cpp:233 src/modules/mod_noise/noise.cpp:274
-#: src/synfig/layer_bitmap.cpp:172
+#: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
+#: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
 msgstr "Nearest Neighbor"
 
-#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:277
-#: src/modules/mod_noise/valuenode_random.cpp:290 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_bline.cpp:1001
+#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
+#: src/synfig/valuenode_bline.cpp:1006
 #: src/synfig/valuenode_blinecalctangent.cpp:241
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr "Spline"
 
-#: src/modules/mod_noise/distort.cpp:237 src/modules/mod_noise/noise.cpp:278
-#: src/modules/mod_noise/valuenode_random.cpp:291
-#: src/synfig/layer_bitmap.cpp:175
+#: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr "Kubinę"
 
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:281
+#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
 msgstr "Išsamiai"
 
-#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:282
+#: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:244 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
 msgstr "Animacijos greitis"
 
-#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
 msgstr "Ciklų per sekundę"
 
-#: src/modules/mod_noise/distort.cpp:248 src/modules/mod_noise/noise.cpp:289
+#: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
 msgstr "Turbulentinis"
 
-#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:290
+#: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
 msgstr "Kai įjungta, gaminas turbulentinis triukšmas"
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:183
+#: src/modules/mod_noise/valuenode_random.cpp:184
 msgid "Random"
 msgstr "Atsitiktinis"
 
-#: src/modules/mod_noise/noise.cpp:57
+#: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
 msgstr "Triukšmo gradientas"
 
-#: src/modules/mod_noise/noise.cpp:268
+#: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
 msgstr "Triukšmo dydis "
 
-#: src/modules/mod_noise/noise.cpp:293
+#: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
 msgstr "Su alfa kanalu"
 
-#: src/modules/mod_noise/noise.cpp:294
+#: src/modules/mod_noise/noise.cpp:303
 msgid "Uses transparency"
 msgstr "Naudojamas skaidrumas"
 
-#: src/modules/mod_noise/noise.cpp:297
+#: src/modules/mod_noise/noise.cpp:306
 msgid "Super Sampling"
 msgstr "Super atranka"
 
-#: src/modules/mod_noise/noise.cpp:298
+#: src/modules/mod_noise/noise.cpp:307
 msgid "When checked the gradient is supersampled"
 msgstr "Kai įjungta, gradientas yra supersampled"
 
-#: src/modules/mod_noise/valuenode_random.cpp:264
+#: src/modules/mod_noise/valuenode_random.cpp:265
 #: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
 #: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
 #: src/synfig/valuenode_reciprocal.cpp:165
@@ -1851,171 +1874,171 @@ msgstr "Kai įjungta, gradientas yra supersampled"
 msgid "Link"
 msgstr "Jungtis"
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:270
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid "The value of the maximum random difference"
 msgstr "Maksimali atsitiktinė skirtumo vertė"
 
-#: src/modules/mod_noise/valuenode_random.cpp:274
-#: src/modules/mod_particle/plant.cpp:450
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr "Sėkla"
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:276
 msgid "Seeds the random number generator"
 msgstr "Sėklos atsitiktinių skaičių generatorius"
 
-#: src/modules/mod_noise/valuenode_random.cpp:279
+#: src/modules/mod_noise/valuenode_random.cpp:280
 msgid "Speed"
 msgstr "Greitis"
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:281
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 "Apibrėžia, kaip dažnai naujos atsitiktinės reikšmės yra pasirenkamos "
 "(pasirinkimai per sekundę)"
 
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:286
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 "Nustato, kaip vertė yra interpoliuojama iš vieno atsitiktinio pasirinkimo į "
 "kitą"
 
-#: src/modules/mod_noise/valuenode_random.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:288
 msgid "No interpolation"
 msgstr "Be interpoliacijos"
 
-#: src/modules/mod_noise/valuenode_random.cpp:296
+#: src/modules/mod_noise/valuenode_random.cpp:297
 msgid "Loop Time"
 msgstr "Laiko ciklas"
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:298
 msgid "Makes the random value repeat after the given time"
 msgstr "Atsitiktinis reikšmės pasikartojimas po nurodyto laiko"
 
-#: src/modules/mod_particle/plant.cpp:69
+#: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
 msgstr "Augalas"
 
-#: src/modules/mod_particle/plant.cpp:404
+#: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
 msgstr "Gradientas augalo nuspalvinimui"
 
-#: src/modules/mod_particle/plant.cpp:408
+#: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
 msgstr "Padalinti kampą"
 
-#: src/modules/mod_particle/plant.cpp:409
+#: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:413
+#: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
 msgstr "Sunkis"
 
-#: src/modules/mod_particle/plant.cpp:414
+#: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
 msgstr "Kryptis, į kurią ūgliai palinkę"
 
-#: src/modules/mod_particle/plant.cpp:419
+#: src/modules/mod_particle/plant.cpp:452
 msgid "Tangential Velocity"
 msgstr "Greitis pagal liestinę"
 
-#: src/modules/mod_particle/plant.cpp:420
+#: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:424
+#: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
 msgstr "Statmenai liestinei"
 
-#: src/modules/mod_particle/plant.cpp:425
+#: src/modules/mod_particle/plant.cpp:458
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:429
+#: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
 msgstr "Storis"
 
-#: src/modules/mod_particle/plant.cpp:430
+#: src/modules/mod_particle/plant.cpp:463
 msgid "Size of the stem"
 msgstr "Kamieno storis"
 
-#: src/modules/mod_particle/plant.cpp:435
+#: src/modules/mod_particle/plant.cpp:468
 msgid "Size As Alpha"
 msgstr "Alfa dydis"
 
-#: src/modules/mod_particle/plant.cpp:436
+#: src/modules/mod_particle/plant.cpp:469
 msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:440
+#: src/modules/mod_particle/plant.cpp:473
 msgid "Reverse"
 msgstr "Atvirkštinis"
 
-#: src/modules/mod_particle/plant.cpp:441
+#: src/modules/mod_particle/plant.cpp:474
 msgid "If enabled, render the plant in the opposite direction"
 msgstr "Jei įjungta, augalas vaizduojamas priešinga kryptimi"
 
-#: src/modules/mod_particle/plant.cpp:445 src/synfig/valuenode.cpp:170
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
 #: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
 msgid "Step"
 msgstr "Žingsnis"
 
-#: src/modules/mod_particle/plant.cpp:446
+#: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
 msgstr "Atstumo tarp taškų matavimo vienetas atvaizduojant"
 
-#: src/modules/mod_particle/plant.cpp:451
+#: src/modules/mod_particle/plant.cpp:484
 msgid "Used to seed the pseudo-random number generator"
 msgstr "Naudojamas sėklos pseudoatsitiktinių skaičių generatorius"
 
-#: src/modules/mod_particle/plant.cpp:455
+#: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
 msgstr "Padalijimai"
 
-#: src/modules/mod_particle/plant.cpp:456
+#: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
 msgstr "Maksimalų kartų skaičius, kai kiekvienas daigas atauga pasikartodamas"
 
-#: src/modules/mod_particle/plant.cpp:460
+#: src/modules/mod_particle/plant.cpp:493
 msgid "Sprouts"
 msgstr "Daigai"
 
-#: src/modules/mod_particle/plant.cpp:461
+#: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:465
+#: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
 msgstr "Atsitiktinis faktorius"
 
-#: src/modules/mod_particle/plant.cpp:466
+#: src/modules/mod_particle/plant.cpp:499
 msgid ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:470
+#: src/modules/mod_particle/plant.cpp:503
 msgid "Drag"
 msgstr "Vilkti"
 
-#: src/modules/mod_particle/plant.cpp:471
+#: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
 msgstr "Augimo sulėtėjimas"
 
-#: src/modules/mod_particle/plant.cpp:475
+#: src/modules/mod_particle/plant.cpp:508
 msgid "Use Width"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:476
+#: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
@@ -2024,97 +2047,102 @@ msgstr ""
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:87 src/synfig/importer.cpp:87
+#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
 msgid "Importer::open(): Cannot open empty filename"
 msgstr "Importuotojas::atverti(): Negaliu atidaryti, failo vardas tuščias"
 
-#: src/synfig/cairoimporter.cpp:101 src/synfig/importer.cpp:101
+#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
 msgid "Importer::open(): Couldn't find extension"
 msgstr "Importuotojas::atverti(): Nepavyko rasti plėtinio"
 
-#: src/synfig/cairoimporter.cpp:112 src/synfig/importer.cpp:112
+#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
 msgid "Importer::open(): Unknown file type -- "
 msgstr "Importuotojas::atverti(): Nežinomas failo tipas -- "
 
-#: src/synfig/canvas.cpp:798 src/synfig/canvas.cpp:863
-#: src/synfig/canvas.cpp:886
+#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
+#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+msgid "No images in list"
+msgstr "Sąraše nėra pavekslėlių"
+
+#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
+#: src/synfig/canvas.cpp:927
 msgid "in line"
 msgstr "atitinka"
 
-#: src/synfig/distance.cpp:249
+#: src/synfig/distance.cpp:251
 msgid "Units"
 msgstr "Vienetai"
 
-#: src/synfig/distance.cpp:250
+#: src/synfig/distance.cpp:252
 msgid "Pixels"
 msgstr "Pikseliai"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:254
 msgid "Inches"
 msgstr "Coliai"
 
-#: src/synfig/distance.cpp:253
+#: src/synfig/distance.cpp:255
 msgid "Meters"
 msgstr "Metrai"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:256
 msgid "Millimeters"
 msgstr "Milimetrai"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:257
 msgid "Centimeters"
 msgstr "Centimetrai"
 
-#: src/synfig/layer.cpp:565 src/synfig/layer_composite.cpp:128
+#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
 msgid "Unable to create surface target"
 msgstr "Nepavyko sukurti paviršiaus adresato"
 
-#: src/synfig/layer.cpp:619
+#: src/synfig/layer.cpp:605
 msgid "Z Depth"
 msgstr "Z Gylis"
 
-#: src/synfig/layer.cpp:621
+#: src/synfig/layer.cpp:607
 msgid "Modifies the position of the layer in the layer stack"
 msgstr "Pakeičia sluoksnio poziciją sluoksnio krūvoje "
 
-#: src/synfig/layer_bitmap.cpp:159
+#: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
 msgstr "Viršutiniame kairiajame"
 
-#: src/synfig/layer_bitmap.cpp:160
+#: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
 msgstr "Paveikslėlio viršutinis kairysis kampas"
 
-#: src/synfig/layer_bitmap.cpp:164
+#: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
 msgstr "Apatiniame dešiniajame"
 
-#: src/synfig/layer_bitmap.cpp:165
+#: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
 msgstr "Paveikslėlio apatinis dešinysis kampas"
 
-#: src/synfig/layer_composite.cpp:218
+#: src/synfig/layer_composite.cpp:250
 msgid "Alpha channel of the layer"
 msgstr "Sluoksnio Alfa kanalas"
 
-#: src/synfig/layer_composite.cpp:221 src/synfig/paramdesc.cpp:62
+#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr "Maišymo metodas"
 
-#: src/synfig/layer_composite.cpp:222
+#: src/synfig/layer_composite.cpp:254
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:168
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
 #: src/synfig/valuenode_duplicate.cpp:174
 msgid "Duplicate"
 msgstr "Dublikatas"
 
-#: src/synfig/layer_duplicate.cpp:148
+#: src/synfig/layer_duplicate.cpp:151
 msgid "Index"
 msgstr "Rodyklė"
 
-#: src/synfig/layer_duplicate.cpp:149
+#: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
 msgstr "Indekso kopija"
 
@@ -2126,156 +2154,156 @@ msgstr "[MIME]"
 msgid "Motion Blur"
 msgstr "Suliejimas judesiu"
 
-#: src/synfig/layer_motionblur.cpp:136
+#: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
 msgstr "Diafragma"
 
-#: src/synfig/layer_motionblur.cpp:137
+#: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
 msgstr "Užrakto laikas"
 
-#: src/synfig/layer_motionblur.cpp:141
+#: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
 msgstr "Submėginių faktorius"
 
-#: src/synfig/layer_motionblur.cpp:142
+#: src/synfig/layer_motionblur.cpp:141
 msgid "Multiplies The Number Of Subsamples Rendered"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:146
+#: src/synfig/layer_motionblur.cpp:145
 msgid "Subsampling Type"
 msgstr "Mėginio tipas"
 
-#: src/synfig/layer_motionblur.cpp:147
+#: src/synfig/layer_motionblur.cpp:146
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:149 src/synfig/valuenode_const.cpp:127
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
 msgid "Constant"
 msgstr "Pastovus"
 
-#: src/synfig/layer_motionblur.cpp:151
+#: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
 msgstr "Hiperbolinis"
 
-#: src/synfig/layer_motionblur.cpp:155
+#: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:156
+#: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:160
+#: src/synfig/layer_motionblur.cpp:159
 msgid "Subsample End Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:161
+#: src/synfig/layer_motionblur.cpp:160
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:78 src/synfig/layer_pastecanvas.cpp:120
-#: src/synfig/layer_pastecanvas.cpp:121
+#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
+#: src/synfig/layer_pastecanvas.cpp:124
 msgid "Group"
-msgstr ""
+msgstr "Grupė"
 
-#: src/synfig/layer_pastecanvas.cpp:137
+#: src/synfig/layer_pastecanvas.cpp:140
 msgid "Canvas"
 msgstr "Drobė"
 
-#: src/synfig/layer_pastecanvas.cpp:138
+#: src/synfig/layer_pastecanvas.cpp:141
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:144
 msgid "Zoom"
 msgstr "Mastelis"
 
-#: src/synfig/layer_pastecanvas.cpp:142
+#: src/synfig/layer_pastecanvas.cpp:145
 msgid "Size of canvas"
 msgstr "Drobės dydis"
 
-#: src/synfig/layer_pastecanvas.cpp:147
+#: src/synfig/layer_pastecanvas.cpp:152
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:151
+#: src/synfig/layer_pastecanvas.cpp:156
 msgid "Children Lock"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:157
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
+#: src/synfig/layer_pastecanvas.cpp:162
 msgid "Focus Point"
 msgstr "Fokusavimo taškas"
 
-#: src/synfig/layer_pastecanvas.cpp:159
+#: src/synfig/layer_pastecanvas.cpp:165
 msgid "Point to remain fixed when zooming"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:164
+#: src/synfig/layer_pastecanvas.cpp:170
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:165
+#: src/synfig/layer_pastecanvas.cpp:171
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:180
+#: src/synfig/layer_pastecanvas.cpp:186
 msgid "Current Time"
 msgstr "Dabartinis laikas"
 
-#: src/synfig/layer_polygon.cpp:61
+#: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
 msgstr "Daugiakampis"
 
-#: src/synfig/layer_polygon.cpp:187
+#: src/synfig/layer_polygon.cpp:194
 msgid "Vertices List"
 msgstr "Viršūnių sąrašas"
 
-#: src/synfig/layer_polygon.cpp:188
+#: src/synfig/layer_polygon.cpp:195
 msgid "Define the corners of the polygon"
 msgstr "Nustatyti daugiakampio kampus"
 
-#: src/synfig/layer_shape.cpp:64
+#: src/synfig/layer_shape.cpp:66
 msgid "Shape"
 msgstr "Figūra"
 
-#: src/synfig/layer_shape.cpp:65
+#: src/synfig/layer_shape.cpp:67
 msgid "Internal"
 msgstr "Vidaus"
 
-#: src/synfig/layer_shape.cpp:1194
+#: src/synfig/layer_shape.cpp:1222
 msgid "Layer_Shape Color"
 msgstr "Sluoksnio_figūros spalva"
 
-#: src/synfig/layer_shape.cpp:1203
+#: src/synfig/layer_shape.cpp:1231
 msgid "Antialiasing"
 msgstr "Išlyginimas"
 
-#: src/synfig/layer_shape.cpp:1210
+#: src/synfig/layer_shape.cpp:1238
 msgid "Type of Feather"
 msgstr "Ištempimo tipas"
 
-#: src/synfig/layer_shape.cpp:1211
+#: src/synfig/layer_shape.cpp:1239
 msgid "Type of feathering to use"
 msgstr "Naudojamas ištempimo tipas"
 
-#: src/synfig/layer_shape.cpp:1220
+#: src/synfig/layer_shape.cpp:1248
 msgid "Winding Style"
 msgstr "Spiralinis stilius"
 
-#: src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_shape.cpp:1249
 msgid "Winding style to use"
 msgstr "Naudojamas spiralinis stilius"
 
-#: src/synfig/layer_shape.cpp:1223
+#: src/synfig/layer_shape.cpp:1251
 msgid "Non Zero"
 msgstr "Nenulinis"
 
-#: src/synfig/layer_shape.cpp:1224
+#: src/synfig/layer_shape.cpp:1252
 msgid "Even/Odd"
 msgstr "Lyginis/Nelyginis"
 
@@ -2283,406 +2311,406 @@ msgstr "Lyginis/Nelyginis"
 msgid "Solid Color"
 msgstr "Vientisa spalva"
 
-#: src/synfig/listimporter.cpp:161 src/synfig/listimporter.cpp:162
-msgid "No images in list"
-msgstr "Sąraše nėra pavekslėlių"
-
-#: src/synfig/loadcanvas.cpp:142
+#: src/synfig/loadcanvas.cpp:143
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:185
+#: src/synfig/loadcanvas.cpp:186
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr "Nenumatytas elementas <%s>, numatytas<%s>"
 
-#: src/synfig/loadcanvas.cpp:191
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr "Unexpected element <%s>"
 
-#: src/synfig/loadcanvas.cpp:205
+#: src/synfig/loadcanvas.cpp:206
 msgid "Too many warnings"
 msgstr "Per daug įspėjimų"
 
-#: src/synfig/loadcanvas.cpp:236
+#: src/synfig/loadcanvas.cpp:237
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr "<%s> trūksta\"%s\" atributo"
 
 #: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:469
-#: src/synfig/loadcanvas.cpp:1118
+#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
+#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:473
-#: src/synfig/loadcanvas.cpp:1122
+#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
+#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:484 src/synfig/loadcanvas.cpp:1144
+#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
+#: src/synfig/loadcanvas.cpp:1200
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr "Bloga reikšmė \"%s\"  <%s>"
 
-#: src/synfig/loadcanvas.cpp:508
+#: src/synfig/loadcanvas.cpp:533
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1284
+#: src/synfig/loadcanvas.cpp:1353
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1301
+#: src/synfig/loadcanvas.cpp:1375
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1314
+#: src/synfig/loadcanvas.cpp:1388
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1330
+#: src/synfig/loadcanvas.cpp:1404
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1336 src/synfig/loadcanvas.cpp:1348
+#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1365
+#: src/synfig/loadcanvas.cpp:1439
 msgid "Bad data for <waypoint>"
 msgstr "Neteisingi duomenys <fiksatoriui>"
 
-#: src/synfig/loadcanvas.cpp:1380
+#: src/synfig/loadcanvas.cpp:1455
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1424 src/synfig/loadcanvas.cpp:1443
-#, c-format
-msgid "\"%s\" not a valid value for attribute \"%s\" in <%s>"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:1504
+#: src/synfig/loadcanvas.cpp:1556
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1512
+#: src/synfig/loadcanvas.cpp:1565
 #, c-format
 msgid "Bad type in <%s>"
 msgstr "Blogas tipas <%s>"
 
-#: src/synfig/loadcanvas.cpp:1522
+#: src/synfig/loadcanvas.cpp:1577
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1531
+#: src/synfig/loadcanvas.cpp:1587
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1557 src/synfig/loadcanvas.cpp:1628
+#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1570
+#: src/synfig/loadcanvas.cpp:1625
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1579
+#: src/synfig/loadcanvas.cpp:1634
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1603
+#: src/synfig/loadcanvas.cpp:1658
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1643
+#: src/synfig/loadcanvas.cpp:1698
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1652
+#: src/synfig/loadcanvas.cpp:1707
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr "Analizė '%s' nepavyko"
 
-#: src/synfig/loadcanvas.cpp:1659
+#: src/synfig/loadcanvas.cpp:1714
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1677
+#: src/synfig/loadcanvas.cpp:1732
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1747
+#: src/synfig/loadcanvas.cpp:1811
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1841
-msgid "Unable to create <dynamic_list>"
+#: src/synfig/loadcanvas.cpp:1861
+msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1993
+#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2038
+#: src/synfig/loadcanvas.cpp:1998
+msgid "Unable to create <dynamic_list>"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2220
 #, c-format
 msgid "Bad data in <%s>"
 msgstr "Neteisingi duomenys <%s>"
 
-#: src/synfig/loadcanvas.cpp:2076
+#: src/synfig/loadcanvas.cpp:2283
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2097
+#: src/synfig/loadcanvas.cpp:2304
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr "Blogas ID \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2102
+#: src/synfig/loadcanvas.cpp:2310
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr "ID dublikatas \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2107
+#: src/synfig/loadcanvas.cpp:2316
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2142
+#: src/synfig/loadcanvas.cpp:2373
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2161
+#: src/synfig/loadcanvas.cpp:2392
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2181
+#: src/synfig/loadcanvas.cpp:2415
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2184
+#: src/synfig/loadcanvas.cpp:2418
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2192
+#: src/synfig/loadcanvas.cpp:2426
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2209
+#: src/synfig/loadcanvas.cpp:2443
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2214
+#: src/synfig/loadcanvas.cpp:2448
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2454
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2222
+#: src/synfig/loadcanvas.cpp:2456
 msgid "Layer rejected canvas link"
 msgstr "Sluoksnis atmetė drobės nuorodą"
 
-#: src/synfig/loadcanvas.cpp:2244
+#: src/synfig/loadcanvas.cpp:2480
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2260
+#: src/synfig/loadcanvas.cpp:2496
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2272 src/synfig/loadcanvas.cpp:2292
+#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2280
+#: src/synfig/loadcanvas.cpp:2516
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2303
+#: src/synfig/loadcanvas.cpp:2539
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2376 src/synfig/loadcanvas.cpp:2384
+#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2470
+#: src/synfig/loadcanvas.cpp:2710
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2478
+#: src/synfig/loadcanvas.cpp:2717
+msgid "Inline canvas cannot have a <bones> section"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2725
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2490
+#: src/synfig/loadcanvas.cpp:2737
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2498
+#: src/synfig/loadcanvas.cpp:2745
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2504
+#: src/synfig/loadcanvas.cpp:2751
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:2763
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2531
+#: src/synfig/loadcanvas.cpp:2778
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2546
+#: src/synfig/loadcanvas.cpp:2793
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2578
+#: src/synfig/loadcanvas.cpp:2828
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580 src/synfig/valuenode.cpp:353
+#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
 msgid "ValueNode"
 msgstr "Mazgo reikšmė"
 
-#: src/synfig/loadcanvas.cpp:2580
+#: src/synfig/loadcanvas.cpp:2830
 msgid "ValueNodes"
 msgstr "Mazgo reikšmės"
 
-#: src/synfig/loadcanvas.cpp:2660 src/synfig/loadcanvas.cpp:2716
+#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
 msgid "Can't open file"
 msgstr "Negalima atidaryti failo"
 
-#: src/synfig/main.cpp:102
+#: src/synfig/main.cpp:118
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:107
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:112
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:117
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:122
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:184
+#: src/synfig/main.cpp:207
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:186
+#: src/synfig/main.cpp:209
 msgid "Unable to initialize subsystem \"Module\""
 msgstr ""
 
-#: src/synfig/main.cpp:188
+#: src/synfig/main.cpp:211
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:192
+#: src/synfig/main.cpp:215
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:195
+#: src/synfig/main.cpp:218
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:200
+#: src/synfig/main.cpp:223
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:203
+#: src/synfig/main.cpp:226
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
+#: src/synfig/main.cpp:232
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:212
+#: src/synfig/main.cpp:235
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:219
+#: src/synfig/main.cpp:242
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:222
+#: src/synfig/main.cpp:245
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:230
+#: src/synfig/main.cpp:253
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:267 src/synfig/main.cpp:268
+#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:279
+#: src/synfig/main.cpp:302
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:293 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
 msgid "DONE"
 msgstr "PRIIMTA"
 
-#: src/synfig/main.cpp:360 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
 msgid "error"
 msgstr "klaida"
 
-#: src/synfig/main.cpp:375 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
 msgid "warning"
 msgstr "įspėjimas"
 
-#: src/synfig/main.cpp:390
+#: src/synfig/main.cpp:413
 msgid "info"
 msgstr "info"
 
@@ -2757,145 +2785,145 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:64 src/synfig/valuenode.cpp:140
-#: src/synfig/valuenode_composite.cpp:437
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
+#: src/synfig/valuenode_composite.cpp:447
 msgid "Composite"
 msgstr "Mišinys"
 
-#: src/synfig/paramdesc.cpp:65
+#: src/synfig/paramdesc.cpp:69
 msgid "Straight"
 msgstr "Tiesiai"
 
-#: src/synfig/paramdesc.cpp:66
+#: src/synfig/paramdesc.cpp:70
 msgid "Onto"
 msgstr "Ant"
 
-#: src/synfig/paramdesc.cpp:67
+#: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
 msgstr "Tiesiai ant"
 
-#: src/synfig/paramdesc.cpp:68
+#: src/synfig/paramdesc.cpp:72
 msgid "Behind"
 msgstr "Už"
 
-#: src/synfig/paramdesc.cpp:69
+#: src/synfig/paramdesc.cpp:73
 msgid "Screen"
 msgstr "Ekranas"
 
-#: src/synfig/paramdesc.cpp:70
+#: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
 msgstr "Perdangti"
 
-#: src/synfig/paramdesc.cpp:71
+#: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
 msgstr "Kieta šviesa"
 
-#: src/synfig/paramdesc.cpp:72
+#: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
 msgstr "Daugyba"
 
-#: src/synfig/paramdesc.cpp:73
+#: src/synfig/paramdesc.cpp:77
 msgid "Divide"
 msgstr "Dalyba"
 
-#: src/synfig/paramdesc.cpp:74 src/synfig/valuenode.cpp:157
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
 #: src/synfig/valuenode_add.cpp:190
 msgid "Add"
 msgstr "Papildytas"
 
-#: src/synfig/paramdesc.cpp:75 src/synfig/valuenode.cpp:147
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
 #: src/synfig/valuenode_subtract.cpp:194
 msgid "Subtract"
 msgstr "Atimti"
 
-#: src/synfig/paramdesc.cpp:76
+#: src/synfig/paramdesc.cpp:80
 msgid "Difference"
 msgstr "Skirtumas"
 
-#: src/synfig/paramdesc.cpp:77
+#: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
 msgstr "Paryškinti"
 
-#: src/synfig/paramdesc.cpp:78
+#: src/synfig/paramdesc.cpp:82
 msgid "Darken"
 msgstr "Tamsinimas"
 
-#: src/synfig/paramdesc.cpp:80 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
 msgid "Hue"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:81 src/synfig/valuenode_radialcomposite.cpp:260
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
 #: src/synfig/valuenode_radialcomposite.cpp:266
 msgid "Saturation"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:82
+#: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
 msgstr "Skaistis"
 
-#: src/synfig/paramdesc.cpp:83
+#: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
 msgstr "Alpha virš"
 
-#: src/synfig/paramdesc.cpp:84
+#: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
 msgstr "Alpha paryškinti"
 
-#: src/synfig/paramdesc.cpp:85
+#: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
 msgstr "Alfa patamsinti"
 
-#: src/synfig/render.cpp:246 src/synfig/render.cpp:247
-#: src/synfig/render.cpp:301 src/synfig/render.cpp:302
-#: src/synfig/render.cpp:536 src/synfig/render.cpp:537
-#: src/synfig/render.cpp:563 src/synfig/render.cpp:564
+#: src/synfig/render.cpp:248 src/synfig/render.cpp:249
+#: src/synfig/render.cpp:303 src/synfig/render.cpp:304
+#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
+#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
 msgid "Target panic"
 msgstr "Adresato panika"
 
-#: src/synfig/savecanvas.cpp:290
+#: src/synfig/savecanvas.cpp:359
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:543
+#: src/synfig/savecanvas.cpp:674 src/synfig/savecanvas.cpp:699
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:185
+#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
 #: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:281
 msgid "Target initialization failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:146
+#: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:155 src/synfig/target_scanline.cpp:258
-#: src/synfig/target_scanline.cpp:405
+#: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:260
+#: src/synfig/target_scanline.cpp:407
 msgid "Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:162
+#: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:169 src/synfig/target_cairo_tile.cpp:248
-#: src/synfig/target_scanline.cpp:418 src/synfig/target_tile.cpp:396
+#: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
+#: src/synfig/target_scanline.cpp:420 src/synfig/target_tile.cpp:398
 msgid "Caught string :"
 msgstr "Sugauta eilutė:"
 
-#: src/synfig/target_cairo.cpp:174 src/synfig/target_cairo_tile.cpp:253
-#: src/synfig/target_scanline.cpp:423 src/synfig/target_tile.cpp:401
+#: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
+#: src/synfig/target_scanline.cpp:425 src/synfig/target_tile.cpp:403
 msgid "Ran out of memory (Probably a bug)"
 msgstr "Pritrūko atminties (tikriausiai klaida)"
 
-#: src/synfig/target_cairo.cpp:179 src/synfig/target_cairo_tile.cpp:258
-#: src/synfig/target_scanline.cpp:428 src/synfig/target_tile.cpp:406
+#: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
+#: src/synfig/target_scanline.cpp:430 src/synfig/target_tile.cpp:408
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:190
+#: src/synfig/target_cairo.cpp:201
 msgid "Cairo Surface bad status"
 msgstr ""
 
@@ -2903,24 +2931,24 @@ msgstr ""
 msgid "Bad Tile Size"
 msgstr "Blogas išklotinės dydis"
 
-#: src/synfig/target_cairo_tile.cpp:142 src/synfig/target_cairo_tile.cpp:240
-#: src/synfig/target_scanline.cpp:203 src/synfig/target_scanline.cpp:249
-#: src/synfig/target_scanline.cpp:348 src/synfig/target_scanline.cpp:396
+#: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
+#: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:251
+#: src/synfig/target_scanline.cpp:350 src/synfig/target_scanline.cpp:398
 #: src/synfig/target_tile.cpp:225
 msgid "Accelerated Renderer Failure"
 msgstr "Pagreitinto atvaizdavimo gedimas"
 
-#: src/synfig/target_cairo_tile.cpp:150
+#: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:156 src/synfig/target_tile.cpp:179
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:179
 #: src/synfig/target_tile.cpp:245
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:211
+#: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
 msgstr ""
 
@@ -2944,277 +2972,317 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:276 src/synfig/value.cpp:308 src/synfig/value.cpp:360
+#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
 msgid "bool"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:277 src/synfig/value.cpp:310 src/synfig/value.cpp:358
+#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
 msgid "integer"
 msgstr "sveikasis skaičius"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:278 src/synfig/value.cpp:312
+#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
 msgid "angle"
 msgstr "kampas"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:279 src/synfig/value.cpp:314 src/synfig/value.cpp:352
+#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
 msgid "time"
 msgstr "laikas"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:280 src/synfig/value.cpp:316 src/synfig/value.cpp:355
+#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
 msgid "real"
 msgstr "realus"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:281 src/synfig/value.cpp:318
+#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
 msgid "vector"
 msgstr "vektorius"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:282 src/synfig/value.cpp:320
+#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
 msgid "color"
 msgstr "spalva"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:283 src/synfig/value.cpp:322
+#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
 msgid "segment"
 msgstr "segmentas"
 
-#: src/synfig/value.cpp:284
+#: src/synfig/value.cpp:378
 msgid "bline_point"
 msgstr "kreivės_taškas"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:285 src/synfig/value.cpp:326
+#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
+msgid "matrix"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
+msgid "bone_weight_pair"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
 msgid "width_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:286 src/synfig/value.cpp:328
+#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
 msgid "dash_item"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:287 src/synfig/value.cpp:330
+#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
 msgid "list"
 msgstr "sąrašas"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:288 src/synfig/value.cpp:332
+#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
 msgid "canvas"
 msgstr "drobė"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:289 src/synfig/value.cpp:334
+#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
 msgid "string"
 msgstr "Styga"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:290 src/synfig/value.cpp:336
+#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
 msgid "gradient"
 msgstr "gradiento"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:291 src/synfig/value.cpp:338
+#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
+msgid "bone_object"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
+msgid "bone_valuenode"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
 msgid "nil"
 msgstr "nulis"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:324
+#: src/synfig/value.cpp:422
 msgid "spline_point"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:141 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
 msgid "Radial Composite"
 msgstr "Radialinis "
 
-#: src/synfig/valuenode.cpp:142 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr "Nuoroda"
 
-#: src/synfig/valuenode.cpp:144 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr "Segmento liestinė"
 
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr "Segmentas viršūnė"
 
-#: src/synfig/valuenode.cpp:146 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
-msgstr ""
+msgstr "Juostelėmis"
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr "Dviejų atspalvių"
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_dynamiclist.cpp:755
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr "Pasukti gradientą"
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr "Pakartoti gradientą"
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr "Eksponentinis"
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
 msgid "Range"
 msgstr "Diapazonas"
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
 #: src/synfig/valuenode_switch.cpp:163
 msgid "Switch"
 msgstr "Pakeitimas"
 
-#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr "Cos"
 
-#: src/synfig/valuenode.cpp:164
+#: src/synfig/valuenode.cpp:170
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165
+#: src/synfig/valuenode.cpp:171
 msgid "Reverse Tangent"
 msgstr "Atvirkštinė liestinė"
 
-#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr "Abipusis"
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
 msgid "Integer"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
 msgid "Vector Angle"
 msgstr "Vektoriaus kampas"
 
-#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
 msgid "Vector Length"
 msgstr "Vektoriaus ilgis"
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
 msgid "Vector X"
 msgstr "Vektoriaus X"
 
-#: src/synfig/valuenode.cpp:176 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
 msgid "Vector Y"
 msgstr "Vektoriaus Y"
 
-#: src/synfig/valuenode.cpp:177
+#: src/synfig/valuenode.cpp:183
 msgid "Gradient Color"
 msgstr "Gradiento spalva"
 
-#: src/synfig/valuenode.cpp:178
+#: src/synfig/valuenode.cpp:184
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
 msgid "Time String"
 msgstr "Laiko eilutė"
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_real.cpp:161
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
 #: src/synfig/valuenode_realstring.cpp:175
 msgid "Real"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
 msgid "Real String"
 msgstr "Faktinė eilutė"
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
 msgid "Joined List"
 msgstr "Jungtinis sąrašas"
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:189
 msgid "Angle String"
 msgstr "Kampo eilutė"
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:190
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185
+#: src/synfig/valuenode.cpp:191
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187
+#: src/synfig/valuenode.cpp:192
 msgid "Greyed"
 msgstr "Pilka"
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr "Galia"
 
-#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr "Palyginti"
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195
 msgid "Not"
 msgstr "Ne"
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196
 msgid "And"
 msgstr "Ir"
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197
 msgid "Or"
 msgstr "Arba"
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:199
+msgid "Bone Influence"
+msgstr "Kaulo poveikis"
+
+#: src/synfig/valuenode.cpp:200
+msgid "Bone"
+msgstr "Kaulas"
+
+#: src/synfig/valuenode.cpp:201
+msgid "Root Bone"
+msgstr "Pagrindinis kaulas"
+
+#: src/synfig/valuenode.cpp:202
+msgid "Static List"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:203
+msgid "Bone Weight Pair"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:206
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:233
+#: src/synfig/valuenode.cpp:241
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:513
+#: src/synfig/valuenode.cpp:540
 msgid "Placeholder"
 msgstr ""
 
-#: src/synfig/valuenode.h:61
+#: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
@@ -3281,32 +3349,32 @@ msgstr "Jungtis2"
 msgid "Second operand of the AND operation"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:355 src/synfig/valuenode_animated.cpp:379
-#: src/synfig/valuenode_animated.cpp:703 src/synfig/valuenode_animated.cpp:721
-#: src/synfig/valuenode_animated.cpp:801 src/synfig/valuenode_animated.cpp:820
+#: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
+#: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
+#: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1134
+#: src/synfig/valuenode_animated.cpp:1173
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1169
+#: src/synfig/valuenode_animated.cpp:1208
 msgid "Animated"
 msgstr "Animacinis"
 
-#: src/synfig/valuenode_bline.cpp:977 src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
 #: src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:980 src/synfig/valuenode_dynamiclist.cpp:664
+#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
 #: src/synfig/valuenode_wplist.cpp:339
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_bline.cpp:1023
+#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
@@ -3326,7 +3394,7 @@ msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:584
 #: src/synfig/valuenode_gradientrotate.cpp:169
 #: src/synfig/valuenode_linear.cpp:213
 msgid "Offset"
@@ -3380,190 +3448,186 @@ msgstr "Pločio mastelis"
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:219
+#: src/synfig/valuenode_composite.cpp:229
 msgid "Bad type for composite"
 msgstr "Blogas mišinio tipas"
 
-#: src/synfig/valuenode_composite.cpp:464
+#: src/synfig/valuenode_composite.cpp:474
 msgid "Red"
 msgstr "Raudona"
 
-#: src/synfig/valuenode_composite.cpp:465
+#: src/synfig/valuenode_composite.cpp:475
 msgid "The red component of the color"
 msgstr "Raudonos spalvos komponentas"
 
-#: src/synfig/valuenode_composite.cpp:468
+#: src/synfig/valuenode_composite.cpp:478
 msgid "Green"
 msgstr "Žalia"
 
-#: src/synfig/valuenode_composite.cpp:469
+#: src/synfig/valuenode_composite.cpp:479
 msgid "The green component of the color"
 msgstr "Žalios spalvos komponentas"
 
-#: src/synfig/valuenode_composite.cpp:472
+#: src/synfig/valuenode_composite.cpp:482
 msgid "Blue"
 msgstr "Mėlyna"
 
-#: src/synfig/valuenode_composite.cpp:473
+#: src/synfig/valuenode_composite.cpp:483
 msgid "The blue component of the color"
 msgstr "Mėlynos spalvos komponentas"
 
-#: src/synfig/valuenode_composite.cpp:476
+#: src/synfig/valuenode_composite.cpp:486
 msgid "Alpha"
 msgstr "Alfa"
 
-#: src/synfig/valuenode_composite.cpp:477
+#: src/synfig/valuenode_composite.cpp:487
 msgid "The alpha of the color"
 msgstr "Spalvos alfa"
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:492
 msgid "Vertex 1"
 msgstr "Viršūnė 1"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:493
 msgid "The first vertex of the segment"
 msgstr "Segmento pirmoji viršūnė "
 
-#: src/synfig/valuenode_composite.cpp:486
-#: src/synfig/valuenode_composite.cpp:526
+#: src/synfig/valuenode_composite.cpp:496
+#: src/synfig/valuenode_composite.cpp:536
 msgid "Tangent 1"
 msgstr "Liestinė 1"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:497
 msgid "The first tangent of the segment"
 msgstr "Pirmoji segmento liestinė"
 
-#: src/synfig/valuenode_composite.cpp:490
+#: src/synfig/valuenode_composite.cpp:500
 msgid "Vertex 2"
 msgstr "Viršūnė 2"
 
-#: src/synfig/valuenode_composite.cpp:491
+#: src/synfig/valuenode_composite.cpp:501
 msgid "The second vertex of the segment"
 msgstr "Segmento antroji viršūnė "
 
-#: src/synfig/valuenode_composite.cpp:494
-#: src/synfig/valuenode_composite.cpp:530
+#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:540
 msgid "Tangent 2"
 msgstr "Liestinė 2"
 
-#: src/synfig/valuenode_composite.cpp:495
+#: src/synfig/valuenode_composite.cpp:505
 msgid "The second tangent of the segment"
 msgstr "Antroji segmento liestinė"
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:510
 msgid "X-Axis"
 msgstr "X-ašis"
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:511
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:514
 msgid "Y-Axis"
 msgstr "Y-ašis"
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:515
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:520
 msgid "Vertex"
 msgstr "Viršūnė"
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:521
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:525
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:519
+#: src/synfig/valuenode_composite.cpp:529
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:522
+#: src/synfig/valuenode_composite.cpp:532
 msgid "Split"
-msgstr ""
+msgstr "Skaldyti"
 
-#: src/synfig/valuenode_composite.cpp:523
+#: src/synfig/valuenode_composite.cpp:533
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:527
+#: src/synfig/valuenode_composite.cpp:537
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:531
+#: src/synfig/valuenode_composite.cpp:541
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:547
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:551
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:544
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_composite.cpp:554
+#: src/synfig/valuenode_composite.cpp:594
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:545
 #: src/synfig/valuenode_composite.cpp:555
+#: src/synfig/valuenode_composite.cpp:565
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
 #: src/synfig/valuenode_composite.cpp:557
+#: src/synfig/valuenode_composite.cpp:567
 msgid "Interpolate"
 msgstr "Interpoliuoti"
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:593
+#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:603
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:574
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:575
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:578
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:579
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:585
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:589
 #: src/synfig/valuenode_timedswap.cpp:260
 msgid "Length"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:580
+#: src/synfig/valuenode_composite.cpp:590
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:595
+#: src/synfig/valuenode_composite.cpp:604
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_const.cpp:127
-msgid "Static"
-msgstr ""
-
 #: src/synfig/valuenode_compare.cpp:168
 msgid "The left side of the comparison"
 msgstr ""
@@ -3628,12 +3692,12 @@ msgstr ""
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:655
+#: src/synfig/valuenode_dynamiclist.cpp:661
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:703
-#: src/synfig/valuenode_dynamiclist.cpp:957
+#: src/synfig/valuenode_dynamiclist.cpp:709
+#: src/synfig/valuenode_dynamiclist.cpp:964
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3910,7 +3974,7 @@ msgstr ""
 #: src/synfig/valuenode_segcalctangent.cpp:156
 #: src/synfig/valuenode_segcalcvertex.cpp:154
 msgid "Segment"
-msgstr ""
+msgstr "Segmentas"
 
 #: src/synfig/valuenode_segcalctangent.cpp:157
 msgid "The Segment where the tangent is linked to"
@@ -3957,7 +4021,7 @@ msgid "Intersection"
 msgstr ""
 
 #: src/synfig/valuenode_step.cpp:213
-msgid "Value that define whether the step is centerd on the value [0,1]"
+msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
@@ -4031,7 +4095,7 @@ msgstr ""
 #: src/synfig/valuenode_timedswap.cpp:255
 #: src/synfig/valuenode_timestring.cpp:163
 msgid "Time"
-msgstr ""
+msgstr "Laikas"
 
 #: src/synfig/valuenode_timedswap.cpp:256
 msgid "The time when the linear interpolation ends"
@@ -4090,195 +4154,195 @@ msgstr ""
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:133
+#: src/tool/main.cpp:140
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:169
+#: src/tool/main.cpp:176
 msgid "Settings"
-msgstr ""
+msgstr "Nustatymai"
 
-#: src/tool/main.cpp:171
+#: src/tool/main.cpp:178
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:172
+#: src/tool/main.cpp:179
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:173
+#: src/tool/main.cpp:180
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:174
+#: src/tool/main.cpp:181
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:175
+#: src/tool/main.cpp:182
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:176
+#: src/tool/main.cpp:183
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:184
 msgid "Gamma"
-msgstr ""
+msgstr "Gama"
 
-#: src/tool/main.cpp:178
+#: src/tool/main.cpp:185
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:186
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:187
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:188
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:189
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:190
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:191
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:185 src/tool/main.cpp:186
+#: src/tool/main.cpp:192 src/tool/main.cpp:193
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:194
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:195
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:196
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:197
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:193
+#: src/tool/main.cpp:200
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:202
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:203
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:204
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:200
+#: src/tool/main.cpp:207
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:202
+#: src/tool/main.cpp:209
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:210
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:204 src/tool/main.cpp:230
+#: src/tool/main.cpp:211 src/tool/main.cpp:237
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:207
+#: src/tool/main.cpp:214
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:216
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:210
+#: src/tool/main.cpp:217
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:213
+#: src/tool/main.cpp:220
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:215
+#: src/tool/main.cpp:222
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:223
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:217
+#: src/tool/main.cpp:224
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:225
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:226
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:220
+#: src/tool/main.cpp:227
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:221
+#: src/tool/main.cpp:228
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:229
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:223
+#: src/tool/main.cpp:230
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:231
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:232
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:241
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:236
+#: src/tool/main.cpp:243
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:237
+#: src/tool/main.cpp:244
 msgid "Test signal implementation"
 msgstr ""
 
@@ -4324,11 +4388,11 @@ msgstr ""
 
 #: src/tool/joblistprocessor.cpp:225 src/tool/joblistprocessor.cpp:235
 msgid "Render Failure."
-msgstr ""
+msgstr "Atvaizdavimo nesėkmė"
 
 #: src/tool/joblistprocessor.cpp:229
 msgid "Rendering..."
-msgstr ""
+msgstr "Atvaizdavimas ..."
 
 #: src/tool/joblistprocessor.cpp:239
 msgid ": Rendered in "
@@ -4340,159 +4404,159 @@ msgstr ""
 
 #: src/tool/joblistprocessor.cpp:243
 msgid "Done."
-msgstr ""
+msgstr "Atlikta."
 
-#: src/tool/optionsprocessor.cpp:113
+#: src/tool/optionsprocessor.cpp:114
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:115
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:131
+#: src/tool/optionsprocessor.cpp:132
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:146
+#: src/tool/optionsprocessor.cpp:147
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:224
+#: src/tool/optionsprocessor.cpp:225
 msgid "Layer Name: "
-msgstr ""
+msgstr "Sluoksnio pavadinimas:"
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:226
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:227
+#: src/tool/optionsprocessor.cpp:228
 msgid "Version: "
-msgstr ""
+msgstr "Versija:"
 
-#: src/tool/optionsprocessor.cpp:232
+#: src/tool/optionsprocessor.cpp:233
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:234
+#: src/tool/optionsprocessor.cpp:235
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:236
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:239
+#: src/tool/optionsprocessor.cpp:240
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:243
+#: src/tool/optionsprocessor.cpp:244
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:309
+#: src/tool/optionsprocessor.cpp:310
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:316
+#: src/tool/optionsprocessor.cpp:317
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:324
+#: src/tool/optionsprocessor.cpp:325
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:334
+#: src/tool/optionsprocessor.cpp:335
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:343
+#: src/tool/optionsprocessor.cpp:344
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:352
+#: src/tool/optionsprocessor.cpp:353
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:379
+#: src/tool/optionsprocessor.cpp:380
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:385
+#: src/tool/optionsprocessor.cpp:386
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:400
+#: src/tool/optionsprocessor.cpp:401
 #, c-format
 msgid "Resolution set to %dx%d"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:417
+#: src/tool/optionsprocessor.cpp:418
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:437
+#: src/tool/optionsprocessor.cpp:438
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:440
+#: src/tool/optionsprocessor.cpp:441
 #, c-format
 msgid "Target video codec set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:446
+#: src/tool/optionsprocessor.cpp:447
 #, c-format
 msgid "Target bitrate set to %dk"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:452
+#: src/tool/optionsprocessor.cpp:453
 #, c-format
 msgid "Output file sequence separator set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:487
+#: src/tool/optionsprocessor.cpp:488
 #, c-format
 msgid "Unable to load '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:494
+#: src/tool/optionsprocessor.cpp:495
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:499
+#: src/tool/optionsprocessor.cpp:500
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:513
+#: src/tool/optionsprocessor.cpp:514
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:532
+#: src/tool/optionsprocessor.cpp:533
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:539
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:557
+#: src/tool/optionsprocessor.cpp:558
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:571
+#: src/tool/optionsprocessor.cpp:572
 msgid "Appended contents of "
 msgstr ""
 
@@ -4506,15 +4570,15 @@ msgstr ""
 
 #: src/tool/printing_functions.cpp:100
 msgid "Start Frame"
-msgstr ""
+msgstr "Pradžios kadras"
 
 #: src/tool/printing_functions.cpp:107
 msgid "End Frame"
-msgstr ""
+msgstr "Pabaigos kadras"
 
 #: src/tool/printing_functions.cpp:129
 msgid "Image Aspect Ratio"
-msgstr ""
+msgstr "Paveikslėlio kraštinių santykis"
 
 #: src/tool/printing_functions.cpp:139
 msgid "Pixel Width"
diff --git a/po/nl.gmo b/po/nl.gmo
index ec04734..5bb9462 100644
Binary files a/po/nl.gmo and b/po/nl.gmo differ
diff --git a/po/nl.po b/po/nl.po
index b10494a..12246ce 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -1,97 +1,99 @@
-# Translation of nl.po to Dutch
-# Dutch translations for Synfig Core package
-# Copyright (C) 2012 Synfig Contributors
+# Translation file for Synfig Core package.
+# Copyright (C) 2013 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
+# darkspace65 <studio.diba at gmail.com>, 2013
 # Ruud van Eeghem <r.van.eeghem at gmail.com>, 2011
+# darkspace65 <studio.diba at gmail.com>, 2013
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2013-05-09 18:34+0200\n"
-"PO-Revision-Date: 2013-05-02 12:39+0000\n"
-"Last-Translator: genete <genetita at gmail.com>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
+"POT-Creation-Date: 2013-10-25 17:57+0700\n"
+"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
+"Language-Team: Dutch (http://www.transifex.com/projects/p/synfig/language/"
+"nl/)\n"
 "Language: nl\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:58
+#: src/modules/mod_example/filledrect.cpp:59
 msgid "Filled Rectangle"
 msgstr "Gevulde rechthoek"
 
-#: src/modules/mod_example/filledrect.cpp:59
+#: src/modules/mod_example/filledrect.cpp:60
 #: src/modules/mod_example/metaballs.cpp:58
 #: src/modules/mod_example/simplecircle.cpp:58
 msgid "Example"
 msgstr "Voorbeeld"
 
-#: src/modules/mod_example/filledrect.cpp:120
+#: src/modules/mod_example/filledrect.cpp:131
 #: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:523
-#: src/modules/lyr_std/shade.cpp:564
-#: src/modules/mod_geometry/checkerboard.cpp:122
-#: src/modules/mod_geometry/circle.cpp:128
-#: src/modules/mod_geometry/rectangle.cpp:125 src/synfig/layer_shape.cpp:1193
-#: src/synfig/layer_solidcolor.cpp:102 src/synfig/paramdesc.cpp:79
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:620
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
 msgid "Color"
 msgstr "Kleur"
 
-#: src/modules/mod_example/filledrect.cpp:121
+#: src/modules/mod_example/filledrect.cpp:132
 #: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:129
-#: src/modules/mod_geometry/rectangle.cpp:126
-#: src/synfig/layer_solidcolor.cpp:103
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
 msgid "Fill color of the layer"
 msgstr "Vulkleur van de laag"
 
-#: src/modules/mod_example/filledrect.cpp:125
-#: src/modules/mod_geometry/rectangle.cpp:130
-#: src/modules/mod_gradient/lineargradient.cpp:190
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:185
 msgid "Point 1"
 msgstr "Punt 1"
 
-#: src/modules/mod_example/filledrect.cpp:126
-#: src/modules/mod_geometry/rectangle.cpp:132
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
 msgid "First corner of the rectangle"
 msgstr "Eerste punt van de rechthoek"
 
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_geometry/rectangle.cpp:136
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:190
 msgid "Point 2"
 msgstr "Punt 2"
 
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_geometry/rectangle.cpp:137
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
 msgid "Second corner of the rectangle"
 msgstr "Tweede punt van de rechthoek"
 
-#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_example/filledrect.cpp:147
 msgid "Feather X"
-msgstr "Borstel X"
+msgstr "Pluim X"
 
-#: src/modules/mod_example/filledrect.cpp:140
+#: src/modules/mod_example/filledrect.cpp:152
 msgid "Feather Y"
 msgstr "Borstel Y"
 
-#: src/modules/mod_example/filledrect.cpp:144 src/modules/lyr_std/bevel.cpp:68
-#: src/modules/mod_geometry/advanced_outline.cpp:1161
+#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
 msgid "Bevel"
 msgstr "Verdiepen"
 
-#: src/modules/mod_example/filledrect.cpp:145
+#: src/modules/mod_example/filledrect.cpp:158
 msgid "Use Bevel for the corners"
 msgstr "Gebruik verdieping voor hoeken"
 
-#: src/modules/mod_example/filledrect.cpp:149
+#: src/modules/mod_example/filledrect.cpp:163
 msgid "Keep Bevel Circular"
 msgstr "Verdieping rond houden"
 
-#: src/modules/mod_example/filledrect.cpp:150
+#: src/modules/mod_example/filledrect.cpp:164
 msgid "When checked the bevel is circular"
 msgstr "Indien aangevinkt wordt de verdieping rond"
 
@@ -99,39 +101,39 @@ msgstr "Indien aangevinkt wordt de verdieping rond"
 msgid "Metaballs"
 msgstr "Metaballs"
 
-#: src/modules/mod_example/metaballs.cpp:135
+#: src/modules/mod_example/metaballs.cpp:129
 #: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:552
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:194
 #: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:112
-#: src/modules/mod_noise/noise.cpp:259 src/modules/mod_particle/plant.cpp:403
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
 #: src/synfig/valuenode_gradientrotate.cpp:164
 #: src/synfig/valuenode_repeat_gradient.cpp:203
 msgid "Gradient"
 msgstr "Gradient"
 
-#: src/modules/mod_example/metaballs.cpp:139
+#: src/modules/mod_example/metaballs.cpp:133
 msgid "Balls"
 msgstr "Bollen"
 
-#: src/modules/mod_example/metaballs.cpp:143
+#: src/modules/mod_example/metaballs.cpp:137
 msgid "Radii"
 msgstr "Stralen"
 
-#: src/modules/mod_example/metaballs.cpp:147
+#: src/modules/mod_example/metaballs.cpp:141
 msgid "Weights"
 msgstr "Gewichten"
 
-#: src/modules/mod_example/metaballs.cpp:151
+#: src/modules/mod_example/metaballs.cpp:145
 msgid "Gradient Left"
 msgstr "Linker gradient"
 
-#: src/modules/mod_example/metaballs.cpp:155
+#: src/modules/mod_example/metaballs.cpp:149
 msgid "Gradient Right"
 msgstr "Rechter gradient"
 
-#: src/modules/mod_example/metaballs.cpp:159
+#: src/modules/mod_example/metaballs.cpp:153
 msgid "Positive Only"
 msgstr "Alleen positieve waarden"
 
@@ -143,21 +145,21 @@ msgstr "Eenvoudige circel"
 #: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
 #: src/modules/mod_gradient/conicalgradient.cpp:114
 #: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:117
+#: src/modules/mod_gradient/spiralgradient.cpp:118
 msgid "Center"
 msgstr "Centrum"
 
 #: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:144
+#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
 msgid "Center of the circle"
 msgstr "Centrum van de circel"
 
 #: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:151
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:132
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
 #: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:122
-#: src/modules/mod_noise/valuenode_random.cpp:269
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/valuenode_radialcomposite.cpp:272
 msgid "Radius"
 msgstr "Straal"
@@ -165,20 +167,20 @@ msgstr "Straal"
 #: src/modules/mod_example/simplecircle.cpp:118
 #: src/modules/lyr_std/twirl.cpp:118
 #: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:124
 msgid "This is the radius of the circle"
 msgstr "Dit is de straal van de circel"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
-#: src/modules/lyr_freetype/lyr_freetype.cpp:517
+#: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Tekst"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
 #: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
-#: src/modules/lyr_std/supersample.cpp:57 src/modules/lyr_std/timeloop.cpp:60
-#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:70
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:79
+#: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
+#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
 msgid "Other"
 msgstr "Overige"
 
@@ -186,246 +188,246 @@ msgstr "Overige"
 msgid "Text Layer"
 msgstr "Tekst laag"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:390
+#: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
 msgstr "Kan niet initialiseren"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:409
+#: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
 msgstr "Lege lettertype verzameling"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:518
+#: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
 msgstr "Af te beelden tekst"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:524
+#: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "Kleur van de tekst"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:528
+#: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
 msgstr "Lettertype verzameling"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:533
+#: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
 msgstr "Stijl"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:535
-#: src/modules/lyr_freetype/lyr_freetype.cpp:545
+#: src/modules/lyr_freetype/lyr_freetype.cpp:587
+#: src/modules/lyr_freetype/lyr_freetype.cpp:597
 msgid "Normal"
 msgstr "Normaal"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:536
+#: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
 msgstr "Schuin"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:537
+#: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
 msgstr "Cursief"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:541
+#: src/modules/lyr_freetype/lyr_freetype.cpp:593
 msgid "Weight"
 msgstr "Gewicht"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:543
+#: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
 msgstr "Zeer smal"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:544
+#: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
 msgstr "Smal"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:546
+#: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
 msgstr "Vet"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:547
+#: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
 msgstr "Zeer vet"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:548
+#: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
 msgstr "Zwaar"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:551
+#: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
 msgstr "Horizontale witruimte"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:552
+#: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
 msgstr "Beschrijft de horizontale afstand tussen tekens"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:556
+#: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
 msgstr "Verticale witruimte"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:557
+#: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
 msgstr "Beschrijft de verticale afstand tussen tekst regels"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:561
-#: src/modules/lyr_std/shade.cpp:570 src/modules/lyr_std/xorpattern.cpp:129
-#: src/modules/mod_filter/blur.cpp:372
+#: src/modules/lyr_freetype/lyr_freetype.cpp:613
+#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:413
 #: src/modules/mod_filter/radialblur.cpp:115
-#: src/modules/mod_geometry/checkerboard.cpp:130
-#: src/modules/mod_noise/distort.cpp:222 src/modules/mod_noise/noise.cpp:267
+#: src/modules/mod_geometry/checkerboard.cpp:154
+#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
 msgstr "Afmetingen"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:562
+#: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
 msgstr "Afmetingen van de tekst"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:569
+#: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
 msgstr "Orientatie"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:570
+#: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
 msgstr "Tekst orientatie"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/insideout.cpp:143 src/modules/lyr_std/rotate.cpp:116
-#: src/modules/lyr_std/shade.cpp:567 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:389
-#: src/modules/lyr_std/xorpattern.cpp:125 src/modules/lyr_std/zoom.cpp:104
+#: src/modules/lyr_freetype/lyr_freetype.cpp:627
+#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
+#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
+#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
-#: src/modules/mod_geometry/checkerboard.cpp:126
-#: src/modules/mod_geometry/circle.cpp:143
-#: src/modules/mod_gradient/curvegradient.cpp:537
-#: src/modules/mod_particle/plant.cpp:398 src/synfig/layer_pastecanvas.cpp:133
-#: src/synfig/layer_shape.cpp:1197 src/synfig/valuenode_composite.cpp:518
+#: src/modules/mod_geometry/checkerboard.cpp:150
+#: src/modules/mod_geometry/circle.cpp:161
+#: src/modules/mod_gradient/curvegradient.cpp:550
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
+#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
 msgid "Origin"
 msgstr "Oorsprong"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:576
+#: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
 msgstr "Tekst positie"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:580
+#: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
 msgstr "Lettertype"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:581
+#: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
 msgstr "Bestandsnaam van het te gebruiken lettertype"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:588
+#: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
 msgstr "Tekenruimte"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:589
+#: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
 msgstr "Activeert/deactiveert flexibele tekenruimte (indien mogelijk)"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
 msgstr "Randen verbeteren"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:594
+#: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
 msgstr "Schakelt deze optie uit als je de tekst animeert"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:597
-#: src/modules/lyr_std/shade.cpp:587 src/modules/mod_geometry/circle.cpp:147
-#: src/synfig/layer_shape.cpp:1200
+#: src/modules/lyr_freetype/lyr_freetype.cpp:649
+#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1228
 msgid "Invert"
 msgstr "Inverteren"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:654
+#: src/modules/lyr_freetype/lyr_freetype.cpp:714
 msgid "No face loaded, no text will be rendered."
 msgstr "Geen vlak voor tekst geladen, afbeelding kan niet gemaakt worden"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:680
+#: src/modules/lyr_freetype/lyr_freetype.cpp:740
 msgid "Text too small, no text will be rendered."
 msgstr "Tekst is te smal, afbeelding kan niet gemaakt worden"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:704
+#: src/modules/lyr_freetype/lyr_freetype.cpp:764
 msgid "Unable to set face size."
 msgstr "Kan afmetingen van het vlak niet zetten"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:747
+#: src/modules/lyr_freetype/lyr_freetype.cpp:807
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 "Ongeldige reeks multibyte karakters - is de instelling van de regio goed?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:754
+#: src/modules/lyr_freetype/lyr_freetype.cpp:814
 msgid "Can't parse multibyte character.\n"
 msgstr "Kan multibyte karakter niet verwerken\n"
 
-#: src/modules/lyr_std/bevel.cpp:69 src/modules/lyr_std/shade.cpp:68
+#: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "Stijl toepassen"
 
-#: src/modules/lyr_std/bevel.cpp:570 src/modules/lyr_std/shade.cpp:576
-#: src/modules/mod_filter/blur.cpp:376
-#: src/modules/mod_filter/halftone2.cpp:170
+#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
+#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Type"
 
-#: src/modules/lyr_std/bevel.cpp:571 src/modules/lyr_std/shade.cpp:577
-#: src/modules/mod_filter/blur.cpp:377
+#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
+#: src/modules/mod_filter/blur.cpp:418
 msgid "Type of blur to use"
 msgstr "Type vervaging"
 
-#: src/modules/lyr_std/bevel.cpp:573 src/modules/lyr_std/shade.cpp:579
-#: src/modules/mod_filter/blur.cpp:379 src/synfig/layer_shape.cpp:1213
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
 msgid "Box Blur"
 msgstr "Gebied vervagen"
 
-#: src/modules/lyr_std/bevel.cpp:574 src/modules/lyr_std/shade.cpp:580
-#: src/modules/mod_filter/blur.cpp:380 src/synfig/layer_shape.cpp:1214
+#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
+#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
 msgid "Fast Gaussian Blur"
 msgstr "Snelle Gaussische vervaging"
 
-#: src/modules/lyr_std/bevel.cpp:575 src/modules/lyr_std/shade.cpp:581
-#: src/modules/mod_filter/blur.cpp:381 src/synfig/layer_shape.cpp:1215
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
 msgid "Cross-Hatch Blur"
 msgstr "Kruis vervagen"
 
-#: src/modules/lyr_std/bevel.cpp:576 src/modules/lyr_std/shade.cpp:582
-#: src/modules/mod_filter/blur.cpp:382 src/synfig/layer_shape.cpp:1216
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
 msgid "Gaussian Blur"
 msgstr "Gaussische vervaging"
 
-#: src/modules/lyr_std/bevel.cpp:577 src/modules/lyr_std/shade.cpp:583
-#: src/modules/mod_filter/blur.cpp:383 src/synfig/layer_shape.cpp:1217
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
 msgid "Disc Blur"
 msgstr "Radiaal vervagen"
 
-#: src/modules/lyr_std/bevel.cpp:581
+#: src/modules/lyr_std/bevel.cpp:635
 msgid "Hi-Color"
 msgstr "Bovenliggende kleur"
 
-#: src/modules/lyr_std/bevel.cpp:584
+#: src/modules/lyr_std/bevel.cpp:638
 msgid "Lo-Color"
 msgstr "Onderliggende kleur"
 
-#: src/modules/lyr_std/bevel.cpp:587
+#: src/modules/lyr_std/bevel.cpp:641
 msgid "Light Angle"
 msgstr "Invalshoek"
 
-#: src/modules/lyr_std/bevel.cpp:591
+#: src/modules/lyr_std/bevel.cpp:645
 msgid "Depth of Bevel"
 msgstr "Diepte verdieping"
 
-#: src/modules/lyr_std/bevel.cpp:595
+#: src/modules/lyr_std/bevel.cpp:649
 msgid "Softness"
 msgstr "Zachtheid"
 
-#: src/modules/lyr_std/bevel.cpp:598
+#: src/modules/lyr_std/bevel.cpp:652
 msgid "Use Luma"
 msgstr "Gebruik Luma"
 
-#: src/modules/lyr_std/bevel.cpp:601
+#: src/modules/lyr_std/bevel.cpp:655
 msgid "Solid"
 msgstr "Vast"
 
-#: src/modules/lyr_std/booleancurve.cpp:104
+#: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
 msgstr "Verzameling gebieden"
 
-#: src/modules/lyr_std/booleancurve.cpp:105
+#: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
 msgstr "Verzameling te combineren gebieden"
 
@@ -433,38 +435,38 @@ msgstr "Verzameling te combineren gebieden"
 msgid "Clamp"
 msgstr "Begrenzen"
 
-#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:56
-#: src/modules/mod_filter/halftone2.cpp:59
-#: src/modules/mod_filter/halftone3.cpp:59
-#: src/modules/mod_filter/lumakey.cpp:59
+#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:57
+#: src/modules/mod_filter/halftone2.cpp:60
+#: src/modules/mod_filter/halftone3.cpp:60
+#: src/modules/mod_filter/lumakey.cpp:60
 msgid "Filters"
 msgstr "Filters"
 
-#: src/modules/lyr_std/clamp.cpp:158
+#: src/modules/lyr_std/clamp.cpp:162
 msgid "Invert Negative"
 msgstr "Negative waarden inverteren"
 
-#: src/modules/lyr_std/clamp.cpp:162
+#: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
 msgstr "Bovengrens begrenzing"
 
-#: src/modules/lyr_std/clamp.cpp:163
+#: src/modules/lyr_std/clamp.cpp:167
 msgid "When checked the Ceiling value is used"
 msgstr "Indien aangevinkt de bovengrens gebruiken"
 
-#: src/modules/lyr_std/clamp.cpp:167
+#: src/modules/lyr_std/clamp.cpp:171
 msgid "Ceiling"
 msgstr "Bovengrens"
 
-#: src/modules/lyr_std/clamp.cpp:168
+#: src/modules/lyr_std/clamp.cpp:172
 msgid "Upper boundary of the clamping"
 msgstr "Bovengrens begrenzing"
 
-#: src/modules/lyr_std/clamp.cpp:172
+#: src/modules/lyr_std/clamp.cpp:176
 msgid "Floor"
 msgstr "Ondergrens"
 
-#: src/modules/lyr_std/clamp.cpp:173
+#: src/modules/lyr_std/clamp.cpp:177
 msgid "Lower boundary of the clamping"
 msgstr "Ondergrens begrenzing"
 
@@ -472,24 +474,24 @@ msgstr "Ondergrens begrenzing"
 msgid "Import Image"
 msgstr "Afbeelding importeren"
 
-#: src/modules/lyr_std/import.cpp:151 src/modules/lyr_std/import.cpp:201
+#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr "Bestandsnaam is al vastgesteld op \"%s\" (%s)"
 
-#: src/modules/lyr_std/import.cpp:283
+#: src/modules/lyr_std/import.cpp:293
 msgid "Filename"
 msgstr "Bestandsnaam"
 
-#: src/modules/lyr_std/import.cpp:284
+#: src/modules/lyr_std/import.cpp:294
 msgid "File to import"
 msgstr "Te importeren bestand"
 
-#: src/modules/lyr_std/import.cpp:288 src/synfig/layer_pastecanvas.cpp:146
+#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
 msgid "Time Offset"
 msgstr "Tijd offset"
 
-#: src/modules/lyr_std/import.cpp:289
+#: src/modules/lyr_std/import.cpp:299
 msgid "Time Offset to apply to the imported file"
 msgstr "Tijd offset toe te passing op geimporteerd bestand"
 
@@ -498,14 +500,14 @@ msgid "Inside Out"
 msgstr "Binnen naar buiten"
 
 #: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:75
 #: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:57 src/modules/lyr_std/curvewarp.cpp:56
-#: src/modules/mod_noise/distort.cpp:58
+#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
+#: src/modules/mod_noise/distort.cpp:59
 msgid "Distortions"
 msgstr "Vervorming"
 
-#: src/modules/lyr_std/insideout.cpp:144
+#: src/modules/lyr_std/insideout.cpp:163
 msgid "Defines the where the center will be"
 msgstr "Definieert de positie van het centrum"
 
@@ -517,97 +519,97 @@ msgstr "Julia verzameling"
 msgid "Fractals"
 msgstr "Fractels"
 
-#: src/modules/lyr_std/julia.cpp:309
+#: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
 msgstr "Kleur binnenkant"
 
-#: src/modules/lyr_std/julia.cpp:310
+#: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
 msgstr "Kleur van de verzameling"
 
-#: src/modules/lyr_std/julia.cpp:313
+#: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
 msgstr "Kleur buitenkant"
 
-#: src/modules/lyr_std/julia.cpp:314
+#: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
 msgstr "Kleur buiten de verzameling"
 
-#: src/modules/lyr_std/julia.cpp:317
+#: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
 msgstr "Kleur verschuiving"
 
-#: src/modules/lyr_std/julia.cpp:320 src/modules/lyr_std/mandelbrot.cpp:223
+#: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
 msgstr "Iteraties"
 
-#: src/modules/lyr_std/julia.cpp:323
+#: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
 msgstr "Groei punt"
 
-#: src/modules/lyr_std/julia.cpp:326 src/modules/lyr_std/mandelbrot.cpp:226
+#: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
 msgstr "Afbreek basiswaarde"
 
-#: src/modules/lyr_std/julia.cpp:330 src/modules/lyr_std/mandelbrot.cpp:236
+#: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
 msgstr "Vervorm binnenkant"
 
-#: src/modules/lyr_std/julia.cpp:333 src/modules/lyr_std/mandelbrot.cpp:240
+#: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
 msgstr "Schaduw binnenkant"
 
-#: src/modules/lyr_std/julia.cpp:336 src/modules/lyr_std/mandelbrot.cpp:244
+#: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
 msgstr "Vul binnenkant"
 
-#: src/modules/lyr_std/julia.cpp:339 src/modules/lyr_std/mandelbrot.cpp:248
+#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
 msgstr "Inversie binnenkant"
 
-#: src/modules/lyr_std/julia.cpp:342
+#: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
 msgstr "Kleur binnenkant"
 
-#: src/modules/lyr_std/julia.cpp:345 src/modules/lyr_std/mandelbrot.cpp:265
+#: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
 msgstr "Vervorm buitenkant"
 
-#: src/modules/lyr_std/julia.cpp:348 src/modules/lyr_std/mandelbrot.cpp:269
+#: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
 msgstr "Schaduw buitenkant"
 
-#: src/modules/lyr_std/julia.cpp:351 src/modules/lyr_std/mandelbrot.cpp:273
+#: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
 msgstr "Vul buitenkant"
 
-#: src/modules/lyr_std/julia.cpp:354 src/modules/lyr_std/mandelbrot.cpp:277
+#: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
 msgstr "Inversie buitenkant"
 
-#: src/modules/lyr_std/julia.cpp:357
+#: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
 msgstr "Kleur buitenkant"
 
-#: src/modules/lyr_std/julia.cpp:361
+#: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
 msgstr "Kleur cyclus"
 
-#: src/modules/lyr_std/julia.cpp:364 src/modules/lyr_std/mandelbrot.cpp:285
+#: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
 msgstr "Effen buitenkant"
 
-#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:286
+#: src/modules/lyr_std/julia.cpp:391 src/modules/lyr_std/mandelbrot.cpp:282
 msgid "Smooth the coloration outside the set"
 msgstr "Effen de inkleuring buiten de verzameling"
 
-#: src/modules/lyr_std/julia.cpp:368 src/modules/lyr_std/mandelbrot.cpp:230
+#: src/modules/lyr_std/julia.cpp:394 src/modules/lyr_std/mandelbrot.cpp:226
 msgid "Break Set"
 msgstr "Splits set"
 
-#: src/modules/lyr_std/julia.cpp:369 src/modules/lyr_std/mandelbrot.cpp:231
+#: src/modules/lyr_std/julia.cpp:395 src/modules/lyr_std/mandelbrot.cpp:227
 msgid "Modify equation to achieve interesting results"
 msgstr "Wijzig formule voor interessante resultaten"
 
@@ -615,48 +617,48 @@ msgstr "Wijzig formule voor interessante resultaten"
 msgid "Mandelbrot Set"
 msgstr "Mandelbrot verzameling"
 
+#: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
 #: src/modules/lyr_std/mandelbrot.cpp:241
 #: src/modules/lyr_std/mandelbrot.cpp:245
 #: src/modules/lyr_std/mandelbrot.cpp:249
 #: src/modules/lyr_std/mandelbrot.cpp:253
 #: src/modules/lyr_std/mandelbrot.cpp:257
-#: src/modules/lyr_std/mandelbrot.cpp:261
 msgid "Inside"
 msgstr "Binnenkant"
 
-#: src/modules/lyr_std/mandelbrot.cpp:252
+#: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
 msgstr "Gradient binnenkant"
 
-#: src/modules/lyr_std/mandelbrot.cpp:256
+#: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
 msgstr "Offset binnenkant"
 
-#: src/modules/lyr_std/mandelbrot.cpp:260
+#: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
 msgstr "Herhaal binnenkant"
 
+#: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
 #: src/modules/lyr_std/mandelbrot.cpp:270
 #: src/modules/lyr_std/mandelbrot.cpp:274
 #: src/modules/lyr_std/mandelbrot.cpp:278
-#: src/modules/lyr_std/mandelbrot.cpp:282
+#: src/modules/lyr_std/mandelbrot.cpp:283
 #: src/modules/lyr_std/mandelbrot.cpp:287
 #: src/modules/lyr_std/mandelbrot.cpp:291
-#: src/modules/lyr_std/mandelbrot.cpp:295
 msgid "Outside"
 msgstr "Buitenkant"
 
-#: src/modules/lyr_std/mandelbrot.cpp:281
+#: src/modules/lyr_std/mandelbrot.cpp:277
 msgid "Gradient outside"
 msgstr "Gradient buitenkant"
 
-#: src/modules/lyr_std/mandelbrot.cpp:290
+#: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
 msgstr "Offset buitenkant"
 
-#: src/modules/lyr_std/mandelbrot.cpp:294
+#: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
 msgstr "Schaling buitenkant"
 
@@ -669,16 +671,16 @@ msgstr "Rotatie"
 msgid "Transform"
 msgstr "Transformatie"
 
-#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/translate.cpp:101
+#: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:134
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr "Het punt waar de oorsprong moet liggen"
 
-#: src/modules/lyr_std/rotate.cpp:121
-#: src/modules/lyr_std/sphere_distort.cpp:158
+#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:217
+#: src/synfig/layer_composite.cpp:249
 #: src/synfig/valuenode_blinecalctangent.cpp:251
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
@@ -687,61 +689,61 @@ msgstr "Het punt waar de oorsprong moet liggen"
 msgid "Amount"
 msgstr "Grootte"
 
-#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
 msgstr "Rotatie grootte"
 
-#: src/modules/lyr_std/shade.cpp:67
+#: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
 msgstr "Schaduw"
 
-#: src/modules/lyr_std/shade.cpp:571
+#: src/modules/lyr_std/shade.cpp:627
 msgid "Size of Shade"
 msgstr "Schaduw grootte"
 
-#: src/modules/lyr_std/sphere_distort.cpp:73
-#: src/modules/lyr_std/sphere_distort.cpp:172
+#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:167
 msgid "Spherize"
 msgstr "Bolvormig"
 
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/synfig/valuenode_composite.cpp:536
+#: src/modules/lyr_std/sphere_distort.cpp:141
+#: src/synfig/valuenode_composite.cpp:546
 msgid "Position"
 msgstr "Positie"
 
-#: src/modules/lyr_std/sphere_distort.cpp:147
+#: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
 msgstr "Centrum van de bolvormige verstoring "
 
-#: src/modules/lyr_std/sphere_distort.cpp:154
+#: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr "Grootte van de bolvormige verstoring"
 
-#: src/modules/lyr_std/sphere_distort.cpp:160
+#: src/modules/lyr_std/sphere_distort.cpp:155
 msgid "The distortion intensity (negative values inverts effect)"
 msgstr "Intensiteit van de verstoring (negatieve waarde keert het effect om)"
 
-#: src/modules/lyr_std/sphere_distort.cpp:164 src/modules/lyr_std/warp.cpp:409
+#: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
 msgstr "Klem"
 
-#: src/modules/lyr_std/sphere_distort.cpp:165
+#: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
 msgstr "Indien aangevinkt, geen verstoring in het gebied buiten de straal"
 
-#: src/modules/lyr_std/sphere_distort.cpp:169
+#: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
 msgstr "Soort verstoring"
 
-#: src/modules/lyr_std/sphere_distort.cpp:170
+#: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
 msgstr "Richting van de verstoring"
 
-#: src/modules/lyr_std/sphere_distort.cpp:173
+#: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
 msgstr "Verticale balk"
 
-#: src/modules/lyr_std/sphere_distort.cpp:174
+#: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
 msgstr "Horizontale balk"
 
@@ -761,104 +763,104 @@ msgstr "Positie van de oorsprong van de rek verstoring"
 msgid "Stroboscope"
 msgstr "Stroboscoop"
 
-#: src/modules/lyr_std/stroboscope.cpp:102
+#: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
 msgstr "Frequentie"
 
-#: src/modules/lyr_std/stroboscope.cpp:103
+#: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
 msgstr "Knipper frequentie in aantallen per seconde"
 
-#: src/modules/lyr_std/supersample.cpp:56
+#: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
 msgstr "Super voorbeeld"
 
-#: src/modules/lyr_std/supersample.cpp:129
+#: src/modules/lyr_std/supersample.cpp:146
 msgid "Unable to create SurfaceTarget"
 msgstr "Kan 'SurfaceTarget' niet maken"
 
-#: src/modules/lyr_std/supersample.cpp:290
-#: src/modules/lyr_std/curvewarp.cpp:393
-#: src/modules/mod_gradient/curvegradient.cpp:542
-#: src/synfig/valuenode_composite.cpp:514
-#: src/synfig/valuenode_composite.cpp:540
+#: src/modules/lyr_std/supersample.cpp:337
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_composite.cpp:524
+#: src/synfig/valuenode_composite.cpp:550
 #: src/synfig/valuenode_realstring.cpp:180
 #: src/synfig/valuenode_repeat_gradient.cpp:213
 #: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
 msgid "Width"
 msgstr "Breedte"
 
-#: src/modules/lyr_std/supersample.cpp:291
+#: src/modules/lyr_std/supersample.cpp:338
 msgid "Width of sample area (In pixels)"
 msgstr "Breedte van het voorbeeld (in pixels)"
 
-#: src/modules/lyr_std/supersample.cpp:294 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
 msgid "Height"
 msgstr "Hoogte"
 
-#: src/modules/lyr_std/supersample.cpp:295
+#: src/modules/lyr_std/supersample.cpp:342
 msgid "Height of sample area (In pixels)"
 msgstr "Hoogte van het voorbeeld (in pixels)"
 
-#: src/modules/lyr_std/supersample.cpp:298
+#: src/modules/lyr_std/supersample.cpp:345
 msgid "Use Parametric"
 msgstr "Gebruik parameters"
 
-#: src/modules/lyr_std/supersample.cpp:299
+#: src/modules/lyr_std/supersample.cpp:346
 msgid "Use the Parametric Renderer"
 msgstr "Gebruik de geparameteriseerde generator"
 
-#: src/modules/lyr_std/supersample.cpp:302
+#: src/modules/lyr_std/supersample.cpp:349
 msgid "Be Alpha Safe"
 msgstr "Beveilig alpha waarden"
 
-#: src/modules/lyr_std/supersample.cpp:303
+#: src/modules/lyr_std/supersample.cpp:350
 msgid "Avoid alpha artifacts when checked"
 msgstr "Indien aangevinkt, voorkomt alpha artifacten"
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:166
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr "Tijd lus"
 
-#: src/modules/lyr_std/timeloop.cpp:124 src/synfig/valuenode_timeloop.cpp:179
+#: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
 msgstr "Link tijd"
 
-#: src/modules/lyr_std/timeloop.cpp:125
+#: src/modules/lyr_std/timeloop.cpp:134
 msgid "Start time of the loop for the cycled context"
 msgstr "Starttijd van de herhaling van cyclische inhoud"
 
-#: src/modules/lyr_std/timeloop.cpp:129 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr "Lokale tijd"
 
-#: src/modules/lyr_std/timeloop.cpp:130 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr "De starttijd voor de herhaling"
 
-#: src/modules/lyr_std/timeloop.cpp:134 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr "Duur"
 
-#: src/modules/lyr_std/timeloop.cpp:135 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
 msgid "Lenght of the loop"
 msgstr "Lengte van de herhaling"
 
-#: src/modules/lyr_std/timeloop.cpp:139
+#: src/modules/lyr_std/timeloop.cpp:148
 msgid "Only For Positive Duration"
 msgstr "Alleen indien duur positief is"
 
-#: src/modules/lyr_std/timeloop.cpp:140
+#: src/modules/lyr_std/timeloop.cpp:149
 msgid "When checked will loop only positive durations"
 msgstr "Indien aangevinkt, herhaalt alleen de positieve tijdlengtes"
 
-#: src/modules/lyr_std/timeloop.cpp:144
+#: src/modules/lyr_std/timeloop.cpp:153
 msgid "Symmetrical"
 msgstr "Symmetrisch"
 
-#: src/modules/lyr_std/timeloop.cpp:145
+#: src/modules/lyr_std/timeloop.cpp:154
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr "Indien aangevinkt, spiegelt en centreert herhalingen op lokale tijd"
 
@@ -886,115 +888,115 @@ msgstr "Indien aangevinkt, verstoort de binnenkant van de circel"
 msgid "When checked, distorts outside the circle"
 msgstr "Indien aangevinkt, verstoort de buitenkant van de circel"
 
-#: src/modules/lyr_std/warp.cpp:56
+#: src/modules/lyr_std/warp.cpp:57
 msgid "Warp"
 msgstr "Warp"
 
-#: src/modules/lyr_std/warp.cpp:374
+#: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
 msgstr "Bronwaarde TL"
 
-#: src/modules/lyr_std/warp.cpp:376
+#: src/modules/lyr_std/warp.cpp:382
 msgid "Top Left corner of the source to warp"
 msgstr "Hoek linksboven van het warp gebied"
 
-#: src/modules/lyr_std/warp.cpp:380
+#: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
 msgstr "Bronwaarde BR"
 
-#: src/modules/lyr_std/warp.cpp:381
+#: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
 msgstr "Hoek rechtsonder van het warp gebied"
 
-#: src/modules/lyr_std/warp.cpp:385
+#: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
 msgstr "Doelwaarde TL"
 
-#: src/modules/lyr_std/warp.cpp:387
+#: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
 msgstr "Hoek linksboven van het doel gebied"
 
-#: src/modules/lyr_std/warp.cpp:391
+#: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
 msgstr "Doelwaarde TR"
 
-#: src/modules/lyr_std/warp.cpp:393
+#: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
 msgstr "Hoek rechtsboven van het doel gebied"
 
-#: src/modules/lyr_std/warp.cpp:397
+#: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
 msgstr "Doelwaarde BR"
 
-#: src/modules/lyr_std/warp.cpp:399
+#: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
 msgstr "Hoek rechtsonder van het doel gebied"
 
-#: src/modules/lyr_std/warp.cpp:403
+#: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
 msgstr "Doelwaarde BL"
 
-#: src/modules/lyr_std/warp.cpp:405
+#: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
 msgstr "Hoek linksonder van het doel gebied"
 
-#: src/modules/lyr_std/warp.cpp:413
+#: src/modules/lyr_std/warp.cpp:419
 msgid "Horizon"
 msgstr "Horizon"
 
-#: src/modules/lyr_std/warp.cpp:414
+#: src/modules/lyr_std/warp.cpp:420
 msgid "Height that determines the horizon in perspectives"
 msgstr "Hoogte van de horizon voor perspectief"
 
-#: src/modules/lyr_std/curvewarp.cpp:55
+#: src/modules/lyr_std/curvewarp.cpp:56
 msgid "Curve Warp"
 msgstr "Gebogen Warp"
 
-#: src/modules/lyr_std/curvewarp.cpp:390
-msgid "Position of the source line"
-msgstr "Plaats van de bron lijn"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr "Positie van de spline-doellijn"
 
-#: src/modules/lyr_std/curvewarp.cpp:395
+#: src/modules/lyr_std/curvewarp.cpp:404
 msgid "How much is expanded the result perpendicular to the source line"
 msgstr "De loodrechte verbreding ten opzichte van de bron lijn"
 
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:407
 msgid "Start Point"
 msgstr "Start punt"
 
-#: src/modules/lyr_std/curvewarp.cpp:400
+#: src/modules/lyr_std/curvewarp.cpp:409
 msgid "First point of the source line"
 msgstr "Begin punt van de bron lijn"
 
-#: src/modules/lyr_std/curvewarp.cpp:403
+#: src/modules/lyr_std/curvewarp.cpp:412
 msgid "End Point"
 msgstr "Eind punt"
 
-#: src/modules/lyr_std/curvewarp.cpp:404
+#: src/modules/lyr_std/curvewarp.cpp:413
 msgid "Final point of the source line"
 msgstr "Eind punt van de bron lijn"
 
-#: src/modules/lyr_std/curvewarp.cpp:407
-#: src/modules/mod_geometry/advanced_outline.cpp:1123
-#: src/modules/mod_geometry/outline.cpp:814
-#: src/modules/mod_geometry/region.cpp:233
-#: src/modules/mod_gradient/curvegradient.cpp:546
-#: src/modules/mod_particle/plant.cpp:391
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
 msgid "Vertices"
 msgstr "Hoeken"
 
-#: src/modules/lyr_std/curvewarp.cpp:410
+#: src/modules/lyr_std/curvewarp.cpp:419
 msgid "List of Spline Points where the source line is curved to"
-msgstr ""
+msgstr "Lijst van spline punten waar de bronlijn naar kromt"
 
-#: src/modules/lyr_std/curvewarp.cpp:413
-#: src/modules/mod_geometry/advanced_outline.cpp:1178
-#: src/modules/mod_gradient/curvegradient.cpp:567
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
 msgid "Fast"
 msgstr "Snel"
 
-#: src/modules/lyr_std/curvewarp.cpp:414
-#: src/modules/mod_gradient/curvegradient.cpp:568
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
 msgid "When checked, renders quickly but with artifacts"
 msgstr "Indien aangevinkt, genereert versnelde afbeeldingen met artefacten"
 
@@ -1002,15 +1004,15 @@ msgstr "Indien aangevinkt, genereert versnelde afbeeldingen met artefacten"
 msgid "XOR Pattern"
 msgstr "XOR patroon"
 
-#: src/modules/lyr_std/xorpattern.cpp:126
+#: src/modules/lyr_std/xorpattern.cpp:130
 msgid "Center of the pattern"
 msgstr "Centrum van het patroon"
 
-#: src/modules/lyr_std/xorpattern.cpp:130
+#: src/modules/lyr_std/xorpattern.cpp:134
 msgid "Size of the pattern"
 msgstr "Afmetingen van het patroon"
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:143
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
 #: src/synfig/valuenode_blinecalctangent.cpp:261
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
 #: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
@@ -1019,11 +1021,11 @@ msgstr "Schaal"
 
 #: src/modules/lyr_std/zoom.cpp:100
 msgid "Amount to scale to"
-msgstr ""
+msgstr "Hoeveelheid om te schalen"
 
-#: src/modules/lyr_std/zoom.cpp:105
+#: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
-msgstr ""
+msgstr "Punt waaruit geschaald wordt"
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
 #: src/modules/mod_ppm/mptr_ppm.cpp:78
@@ -1039,22 +1041,22 @@ msgstr "%s is niet in BMP formaat"
 #: src/modules/mod_bmp/mptr_bmp.cpp:150
 #, c-format
 msgid "Failure while reading BITMAPFILEHEADER from %s"
-msgstr "Kan BITMAPFILEHEADER van %s niet lezen"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:158
 #, c-format
 msgid "Failure while reading BITMAPINFOHEADER from %s"
-msgstr "Kan BITMAPINFOHEADER van %s niet lezen"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:168
 #, c-format
 msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
-msgstr "Corrupte BITMAPFILEHEADER in %s. (bfOffsetBits=%d, moet zijn %d)"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:176
 #, c-format
 msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
-msgstr "Corrupte BITMAPINFOHEADER in %s. (biSize=%d, moet zijn 40)"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
 msgid "Reading compressed bitmaps is not supported"
@@ -1089,126 +1091,143 @@ msgstr "Kan infoheader niet schrijven naar bestand"
 msgid "Unable to open pipe to encodedv"
 msgstr "Kan data bus naar apparaat encodedv niet openen"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:201
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:208
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:218
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:272
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-msgid "Unable to open pipe to ffmpeg"
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:214
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no pipe)"
+msgstr "Kan data bus naar apparaat ffmpeg niet openen"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:221
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (pid == -1)"
 msgstr "Kan data bus naar apparaat ffmpeg niet openen"
 
-#: src/modules/mod_filter/blur.cpp:68
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:231
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
+msgstr "Kan data bus naar apparaat ffmpeg niet openen"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:285
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (exec failed)"
+msgstr "Kan data bus naar apparaat ffmpeg niet openen"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:303
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no file)"
+msgstr "Kan data bus naar apparaat ffmpeg niet openen"
+
+#: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
 msgstr "Vervagen"
 
-#: src/modules/mod_filter/blur.cpp:69 src/modules/mod_filter/radialblur.cpp:56
+#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
 #: src/synfig/layer_motionblur.cpp:57
 msgid "Blurs"
 msgstr "Vervaagt"
 
-#: src/modules/mod_filter/blur.cpp:373
+#: src/modules/mod_filter/blur.cpp:414
 msgid "Size of Blur"
 msgstr "Grootte van vervaging"
 
-#: src/modules/mod_filter/colorcorrect.cpp:55
+#: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
 msgstr "Kleurcorrectie"
 
-#: src/modules/mod_filter/colorcorrect.cpp:211
+#: src/modules/mod_filter/colorcorrect.cpp:217
 msgid "Hue Adjust"
 msgstr "Hue aanpassing"
 
-#: src/modules/mod_filter/colorcorrect.cpp:215
+#: src/modules/mod_filter/colorcorrect.cpp:221
 msgid "Brightness"
 msgstr "Helderheid"
 
-#: src/modules/mod_filter/colorcorrect.cpp:219
+#: src/modules/mod_filter/colorcorrect.cpp:225
 msgid "Contrast"
 msgstr "Contrast"
 
-#: src/modules/mod_filter/colorcorrect.cpp:223
+#: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
 msgstr "Belichting aanpassen"
 
-#: src/modules/mod_filter/colorcorrect.cpp:227 src/synfig/layer_bitmap.cpp:179
+#: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
 msgstr "Gamma aanpassen"
 
-#: src/modules/mod_filter/halftone2.cpp:58
+#: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
 msgstr "Halftone 2"
 
-#: src/modules/mod_filter/halftone2.cpp:151
+#: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
 msgstr "Origin van masker"
 
-#: src/modules/mod_filter/halftone2.cpp:155
+#: src/modules/mod_filter/halftone2.cpp:159
 msgid "Mask Angle"
 msgstr "Hoek van masker"
 
-#: src/modules/mod_filter/halftone2.cpp:159
-#: src/modules/mod_filter/halftone3.cpp:309
+#: src/modules/mod_filter/halftone2.cpp:163
+#: src/modules/mod_filter/halftone3.cpp:328
 msgid "Mask Size"
 msgstr "Grootte van masker"
 
-#: src/modules/mod_filter/halftone2.cpp:164
+#: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
 msgstr "Lichte kleur"
 
-#: src/modules/mod_filter/halftone2.cpp:167
+#: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
 msgstr "Donkere kleur"
 
-#: src/modules/mod_filter/halftone2.cpp:172
-#: src/modules/mod_filter/halftone3.cpp:314
+#: src/modules/mod_filter/halftone2.cpp:176
+#: src/modules/mod_filter/halftone3.cpp:333
 #: src/modules/mod_gradient/conicalgradient.cpp:125
 msgid "Symmetric"
 msgstr "Symmetrisch"
 
-#: src/modules/mod_filter/halftone2.cpp:173
-#: src/modules/mod_filter/halftone3.cpp:315
+#: src/modules/mod_filter/halftone2.cpp:177
+#: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
 msgstr "Licht op donker"
 
-#: src/modules/mod_filter/halftone2.cpp:175
-#: src/modules/mod_filter/halftone3.cpp:317
+#: src/modules/mod_filter/halftone2.cpp:179
+#: src/modules/mod_filter/halftone3.cpp:336
 msgid "Diamond"
 msgstr "Diamand"
 
-#: src/modules/mod_filter/halftone2.cpp:176
-#: src/modules/mod_filter/halftone3.cpp:318
+#: src/modules/mod_filter/halftone2.cpp:180
+#: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
 msgstr "Band"
 
-#: src/modules/mod_filter/halftone3.cpp:58
+#: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
 msgstr "Halftone 3"
 
-#: src/modules/mod_filter/halftone3.cpp:312
+#: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
 msgstr "Soort"
 
-#: src/modules/mod_filter/halftone3.cpp:321
+#: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
 msgstr "Subtractieve vlag"
 
-#: src/modules/mod_filter/halftone3.cpp:329
+#: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
 msgstr "Kleur"
 
-#: src/modules/mod_filter/halftone3.cpp:333
+#: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
 msgstr "Masker oorsprong"
 
-#: src/modules/mod_filter/halftone3.cpp:337
+#: src/modules/mod_filter/halftone3.cpp:356
 msgid " Mask Angle"
 msgstr "Masker hoek"
 
-#: src/modules/mod_filter/lumakey.cpp:58
+#: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
 msgstr "Luma sleutel"
 
-#: src/modules/mod_filter/radialblur.cpp:55
+#: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
 msgstr "Radiale vervaging"
 
@@ -1230,19 +1249,19 @@ msgstr "Dambord"
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:62 src/synfig/layer_solidcolor.cpp:57
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
 msgstr "Geometrie"
 
-#: src/modules/mod_geometry/checkerboard.cpp:123
+#: src/modules/mod_geometry/checkerboard.cpp:147
 msgid "Color of checkers"
 msgstr "Kleur van de damstenen"
 
-#: src/modules/mod_geometry/checkerboard.cpp:127
+#: src/modules/mod_geometry/checkerboard.cpp:151
 msgid "Center of the checkers"
 msgstr "Centrum van de damstenen"
 
-#: src/modules/mod_geometry/checkerboard.cpp:131
+#: src/modules/mod_geometry/checkerboard.cpp:155
 msgid "Size of checkers"
 msgstr "Grootte van de damstenen"
 
@@ -1250,54 +1269,54 @@ msgstr "Grootte van de damstenen"
 msgid "Circle"
 msgstr "Circel"
 
-#: src/modules/mod_geometry/circle.cpp:134
+#: src/modules/mod_geometry/circle.cpp:152
 msgid "Radius of the circle"
 msgstr "Straal van de circel"
 
-#: src/modules/mod_geometry/circle.cpp:138 src/synfig/layer_shape.cpp:1206
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
 msgid "Feather"
 msgstr "Pluim"
 
-#: src/modules/mod_geometry/circle.cpp:140
+#: src/modules/mod_geometry/circle.cpp:158
 msgid "Amount of feather of the circle"
 msgstr "Groote van de pluim buiten de circel"
 
-#: src/modules/mod_geometry/circle.cpp:148
+#: src/modules/mod_geometry/circle.cpp:166
 msgid "Invert the circle"
 msgstr "Circel inverteren"
 
-#: src/modules/mod_geometry/circle.cpp:152
+#: src/modules/mod_geometry/circle.cpp:170
 msgid "Falloff"
 msgstr "Uitval"
 
-#: src/modules/mod_geometry/circle.cpp:153
+#: src/modules/mod_geometry/circle.cpp:171
 msgid "Determines the falloff function for the feather"
 msgstr "Bepaalt de afval functie voor de pluim"
 
-#: src/modules/mod_geometry/circle.cpp:155
-#: src/modules/mod_noise/distort.cpp:234 src/modules/mod_noise/noise.cpp:275
-#: src/modules/mod_noise/valuenode_random.cpp:288
-#: src/synfig/layer_bitmap.cpp:173 src/synfig/layer_motionblur.cpp:150
-#: src/synfig/valuenode.cpp:139 src/synfig/valuenode_linear.cpp:146
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:289
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
 msgid "Linear"
 msgstr "Lineair"
 
-#: src/modules/mod_geometry/circle.cpp:156
+#: src/modules/mod_geometry/circle.cpp:174
 msgid "Squared"
 msgstr "Kwadratisch"
 
-#: src/modules/mod_geometry/circle.cpp:157
+#: src/modules/mod_geometry/circle.cpp:175
 msgid "Square Root"
 msgstr "Inverse kwadratisch"
 
-#: src/modules/mod_geometry/circle.cpp:158
+#: src/modules/mod_geometry/circle.cpp:176
 msgid "Sigmond"
 msgstr "Sigmond"
 
-#: src/modules/mod_geometry/circle.cpp:159
-#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:276
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:174
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:290
+#: src/synfig/layer_bitmap.cpp:170
 msgid "Cosine"
 msgstr "Cosinus"
 
@@ -1305,161 +1324,164 @@ msgstr "Cosinus"
 msgid "Advanced Outline"
 msgstr "Uitgebreide Omlijning"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:133
+#: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
-msgstr ""
+msgstr "Geen hoekpunten in spline"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1125
-#: src/modules/mod_geometry/outline.cpp:817
-#: src/modules/mod_geometry/region.cpp:235
-#: src/modules/mod_gradient/curvegradient.cpp:549
-#: src/modules/mod_particle/plant.cpp:392
+#: src/modules/mod_geometry/advanced_outline.cpp:1136
+#: src/modules/mod_geometry/outline.cpp:826
+#: src/modules/mod_geometry/region.cpp:240
+#: src/modules/mod_gradient/curvegradient.cpp:562
+#: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
-msgstr ""
+msgstr "Een lijst van 'spline' punten"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1129
-#: src/modules/mod_geometry/outline.cpp:831
+#: src/modules/mod_geometry/advanced_outline.cpp:1140
+#: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
 msgstr "Dikte omlijning"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1130
-#: src/modules/mod_geometry/outline.cpp:832
+#: src/modules/mod_geometry/advanced_outline.cpp:1141
+#: src/modules/mod_geometry/outline.cpp:841
 msgid "Global width of the outline"
 msgstr "Globale dikte van de omlijning"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:837
+#: src/modules/mod_geometry/advanced_outline.cpp:1145
+#: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
 msgstr "Vergroten"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1135
-#: src/modules/mod_geometry/outline.cpp:838
+#: src/modules/mod_geometry/advanced_outline.cpp:1146
+#: src/modules/mod_geometry/outline.cpp:847
 msgid "Value to add to the global width"
 msgstr "Waarde toe te voegen aan globale breedte"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1138
+#: src/modules/mod_geometry/advanced_outline.cpp:1149
 msgid "Tip Type at Start"
 msgstr "Soort uiteinde aan het begin"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1139
+#: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
-msgstr ""
+msgstr "Bepaalt puntsoort van de eerste spline-punt als de spline ontknoopt is"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1141
-#: src/modules/mod_geometry/advanced_outline.cpp:1150
-#: src/synfig/valuenode_composite.cpp:548
+#: src/modules/mod_geometry/advanced_outline.cpp:1152
+#: src/modules/mod_geometry/advanced_outline.cpp:1161
 #: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:587
-#: src/synfig/valuenode_composite.cpp:596
+#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:606
 msgid "Rounded Stop"
 msgstr "Afgerond uiteinde"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1142
-#: src/modules/mod_geometry/advanced_outline.cpp:1151
-#: src/synfig/valuenode_composite.cpp:549
+#: src/modules/mod_geometry/advanced_outline.cpp:1153
+#: src/modules/mod_geometry/advanced_outline.cpp:1162
 #: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:588
-#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:607
 msgid "Squared Stop"
 msgstr "Vierkant uiteinde"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1143
-#: src/modules/mod_geometry/advanced_outline.cpp:1152
-#: src/synfig/valuenode_composite.cpp:550
+#: src/modules/mod_geometry/advanced_outline.cpp:1154
+#: src/modules/mod_geometry/advanced_outline.cpp:1163
 #: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:570
+#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:608
 msgid "Peak Stop"
 msgstr "Puntvormig uiteinde"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1144
-#: src/modules/mod_geometry/advanced_outline.cpp:1153
-#: src/synfig/valuenode_composite.cpp:551
+#: src/modules/mod_geometry/advanced_outline.cpp:1155
+#: src/modules/mod_geometry/advanced_outline.cpp:1164
 #: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:590
-#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:571
+#: src/synfig/valuenode_composite.cpp:600
+#: src/synfig/valuenode_composite.cpp:609
 msgid "Flat Stop"
 msgstr "Vlak uiteinde"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1147
+#: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
 msgstr "Soort uiteinde aan het eind"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1148
+#: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
 msgstr ""
+"Bepaalt puntsoort van de laatste spline-punt als de spline ontknoopt is"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1156
+#: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
 msgstr "Soort oneffenheid"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1157
-#: src/modules/mod_geometry/outline.cpp:843
+#: src/modules/mod_geometry/advanced_outline.cpp:1168
+#: src/modules/mod_geometry/outline.cpp:852
 msgid "Determines cusp type"
 msgstr "Bepaalt het soort oneffenheid"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1159
+#: src/modules/mod_geometry/advanced_outline.cpp:1170
 msgid "Sharp"
 msgstr "Scherp"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1160
+#: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
 msgstr "Afgerond"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1164
+#: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
 msgstr "Gladheid"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1165
+#: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
 msgstr "Bepaalt de interpolatie tussen punten. (0) Lineair (1) Effen"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1168
-#: src/modules/mod_geometry/outline.cpp:859
+#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/outline.cpp:869
 #: src/synfig/valuenode_blinecalctangent.cpp:271
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
 msgstr "Homogeen"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1169
+#: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
 msgstr ""
+"Breedtepunten posities zijn gebaseerd op de lengte van de spline indien waar"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
+#: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
 msgstr "Lijst afwijkende breedtes"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1175
+#: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
 msgstr "Lijst met punten met een variabele breedte"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
 msgstr ""
+"Buitenlijnen worden sneller maar inaccurater weergegeven indien aangevinkt"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1182
+#: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
 msgstr "Gestreepte Rand"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1184
+#: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
 msgstr "Indien aangevinkt, gebruikt gestreepte randen"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1187
+#: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
 msgstr "Streep Lijst"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1190
+#: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
 msgstr ""
 "Lijst met strepen die gebruikt worden bij het bepalen van de gestreepte rand"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1193
+#: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
 msgstr "Offset Streep Lijst"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1196
+#: src/modules/mod_geometry/advanced_outline.cpp:1207
 msgid "Distance to Offset the Dash Items"
 msgstr "Eerste te gebruiken streep waarde in de lijst"
 
@@ -1467,32 +1489,36 @@ msgstr "Eerste te gebruiken streep waarde in de lijst"
 msgid "Outline"
 msgstr "Omlijning"
 
-#: src/modules/mod_geometry/outline.cpp:183
+#: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
 msgstr "Geen punten in omlijning"
 
-#: src/modules/mod_geometry/outline.cpp:842
+#: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
 msgstr "Scherpe oneffenheden"
 
-#: src/modules/mod_geometry/outline.cpp:847
+#: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
 msgstr "Begin afronden"
 
-#: src/modules/mod_geometry/outline.cpp:848
-#: src/modules/mod_geometry/outline.cpp:853
+#: src/modules/mod_geometry/outline.cpp:857
+#: src/modules/mod_geometry/outline.cpp:862
 msgid "Round off the tip"
 msgstr "Punt afronden"
 
-#: src/modules/mod_geometry/outline.cpp:852
+#: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
 msgstr "Einde afronden"
 
-#: src/modules/mod_geometry/outline.cpp:856
+#: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
 msgstr "Wild en chaotisch"
 
-#: src/modules/mod_geometry/outline.cpp:860
+#: src/modules/mod_geometry/outline.cpp:866
+msgid "(Currently not used)"
+msgstr "(Momenteel ongebruikt)"
+
+#: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
 msgstr ""
 "Indien aangevinkt, maakt de breedte gelijk aan de lengte van de te "
@@ -1502,11 +1528,11 @@ msgstr ""
 msgid "Rectangle"
 msgstr "Rechthoek"
 
-#: src/modules/mod_geometry/rectangle.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
 msgstr "Uitbreidingswaarde"
 
-#: src/modules/mod_geometry/rectangle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
 msgstr "Inverteer de rechthoek"
 
@@ -1518,46 +1544,46 @@ msgstr "Gebied"
 msgid "Star"
 msgstr "Ster"
 
-#: src/modules/mod_geometry/star.cpp:183
+#: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
 msgstr "Buitenste straal"
 
-#: src/modules/mod_geometry/star.cpp:184
+#: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
 msgstr "De straal van de buitenste punten in de ster"
 
-#: src/modules/mod_geometry/star.cpp:190
+#: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
 msgstr "Binnenste straal"
 
-#: src/modules/mod_geometry/star.cpp:191
+#: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
 msgstr "De straal van de binnenste punten in de ster"
 
-#: src/modules/mod_geometry/star.cpp:197
+#: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:129
+#: src/modules/mod_gradient/spiralgradient.cpp:130
 #: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr "Hoek"
 
-#: src/modules/mod_geometry/star.cpp:198
+#: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr "De orientatie van de ster"
 
-#: src/modules/mod_geometry/star.cpp:203 src/synfig/distance.cpp:251
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
 msgid "Points"
 msgstr "Punten"
 
-#: src/modules/mod_geometry/star.cpp:204
+#: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
 msgstr "Het aantal punten in de ster"
 
-#: src/modules/mod_geometry/star.cpp:208
+#: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
 msgstr "Normale polygoon"
 
-#: src/modules/mod_geometry/star.cpp:209
+#: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr "Bepaalt of een ster of polygoon wordt getekent"
 
@@ -1575,20 +1601,20 @@ msgid "Conical Gradient"
 msgstr "Konische gradient"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
-#: src/modules/mod_gradient/curvegradient.cpp:61
+#: src/modules/mod_gradient/curvegradient.cpp:62
 #: src/modules/mod_gradient/lineargradient.cpp:55
 #: src/modules/mod_gradient/radialgradient.cpp:58
-#: src/modules/mod_gradient/spiralgradient.cpp:57
-#: src/modules/mod_noise/noise.cpp:58
+#: src/modules/mod_gradient/spiralgradient.cpp:58
+#: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
 msgstr "Gradienten"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
-#: src/modules/mod_gradient/curvegradient.cpp:553
-#: src/modules/mod_gradient/lineargradient.cpp:200
+#: src/modules/mod_gradient/curvegradient.cpp:566
+#: src/modules/mod_gradient/lineargradient.cpp:195
 #: src/modules/mod_gradient/radialgradient.cpp:114
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:260
+#: src/modules/mod_gradient/spiralgradient.cpp:114
+#: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
 msgstr "Toe te passen gradient"
 
@@ -1601,27 +1627,27 @@ msgid "Rotation of the gradient around the center"
 msgstr "Draait de gradient rond de as van de kegel"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
-#: src/modules/mod_gradient/curvegradient.cpp:557
-#: src/modules/mod_gradient/lineargradient.cpp:204
+#: src/modules/mod_gradient/curvegradient.cpp:570
+#: src/modules/mod_gradient/lineargradient.cpp:199
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr "Indien aangevinkt, herhaalt de gradient"
 
-#: src/modules/mod_gradient/curvegradient.cpp:60
+#: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
 msgstr "Gebogen gradient"
 
-#: src/modules/mod_gradient/curvegradient.cpp:538
-#: src/modules/mod_particle/plant.cpp:399
+#: src/modules/mod_gradient/curvegradient.cpp:551
+#: src/modules/mod_particle/plant.cpp:432
 msgid "Offset for the Vertices List"
 msgstr "Offset voor de lijst met punten"
 
-#: src/modules/mod_gradient/curvegradient.cpp:543
+#: src/modules/mod_gradient/curvegradient.cpp:556
 msgid "Global width of the gradient"
 msgstr "Globale breedte van de gradient"
 
-#: src/modules/mod_gradient/curvegradient.cpp:556
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/curvegradient.cpp:569
+#: src/modules/mod_gradient/lineargradient.cpp:198
 #: src/modules/mod_gradient/radialgradient.cpp:130
 #: src/synfig/valuenode_blinecalctangent.cpp:246
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
@@ -1629,19 +1655,19 @@ msgstr "Globale breedte van de gradient"
 msgid "Loop"
 msgstr "Herhalen"
 
-#: src/modules/mod_gradient/curvegradient.cpp:560
-#: src/modules/mod_gradient/lineargradient.cpp:207
+#: src/modules/mod_gradient/curvegradient.cpp:573
+#: src/modules/mod_gradient/lineargradient.cpp:202
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr "Zaagvormig"
 
-#: src/modules/mod_gradient/curvegradient.cpp:561
-#: src/modules/mod_gradient/lineargradient.cpp:208
+#: src/modules/mod_gradient/curvegradient.cpp:574
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:136
 msgid "When checked the gradient is summetrical at the center"
 msgstr "Indien aangevinkt, maakt de gradient symmetrisch in het centrum"
 
-#: src/modules/mod_gradient/curvegradient.cpp:564
+#: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
 msgstr "Loodrecht"
 
@@ -1649,11 +1675,11 @@ msgstr "Loodrecht"
 msgid "Linear Gradient"
 msgstr "Lineaire gradient"
 
-#: src/modules/mod_gradient/lineargradient.cpp:192
+#: src/modules/mod_gradient/lineargradient.cpp:187
 msgid "Start point of the gradient"
 msgstr "Begin punt van de gradient"
 
-#: src/modules/mod_gradient/lineargradient.cpp:196
+#: src/modules/mod_gradient/lineargradient.cpp:191
 msgid "End point of the gradient"
 msgstr "Eind punt van de gradient"
 
@@ -1662,23 +1688,23 @@ msgid "Radial Gradient"
 msgstr "Circel gradient"
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:119
 msgid "Center of the gradient"
 msgstr "Centrum van de gradient"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:56
+#: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
 msgstr "Spiraalvormige gradient"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:130
+#: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
 msgstr "Draaiing van de spiraal"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:135
+#: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
 msgstr "Met de klok mee"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:136
+#: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
 msgstr "Indien aangevinkt, draat de spiraal met de klok mee"
 
@@ -1691,13 +1717,15 @@ msgstr "Geen bestand om te laden"
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/listimporter.cpp:184 src/synfig/listimporter.cpp:185
+#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
+#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
 msgid "Unable to open "
 msgstr "Fout bij openen van"
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/listimporter.cpp:191 src/synfig/listimporter.cpp:192
+#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
+#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
 msgid "Unable to get frame from "
 msgstr "Kan frame niet lezen van"
 
@@ -1735,115 +1763,115 @@ msgstr "Voortijdig einde van het bestand"
 msgid "Unable to open pipe to imagemagick's convert utility"
 msgstr "Kan data kanaal naar 'imagemagick' conversie tool niet openen"
 
-#: src/modules/mod_noise/distort.cpp:57
+#: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
 msgstr "Ruis verstoring"
 
-#: src/modules/mod_noise/distort.cpp:217
+#: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
 msgstr "Verschuiving"
 
-#: src/modules/mod_noise/distort.cpp:218
+#: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
 msgstr "De mate waarin de verstoring de context verschuift"
 
-#: src/modules/mod_noise/distort.cpp:223
+#: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
 msgstr "De afstand tussen verstoringen"
 
-#: src/modules/mod_noise/distort.cpp:226 src/modules/mod_noise/noise.cpp:263
+#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
 msgstr "Seed waarde voor willekeurige ruis"
 
-#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:264
+#: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
 msgstr "Wijzigt de willekeurige seed waarde van de ruis"
 
-#: src/modules/mod_noise/distort.cpp:230 src/modules/mod_noise/noise.cpp:271
-#: src/modules/mod_noise/valuenode_random.cpp:284
-#: src/synfig/layer_bitmap.cpp:169
+#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr "Interpolatie"
 
-#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
-#: src/synfig/layer_bitmap.cpp:170
+#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
+#: src/synfig/layer_bitmap.cpp:166
 msgid "What type of interpolation to use"
 msgstr "Het type interpolatie"
 
-#: src/modules/mod_noise/distort.cpp:233 src/modules/mod_noise/noise.cpp:274
-#: src/synfig/layer_bitmap.cpp:172
+#: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
+#: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
 msgstr "Dichtstbijzijnde buur "
 
-#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:277
-#: src/modules/mod_noise/valuenode_random.cpp:290 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_bline.cpp:1001
+#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
+#: src/synfig/valuenode_bline.cpp:1006
 #: src/synfig/valuenode_blinecalctangent.cpp:241
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr "Kromme"
 
-#: src/modules/mod_noise/distort.cpp:237 src/modules/mod_noise/noise.cpp:278
-#: src/modules/mod_noise/valuenode_random.cpp:291
-#: src/synfig/layer_bitmap.cpp:175
+#: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr "Kubisch"
 
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:281
+#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
 msgstr "Detail"
 
-#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:282
+#: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
 msgstr "Verhoog om ruis met meer kleine details te krijgen"
 
-#: src/modules/mod_noise/distort.cpp:244 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
 msgstr "Animatie snelheid"
 
-#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
 msgstr "In cycli per seconde"
 
-#: src/modules/mod_noise/distort.cpp:248 src/modules/mod_noise/noise.cpp:289
+#: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
 msgstr "Turbulent"
 
-#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:290
+#: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
 msgstr "Indien aangevinkt, produceert turbulente ruis"
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:183
+#: src/modules/mod_noise/valuenode_random.cpp:184
 msgid "Random"
 msgstr "Willekeurig"
 
-#: src/modules/mod_noise/noise.cpp:57
+#: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
 msgstr "Ruis gradient"
 
-#: src/modules/mod_noise/noise.cpp:268
+#: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
 msgstr "Grootte van de ruis"
 
-#: src/modules/mod_noise/noise.cpp:293
+#: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
 msgstr "Alpha toepassen"
 
-#: src/modules/mod_noise/noise.cpp:294
+#: src/modules/mod_noise/noise.cpp:303
 msgid "Uses transparency"
 msgstr "Transparantie gebruiken"
 
-#: src/modules/mod_noise/noise.cpp:297
+#: src/modules/mod_noise/noise.cpp:306
 msgid "Super Sampling"
 msgstr "Super monster"
 
-#: src/modules/mod_noise/noise.cpp:298
+#: src/modules/mod_noise/noise.cpp:307
 msgid "When checked the gradient is supersampled"
 msgstr "Indien aangevinkt, neemt een super monster van de gradient"
 
-#: src/modules/mod_noise/valuenode_random.cpp:264
+#: src/modules/mod_noise/valuenode_random.cpp:265
 #: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
 #: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
 #: src/synfig/valuenode_reciprocal.cpp:165
@@ -1852,107 +1880,111 @@ msgstr "Indien aangevinkt, neemt een super monster van de gradient"
 msgid "Link"
 msgstr "Koppeling"
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "The value node source that provides the central value"
 msgstr "Het waarde knooppunt dat zorgt voor de centrale waarde"
 
-#: src/modules/mod_noise/valuenode_random.cpp:270
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid "The value of the maximum random difference"
 msgstr "De maximale grootte tussen twee willekeurige waarden"
 
-#: src/modules/mod_noise/valuenode_random.cpp:274
-#: src/modules/mod_particle/plant.cpp:450
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr "Seed"
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:276
 msgid "Seeds the random number generator"
 msgstr "De seed waarde voor de toevalsgenerator"
 
-#: src/modules/mod_noise/valuenode_random.cpp:279
+#: src/modules/mod_noise/valuenode_random.cpp:280
 msgid "Speed"
 msgstr "Snelheid"
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:281
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 "Geeft aan hoe vaak een nieuwe willekeurige waarde gekozen wordt (in keuzes "
 "per seconde)"
 
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:286
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 "Geeft aan hoe tussen twee willekeurige waarden geinterpoleerd moet worden"
 
-#: src/modules/mod_noise/valuenode_random.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:288
 msgid "No interpolation"
 msgstr "Geen interpolatie"
 
-#: src/modules/mod_noise/valuenode_random.cpp:296
+#: src/modules/mod_noise/valuenode_random.cpp:297
 msgid "Loop Time"
 msgstr "Herhaal tijd"
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:298
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 "Zorgt ervoor dat een willekeurige waarde na de opgegeven tijd herhaald wordt"
 
-#: src/modules/mod_particle/plant.cpp:69
+#: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
 msgstr "Plant"
 
-#: src/modules/mod_particle/plant.cpp:404
+#: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
 msgstr "Gradient gebruikt bij inkleuren van de plant"
 
-#: src/modules/mod_particle/plant.cpp:408
+#: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
 msgstr "Split hoek"
 
-#: src/modules/mod_particle/plant.cpp:409
+#: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
 msgstr "Scheidingshoek tussen takken"
 
-#: src/modules/mod_particle/plant.cpp:413
+#: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
 msgstr "Zwaartekracht"
 
-#: src/modules/mod_particle/plant.cpp:414
+#: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
 msgstr "De richting die de scheuten volgen"
 
-#: src/modules/mod_particle/plant.cpp:419
+#: src/modules/mod_particle/plant.cpp:452
 msgid "Tangential Velocity"
 msgstr "Tangentiële snelheid"
 
-#: src/modules/mod_particle/plant.cpp:420
+#: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
 msgstr ""
+"Hoeveelheid waarnaar scheuten neigen te groeien langs de raaklijn van de "
+"spline"
 
-#: src/modules/mod_particle/plant.cpp:424
+#: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
 msgstr "Loodrechte snelheid"
 
-#: src/modules/mod_particle/plant.cpp:425
+#: src/modules/mod_particle/plant.cpp:458
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
 msgstr ""
+"Hoeveelheid waarnaar scheuten neigen te groeien haaks op de raaklijn van de "
+"spline"
 
-#: src/modules/mod_particle/plant.cpp:429
+#: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
 msgstr "Stam afmetingen"
 
-#: src/modules/mod_particle/plant.cpp:430
+#: src/modules/mod_particle/plant.cpp:463
 msgid "Size of the stem"
 msgstr "Grootte van de stam"
 
-#: src/modules/mod_particle/plant.cpp:435
+#: src/modules/mod_particle/plant.cpp:468
 msgid "Size As Alpha"
 msgstr "Grootte als alfa"
 
-#: src/modules/mod_particle/plant.cpp:436
+#: src/modules/mod_particle/plant.cpp:469
 msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
@@ -1960,166 +1992,171 @@ msgstr ""
 "Indien actief wordt het alfa kanaal van de gradient vermenigvuldigt met de "
 "stam grootte en wordt de afbeelding met een alfa waarde 1.0 gemaakt"
 
-#: src/modules/mod_particle/plant.cpp:440
+#: src/modules/mod_particle/plant.cpp:473
 msgid "Reverse"
 msgstr "Omkeren"
 
-#: src/modules/mod_particle/plant.cpp:441
+#: src/modules/mod_particle/plant.cpp:474
 msgid "If enabled, render the plant in the opposite direction"
 msgstr "Indien aangevinkt, laat de plant in de tegengestelde richting groeien"
 
-#: src/modules/mod_particle/plant.cpp:445 src/synfig/valuenode.cpp:170
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
 #: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
 msgid "Step"
 msgstr "Stap"
 
-#: src/modules/mod_particle/plant.cpp:446
+#: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
 msgstr "De afstand tussen twee punten bij het maken van de afbeelding"
 
-#: src/modules/mod_particle/plant.cpp:451
+#: src/modules/mod_particle/plant.cpp:484
 msgid "Used to seed the pseudo-random number generator"
 msgstr "Wordt gebruikt om de pseudo toevalsgenerator te initialiseren"
 
-#: src/modules/mod_particle/plant.cpp:455
+#: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
 msgstr "Splitsingen"
 
-#: src/modules/mod_particle/plant.cpp:456
+#: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
 msgstr "Maximum aantal keren dat een scheut opnieuw kan splitsen"
 
-#: src/modules/mod_particle/plant.cpp:460
+#: src/modules/mod_particle/plant.cpp:493
 msgid "Sprouts"
 msgstr "Scheuten"
 
-#: src/modules/mod_particle/plant.cpp:461
+#: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
-msgstr ""
+msgstr "Aantal plaatsen waar scheuten groeien per spline sectie"
 
-#: src/modules/mod_particle/plant.cpp:465
+#: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
 msgstr "Toevalswaarde"
 
-#: src/modules/mod_particle/plant.cpp:466
+#: src/modules/mod_particle/plant.cpp:499
 msgid ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 msgstr ""
 "Wordt gebruikt om willekeurige effecten te schalen. Bij nul worden alle "
 "willekeurige effecten uitgeschakeld."
 
-#: src/modules/mod_particle/plant.cpp:470
+#: src/modules/mod_particle/plant.cpp:503
 msgid "Drag"
 msgstr "Slepen"
 
-#: src/modules/mod_particle/plant.cpp:471
+#: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
 msgstr "Slepen vertraagt de groei"
 
-#: src/modules/mod_particle/plant.cpp:475
+#: src/modules/mod_particle/plant.cpp:508
 msgid "Use Width"
 msgstr "Gebruik breedte"
 
-#: src/modules/mod_particle/plant.cpp:476
+#: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
-msgstr ""
+msgstr "Schaal de snelheid met de breedte van de spline"
 
 #: src/modules/mod_ppm/mptr_ppm.cpp:86
 #, c-format
 msgid "%s was not in PPM format"
 msgstr "%s is niet in het formaat PPM"
 
-#: src/synfig/cairoimporter.cpp:87 src/synfig/importer.cpp:87
+#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
 msgid "Importer::open(): Cannot open empty filename"
 msgstr "Importer::open(): Kan lege bestandsnaam niet openen"
 
-#: src/synfig/cairoimporter.cpp:101 src/synfig/importer.cpp:101
+#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
 msgid "Importer::open(): Couldn't find extension"
 msgstr "Importer::open(): Kan extensie niet bepalen"
 
-#: src/synfig/cairoimporter.cpp:112 src/synfig/importer.cpp:112
+#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
 msgid "Importer::open(): Unknown file type -- "
 msgstr "Importer::open(): Onbekend bestandstype --"
 
-#: src/synfig/canvas.cpp:798 src/synfig/canvas.cpp:863
-#: src/synfig/canvas.cpp:886
+#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
+#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+msgid "No images in list"
+msgstr "Geen afbeeldingen in de lijst"
+
+#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
+#: src/synfig/canvas.cpp:927
 msgid "in line"
 msgstr "vergelijkbaar met"
 
-#: src/synfig/distance.cpp:249
+#: src/synfig/distance.cpp:251
 msgid "Units"
 msgstr "Eenheden"
 
-#: src/synfig/distance.cpp:250
+#: src/synfig/distance.cpp:252
 msgid "Pixels"
 msgstr "Pixels"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:254
 msgid "Inches"
 msgstr "Inches"
 
-#: src/synfig/distance.cpp:253
+#: src/synfig/distance.cpp:255
 msgid "Meters"
 msgstr "Meters"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:256
 msgid "Millimeters"
 msgstr "Millimeters"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:257
 msgid "Centimeters"
 msgstr "Centimeters"
 
-#: src/synfig/layer.cpp:565 src/synfig/layer_composite.cpp:128
+#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
 msgid "Unable to create surface target"
 msgstr "Kan doel laag niet maken"
 
-#: src/synfig/layer.cpp:619
+#: src/synfig/layer.cpp:605
 msgid "Z Depth"
 msgstr "Z-diepte"
 
-#: src/synfig/layer.cpp:621
+#: src/synfig/layer.cpp:607
 msgid "Modifies the position of the layer in the layer stack"
 msgstr "Wijzigt de positie van de laag in de stapel"
 
-#: src/synfig/layer_bitmap.cpp:159
+#: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
 msgstr "Boven-Links"
 
-#: src/synfig/layer_bitmap.cpp:160
+#: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
 msgstr "Linker bovenhoek van de afbeelding"
 
-#: src/synfig/layer_bitmap.cpp:164
+#: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
 msgstr "Beneden-Rechts"
 
-#: src/synfig/layer_bitmap.cpp:165
+#: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
 msgstr "Onder rechterhoek van de afbeelding"
 
-#: src/synfig/layer_composite.cpp:218
+#: src/synfig/layer_composite.cpp:250
 msgid "Alpha channel of the layer"
 msgstr "Alfa kanaal van de laag"
 
-#: src/synfig/layer_composite.cpp:221 src/synfig/paramdesc.cpp:62
+#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr "Meng methode"
 
-#: src/synfig/layer_composite.cpp:222
+#: src/synfig/layer_composite.cpp:254
 msgid "The blending method used to composite on the layers below"
 msgstr "De meng methode die gebruikt wordt op onderliggende lagen"
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:168
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
 #: src/synfig/valuenode_duplicate.cpp:174
 msgid "Duplicate"
 msgstr "Kopieren"
 
-#: src/synfig/layer_duplicate.cpp:148
+#: src/synfig/layer_duplicate.cpp:151
 msgid "Index"
 msgstr "Index"
 
-#: src/synfig/layer_duplicate.cpp:149
+#: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
 msgstr "Kopieer index"
 
@@ -2131,156 +2168,156 @@ msgstr "[MIME]"
 msgid "Motion Blur"
 msgstr "Bewegingsvervaging"
 
-#: src/synfig/layer_motionblur.cpp:136
+#: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
 msgstr "Opening"
 
-#: src/synfig/layer_motionblur.cpp:137
+#: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
 msgstr "Sluiter tijd"
 
-#: src/synfig/layer_motionblur.cpp:141
+#: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
 msgstr "Submonsters factor"
 
-#: src/synfig/layer_motionblur.cpp:142
+#: src/synfig/layer_motionblur.cpp:141
 msgid "Multiplies The Number Of Subsamples Rendered"
 msgstr "Vermenigvuldigt het aantal af te beelden submonsters"
 
-#: src/synfig/layer_motionblur.cpp:146
+#: src/synfig/layer_motionblur.cpp:145
 msgid "Subsampling Type"
 msgstr "Submonster type"
 
-#: src/synfig/layer_motionblur.cpp:147
+#: src/synfig/layer_motionblur.cpp:146
 msgid "Curve Type For Weighting Subsamples"
 msgstr "Soort kromme voor het wegen van submonsters"
 
-#: src/synfig/layer_motionblur.cpp:149 src/synfig/valuenode_const.cpp:127
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
 msgid "Constant"
 msgstr "Constant"
 
-#: src/synfig/layer_motionblur.cpp:151
+#: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
 msgstr "Hyperbolisch"
 
-#: src/synfig/layer_motionblur.cpp:155
+#: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
 msgstr "Submonster start grootte"
 
-#: src/synfig/layer_motionblur.cpp:156
+#: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
 msgstr "Relatieve grootte van het eerste submonster, voor lineaire weging"
 
-#: src/synfig/layer_motionblur.cpp:160
+#: src/synfig/layer_motionblur.cpp:159
 msgid "Subsample End Amount"
 msgstr "Submonster stop grootte"
 
-#: src/synfig/layer_motionblur.cpp:161
+#: src/synfig/layer_motionblur.cpp:160
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr "Relatieve grootte van het laatste submonster, voor lineaire weging"
 
-#: src/synfig/layer_pastecanvas.cpp:78 src/synfig/layer_pastecanvas.cpp:120
-#: src/synfig/layer_pastecanvas.cpp:121
+#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
+#: src/synfig/layer_pastecanvas.cpp:124
 msgid "Group"
-msgstr ""
+msgstr "Groep"
 
-#: src/synfig/layer_pastecanvas.cpp:137
+#: src/synfig/layer_pastecanvas.cpp:140
 msgid "Canvas"
 msgstr "Tekenvenster"
 
-#: src/synfig/layer_pastecanvas.cpp:138
+#: src/synfig/layer_pastecanvas.cpp:141
 msgid "Group content"
-msgstr ""
+msgstr "Groepeer inhoud"
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:144
 msgid "Zoom"
 msgstr "Zoom"
 
-#: src/synfig/layer_pastecanvas.cpp:142
+#: src/synfig/layer_pastecanvas.cpp:145
 msgid "Size of canvas"
 msgstr "Grootte van het tekenvenster"
 
-#: src/synfig/layer_pastecanvas.cpp:147
+#: src/synfig/layer_pastecanvas.cpp:152
 msgid "Time Offset to apply to the context"
 msgstr "Tijd offset, toe te passen op deze context"
 
-#: src/synfig/layer_pastecanvas.cpp:151
+#: src/synfig/layer_pastecanvas.cpp:156
 msgid "Children Lock"
 msgstr "Kinderslot"
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:157
 msgid "When checked prevents to select the children using the mouse click"
 msgstr "Indien aangevinkt, voorkomt dat kinderen de muis kunnen gebruiken"
 
-#: src/synfig/layer_pastecanvas.cpp:156
+#: src/synfig/layer_pastecanvas.cpp:162
 msgid "Focus Point"
 msgstr "Focaal punt"
 
-#: src/synfig/layer_pastecanvas.cpp:159
+#: src/synfig/layer_pastecanvas.cpp:165
 msgid "Point to remain fixed when zooming"
 msgstr "Het vaste punt tijdens het vergroten"
 
-#: src/synfig/layer_pastecanvas.cpp:164
+#: src/synfig/layer_pastecanvas.cpp:170
 msgid "Outline Grow"
-msgstr ""
+msgstr "Groei van buitenlijn"
 
-#: src/synfig/layer_pastecanvas.cpp:165
+#: src/synfig/layer_pastecanvas.cpp:171
 msgid "Exponential value to grow children Outline layers width"
-msgstr ""
+msgstr "Exponentiële waarde breedte van onderliggende buitenlijnen"
 
-#: src/synfig/layer_pastecanvas.cpp:180
+#: src/synfig/layer_pastecanvas.cpp:186
 msgid "Current Time"
 msgstr "Huidige tijd"
 
-#: src/synfig/layer_polygon.cpp:61
+#: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
 msgstr "Polygon"
 
-#: src/synfig/layer_polygon.cpp:187
+#: src/synfig/layer_polygon.cpp:194
 msgid "Vertices List"
 msgstr "Lijst Vertices"
 
-#: src/synfig/layer_polygon.cpp:188
+#: src/synfig/layer_polygon.cpp:195
 msgid "Define the corners of the polygon"
 msgstr "Definieert de hoeken van de polygon"
 
-#: src/synfig/layer_shape.cpp:64
+#: src/synfig/layer_shape.cpp:66
 msgid "Shape"
 msgstr "Vorm"
 
-#: src/synfig/layer_shape.cpp:65
+#: src/synfig/layer_shape.cpp:67
 msgid "Internal"
 msgstr "Intern"
 
-#: src/synfig/layer_shape.cpp:1194
+#: src/synfig/layer_shape.cpp:1222
 msgid "Layer_Shape Color"
 msgstr "Kleur van de rand van de laag"
 
-#: src/synfig/layer_shape.cpp:1203
+#: src/synfig/layer_shape.cpp:1231
 msgid "Antialiasing"
 msgstr "Anti-aliasing"
 
-#: src/synfig/layer_shape.cpp:1210
+#: src/synfig/layer_shape.cpp:1238
 msgid "Type of Feather"
 msgstr "Methode van vervaging"
 
-#: src/synfig/layer_shape.cpp:1211
+#: src/synfig/layer_shape.cpp:1239
 msgid "Type of feathering to use"
 msgstr "De methode van vervaging die gebruikt wordt"
 
-#: src/synfig/layer_shape.cpp:1220
+#: src/synfig/layer_shape.cpp:1248
 msgid "Winding Style"
 msgstr "Draai Stijl"
 
-#: src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_shape.cpp:1249
 msgid "Winding style to use"
 msgstr "De draai methode die gebruikt moet worden"
 
-#: src/synfig/layer_shape.cpp:1223
+#: src/synfig/layer_shape.cpp:1251
 msgid "Non Zero"
 msgstr "Niet nul"
 
-#: src/synfig/layer_shape.cpp:1224
+#: src/synfig/layer_shape.cpp:1252
 msgid "Even/Odd"
 msgstr "Oneven/Even"
 
@@ -2288,68 +2325,65 @@ msgstr "Oneven/Even"
 msgid "Solid Color"
 msgstr "Effen Kleur"
 
-#: src/synfig/listimporter.cpp:161 src/synfig/listimporter.cpp:162
-msgid "No images in list"
-msgstr "Geen afbeeldingen in de lijst"
-
-#: src/synfig/loadcanvas.cpp:142
+#: src/synfig/loadcanvas.cpp:143
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr "Kan '%s' niet recursief laden"
 
-#: src/synfig/loadcanvas.cpp:185
+#: src/synfig/loadcanvas.cpp:186
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr "Onverwacht element <%s> gevonden, verwacht was <%s>"
 
-#: src/synfig/loadcanvas.cpp:191
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr "Onverwacht element <%s> gevonden"
 
-#: src/synfig/loadcanvas.cpp:205
+#: src/synfig/loadcanvas.cpp:206
 msgid "Too many warnings"
 msgstr "Te veel waarschuwingen"
 
-#: src/synfig/loadcanvas.cpp:236
+#: src/synfig/loadcanvas.cpp:237
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr "<%s> mist het attribuut \"%s\""
 
 #: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:469
-#: src/synfig/loadcanvas.cpp:1118
+#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
+#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr "<%s> mag geen waarde hebben"
 
 #: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:473
-#: src/synfig/loadcanvas.cpp:1122
+#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
+#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr "<%s> mist het attribuut \"value\""
 
-#: src/synfig/loadcanvas.cpp:484 src/synfig/loadcanvas.cpp:1144
+#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
+#: src/synfig/loadcanvas.cpp:1200
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr "Ongeldige waarde \"%s\" in <%s>"
 
-#: src/synfig/loadcanvas.cpp:508
+#: src/synfig/loadcanvas.cpp:533
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr "<%s> mist het attribuut \"pos\""
 
-#: src/synfig/loadcanvas.cpp:1284
+#: src/synfig/loadcanvas.cpp:1353
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr "Kan element <animated> niet maken met type \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1301
+#: src/synfig/loadcanvas.cpp:1375
 msgid "<waypoint> is missing attribute \"time\""
 msgstr "<waypoint> mist het attribuut \"time\""
 
-#: src/synfig/loadcanvas.cpp:1314
+#: src/synfig/loadcanvas.cpp:1388
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
@@ -2357,154 +2391,153 @@ msgstr ""
 "Niet leeg attribuut \"use\" gevonden voor <waypoint>. Inhoud wordt "
 "genegeerd..."
 
-#: src/synfig/loadcanvas.cpp:1330
+#: src/synfig/loadcanvas.cpp:1404
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
-msgstr ""
+msgstr "Wegpunt refereert naar onbekende ID (%s) "
 
-#: src/synfig/loadcanvas.cpp:1336 src/synfig/loadcanvas.cpp:1348
+#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
 #, c-format
 msgid "<%s> is missing its data"
 msgstr "<%s> mist bijbehorende waardes"
 
-#: src/synfig/loadcanvas.cpp:1365
+#: src/synfig/loadcanvas.cpp:1439
 msgid "Bad data for <waypoint>"
 msgstr "Ongeldige waarde voor <waypoint>"
 
-#: src/synfig/loadcanvas.cpp:1380
+#: src/synfig/loadcanvas.cpp:1455
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr "Onverwacht element <%s> na <waypoint> waardes, negeren..."
 
-#: src/synfig/loadcanvas.cpp:1424 src/synfig/loadcanvas.cpp:1443
-#, c-format
-msgid "\"%s\" not a valid value for attribute \"%s\" in <%s>"
-msgstr "\"%s\" is geen geldige waarde voor attribuut \"%s\" in <%s>"
-
-#: src/synfig/loadcanvas.cpp:1504
+#: src/synfig/loadcanvas.cpp:1556
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr "Attribuut \"type\" ontbreekt in <%s>"
 
-#: src/synfig/loadcanvas.cpp:1512
+#: src/synfig/loadcanvas.cpp:1565
 #, c-format
 msgid "Bad type in <%s>"
 msgstr "Ongeldig type in <%s>"
 
-#: src/synfig/loadcanvas.cpp:1522
+#: src/synfig/loadcanvas.cpp:1577
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr "Fout bij het maken van een ValueNode <%s> met type '%s'. Zie '%s'"
 
-#: src/synfig/loadcanvas.cpp:1531
+#: src/synfig/loadcanvas.cpp:1587
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr "<%s> accepteert niet type '%s'"
 
-#: src/synfig/loadcanvas.cpp:1557 src/synfig/loadcanvas.cpp:1628
+#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr "'%s' is al gedefinieerd in <%s>"
 
-#: src/synfig/loadcanvas.cpp:1570
+#: src/synfig/loadcanvas.cpp:1625
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr "'%s' attribuut in <%s> verwijst naar onbekende ID '%s'"
 
-#: src/synfig/loadcanvas.cpp:1579
+#: src/synfig/loadcanvas.cpp:1634
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 "Kan verwijzing \"%s\" in ValueNode \"%s\" niet maken (link #%d in \"%s\")"
 
-#: src/synfig/loadcanvas.cpp:1603
+#: src/synfig/loadcanvas.cpp:1658
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr "Onbekende fout bij het benaderen van ValueNode \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1643
+#: src/synfig/loadcanvas.cpp:1698
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr "element <%s> bevat geen waarde"
 
-#: src/synfig/loadcanvas.cpp:1652
+#: src/synfig/loadcanvas.cpp:1707
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr "Het verwerken van '%s' is niet gelukt"
 
-#: src/synfig/loadcanvas.cpp:1659
+#: src/synfig/loadcanvas.cpp:1714
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 "Kan waarde element ('%s' van het type '%s') niet koppelen met verwijzing %d "
 "(%s)"
 
-#: src/synfig/loadcanvas.cpp:1677
+#: src/synfig/loadcanvas.cpp:1732
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr "Onbekende fout bij het bewerken van element \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1747
+#: src/synfig/loadcanvas.cpp:1811
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr "<%s> mist verwijzing %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1841
-msgid "Unable to create <dynamic_list>"
-msgstr "Kan object <dynamic_list> niet maken"
+#: src/synfig/loadcanvas.cpp:1861
+msgid "Unable to create <list>"
+msgstr "Niet mogelijk om te maken <list>"
 
-#: src/synfig/loadcanvas.cpp:1993
+#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr "<entry> mist de inhoud of het \"use\" element"
 
-#: src/synfig/loadcanvas.cpp:2038
+#: src/synfig/loadcanvas.cpp:1998
+msgid "Unable to create <dynamic_list>"
+msgstr "Kan object <dynamic_list> niet maken"
+
+#: src/synfig/loadcanvas.cpp:2220
 #, c-format
 msgid "Bad data in <%s>"
 msgstr "Ongeldige waarde in <%s>"
 
-#: src/synfig/loadcanvas.cpp:2076
+#: src/synfig/loadcanvas.cpp:2283
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr "ValueNode object verwacht. Zie '%s'"
 
-#: src/synfig/loadcanvas.cpp:2097
+#: src/synfig/loadcanvas.cpp:2304
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr "Ongeldige ID \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2102
+#: src/synfig/loadcanvas.cpp:2310
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr "ID \"%s\" bestaat al"
 
-#: src/synfig/loadcanvas.cpp:2107
+#: src/synfig/loadcanvas.cpp:2316
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr "Onbekende fout bij het toevoegen van ValueNode \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2142
+#: src/synfig/loadcanvas.cpp:2373
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr "Attribuut \"type\" niet gevonden in \"layer\" element"
 
-#: src/synfig/loadcanvas.cpp:2161
+#: src/synfig/loadcanvas.cpp:2392
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 "De versie informatie van de laag in het bestand is hoger dan geinstalleerde "
 "toepassing aankan"
 
-#: src/synfig/loadcanvas.cpp:2181
+#: src/synfig/loadcanvas.cpp:2415
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr "<name> element in <layer> wordt nog niet ondersteund. Negeren..."
 
-#: src/synfig/loadcanvas.cpp:2184
+#: src/synfig/loadcanvas.cpp:2418
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr "<desc> element in <layer> wordt nog niet ondersteund. Negeren..."
 
-#: src/synfig/loadcanvas.cpp:2192
+#: src/synfig/loadcanvas.cpp:2426
 msgid "Missing \"name\" attribute for <param>."
 msgstr "Het attribuut \"name\" ontbreekt voor <param>"
 
-#: src/synfig/loadcanvas.cpp:2209
+#: src/synfig/loadcanvas.cpp:2443
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
@@ -2512,191 +2545,195 @@ msgstr ""
 "Het attribuut \"use\" werd gevonden voor <param>, maar het was niet leeg. "
 "Inhoud wordt genegeerd..."
 
-#: src/synfig/loadcanvas.cpp:2214
+#: src/synfig/loadcanvas.cpp:2448
 msgid "Empty use=\"\" value in <param>"
 msgstr "Lege waarde voor \"use\" in <param>"
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2454
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr "Fout bij laden van deelafbeelding '%s'"
 
-#: src/synfig/loadcanvas.cpp:2222
+#: src/synfig/loadcanvas.cpp:2456
 msgid "Layer rejected canvas link"
 msgstr "Laag weigert koppeling met tekenvenster"
 
-#: src/synfig/loadcanvas.cpp:2244
+#: src/synfig/loadcanvas.cpp:2480
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
-msgstr ""
+msgstr "Parameter \"%s\" refereert naar onbekende ID (%s) "
 
-#: src/synfig/loadcanvas.cpp:2260
+#: src/synfig/loadcanvas.cpp:2496
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr "<param> is leeg of het \"use\" attribuut ontbreekt"
 
-#: src/synfig/loadcanvas.cpp:2272 src/synfig/loadcanvas.cpp:2292
+#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
 msgid "Bad data for <param>"
 msgstr "Ongeldige waardes voor <param>"
 
-#: src/synfig/loadcanvas.cpp:2280
+#: src/synfig/loadcanvas.cpp:2516
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr "Laag '%s' weigert de waarde in te stellen voor parameter '%s'"
 
-#: src/synfig/loadcanvas.cpp:2303
+#: src/synfig/loadcanvas.cpp:2539
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr "Onverwacht element <%s> gevonden na <param>, negeren..."
 
-#: src/synfig/loadcanvas.cpp:2376 src/synfig/loadcanvas.cpp:2384
+#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
 msgid "Canvas with width or height less than one is not allowed"
 msgstr "Tekenvenster met breedte of hoogte minder dan een is niet toegestaan"
 
-#: src/synfig/loadcanvas.cpp:2470
+#: src/synfig/loadcanvas.cpp:2710
 msgid "Group canvases cannot have a <defs> section"
-msgstr ""
+msgstr "Groepscanvassen kunnen geen <defs> onderdeel bevatten"
+
+#: src/synfig/loadcanvas.cpp:2717
+msgid "Inline canvas cannot have a <bones> section"
+msgstr "Inline canvassen kunnen geen <bones> onderdeel bevatten"
 
-#: src/synfig/loadcanvas.cpp:2478
+#: src/synfig/loadcanvas.cpp:2725
 msgid "Group canvases cannot have keyframes"
-msgstr ""
+msgstr "Groeps-canvassen kunnen geen sleutelframes"
 
-#: src/synfig/loadcanvas.cpp:2490
+#: src/synfig/loadcanvas.cpp:2737
 msgid "Group canvases cannot have metadata"
-msgstr ""
+msgstr "Groeps-canvassen kunnen geen metadata bevatten"
 
-#: src/synfig/loadcanvas.cpp:2498
+#: src/synfig/loadcanvas.cpp:2745
 msgid "<meta> must have a name"
 msgstr "<meta> moet een naam toegewezen krijgen"
 
-#: src/synfig/loadcanvas.cpp:2504
+#: src/synfig/loadcanvas.cpp:2751
 msgid "<meta> must have content"
 msgstr "<meta> mag niet leeg zijn"
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:2763
 msgid "blank \"name\" entity"
 msgstr "\"name\" zonder waarde"
 
-#: src/synfig/loadcanvas.cpp:2531
+#: src/synfig/loadcanvas.cpp:2778
 msgid "blank \"desc\" entity"
 msgstr "\"desc\" zonder waarde"
 
-#: src/synfig/loadcanvas.cpp:2546
+#: src/synfig/loadcanvas.cpp:2793
 msgid "blank \"author\" entity"
 msgstr "\"author\" zonder waarde"
 
-#: src/synfig/loadcanvas.cpp:2578
+#: src/synfig/loadcanvas.cpp:2828
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr "Tekenvenster '%s' heeft de definitie van %s opgeheven: %s"
 
-#: src/synfig/loadcanvas.cpp:2580 src/synfig/valuenode.cpp:353
+#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
 msgid "ValueNode"
 msgstr "ValueNode"
 
-#: src/synfig/loadcanvas.cpp:2580
+#: src/synfig/loadcanvas.cpp:2830
 msgid "ValueNodes"
 msgstr "ValueNodes"
 
-#: src/synfig/loadcanvas.cpp:2660 src/synfig/loadcanvas.cpp:2716
+#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
 msgid "Can't open file"
 msgstr "Kan bestand niet openen"
 
-#: src/synfig/main.cpp:102
+#: src/synfig/main.cpp:118
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr "Foutive API versie (LIB:%d, PROG:%d)"
 
-#: src/synfig/main.cpp:107
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr "Grootte object Vector incorrect (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:112
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr "Grootte object Color incorrect (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:117
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr "Grootte object Canvas incorrect (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:122
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr "Incorrecte grootte van Layer object (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:184
+#: src/synfig/main.cpp:207
 msgid "Starting Subsystem \"Modules\""
 msgstr "Subsysteem \"Modules\" wordt gestart"
 
-#: src/synfig/main.cpp:186
+#: src/synfig/main.cpp:209
 msgid "Unable to initialize subsystem \"Module\""
 msgstr "Kan subsysteem \"Modules\" niet initialiseren"
 
-#: src/synfig/main.cpp:188
+#: src/synfig/main.cpp:211
 msgid "Starting Subsystem \"Layers\""
 msgstr "Subsysteem \"Layers\" wordt gestart"
 
-#: src/synfig/main.cpp:192
+#: src/synfig/main.cpp:215
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr "Kan subsysteem \"Layers\" niet initialiseren"
 
-#: src/synfig/main.cpp:195
+#: src/synfig/main.cpp:218
 msgid "Starting Subsystem \"Targets\""
 msgstr "Subsysteem \"Targets\" wordt gestart"
 
-#: src/synfig/main.cpp:200
+#: src/synfig/main.cpp:223
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr "Kan subsysteem \"Targets\" niet starten"
 
-#: src/synfig/main.cpp:203
+#: src/synfig/main.cpp:226
 msgid "Starting Subsystem \"Importers\""
 msgstr "Subsysteem \"Importers\" wordt gestart"
 
-#: src/synfig/main.cpp:209
+#: src/synfig/main.cpp:232
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr "Kan subsysteem \"Importers\" niet initializeren"
 
-#: src/synfig/main.cpp:212
+#: src/synfig/main.cpp:235
 msgid "Starting Subsystem \"Cairo Importers\""
-msgstr ""
+msgstr "Subsysteem \"Cairo Importers\" wordt gestart"
 
-#: src/synfig/main.cpp:219
+#: src/synfig/main.cpp:242
 msgid "Unable to initialize subsystem \"Cairo Importers\""
-msgstr ""
+msgstr "Niet in staat om \"Cairo Importers\" te intialiseren"
 
-#: src/synfig/main.cpp:222
+#: src/synfig/main.cpp:245
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr "Subsysteem \"ValueNodes\" wordt gestart"
 
-#: src/synfig/main.cpp:230
+#: src/synfig/main.cpp:253
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr "Kan subsysteem \"ValueNodes\" niet initialiseren"
 
-#: src/synfig/main.cpp:267 src/synfig/main.cpp:268
+#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
 #, c-format
 msgid "Loading modules from %s"
 msgstr "Modules worden geladen van %s"
 
-#: src/synfig/main.cpp:279
+#: src/synfig/main.cpp:302
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr "Kan module bestand '%s' niet openen"
 
-#: src/synfig/main.cpp:293 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
 msgid "DONE"
 msgstr "KLAAR"
 
-#: src/synfig/main.cpp:360 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
 msgid "error"
 msgstr "fout"
 
-#: src/synfig/main.cpp:375 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
 msgid "warning"
 msgstr "waarschuwing"
 
-#: src/synfig/main.cpp:390
+#: src/synfig/main.cpp:413
 msgid "info"
 msgstr "informatie"
 
@@ -2771,145 +2808,145 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:64 src/synfig/valuenode.cpp:140
-#: src/synfig/valuenode_composite.cpp:437
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
+#: src/synfig/valuenode_composite.cpp:447
 msgid "Composite"
 msgstr "Samenstelling"
 
-#: src/synfig/paramdesc.cpp:65
+#: src/synfig/paramdesc.cpp:69
 msgid "Straight"
 msgstr "Recht"
 
-#: src/synfig/paramdesc.cpp:66
+#: src/synfig/paramdesc.cpp:70
 msgid "Onto"
 msgstr "Op"
 
-#: src/synfig/paramdesc.cpp:67
+#: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
 msgstr "Rechtstreek op"
 
-#: src/synfig/paramdesc.cpp:68
+#: src/synfig/paramdesc.cpp:72
 msgid "Behind"
 msgstr "Achter"
 
-#: src/synfig/paramdesc.cpp:69
+#: src/synfig/paramdesc.cpp:73
 msgid "Screen"
 msgstr "Scherm"
 
-#: src/synfig/paramdesc.cpp:70
+#: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
 msgstr "Overlap"
 
-#: src/synfig/paramdesc.cpp:71
+#: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
 msgstr "Harde Verlichting"
 
-#: src/synfig/paramdesc.cpp:72
+#: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
 msgstr "Vermenigvuldigen"
 
-#: src/synfig/paramdesc.cpp:73
+#: src/synfig/paramdesc.cpp:77
 msgid "Divide"
 msgstr "Delen"
 
-#: src/synfig/paramdesc.cpp:74 src/synfig/valuenode.cpp:157
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
 #: src/synfig/valuenode_add.cpp:190
 msgid "Add"
 msgstr "Optellen"
 
-#: src/synfig/paramdesc.cpp:75 src/synfig/valuenode.cpp:147
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
 #: src/synfig/valuenode_subtract.cpp:194
 msgid "Subtract"
 msgstr "Aftrekken"
 
-#: src/synfig/paramdesc.cpp:76
+#: src/synfig/paramdesc.cpp:80
 msgid "Difference"
 msgstr "Verschil"
 
-#: src/synfig/paramdesc.cpp:77
+#: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
 msgstr "Oplichten"
 
-#: src/synfig/paramdesc.cpp:78
+#: src/synfig/paramdesc.cpp:82
 msgid "Darken"
 msgstr "Verduisteren"
 
-#: src/synfig/paramdesc.cpp:80 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
 msgid "Hue"
 msgstr "Tint"
 
-#: src/synfig/paramdesc.cpp:81 src/synfig/valuenode_radialcomposite.cpp:260
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
 #: src/synfig/valuenode_radialcomposite.cpp:266
 msgid "Saturation"
 msgstr "Verzadiging"
 
-#: src/synfig/paramdesc.cpp:82
+#: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
 msgstr "Helderheid"
 
-#: src/synfig/paramdesc.cpp:83
+#: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
 msgstr "Alfa over"
 
-#: src/synfig/paramdesc.cpp:84
+#: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
 msgstr "Alfa oplichten"
 
-#: src/synfig/paramdesc.cpp:85
+#: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
 msgstr "Alfa verduisteren"
 
-#: src/synfig/render.cpp:246 src/synfig/render.cpp:247
-#: src/synfig/render.cpp:301 src/synfig/render.cpp:302
-#: src/synfig/render.cpp:536 src/synfig/render.cpp:537
-#: src/synfig/render.cpp:563 src/synfig/render.cpp:564
+#: src/synfig/render.cpp:248 src/synfig/render.cpp:249
+#: src/synfig/render.cpp:303 src/synfig/render.cpp:304
+#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
+#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
 msgid "Target panic"
 msgstr "Doel paniek"
 
-#: src/synfig/savecanvas.cpp:290
+#: src/synfig/savecanvas.cpp:359
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr "Onbekende waarde (%s), kan XML representatie niet genereren"
 
-#: src/synfig/savecanvas.cpp:543
+#: src/synfig/savecanvas.cpp:674 src/synfig/savecanvas.cpp:699
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr "Onbekend type ValueNode (%s), kan XML representatie niet genereren"
 
-#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:185
+#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
 #: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:281
 msgid "Target initialization failure"
 msgstr "Fout bij initialisatie doel"
 
-#: src/synfig/target_cairo.cpp:146
+#: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:155 src/synfig/target_scanline.cpp:258
-#: src/synfig/target_scanline.cpp:405
+#: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:260
+#: src/synfig/target_scanline.cpp:407
 msgid "Unable to put surface on target"
 msgstr "Kan grafisch vlak niet op doel plaatsen"
 
-#: src/synfig/target_cairo.cpp:162
+#: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:169 src/synfig/target_cairo_tile.cpp:248
-#: src/synfig/target_scanline.cpp:418 src/synfig/target_tile.cpp:396
+#: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
+#: src/synfig/target_scanline.cpp:420 src/synfig/target_tile.cpp:398
 msgid "Caught string :"
 msgstr "Exceptie tekenreeks gevangen:"
 
-#: src/synfig/target_cairo.cpp:174 src/synfig/target_cairo_tile.cpp:253
-#: src/synfig/target_scanline.cpp:423 src/synfig/target_tile.cpp:401
+#: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
+#: src/synfig/target_scanline.cpp:425 src/synfig/target_tile.cpp:403
 msgid "Ran out of memory (Probably a bug)"
 msgstr "Onvoldoende geheugen beschikbaar (waarschijnlijk een bug)"
 
-#: src/synfig/target_cairo.cpp:179 src/synfig/target_cairo_tile.cpp:258
-#: src/synfig/target_scanline.cpp:428 src/synfig/target_tile.cpp:406
+#: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
+#: src/synfig/target_scanline.cpp:430 src/synfig/target_tile.cpp:408
 msgid "Caught unknown error, rethrowing..."
 msgstr "Onbekende exceptie fout gevangen, opnieuw gooien..."
 
-#: src/synfig/target_cairo.cpp:190
+#: src/synfig/target_cairo.cpp:201
 msgid "Cairo Surface bad status"
 msgstr ""
 
@@ -2917,24 +2954,24 @@ msgstr ""
 msgid "Bad Tile Size"
 msgstr "Ongeldige tegel grootte"
 
-#: src/synfig/target_cairo_tile.cpp:142 src/synfig/target_cairo_tile.cpp:240
-#: src/synfig/target_scanline.cpp:203 src/synfig/target_scanline.cpp:249
-#: src/synfig/target_scanline.cpp:348 src/synfig/target_scanline.cpp:396
+#: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
+#: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:251
+#: src/synfig/target_scanline.cpp:350 src/synfig/target_scanline.cpp:398
 #: src/synfig/target_tile.cpp:225
 msgid "Accelerated Renderer Failure"
 msgstr "Versnelde weergave mislukt"
 
-#: src/synfig/target_cairo_tile.cpp:150
+#: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:156 src/synfig/target_tile.cpp:179
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:179
 #: src/synfig/target_tile.cpp:245
 msgid "add_tile():Unable to put surface on target"
 msgstr "add_tile(): Kan grafisch vlak niet op doel plaatsen"
 
-#: src/synfig/target_cairo_tile.cpp:211
+#: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
 msgstr ""
 
@@ -2960,277 +2997,317 @@ msgstr ""
 "gebruikt"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:276 src/synfig/value.cpp:308 src/synfig/value.cpp:360
+#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
 msgid "bool"
 msgstr "boolean"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:277 src/synfig/value.cpp:310 src/synfig/value.cpp:358
+#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
 msgid "integer"
 msgstr "geheel getal"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:278 src/synfig/value.cpp:312
+#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
 msgid "angle"
 msgstr "hoek"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:279 src/synfig/value.cpp:314 src/synfig/value.cpp:352
+#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
 msgid "time"
 msgstr "tijd"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:280 src/synfig/value.cpp:316 src/synfig/value.cpp:355
+#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
 msgid "real"
 msgstr "real"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:281 src/synfig/value.cpp:318
+#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
 msgid "vector"
 msgstr "vector"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:282 src/synfig/value.cpp:320
+#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
 msgid "color"
 msgstr "color"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:283 src/synfig/value.cpp:322
+#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
 msgid "segment"
 msgstr "segment"
 
-#: src/synfig/value.cpp:284
+#: src/synfig/value.cpp:378
 msgid "bline_point"
 msgstr "bline_point"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:285 src/synfig/value.cpp:326
+#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
+msgid "matrix"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
+msgid "bone_weight_pair"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
 msgid "width_point"
 msgstr "width_point"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:286 src/synfig/value.cpp:328
+#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
 msgid "dash_item"
 msgstr "dash_item"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:287 src/synfig/value.cpp:330
+#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
 msgid "list"
 msgstr "list"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:288 src/synfig/value.cpp:332
+#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
 msgid "canvas"
 msgstr "canvas"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:289 src/synfig/value.cpp:334
+#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
 msgid "string"
 msgstr "string"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:290 src/synfig/value.cpp:336
+#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
 msgid "gradient"
 msgstr "gradient"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:291 src/synfig/value.cpp:338
+#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
+msgid "bone_object"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
+msgid "bone_valuenode"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
 msgid "nil"
 msgstr "nil"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:324
+#: src/synfig/value.cpp:422
 msgid "spline_point"
-msgstr ""
+msgstr "spline_punt"
 
-#: src/synfig/valuenode.cpp:141 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
 msgid "Radial Composite"
 msgstr "Radiele samenstelling"
 
-#: src/synfig/valuenode.cpp:142 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr "Referentie"
 
-#: src/synfig/valuenode.cpp:144 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr "Tangentieel segement"
 
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr "Segment punt"
 
-#: src/synfig/valuenode.cpp:146 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr "Strepen"
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr "Dubbel Schaduw"
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_dynamiclist.cpp:755
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
 msgid "Dynamic List"
 msgstr "Dynamische Lijst"
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr "Rotatie gradient"
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr "Sinus"
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
 msgid "Timed Swap"
 msgstr "Tijdgebonden wissel"
 
-#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr "Herhalingsgradient"
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr "Exponentieel"
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
 msgid "Range"
 msgstr "Bereik"
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
 #: src/synfig/valuenode_switch.cpp:163
 msgid "Switch"
 msgstr "Wissel"
 
-#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr "Cosinus"
 
-#: src/synfig/valuenode.cpp:164
+#: src/synfig/valuenode.cpp:170
 msgid "aTan2"
 msgstr "aTan2"
 
-#: src/synfig/valuenode.cpp:165
+#: src/synfig/valuenode.cpp:171
 msgid "Reverse Tangent"
 msgstr "Inverse tangens"
 
-#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr "Reciproke"
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
 msgid "Integer"
 msgstr "Geheel getal"
 
-#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
 msgid "Vector Angle"
 msgstr "Vector hoek"
 
-#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
 msgid "Vector Length"
 msgstr "Vector lengte"
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
 msgid "Vector X"
 msgstr "Vector X"
 
-#: src/synfig/valuenode.cpp:176 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
 msgid "Vector Y"
 msgstr "Vector Y"
 
-#: src/synfig/valuenode.cpp:177
+#: src/synfig/valuenode.cpp:183
 msgid "Gradient Color"
 msgstr "Kleurgradient"
 
-#: src/synfig/valuenode.cpp:178
+#: src/synfig/valuenode.cpp:184
 msgid "Dot Product"
 msgstr "Scalair product"
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
 msgid "Time String"
 msgstr "Tijd naar tekst conversie"
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_real.cpp:161
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
 #: src/synfig/valuenode_realstring.cpp:175
 msgid "Real"
 msgstr "Reeele waarde"
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
 msgid "Real String"
 msgstr "Waarde naar tekst conversie"
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
 msgid "Joined List"
 msgstr "Samengevoegde lijst"
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:189
 msgid "Angle String"
 msgstr "Hoek naar tekst conversie"
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:190
 msgid "Int String"
 msgstr "Geheel getal naar tekst conversie"
 
-#: src/synfig/valuenode.cpp:185
+#: src/synfig/valuenode.cpp:191
 msgid "Logarithm"
 msgstr "Logaritme"
 
-#: src/synfig/valuenode.cpp:187
+#: src/synfig/valuenode.cpp:192
 msgid "Greyed"
 msgstr "Grijs maken"
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr "Machtsverheffen"
 
-#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr "Vergelijken"
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195
 msgid "Not"
 msgstr "Niet"
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196
 msgid "And"
 msgstr "En"
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197
 msgid "Or"
 msgstr "Of"
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:199
+msgid "Bone Influence"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:200
+msgid "Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:201
+msgid "Root Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:202
+msgid "Static List"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:203
+msgid "Bone Weight Pair"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
 msgid "WPList"
 msgstr "Lijst afwijkende breedtes"
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:206
 msgid "DIList"
 msgstr "DIList"
 
-#: src/synfig/valuenode.cpp:233
+#: src/synfig/valuenode.cpp:241
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr "Ongeldige waarde: ValueNode '%s' accepteer niet type '%s'"
 
-#: src/synfig/valuenode.cpp:513
+#: src/synfig/valuenode.cpp:540
 msgid "Placeholder"
 msgstr "Vervanger"
 
-#: src/synfig/valuenode.h:61
+#: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr "%s:%d ongeldig type voor %s: %s nodig maar %s gekregen"
@@ -3297,33 +3374,33 @@ msgstr "Koppeling 2"
 msgid "Second operand of the AND operation"
 msgstr "De tweede waarde voor de AND operatie"
 
-#: src/synfig/valuenode_animated.cpp:355 src/synfig/valuenode_animated.cpp:379
-#: src/synfig/valuenode_animated.cpp:703 src/synfig/valuenode_animated.cpp:721
-#: src/synfig/valuenode_animated.cpp:801 src/synfig/valuenode_animated.cpp:820
+#: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
+#: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
+#: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr "Er is al een tussen punt gedefinieerd op dit tijdstip"
 
-#: src/synfig/valuenode_animated.cpp:1134
+#: src/synfig/valuenode_animated.cpp:1173
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 "%s: Het is niet mogelijk om %s te gebruiken in een geanimeerde ValueNode"
 
-#: src/synfig/valuenode_animated.cpp:1169
+#: src/synfig/valuenode_animated.cpp:1208
 msgid "Animated"
 msgstr "Animatie"
 
-#: src/synfig/valuenode_bline.cpp:977 src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
 #: src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in list"
 msgstr "Geen waardes in lijst"
 
-#: src/synfig/valuenode_bline.cpp:980 src/synfig/valuenode_dynamiclist.cpp:664
+#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
 #: src/synfig/valuenode_wplist.cpp:339
 msgid "No entries in ret_list"
 msgstr "Geen waardes in de terug gegeven lijst"
 
-#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_bline.cpp:1023
+#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
 #, c-format
 msgid "Vertex %03d"
 msgstr "Vertex %03d"
@@ -3343,7 +3420,7 @@ msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:584
 #: src/synfig/valuenode_gradientrotate.cpp:169
 #: src/synfig/valuenode_linear.cpp:213
 msgid "Offset"
@@ -3397,190 +3474,186 @@ msgstr "Schaling van de breedte"
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:219
+#: src/synfig/valuenode_composite.cpp:229
 msgid "Bad type for composite"
 msgstr "Ongeldig type voor samenstelling"
 
-#: src/synfig/valuenode_composite.cpp:464
+#: src/synfig/valuenode_composite.cpp:474
 msgid "Red"
 msgstr "Rood"
 
-#: src/synfig/valuenode_composite.cpp:465
+#: src/synfig/valuenode_composite.cpp:475
 msgid "The red component of the color"
 msgstr "De rode component van de kleur waarde"
 
-#: src/synfig/valuenode_composite.cpp:468
+#: src/synfig/valuenode_composite.cpp:478
 msgid "Green"
 msgstr "Groen"
 
-#: src/synfig/valuenode_composite.cpp:469
+#: src/synfig/valuenode_composite.cpp:479
 msgid "The green component of the color"
 msgstr "De groene component van de kleur waarde"
 
-#: src/synfig/valuenode_composite.cpp:472
+#: src/synfig/valuenode_composite.cpp:482
 msgid "Blue"
 msgstr "Blauw"
 
-#: src/synfig/valuenode_composite.cpp:473
+#: src/synfig/valuenode_composite.cpp:483
 msgid "The blue component of the color"
 msgstr "De blauwe component van de kleur waarde"
 
-#: src/synfig/valuenode_composite.cpp:476
+#: src/synfig/valuenode_composite.cpp:486
 msgid "Alpha"
 msgstr "Alfa"
 
-#: src/synfig/valuenode_composite.cpp:477
+#: src/synfig/valuenode_composite.cpp:487
 msgid "The alpha of the color"
 msgstr "De alfa component van de kleur waarde"
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:492
 msgid "Vertex 1"
 msgstr "Vertex 1"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:493
 msgid "The first vertex of the segment"
 msgstr "De eerste vertex van het segment"
 
-#: src/synfig/valuenode_composite.cpp:486
-#: src/synfig/valuenode_composite.cpp:526
+#: src/synfig/valuenode_composite.cpp:496
+#: src/synfig/valuenode_composite.cpp:536
 msgid "Tangent 1"
 msgstr "Raaklijn 1"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:497
 msgid "The first tangent of the segment"
 msgstr "De eerste raaklijn van het segment"
 
-#: src/synfig/valuenode_composite.cpp:490
+#: src/synfig/valuenode_composite.cpp:500
 msgid "Vertex 2"
 msgstr "Vertex 2"
 
-#: src/synfig/valuenode_composite.cpp:491
+#: src/synfig/valuenode_composite.cpp:501
 msgid "The second vertex of the segment"
 msgstr "De tweede vertex van het segment"
 
-#: src/synfig/valuenode_composite.cpp:494
-#: src/synfig/valuenode_composite.cpp:530
+#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:540
 msgid "Tangent 2"
 msgstr "Raaklijn 2"
 
-#: src/synfig/valuenode_composite.cpp:495
+#: src/synfig/valuenode_composite.cpp:505
 msgid "The second tangent of the segment"
 msgstr "De tweede raaklijn van het segment"
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:510
 msgid "X-Axis"
 msgstr "X-as"
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:511
 msgid "The X-Axis component of the vector"
 msgstr "De component op de x-as van de vector"
 
-#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:514
 msgid "Y-Axis"
 msgstr "Y-as"
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:515
 msgid "The Y-Axis component of the vector"
 msgstr "De component op de y-as van de vector"
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:520
 msgid "Vertex"
 msgstr "Vertex"
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:521
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:525
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:519
+#: src/synfig/valuenode_composite.cpp:529
 msgid "Defines the Off and On position relative to neighbours"
 msgstr "Bepaalt de 'Aan' en 'Uit' positie relatief ten opzicht van de buren"
 
-#: src/synfig/valuenode_composite.cpp:522
+#: src/synfig/valuenode_composite.cpp:532
 msgid "Split"
 msgstr "Splitsing"
 
-#: src/synfig/valuenode_composite.cpp:523
+#: src/synfig/valuenode_composite.cpp:533
 msgid "When checked, tangents are independent"
 msgstr "Indien aangevinkt, maakt raaklijnen onafhankelijk"
 
-#: src/synfig/valuenode_composite.cpp:527
+#: src/synfig/valuenode_composite.cpp:537
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:531
+#: src/synfig/valuenode_composite.cpp:541
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:547
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:551
 msgid "The width of the Width Point"
 msgstr "De waarde van de afwijkende breedte"
 
-#: src/synfig/valuenode_composite.cpp:544
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_composite.cpp:554
+#: src/synfig/valuenode_composite.cpp:594
 msgid "Side Type Before"
 msgstr "Het soort zijkant voor"
 
-#: src/synfig/valuenode_composite.cpp:545
 #: src/synfig/valuenode_composite.cpp:555
+#: src/synfig/valuenode_composite.cpp:565
 msgid "Defines the interpolation type of the width point"
 msgstr "Bepaalt het soort interpolatie tussen punten met afwijkende breedtes"
 
-#: src/synfig/valuenode_composite.cpp:547
 #: src/synfig/valuenode_composite.cpp:557
+#: src/synfig/valuenode_composite.cpp:567
 msgid "Interpolate"
 msgstr "Interpolatie"
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:593
+#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:603
 msgid "Side Type After"
 msgstr "Het soort zijkant na"
 
-#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:574
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:575
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:578
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:579
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:585
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:589
 #: src/synfig/valuenode_timedswap.cpp:260
 msgid "Length"
 msgstr "Lengte"
 
-#: src/synfig/valuenode_composite.cpp:580
+#: src/synfig/valuenode_composite.cpp:590
 msgid "The length of the Dash Item"
 msgstr "De lengte van de strepen"
 
-#: src/synfig/valuenode_composite.cpp:585
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:595
+#: src/synfig/valuenode_composite.cpp:604
 msgid "Defines the side type of the dash item"
 msgstr "Bepaalt het type van de zijkant van de streep"
 
-#: src/synfig/valuenode_const.cpp:127
-msgid "Static"
-msgstr "Statisch"
-
 #: src/synfig/valuenode_compare.cpp:168
 msgid "The left side of the comparison"
 msgstr "De linkerzijde van de vergelijking"
@@ -3651,12 +3724,12 @@ msgstr "Eindwaarde van de index"
 msgid "Amount increment of the index"
 msgstr "Toename per stap in de index"
 
-#: src/synfig/valuenode_dynamiclist.cpp:655
+#: src/synfig/valuenode_dynamiclist.cpp:661
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr "Lijst type of waarde type incorrect, foutieve waarde wordt weggegooid"
 
-#: src/synfig/valuenode_dynamiclist.cpp:703
-#: src/synfig/valuenode_dynamiclist.cpp:957
+#: src/synfig/valuenode_dynamiclist.cpp:709
+#: src/synfig/valuenode_dynamiclist.cpp:964
 #, c-format
 msgid "Item %03d"
 msgstr "Waarde %03d"
@@ -3994,8 +4067,8 @@ msgid "Intersection"
 msgstr "Snijpunt"
 
 #: src/synfig/valuenode_step.cpp:213
-msgid "Value that define whether the step is centerd on the value [0,1]"
-msgstr "Waarde die aangeeft of de stap gecentreerd wordt op [0,1]"
+msgid "Value that define whether the step is centered on the value [0,1]"
+msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
 msgid "Color 1"
@@ -4134,196 +4207,202 @@ msgstr "De vector waar de y coordinaat van wordt gebruikt"
 msgid "WidthPoint %03d"
 msgstr "Afwijkend Breedte Punt %03d"
 
-#: src/tool/main.cpp:133
+#: src/tool/main.cpp:140
 msgid "FATAL: Synfig Version Mismatch"
 msgstr "FATAAL: Synfig versie incorrect"
 
-#: src/tool/main.cpp:169
+#: src/tool/main.cpp:176
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:171
+#: src/tool/main.cpp:178
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:172
+#: src/tool/main.cpp:179
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
+"Stel de breedte van de afbeelding in in pixels (gebruik 0 voor de standaard "
+"waarde)"
 
-#: src/tool/main.cpp:173
+#: src/tool/main.cpp:180
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
+"Stel de hoogte van de afbeelding in in pixels (gebruik 0 voor de standaard "
+"waarde)"
 
-#: src/tool/main.cpp:174
+#: src/tool/main.cpp:181
 msgid "Set the diagonal size of image window (Span)"
 msgstr "Stel de diagonale afmeting van het afbeeldingsvenster in (spanbreedte)"
 
-#: src/tool/main.cpp:175
+#: src/tool/main.cpp:182
 msgid "Set antialias amount for parametric renderer."
 msgstr "Stel de waarde voor anti-alias in voor de geparameteriseerde generator"
 
-#: src/tool/main.cpp:176
+#: src/tool/main.cpp:183
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
+"Stel de kwaliteit van de afbeelding in voor versneld genereren van "
+"afbeeldingen (standaard=%d)"
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:184
 msgid "Gamma"
-msgstr ""
+msgstr "Gamma"
 
-#: src/tool/main.cpp:178
+#: src/tool/main.cpp:185
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:186
 msgid "Specify input filename"
-msgstr ""
+msgstr "Specifieer het invoer bestand"
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:187
 msgid "Specify output filename"
 msgstr "Specificeer het uitvoer bestand"
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:188
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:189
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 "Genereer het tekenvenster met de opgegeven id in plaats vanaf het begin"
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:190
 msgid "Set the frame rate"
 msgstr "Stel het aantal beelden per seconde in"
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:191
 msgid "Render a single frame at <seconds>"
 msgstr "Genereer een enkel beeld op <seconden>"
 
-#: src/tool/main.cpp:185 src/tool/main.cpp:186
+#: src/tool/main.cpp:192 src/tool/main.cpp:193
 msgid "Set the starting time"
 msgstr "Stel de starttijd in"
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:194
 msgid "Set the ending time"
 msgstr "Stel de eindtijd in"
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:195
 msgid "Set the physical resolution (Dots-per-inch)"
-msgstr ""
+msgstr "Stel de fysieke resolutie in (dots-per-inch)"
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:196
 msgid "Set the physical X resolution (Dots-per-inch)"
-msgstr ""
+msgstr "Stel de fysieke x resolutie in (dots-per-inch)"
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:197
 msgid "Set the physical Y resolution (Dots-per-inch)"
-msgstr ""
+msgstr "Stel de fysieke y resolutie in (Dots-per-inch)"
 
-#: src/tool/main.cpp:193
+#: src/tool/main.cpp:200
 msgid "Switch options"
-msgstr ""
+msgstr "Wissel opties"
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:202
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:203
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr "Stille modus (geen weergave voortgang en resterende tijd)"
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:204
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:200
+#: src/tool/main.cpp:207
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:202
+#: src/tool/main.cpp:209
 msgid "Append layers in <filename> to composition"
 msgstr "Voeg de lagen in <bestand> aan de compositie toe"
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:210
 msgid "Print out specified details of the root canvas"
 msgstr "Druk de details af van het eerste tekenvenster"
 
-#: src/tool/main.cpp:204 src/tool/main.cpp:230
+#: src/tool/main.cpp:211 src/tool/main.cpp:237
 msgid "Print out the list of exported canvases in the composition"
-msgstr ""
+msgstr "Druk een lijst af van te exporteren tekenvensters in de compositie "
 
-#: src/tool/main.cpp:207
+#: src/tool/main.cpp:214
 msgid "FFMPEG target options"
-msgstr ""
+msgstr "FFMPEG doel opties"
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:216
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
-msgstr ""
+msgstr "Stel de codec voor video in. zie --ffmpeg-video-codecs"
 
-#: src/tool/main.cpp:210
+#: src/tool/main.cpp:217
 msgid "Set the bitrate for the output video"
-msgstr ""
+msgstr "Stel de bitrate in voor de video uitvoer"
 
-#: src/tool/main.cpp:213
+#: src/tool/main.cpp:220
 msgid "Synfig info options"
-msgstr ""
+msgstr "Synfig info opties"
 
-#: src/tool/main.cpp:215
+#: src/tool/main.cpp:222
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:223
 msgid "Print out the list of available importers"
 msgstr "Druk een lijst af van de beschikbare import filters"
 
-#: src/tool/main.cpp:217
+#: src/tool/main.cpp:224
 msgid "Print out misc build information"
 msgstr "Druk bouw informatie af van de toepassing"
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:225
 msgid "Print out the list of available layers"
 msgstr "Druk een lijst af van de beschikbare lagen"
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:226
 msgid "Print out layer's description, parameter info, etc."
 msgstr "Druk de beschrijving af van lagen, parameters etc."
 
-#: src/tool/main.cpp:220
+#: src/tool/main.cpp:227
 msgid "Print out license information"
 msgstr "Druk licentie informatie af"
 
-#: src/tool/main.cpp:221
+#: src/tool/main.cpp:228
 msgid "Print out the list of loaded modules"
 msgstr "Druk een lijst af van de geladen modules"
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:229
 msgid "Print out the list of available targets"
 msgstr "Druk een lijst af van de beschikbare doelen"
 
-#: src/tool/main.cpp:223
+#: src/tool/main.cpp:230
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:231
 msgid "Print out the list of available ValueNodes"
 msgstr "Druk een lijst af van de beschikbare ValueNodes"
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:232
 msgid "Print out version information"
 msgstr "Druk versie informatie af"
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:241
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:236
+#: src/tool/main.cpp:243
 msgid "Test GUID generation"
 msgstr "Test GUID generatie"
 
-#: src/tool/main.cpp:237
+#: src/tool/main.cpp:244
 msgid "Test signal implementation"
 msgstr "Test signaal implementatie"
 
@@ -4387,157 +4466,157 @@ msgstr ""
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:113
+#: src/tool/optionsprocessor.cpp:114
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:115
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:131
+#: src/tool/optionsprocessor.cpp:132
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:146
+#: src/tool/optionsprocessor.cpp:147
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:224
+#: src/tool/optionsprocessor.cpp:225
 msgid "Layer Name: "
-msgstr ""
+msgstr "Laagnaam:"
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:226
 msgid "Localized Layer Name: "
-msgstr ""
+msgstr "Gelokaliseerde laagnaam:"
 
-#: src/tool/optionsprocessor.cpp:227
+#: src/tool/optionsprocessor.cpp:228
 msgid "Version: "
-msgstr ""
+msgstr "Versie:"
 
-#: src/tool/optionsprocessor.cpp:232
+#: src/tool/optionsprocessor.cpp:233
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:234
+#: src/tool/optionsprocessor.cpp:235
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:236
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:239
+#: src/tool/optionsprocessor.cpp:240
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:243
+#: src/tool/optionsprocessor.cpp:244
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:309
+#: src/tool/optionsprocessor.cpp:310
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:316
+#: src/tool/optionsprocessor.cpp:317
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:324
+#: src/tool/optionsprocessor.cpp:325
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:334
+#: src/tool/optionsprocessor.cpp:335
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:343
+#: src/tool/optionsprocessor.cpp:344
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:352
+#: src/tool/optionsprocessor.cpp:353
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:379
+#: src/tool/optionsprocessor.cpp:380
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:385
+#: src/tool/optionsprocessor.cpp:386
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:400
+#: src/tool/optionsprocessor.cpp:401
 #, c-format
 msgid "Resolution set to %dx%d"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:417
+#: src/tool/optionsprocessor.cpp:418
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:437
+#: src/tool/optionsprocessor.cpp:438
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:440
+#: src/tool/optionsprocessor.cpp:441
 #, c-format
 msgid "Target video codec set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:446
+#: src/tool/optionsprocessor.cpp:447
 #, c-format
 msgid "Target bitrate set to %dk"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:452
+#: src/tool/optionsprocessor.cpp:453
 #, c-format
 msgid "Output file sequence separator set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:487
+#: src/tool/optionsprocessor.cpp:488
 #, c-format
 msgid "Unable to load '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:494
+#: src/tool/optionsprocessor.cpp:495
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:499
+#: src/tool/optionsprocessor.cpp:500
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:513
+#: src/tool/optionsprocessor.cpp:514
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:532
+#: src/tool/optionsprocessor.cpp:533
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:539
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:557
+#: src/tool/optionsprocessor.cpp:558
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:571
+#: src/tool/optionsprocessor.cpp:572
 msgid "Appended contents of "
 msgstr ""
 
@@ -4607,48 +4686,48 @@ msgstr ""
 
 #: src/tool/printing_functions.cpp:219
 msgid "Antialias"
-msgstr ""
+msgstr "Antialias"
 
 #: src/tool/printing_functions.cpp:233
 msgid "Flags"
-msgstr ""
+msgstr "Vlaggen"
 
 #: src/tool/printing_functions.cpp:240
 msgid "Focus"
-msgstr ""
+msgstr "Focus"
 
 #: src/tool/printing_functions.cpp:247
 msgid "Background Color"
-msgstr ""
+msgstr "Achtergrondkleur"
 
 #: src/tool/printing_functions.cpp:258
 msgid "Metadata"
-msgstr ""
+msgstr "Meta"
 
 #: src/tool/renderprogress.h:109
 msgid "Line"
-msgstr ""
+msgstr "Lijn"
 
 #: src/tool/renderprogress.h:109
 msgid " of "
-msgstr ""
+msgstr "van"
 
 #: src/tool/renderprogress.h:124
 msgid "w "
-msgstr ""
+msgstr "w"
 
 #: src/tool/renderprogress.h:127
 msgid "d "
-msgstr ""
+msgstr "d"
 
 #: src/tool/renderprogress.h:130
 msgid "h "
-msgstr ""
+msgstr "h"
 
 #: src/tool/renderprogress.h:133
 msgid "m "
-msgstr ""
+msgstr "m"
 
 #: src/tool/renderprogress.h:136
 msgid "s "
-msgstr ""
+msgstr "s"
diff --git a/po/no_NO.gmo b/po/no_NO.gmo
index 0eddb72..583d6aa 100644
Binary files a/po/no_NO.gmo and b/po/no_NO.gmo differ
diff --git a/po/no_NO.po b/po/no_NO.po
index ece70e6..b2491b5 100644
--- a/po/no_NO.po
+++ b/po/no_NO.po
@@ -1,6 +1,6 @@
-# Norwegian translation for Synfig Core.
-# Copyright (C) 2012 Synfig Contributors
-# This file is distributed under the same license as the Synfig package.
+# Translation file for Synfig Core package.
+# Copyright (C) 2013 Synfig Contributors
+# This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
 # NordicTroll <blenderkurs at gmail.com>, 2011
@@ -9,89 +9,90 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2013-05-09 18:34+0200\n"
-"PO-Revision-Date: 2013-05-02 12:39+0000\n"
-"Last-Translator: genete <genetita at gmail.com>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
+"POT-Creation-Date: 2013-10-25 17:57+0700\n"
+"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
+"Language-Team: Norwegian (Norway) (http://www.transifex.com/projects/p/"
+"synfig/language/no_NO/)\n"
 "Language: no_NO\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:58
+#: src/modules/mod_example/filledrect.cpp:59
 msgid "Filled Rectangle"
 msgstr "Fylt Rektangel"
 
-#: src/modules/mod_example/filledrect.cpp:59
+#: src/modules/mod_example/filledrect.cpp:60
 #: src/modules/mod_example/metaballs.cpp:58
 #: src/modules/mod_example/simplecircle.cpp:58
 msgid "Example"
 msgstr "Eksempel"
 
-#: src/modules/mod_example/filledrect.cpp:120
+#: src/modules/mod_example/filledrect.cpp:131
 #: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:523
-#: src/modules/lyr_std/shade.cpp:564
-#: src/modules/mod_geometry/checkerboard.cpp:122
-#: src/modules/mod_geometry/circle.cpp:128
-#: src/modules/mod_geometry/rectangle.cpp:125 src/synfig/layer_shape.cpp:1193
-#: src/synfig/layer_solidcolor.cpp:102 src/synfig/paramdesc.cpp:79
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:620
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
 msgid "Color"
 msgstr "Farge"
 
-#: src/modules/mod_example/filledrect.cpp:121
+#: src/modules/mod_example/filledrect.cpp:132
 #: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:129
-#: src/modules/mod_geometry/rectangle.cpp:126
-#: src/synfig/layer_solidcolor.cpp:103
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
 msgid "Fill color of the layer"
 msgstr "Lagets farge belegg"
 
-#: src/modules/mod_example/filledrect.cpp:125
-#: src/modules/mod_geometry/rectangle.cpp:130
-#: src/modules/mod_gradient/lineargradient.cpp:190
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:185
 msgid "Point 1"
 msgstr "Punkt 1"
 
-#: src/modules/mod_example/filledrect.cpp:126
-#: src/modules/mod_geometry/rectangle.cpp:132
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
 msgid "First corner of the rectangle"
 msgstr "Første hjørne av rektangele"
 
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_geometry/rectangle.cpp:136
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:190
 msgid "Point 2"
 msgstr "Punkt 2"
 
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_geometry/rectangle.cpp:137
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
 msgid "Second corner of the rectangle"
 msgstr "Andre hjørne av rektanglet"
 
-#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_example/filledrect.cpp:147
 msgid "Feather X"
 msgstr "Fjær x"
 
-#: src/modules/mod_example/filledrect.cpp:140
+#: src/modules/mod_example/filledrect.cpp:152
 msgid "Feather Y"
 msgstr "Fjær y"
 
-#: src/modules/mod_example/filledrect.cpp:144 src/modules/lyr_std/bevel.cpp:68
-#: src/modules/mod_geometry/advanced_outline.cpp:1161
+#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
 msgid "Bevel"
 msgstr "Bøy"
 
-#: src/modules/mod_example/filledrect.cpp:145
+#: src/modules/mod_example/filledrect.cpp:158
 msgid "Use Bevel for the corners"
 msgstr "Bruk Bøyen for hjørnene"
 
-#: src/modules/mod_example/filledrect.cpp:149
+#: src/modules/mod_example/filledrect.cpp:163
 msgid "Keep Bevel Circular"
 msgstr "Hold  Bøyen sirkulær"
 
-#: src/modules/mod_example/filledrect.cpp:150
+#: src/modules/mod_example/filledrect.cpp:164
 msgid "When checked the bevel is circular"
 msgstr "Når sjekket er bøyen sirkulær"
 
@@ -99,39 +100,39 @@ msgstr "Når sjekket er bøyen sirkulær"
 msgid "Metaballs"
 msgstr "Metakuler"
 
-#: src/modules/mod_example/metaballs.cpp:135
+#: src/modules/mod_example/metaballs.cpp:129
 #: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:552
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:194
 #: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:112
-#: src/modules/mod_noise/noise.cpp:259 src/modules/mod_particle/plant.cpp:403
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
 #: src/synfig/valuenode_gradientrotate.cpp:164
 #: src/synfig/valuenode_repeat_gradient.cpp:203
 msgid "Gradient"
 msgstr "Gradient"
 
-#: src/modules/mod_example/metaballs.cpp:139
+#: src/modules/mod_example/metaballs.cpp:133
 msgid "Balls"
 msgstr "Kuler"
 
-#: src/modules/mod_example/metaballs.cpp:143
+#: src/modules/mod_example/metaballs.cpp:137
 msgid "Radii"
 msgstr "Radier"
 
-#: src/modules/mod_example/metaballs.cpp:147
+#: src/modules/mod_example/metaballs.cpp:141
 msgid "Weights"
 msgstr "Vekter"
 
-#: src/modules/mod_example/metaballs.cpp:151
+#: src/modules/mod_example/metaballs.cpp:145
 msgid "Gradient Left"
 msgstr "Venstre Gradient"
 
-#: src/modules/mod_example/metaballs.cpp:155
+#: src/modules/mod_example/metaballs.cpp:149
 msgid "Gradient Right"
 msgstr "Høyre Gradient"
 
-#: src/modules/mod_example/metaballs.cpp:159
+#: src/modules/mod_example/metaballs.cpp:153
 msgid "Positive Only"
 msgstr "Bare Posetiv"
 
@@ -143,21 +144,21 @@ msgstr "Simpel Sirkel"
 #: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
 #: src/modules/mod_gradient/conicalgradient.cpp:114
 #: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:117
+#: src/modules/mod_gradient/spiralgradient.cpp:118
 msgid "Center"
 msgstr "Midt punkt"
 
 #: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:144
+#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
 msgid "Center of the circle"
 msgstr "Midten av Sirkelen"
 
 #: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:151
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:132
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
 #: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:122
-#: src/modules/mod_noise/valuenode_random.cpp:269
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/valuenode_radialcomposite.cpp:272
 msgid "Radius"
 msgstr "Radius"
@@ -165,20 +166,20 @@ msgstr "Radius"
 #: src/modules/mod_example/simplecircle.cpp:118
 #: src/modules/lyr_std/twirl.cpp:118
 #: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:124
 msgid "This is the radius of the circle"
 msgstr "Dette er radiusen av denne sirkelen"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
-#: src/modules/lyr_freetype/lyr_freetype.cpp:517
+#: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Tekst"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
 #: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
-#: src/modules/lyr_std/supersample.cpp:57 src/modules/lyr_std/timeloop.cpp:60
-#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:70
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:79
+#: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
+#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
 msgid "Other"
 msgstr "Annet"
 
@@ -186,245 +187,245 @@ msgstr "Annet"
 msgid "Text Layer"
 msgstr "Tekst Lag"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:390
+#: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
 msgstr "klarte ikke og intiere"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:409
+#: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
 msgstr "tomt font set"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:518
+#: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
 msgstr "tekst til og Rendre"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:524
+#: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "Tekst Fargen"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:528
+#: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
 msgstr "Font Familien"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:533
+#: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
 msgstr "Stil"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:535
-#: src/modules/lyr_freetype/lyr_freetype.cpp:545
+#: src/modules/lyr_freetype/lyr_freetype.cpp:587
+#: src/modules/lyr_freetype/lyr_freetype.cpp:597
 msgid "Normal"
 msgstr "Normal"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:536
+#: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
 msgstr "skrå"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:537
+#: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
 msgstr "kursiv"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:541
+#: src/modules/lyr_freetype/lyr_freetype.cpp:593
 msgid "Weight"
 msgstr "vekt"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:543
+#: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
 msgstr "Ultralyst"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:544
+#: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
 msgstr "lyst"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:546
+#: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
 msgstr "Fet"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:547
+#: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
 msgstr "Ultrafet"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:548
+#: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
 msgstr "Tung"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:551
+#: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
 msgstr "Horisontal avstand"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:552
+#: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
 msgstr "Beskriver hvor nær tegnvariantene er horisontalt"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:556
+#: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
 msgstr "Vertikal avstand"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:557
+#: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
 msgstr "Beskriver hvor nær tekstlinjer er vertikalt"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:561
-#: src/modules/lyr_std/shade.cpp:570 src/modules/lyr_std/xorpattern.cpp:129
-#: src/modules/mod_filter/blur.cpp:372
+#: src/modules/lyr_freetype/lyr_freetype.cpp:613
+#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:413
 #: src/modules/mod_filter/radialblur.cpp:115
-#: src/modules/mod_geometry/checkerboard.cpp:130
-#: src/modules/mod_noise/distort.cpp:222 src/modules/mod_noise/noise.cpp:267
+#: src/modules/mod_geometry/checkerboard.cpp:154
+#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
 msgstr "Størrelse"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:562
+#: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
 msgstr "Størrelse på teksten"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:569
+#: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
 msgstr "Orienteringen"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:570
+#: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
 msgstr "Tekstretning"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/insideout.cpp:143 src/modules/lyr_std/rotate.cpp:116
-#: src/modules/lyr_std/shade.cpp:567 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:389
-#: src/modules/lyr_std/xorpattern.cpp:125 src/modules/lyr_std/zoom.cpp:104
+#: src/modules/lyr_freetype/lyr_freetype.cpp:627
+#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
+#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
+#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
-#: src/modules/mod_geometry/checkerboard.cpp:126
-#: src/modules/mod_geometry/circle.cpp:143
-#: src/modules/mod_gradient/curvegradient.cpp:537
-#: src/modules/mod_particle/plant.cpp:398 src/synfig/layer_pastecanvas.cpp:133
-#: src/synfig/layer_shape.cpp:1197 src/synfig/valuenode_composite.cpp:518
+#: src/modules/mod_geometry/checkerboard.cpp:150
+#: src/modules/mod_geometry/circle.cpp:161
+#: src/modules/mod_gradient/curvegradient.cpp:550
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
+#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
 msgid "Origin"
 msgstr "Origo"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:576
+#: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
 msgstr "Tekst Posisjon"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:580
+#: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
 msgstr "Font"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:581
+#: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
 msgstr "Filnavnet av fonten til bruk"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:588
+#: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
 msgstr "Overheng"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:589
+#: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
 msgstr "Aktiverer / Deaktiverer font Overhengingen (Hvis fonten støtter det)"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
 msgstr "Skarp Kant"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:594
+#: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
 msgstr "Slå dette av hvis du skal animere teksten"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:597
-#: src/modules/lyr_std/shade.cpp:587 src/modules/mod_geometry/circle.cpp:147
-#: src/synfig/layer_shape.cpp:1200
+#: src/modules/lyr_freetype/lyr_freetype.cpp:649
+#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1228
 msgid "Invert"
 msgstr "Inverter"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:654
+#: src/modules/lyr_freetype/lyr_freetype.cpp:714
 msgid "No face loaded, no text will be rendered."
 msgstr "Ingen flate opplastet, ingen tekst vill rendres."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:680
+#: src/modules/lyr_freetype/lyr_freetype.cpp:740
 msgid "Text too small, no text will be rendered."
 msgstr "Tekst for liten, ingen tekst vill rendres."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:704
+#: src/modules/lyr_freetype/lyr_freetype.cpp:764
 msgid "Unable to set face size."
 msgstr "Kan ikke sette flate størrelse."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:747
+#: src/modules/lyr_freetype/lyr_freetype.cpp:807
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr "Ugyldig multibyte sekvens - er lokalen satt?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:754
+#: src/modules/lyr_freetype/lyr_freetype.cpp:814
 msgid "Can't parse multibyte character.\n"
 msgstr "Kan ikke tolke multibyte karakter.\n"
 
-#: src/modules/lyr_std/bevel.cpp:69 src/modules/lyr_std/shade.cpp:68
+#: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "Stillsett "
 
-#: src/modules/lyr_std/bevel.cpp:570 src/modules/lyr_std/shade.cpp:576
-#: src/modules/mod_filter/blur.cpp:376
-#: src/modules/mod_filter/halftone2.cpp:170
+#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
+#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Type"
 
-#: src/modules/lyr_std/bevel.cpp:571 src/modules/lyr_std/shade.cpp:577
-#: src/modules/mod_filter/blur.cpp:377
+#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
+#: src/modules/mod_filter/blur.cpp:418
 msgid "Type of blur to use"
 msgstr "Type utvisker å bruke"
 
-#: src/modules/lyr_std/bevel.cpp:573 src/modules/lyr_std/shade.cpp:579
-#: src/modules/mod_filter/blur.cpp:379 src/synfig/layer_shape.cpp:1213
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
 msgid "Box Blur"
 msgstr "Boks Utvisking"
 
-#: src/modules/lyr_std/bevel.cpp:574 src/modules/lyr_std/shade.cpp:580
-#: src/modules/mod_filter/blur.cpp:380 src/synfig/layer_shape.cpp:1214
+#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
+#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
 msgid "Fast Gaussian Blur"
 msgstr "Rask Gaussian Utvisking "
 
-#: src/modules/lyr_std/bevel.cpp:575 src/modules/lyr_std/shade.cpp:581
-#: src/modules/mod_filter/blur.cpp:381 src/synfig/layer_shape.cpp:1215
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
 msgid "Cross-Hatch Blur"
 msgstr "Firkanttasten Utvisking"
 
-#: src/modules/lyr_std/bevel.cpp:576 src/modules/lyr_std/shade.cpp:582
-#: src/modules/mod_filter/blur.cpp:382 src/synfig/layer_shape.cpp:1216
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
 msgid "Gaussian Blur"
 msgstr "Gaussian Utvisking "
 
-#: src/modules/lyr_std/bevel.cpp:577 src/modules/lyr_std/shade.cpp:583
-#: src/modules/mod_filter/blur.cpp:383 src/synfig/layer_shape.cpp:1217
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
 msgid "Disc Blur"
 msgstr "Disk Utvisking"
 
-#: src/modules/lyr_std/bevel.cpp:581
+#: src/modules/lyr_std/bevel.cpp:635
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:584
+#: src/modules/lyr_std/bevel.cpp:638
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:587
+#: src/modules/lyr_std/bevel.cpp:641
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:591
+#: src/modules/lyr_std/bevel.cpp:645
 msgid "Depth of Bevel"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:595
+#: src/modules/lyr_std/bevel.cpp:649
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:598
+#: src/modules/lyr_std/bevel.cpp:652
 msgid "Use Luma"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:601
+#: src/modules/lyr_std/bevel.cpp:655
 msgid "Solid"
 msgstr ""
 
-#: src/modules/lyr_std/booleancurve.cpp:104
+#: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
 msgstr ""
 
-#: src/modules/lyr_std/booleancurve.cpp:105
+#: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
 msgstr ""
 
@@ -432,38 +433,38 @@ msgstr ""
 msgid "Clamp"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:56
-#: src/modules/mod_filter/halftone2.cpp:59
-#: src/modules/mod_filter/halftone3.cpp:59
-#: src/modules/mod_filter/lumakey.cpp:59
+#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:57
+#: src/modules/mod_filter/halftone2.cpp:60
+#: src/modules/mod_filter/halftone3.cpp:60
+#: src/modules/mod_filter/lumakey.cpp:60
 msgid "Filters"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:158
+#: src/modules/lyr_std/clamp.cpp:162
 msgid "Invert Negative"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:162
+#: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:163
+#: src/modules/lyr_std/clamp.cpp:167
 msgid "When checked the Ceiling value is used"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:167
+#: src/modules/lyr_std/clamp.cpp:171
 msgid "Ceiling"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:168
+#: src/modules/lyr_std/clamp.cpp:172
 msgid "Upper boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:172
+#: src/modules/lyr_std/clamp.cpp:176
 msgid "Floor"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:173
+#: src/modules/lyr_std/clamp.cpp:177
 msgid "Lower boundary of the clamping"
 msgstr ""
 
@@ -471,24 +472,24 @@ msgstr ""
 msgid "Import Image"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:151 src/modules/lyr_std/import.cpp:201
+#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:283
+#: src/modules/lyr_std/import.cpp:293
 msgid "Filename"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:284
+#: src/modules/lyr_std/import.cpp:294
 msgid "File to import"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:288 src/synfig/layer_pastecanvas.cpp:146
+#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:289
+#: src/modules/lyr_std/import.cpp:299
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -497,14 +498,14 @@ msgid "Inside Out"
 msgstr ""
 
 #: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:75
 #: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:57 src/modules/lyr_std/curvewarp.cpp:56
-#: src/modules/mod_noise/distort.cpp:58
+#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
+#: src/modules/mod_noise/distort.cpp:59
 msgid "Distortions"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:144
+#: src/modules/lyr_std/insideout.cpp:163
 msgid "Defines the where the center will be"
 msgstr ""
 
@@ -516,97 +517,97 @@ msgstr ""
 msgid "Fractals"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:309
+#: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:310
+#: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:313
+#: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:314
+#: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:317
+#: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:320 src/modules/lyr_std/mandelbrot.cpp:223
+#: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:323
+#: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:326 src/modules/lyr_std/mandelbrot.cpp:226
+#: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:330 src/modules/lyr_std/mandelbrot.cpp:236
+#: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:333 src/modules/lyr_std/mandelbrot.cpp:240
+#: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:336 src/modules/lyr_std/mandelbrot.cpp:244
+#: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:339 src/modules/lyr_std/mandelbrot.cpp:248
+#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:342
+#: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:345 src/modules/lyr_std/mandelbrot.cpp:265
+#: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:348 src/modules/lyr_std/mandelbrot.cpp:269
+#: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:351 src/modules/lyr_std/mandelbrot.cpp:273
+#: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:354 src/modules/lyr_std/mandelbrot.cpp:277
+#: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:357
+#: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:361
+#: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:364 src/modules/lyr_std/mandelbrot.cpp:285
+#: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:286
+#: src/modules/lyr_std/julia.cpp:391 src/modules/lyr_std/mandelbrot.cpp:282
 msgid "Smooth the coloration outside the set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:368 src/modules/lyr_std/mandelbrot.cpp:230
+#: src/modules/lyr_std/julia.cpp:394 src/modules/lyr_std/mandelbrot.cpp:226
 msgid "Break Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:369 src/modules/lyr_std/mandelbrot.cpp:231
+#: src/modules/lyr_std/julia.cpp:395 src/modules/lyr_std/mandelbrot.cpp:227
 msgid "Modify equation to achieve interesting results"
 msgstr ""
 
@@ -614,48 +615,48 @@ msgstr ""
 msgid "Mandelbrot Set"
 msgstr ""
 
+#: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
 #: src/modules/lyr_std/mandelbrot.cpp:241
 #: src/modules/lyr_std/mandelbrot.cpp:245
 #: src/modules/lyr_std/mandelbrot.cpp:249
 #: src/modules/lyr_std/mandelbrot.cpp:253
 #: src/modules/lyr_std/mandelbrot.cpp:257
-#: src/modules/lyr_std/mandelbrot.cpp:261
 msgid "Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:252
+#: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:256
+#: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:260
+#: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
 msgstr ""
 
+#: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
 #: src/modules/lyr_std/mandelbrot.cpp:270
 #: src/modules/lyr_std/mandelbrot.cpp:274
 #: src/modules/lyr_std/mandelbrot.cpp:278
-#: src/modules/lyr_std/mandelbrot.cpp:282
+#: src/modules/lyr_std/mandelbrot.cpp:283
 #: src/modules/lyr_std/mandelbrot.cpp:287
 #: src/modules/lyr_std/mandelbrot.cpp:291
-#: src/modules/lyr_std/mandelbrot.cpp:295
 msgid "Outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:281
+#: src/modules/lyr_std/mandelbrot.cpp:277
 msgid "Gradient outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:290
+#: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:294
+#: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
 msgstr ""
 
@@ -668,16 +669,16 @@ msgstr ""
 msgid "Transform"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/translate.cpp:101
+#: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:134
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:121
-#: src/modules/lyr_std/sphere_distort.cpp:158
+#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:217
+#: src/synfig/layer_composite.cpp:249
 #: src/synfig/valuenode_blinecalctangent.cpp:251
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
@@ -686,61 +687,61 @@ msgstr ""
 msgid "Amount"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:67
+#: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:571
+#: src/modules/lyr_std/shade.cpp:627
 msgid "Size of Shade"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:73
-#: src/modules/lyr_std/sphere_distort.cpp:172
+#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:167
 msgid "Spherize"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/synfig/valuenode_composite.cpp:536
+#: src/modules/lyr_std/sphere_distort.cpp:141
+#: src/synfig/valuenode_composite.cpp:546
 msgid "Position"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:147
+#: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:154
+#: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:160
+#: src/modules/lyr_std/sphere_distort.cpp:155
 msgid "The distortion intensity (negative values inverts effect)"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:164 src/modules/lyr_std/warp.cpp:409
+#: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:165
+#: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:169
+#: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:170
+#: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:173
+#: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:174
+#: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
 msgstr ""
 
@@ -760,104 +761,104 @@ msgstr ""
 msgid "Stroboscope"
 msgstr ""
 
-#: src/modules/lyr_std/stroboscope.cpp:102
+#: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
 msgstr ""
 
-#: src/modules/lyr_std/stroboscope.cpp:103
+#: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:56
+#: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:129
+#: src/modules/lyr_std/supersample.cpp:146
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:290
-#: src/modules/lyr_std/curvewarp.cpp:393
-#: src/modules/mod_gradient/curvegradient.cpp:542
-#: src/synfig/valuenode_composite.cpp:514
-#: src/synfig/valuenode_composite.cpp:540
+#: src/modules/lyr_std/supersample.cpp:337
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_composite.cpp:524
+#: src/synfig/valuenode_composite.cpp:550
 #: src/synfig/valuenode_realstring.cpp:180
 #: src/synfig/valuenode_repeat_gradient.cpp:213
 #: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
 msgid "Width"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:291
+#: src/modules/lyr_std/supersample.cpp:338
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:294 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
 msgid "Height"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:295
+#: src/modules/lyr_std/supersample.cpp:342
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:298
+#: src/modules/lyr_std/supersample.cpp:345
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:299
+#: src/modules/lyr_std/supersample.cpp:346
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:302
+#: src/modules/lyr_std/supersample.cpp:349
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:303
+#: src/modules/lyr_std/supersample.cpp:350
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:166
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:124 src/synfig/valuenode_timeloop.cpp:179
+#: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:125
+#: src/modules/lyr_std/timeloop.cpp:134
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:129 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:130 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:134 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:135 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139
+#: src/modules/lyr_std/timeloop.cpp:148
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:140
+#: src/modules/lyr_std/timeloop.cpp:149
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144
+#: src/modules/lyr_std/timeloop.cpp:153
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:145
+#: src/modules/lyr_std/timeloop.cpp:154
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
@@ -885,115 +886,115 @@ msgstr ""
 msgid "When checked, distorts outside the circle"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:56
+#: src/modules/lyr_std/warp.cpp:57
 msgid "Warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:374
+#: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:376
+#: src/modules/lyr_std/warp.cpp:382
 msgid "Top Left corner of the source to warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:380
+#: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:381
+#: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:385
+#: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:387
+#: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:391
+#: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:393
+#: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:397
+#: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:399
+#: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:403
+#: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:405
+#: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:413
+#: src/modules/lyr_std/warp.cpp:419
 msgid "Horizon"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:414
+#: src/modules/lyr_std/warp.cpp:420
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:55
+#: src/modules/lyr_std/curvewarp.cpp:56
 msgid "Curve Warp"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:390
-msgid "Position of the source line"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:395
+#: src/modules/lyr_std/curvewarp.cpp:404
 msgid "How much is expanded the result perpendicular to the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:407
 msgid "Start Point"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:400
+#: src/modules/lyr_std/curvewarp.cpp:409
 msgid "First point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:403
+#: src/modules/lyr_std/curvewarp.cpp:412
 msgid "End Point"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:404
+#: src/modules/lyr_std/curvewarp.cpp:413
 msgid "Final point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:407
-#: src/modules/mod_geometry/advanced_outline.cpp:1123
-#: src/modules/mod_geometry/outline.cpp:814
-#: src/modules/mod_geometry/region.cpp:233
-#: src/modules/mod_gradient/curvegradient.cpp:546
-#: src/modules/mod_particle/plant.cpp:391
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
 msgid "Vertices"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:410
+#: src/modules/lyr_std/curvewarp.cpp:419
 msgid "List of Spline Points where the source line is curved to"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:413
-#: src/modules/mod_geometry/advanced_outline.cpp:1178
-#: src/modules/mod_gradient/curvegradient.cpp:567
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
 msgid "Fast"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:414
-#: src/modules/mod_gradient/curvegradient.cpp:568
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
 msgid "When checked, renders quickly but with artifacts"
 msgstr ""
 
@@ -1001,15 +1002,15 @@ msgstr ""
 msgid "XOR Pattern"
 msgstr ""
 
-#: src/modules/lyr_std/xorpattern.cpp:126
+#: src/modules/lyr_std/xorpattern.cpp:130
 msgid "Center of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/xorpattern.cpp:130
+#: src/modules/lyr_std/xorpattern.cpp:134
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:143
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
 #: src/synfig/valuenode_blinecalctangent.cpp:261
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
 #: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
@@ -1020,7 +1021,7 @@ msgstr ""
 msgid "Amount to scale to"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:105
+#: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
 msgstr ""
 
@@ -1088,126 +1089,138 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:201
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:208
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:218
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:272
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-msgid "Unable to open pipe to ffmpeg"
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:214
+msgid "Unable to open pipe to ffmpeg (no pipe)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:221
+msgid "Unable to open pipe to ffmpeg (pid == -1)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:231
+msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:285
+msgid "Unable to open pipe to ffmpeg (exec failed)"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:68
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:303
+msgid "Unable to open pipe to ffmpeg (no file)"
+msgstr ""
+
+#: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:69 src/modules/mod_filter/radialblur.cpp:56
+#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
 #: src/synfig/layer_motionblur.cpp:57
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:373
+#: src/modules/mod_filter/blur.cpp:414
 msgid "Size of Blur"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:55
+#: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:211
+#: src/modules/mod_filter/colorcorrect.cpp:217
 msgid "Hue Adjust"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:215
+#: src/modules/mod_filter/colorcorrect.cpp:221
 msgid "Brightness"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:219
+#: src/modules/mod_filter/colorcorrect.cpp:225
 msgid "Contrast"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:223
+#: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:227 src/synfig/layer_bitmap.cpp:179
+#: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:58
+#: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:151
+#: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:155
+#: src/modules/mod_filter/halftone2.cpp:159
 msgid "Mask Angle"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:159
-#: src/modules/mod_filter/halftone3.cpp:309
+#: src/modules/mod_filter/halftone2.cpp:163
+#: src/modules/mod_filter/halftone3.cpp:328
 msgid "Mask Size"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:164
+#: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:167
+#: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:172
-#: src/modules/mod_filter/halftone3.cpp:314
+#: src/modules/mod_filter/halftone2.cpp:176
+#: src/modules/mod_filter/halftone3.cpp:333
 #: src/modules/mod_gradient/conicalgradient.cpp:125
 msgid "Symmetric"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:173
-#: src/modules/mod_filter/halftone3.cpp:315
+#: src/modules/mod_filter/halftone2.cpp:177
+#: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:175
-#: src/modules/mod_filter/halftone3.cpp:317
+#: src/modules/mod_filter/halftone2.cpp:179
+#: src/modules/mod_filter/halftone3.cpp:336
 msgid "Diamond"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:176
-#: src/modules/mod_filter/halftone3.cpp:318
+#: src/modules/mod_filter/halftone2.cpp:180
+#: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:58
+#: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:312
+#: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:321
+#: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:329
+#: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:333
+#: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:337
+#: src/modules/mod_filter/halftone3.cpp:356
 msgid " Mask Angle"
 msgstr ""
 
-#: src/modules/mod_filter/lumakey.cpp:58
+#: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
 msgstr ""
 
-#: src/modules/mod_filter/radialblur.cpp:55
+#: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
 msgstr ""
 
@@ -1229,19 +1242,19 @@ msgstr ""
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:62 src/synfig/layer_solidcolor.cpp:57
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:123
+#: src/modules/mod_geometry/checkerboard.cpp:147
 msgid "Color of checkers"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:127
+#: src/modules/mod_geometry/checkerboard.cpp:151
 msgid "Center of the checkers"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:131
+#: src/modules/mod_geometry/checkerboard.cpp:155
 msgid "Size of checkers"
 msgstr ""
 
@@ -1249,54 +1262,54 @@ msgstr ""
 msgid "Circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:134
+#: src/modules/mod_geometry/circle.cpp:152
 msgid "Radius of the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:138 src/synfig/layer_shape.cpp:1206
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
 msgid "Feather"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:140
+#: src/modules/mod_geometry/circle.cpp:158
 msgid "Amount of feather of the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:148
+#: src/modules/mod_geometry/circle.cpp:166
 msgid "Invert the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:152
+#: src/modules/mod_geometry/circle.cpp:170
 msgid "Falloff"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:153
+#: src/modules/mod_geometry/circle.cpp:171
 msgid "Determines the falloff function for the feather"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:155
-#: src/modules/mod_noise/distort.cpp:234 src/modules/mod_noise/noise.cpp:275
-#: src/modules/mod_noise/valuenode_random.cpp:288
-#: src/synfig/layer_bitmap.cpp:173 src/synfig/layer_motionblur.cpp:150
-#: src/synfig/valuenode.cpp:139 src/synfig/valuenode_linear.cpp:146
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:289
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
 msgid "Linear"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:156
+#: src/modules/mod_geometry/circle.cpp:174
 msgid "Squared"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:157
+#: src/modules/mod_geometry/circle.cpp:175
 msgid "Square Root"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:158
+#: src/modules/mod_geometry/circle.cpp:176
 msgid "Sigmond"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:159
-#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:276
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:174
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:290
+#: src/synfig/layer_bitmap.cpp:170
 msgid "Cosine"
 msgstr ""
 
@@ -1304,160 +1317,160 @@ msgstr ""
 msgid "Advanced Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:133
+#: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1125
-#: src/modules/mod_geometry/outline.cpp:817
-#: src/modules/mod_geometry/region.cpp:235
-#: src/modules/mod_gradient/curvegradient.cpp:549
-#: src/modules/mod_particle/plant.cpp:392
+#: src/modules/mod_geometry/advanced_outline.cpp:1136
+#: src/modules/mod_geometry/outline.cpp:826
+#: src/modules/mod_geometry/region.cpp:240
+#: src/modules/mod_gradient/curvegradient.cpp:562
+#: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1129
-#: src/modules/mod_geometry/outline.cpp:831
+#: src/modules/mod_geometry/advanced_outline.cpp:1140
+#: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1130
-#: src/modules/mod_geometry/outline.cpp:832
+#: src/modules/mod_geometry/advanced_outline.cpp:1141
+#: src/modules/mod_geometry/outline.cpp:841
 msgid "Global width of the outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:837
+#: src/modules/mod_geometry/advanced_outline.cpp:1145
+#: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1135
-#: src/modules/mod_geometry/outline.cpp:838
+#: src/modules/mod_geometry/advanced_outline.cpp:1146
+#: src/modules/mod_geometry/outline.cpp:847
 msgid "Value to add to the global width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1138
+#: src/modules/mod_geometry/advanced_outline.cpp:1149
 msgid "Tip Type at Start"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1139
+#: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1141
-#: src/modules/mod_geometry/advanced_outline.cpp:1150
-#: src/synfig/valuenode_composite.cpp:548
+#: src/modules/mod_geometry/advanced_outline.cpp:1152
+#: src/modules/mod_geometry/advanced_outline.cpp:1161
 #: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:587
-#: src/synfig/valuenode_composite.cpp:596
+#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:606
 msgid "Rounded Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1142
-#: src/modules/mod_geometry/advanced_outline.cpp:1151
-#: src/synfig/valuenode_composite.cpp:549
+#: src/modules/mod_geometry/advanced_outline.cpp:1153
+#: src/modules/mod_geometry/advanced_outline.cpp:1162
 #: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:588
-#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:607
 msgid "Squared Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1143
-#: src/modules/mod_geometry/advanced_outline.cpp:1152
-#: src/synfig/valuenode_composite.cpp:550
+#: src/modules/mod_geometry/advanced_outline.cpp:1154
+#: src/modules/mod_geometry/advanced_outline.cpp:1163
 #: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:570
+#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:608
 msgid "Peak Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1144
-#: src/modules/mod_geometry/advanced_outline.cpp:1153
-#: src/synfig/valuenode_composite.cpp:551
+#: src/modules/mod_geometry/advanced_outline.cpp:1155
+#: src/modules/mod_geometry/advanced_outline.cpp:1164
 #: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:590
-#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:571
+#: src/synfig/valuenode_composite.cpp:600
+#: src/synfig/valuenode_composite.cpp:609
 msgid "Flat Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1147
+#: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1148
+#: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1156
+#: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1157
-#: src/modules/mod_geometry/outline.cpp:843
+#: src/modules/mod_geometry/advanced_outline.cpp:1168
+#: src/modules/mod_geometry/outline.cpp:852
 msgid "Determines cusp type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1159
+#: src/modules/mod_geometry/advanced_outline.cpp:1170
 msgid "Sharp"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1160
+#: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1164
+#: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1165
+#: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1168
-#: src/modules/mod_geometry/outline.cpp:859
+#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/outline.cpp:869
 #: src/synfig/valuenode_blinecalctangent.cpp:271
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1169
+#: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
+#: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1175
+#: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1182
+#: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1184
+#: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1187
+#: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1190
+#: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1193
+#: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1196
+#: src/modules/mod_geometry/advanced_outline.cpp:1207
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
@@ -1465,32 +1478,36 @@ msgstr ""
 msgid "Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:183
+#: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:842
+#: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:847
+#: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:848
-#: src/modules/mod_geometry/outline.cpp:853
+#: src/modules/mod_geometry/outline.cpp:857
+#: src/modules/mod_geometry/outline.cpp:862
 msgid "Round off the tip"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:852
+#: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:856
+#: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:860
+#: src/modules/mod_geometry/outline.cpp:866
+msgid "(Currently not used)"
+msgstr ""
+
+#: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
 msgstr ""
 
@@ -1498,11 +1515,11 @@ msgstr ""
 msgid "Rectangle"
 msgstr ""
 
-#: src/modules/mod_geometry/rectangle.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
 msgstr ""
 
-#: src/modules/mod_geometry/rectangle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
 msgstr ""
 
@@ -1514,46 +1531,46 @@ msgstr ""
 msgid "Star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:183
+#: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:184
+#: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190
+#: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:191
+#: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:197
+#: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:129
+#: src/modules/mod_gradient/spiralgradient.cpp:130
 #: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:198
+#: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:203 src/synfig/distance.cpp:251
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
 msgid "Points"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:204
+#: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:208
+#: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:209
+#: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
@@ -1571,20 +1588,20 @@ msgid "Conical Gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
-#: src/modules/mod_gradient/curvegradient.cpp:61
+#: src/modules/mod_gradient/curvegradient.cpp:62
 #: src/modules/mod_gradient/lineargradient.cpp:55
 #: src/modules/mod_gradient/radialgradient.cpp:58
-#: src/modules/mod_gradient/spiralgradient.cpp:57
-#: src/modules/mod_noise/noise.cpp:58
+#: src/modules/mod_gradient/spiralgradient.cpp:58
+#: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
-#: src/modules/mod_gradient/curvegradient.cpp:553
-#: src/modules/mod_gradient/lineargradient.cpp:200
+#: src/modules/mod_gradient/curvegradient.cpp:566
+#: src/modules/mod_gradient/lineargradient.cpp:195
 #: src/modules/mod_gradient/radialgradient.cpp:114
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:260
+#: src/modules/mod_gradient/spiralgradient.cpp:114
+#: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
 msgstr ""
 
@@ -1597,27 +1614,27 @@ msgid "Rotation of the gradient around the center"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
-#: src/modules/mod_gradient/curvegradient.cpp:557
-#: src/modules/mod_gradient/lineargradient.cpp:204
+#: src/modules/mod_gradient/curvegradient.cpp:570
+#: src/modules/mod_gradient/lineargradient.cpp:199
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:60
+#: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:538
-#: src/modules/mod_particle/plant.cpp:399
+#: src/modules/mod_gradient/curvegradient.cpp:551
+#: src/modules/mod_particle/plant.cpp:432
 msgid "Offset for the Vertices List"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:543
+#: src/modules/mod_gradient/curvegradient.cpp:556
 msgid "Global width of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:556
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/curvegradient.cpp:569
+#: src/modules/mod_gradient/lineargradient.cpp:198
 #: src/modules/mod_gradient/radialgradient.cpp:130
 #: src/synfig/valuenode_blinecalctangent.cpp:246
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
@@ -1625,19 +1642,19 @@ msgstr ""
 msgid "Loop"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:560
-#: src/modules/mod_gradient/lineargradient.cpp:207
+#: src/modules/mod_gradient/curvegradient.cpp:573
+#: src/modules/mod_gradient/lineargradient.cpp:202
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:561
-#: src/modules/mod_gradient/lineargradient.cpp:208
+#: src/modules/mod_gradient/curvegradient.cpp:574
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:136
 msgid "When checked the gradient is summetrical at the center"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:564
+#: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
 msgstr ""
 
@@ -1645,11 +1662,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:192
+#: src/modules/mod_gradient/lineargradient.cpp:187
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:196
+#: src/modules/mod_gradient/lineargradient.cpp:191
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1658,23 +1675,23 @@ msgid "Radial Gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:119
 msgid "Center of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:56
+#: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:130
+#: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:135
+#: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:136
+#: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
@@ -1687,13 +1704,15 @@ msgstr ""
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/listimporter.cpp:184 src/synfig/listimporter.cpp:185
+#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
+#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
 msgid "Unable to open "
 msgstr ""
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/listimporter.cpp:191 src/synfig/listimporter.cpp:192
+#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
+#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
 msgid "Unable to get frame from "
 msgstr ""
 
@@ -1731,115 +1750,115 @@ msgstr ""
 msgid "Unable to open pipe to imagemagick's convert utility"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:57
+#: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:217
+#: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:218
+#: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:223
+#: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:226 src/modules/mod_noise/noise.cpp:263
+#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:264
+#: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:230 src/modules/mod_noise/noise.cpp:271
-#: src/modules/mod_noise/valuenode_random.cpp:284
-#: src/synfig/layer_bitmap.cpp:169
+#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
-#: src/synfig/layer_bitmap.cpp:170
+#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
+#: src/synfig/layer_bitmap.cpp:166
 msgid "What type of interpolation to use"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:233 src/modules/mod_noise/noise.cpp:274
-#: src/synfig/layer_bitmap.cpp:172
+#: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
+#: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:277
-#: src/modules/mod_noise/valuenode_random.cpp:290 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_bline.cpp:1001
+#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
+#: src/synfig/valuenode_bline.cpp:1006
 #: src/synfig/valuenode_blinecalctangent.cpp:241
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:237 src/modules/mod_noise/noise.cpp:278
-#: src/modules/mod_noise/valuenode_random.cpp:291
-#: src/synfig/layer_bitmap.cpp:175
+#: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:281
+#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:282
+#: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:244 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:248 src/modules/mod_noise/noise.cpp:289
+#: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:290
+#: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:183
+#: src/modules/mod_noise/valuenode_random.cpp:184
 msgid "Random"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:57
+#: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:268
+#: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:293
+#: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:294
+#: src/modules/mod_noise/noise.cpp:303
 msgid "Uses transparency"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:297
+#: src/modules/mod_noise/noise.cpp:306
 msgid "Super Sampling"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:298
+#: src/modules/mod_noise/noise.cpp:307
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:264
+#: src/modules/mod_noise/valuenode_random.cpp:265
 #: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
 #: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
 #: src/synfig/valuenode_reciprocal.cpp:165
@@ -1848,167 +1867,167 @@ msgstr ""
 msgid "Link"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:270
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:274
-#: src/modules/mod_particle/plant.cpp:450
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:276
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:279
+#: src/modules/mod_noise/valuenode_random.cpp:280
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:281
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:286
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:288
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:296
+#: src/modules/mod_noise/valuenode_random.cpp:297
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:298
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:69
+#: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:404
+#: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:408
+#: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:409
+#: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:413
+#: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:414
+#: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:419
+#: src/modules/mod_particle/plant.cpp:452
 msgid "Tangential Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:420
+#: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:424
+#: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:425
+#: src/modules/mod_particle/plant.cpp:458
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:429
+#: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:430
+#: src/modules/mod_particle/plant.cpp:463
 msgid "Size of the stem"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:435
+#: src/modules/mod_particle/plant.cpp:468
 msgid "Size As Alpha"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:436
+#: src/modules/mod_particle/plant.cpp:469
 msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:440
+#: src/modules/mod_particle/plant.cpp:473
 msgid "Reverse"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:441
+#: src/modules/mod_particle/plant.cpp:474
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:445 src/synfig/valuenode.cpp:170
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
 #: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
 msgid "Step"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:446
+#: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:451
+#: src/modules/mod_particle/plant.cpp:484
 msgid "Used to seed the pseudo-random number generator"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:455
+#: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:456
+#: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:460
+#: src/modules/mod_particle/plant.cpp:493
 msgid "Sprouts"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:461
+#: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:465
+#: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:466
+#: src/modules/mod_particle/plant.cpp:499
 msgid ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:470
+#: src/modules/mod_particle/plant.cpp:503
 msgid "Drag"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:471
+#: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:475
+#: src/modules/mod_particle/plant.cpp:508
 msgid "Use Width"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:476
+#: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
@@ -2017,97 +2036,102 @@ msgstr ""
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:87 src/synfig/importer.cpp:87
+#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
 msgid "Importer::open(): Cannot open empty filename"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:101 src/synfig/importer.cpp:101
+#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
 msgid "Importer::open(): Couldn't find extension"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:112 src/synfig/importer.cpp:112
+#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
 msgid "Importer::open(): Unknown file type -- "
 msgstr ""
 
-#: src/synfig/canvas.cpp:798 src/synfig/canvas.cpp:863
-#: src/synfig/canvas.cpp:886
+#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
+#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+msgid "No images in list"
+msgstr ""
+
+#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
+#: src/synfig/canvas.cpp:927
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:249
+#: src/synfig/distance.cpp:251
 msgid "Units"
 msgstr ""
 
-#: src/synfig/distance.cpp:250
+#: src/synfig/distance.cpp:252
 msgid "Pixels"
 msgstr ""
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:254
 msgid "Inches"
 msgstr ""
 
-#: src/synfig/distance.cpp:253
+#: src/synfig/distance.cpp:255
 msgid "Meters"
 msgstr ""
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:256
 msgid "Millimeters"
 msgstr ""
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:257
 msgid "Centimeters"
 msgstr ""
 
-#: src/synfig/layer.cpp:565 src/synfig/layer_composite.cpp:128
+#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:619
+#: src/synfig/layer.cpp:605
 msgid "Z Depth"
 msgstr ""
 
-#: src/synfig/layer.cpp:621
+#: src/synfig/layer.cpp:607
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:159
+#: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:160
+#: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:164
+#: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:165
+#: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:218
+#: src/synfig/layer_composite.cpp:250
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:221 src/synfig/paramdesc.cpp:62
+#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:222
+#: src/synfig/layer_composite.cpp:254
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:168
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
 #: src/synfig/valuenode_duplicate.cpp:174
 msgid "Duplicate"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:148
+#: src/synfig/layer_duplicate.cpp:151
 msgid "Index"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:149
+#: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
 msgstr ""
 
@@ -2119,156 +2143,156 @@ msgstr ""
 msgid "Motion Blur"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:136
+#: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:137
+#: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:141
+#: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:142
+#: src/synfig/layer_motionblur.cpp:141
 msgid "Multiplies The Number Of Subsamples Rendered"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:146
+#: src/synfig/layer_motionblur.cpp:145
 msgid "Subsampling Type"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:147
+#: src/synfig/layer_motionblur.cpp:146
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:149 src/synfig/valuenode_const.cpp:127
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
 msgid "Constant"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:151
+#: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:155
+#: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:156
+#: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:160
+#: src/synfig/layer_motionblur.cpp:159
 msgid "Subsample End Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:161
+#: src/synfig/layer_motionblur.cpp:160
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:78 src/synfig/layer_pastecanvas.cpp:120
-#: src/synfig/layer_pastecanvas.cpp:121
+#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
+#: src/synfig/layer_pastecanvas.cpp:124
 msgid "Group"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:137
+#: src/synfig/layer_pastecanvas.cpp:140
 msgid "Canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:138
+#: src/synfig/layer_pastecanvas.cpp:141
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:144
 msgid "Zoom"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:142
+#: src/synfig/layer_pastecanvas.cpp:145
 msgid "Size of canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:147
+#: src/synfig/layer_pastecanvas.cpp:152
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:151
+#: src/synfig/layer_pastecanvas.cpp:156
 msgid "Children Lock"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:157
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
+#: src/synfig/layer_pastecanvas.cpp:162
 msgid "Focus Point"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:159
+#: src/synfig/layer_pastecanvas.cpp:165
 msgid "Point to remain fixed when zooming"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:164
+#: src/synfig/layer_pastecanvas.cpp:170
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:165
+#: src/synfig/layer_pastecanvas.cpp:171
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:180
+#: src/synfig/layer_pastecanvas.cpp:186
 msgid "Current Time"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:61
+#: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:187
+#: src/synfig/layer_polygon.cpp:194
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:188
+#: src/synfig/layer_polygon.cpp:195
 msgid "Define the corners of the polygon"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:64
+#: src/synfig/layer_shape.cpp:66
 msgid "Shape"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:65
+#: src/synfig/layer_shape.cpp:67
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1194
+#: src/synfig/layer_shape.cpp:1222
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1203
+#: src/synfig/layer_shape.cpp:1231
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1210
+#: src/synfig/layer_shape.cpp:1238
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1211
+#: src/synfig/layer_shape.cpp:1239
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1220
+#: src/synfig/layer_shape.cpp:1248
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_shape.cpp:1249
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1223
+#: src/synfig/layer_shape.cpp:1251
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1224
+#: src/synfig/layer_shape.cpp:1252
 msgid "Even/Odd"
 msgstr ""
 
@@ -2276,406 +2300,406 @@ msgstr ""
 msgid "Solid Color"
 msgstr ""
 
-#: src/synfig/listimporter.cpp:161 src/synfig/listimporter.cpp:162
-msgid "No images in list"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:142
+#: src/synfig/loadcanvas.cpp:143
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:185
+#: src/synfig/loadcanvas.cpp:186
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:191
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:205
+#: src/synfig/loadcanvas.cpp:206
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:236
+#: src/synfig/loadcanvas.cpp:237
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:469
-#: src/synfig/loadcanvas.cpp:1118
+#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
+#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:473
-#: src/synfig/loadcanvas.cpp:1122
+#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
+#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:484 src/synfig/loadcanvas.cpp:1144
+#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
+#: src/synfig/loadcanvas.cpp:1200
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:508
+#: src/synfig/loadcanvas.cpp:533
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1284
+#: src/synfig/loadcanvas.cpp:1353
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1301
+#: src/synfig/loadcanvas.cpp:1375
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1314
+#: src/synfig/loadcanvas.cpp:1388
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1330
+#: src/synfig/loadcanvas.cpp:1404
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1336 src/synfig/loadcanvas.cpp:1348
+#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1365
+#: src/synfig/loadcanvas.cpp:1439
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1380
+#: src/synfig/loadcanvas.cpp:1455
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1424 src/synfig/loadcanvas.cpp:1443
-#, c-format
-msgid "\"%s\" not a valid value for attribute \"%s\" in <%s>"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:1504
+#: src/synfig/loadcanvas.cpp:1556
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1512
+#: src/synfig/loadcanvas.cpp:1565
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1522
+#: src/synfig/loadcanvas.cpp:1577
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1531
+#: src/synfig/loadcanvas.cpp:1587
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1557 src/synfig/loadcanvas.cpp:1628
+#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1570
+#: src/synfig/loadcanvas.cpp:1625
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1579
+#: src/synfig/loadcanvas.cpp:1634
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1603
+#: src/synfig/loadcanvas.cpp:1658
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1643
+#: src/synfig/loadcanvas.cpp:1698
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1652
+#: src/synfig/loadcanvas.cpp:1707
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1659
+#: src/synfig/loadcanvas.cpp:1714
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1677
+#: src/synfig/loadcanvas.cpp:1732
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1747
+#: src/synfig/loadcanvas.cpp:1811
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1841
-msgid "Unable to create <dynamic_list>"
+#: src/synfig/loadcanvas.cpp:1861
+msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1993
+#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2038
+#: src/synfig/loadcanvas.cpp:1998
+msgid "Unable to create <dynamic_list>"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2220
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2076
+#: src/synfig/loadcanvas.cpp:2283
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2097
+#: src/synfig/loadcanvas.cpp:2304
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2102
+#: src/synfig/loadcanvas.cpp:2310
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2107
+#: src/synfig/loadcanvas.cpp:2316
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2142
+#: src/synfig/loadcanvas.cpp:2373
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2161
+#: src/synfig/loadcanvas.cpp:2392
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2181
+#: src/synfig/loadcanvas.cpp:2415
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2184
+#: src/synfig/loadcanvas.cpp:2418
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2192
+#: src/synfig/loadcanvas.cpp:2426
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2209
+#: src/synfig/loadcanvas.cpp:2443
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2214
+#: src/synfig/loadcanvas.cpp:2448
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2454
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2222
+#: src/synfig/loadcanvas.cpp:2456
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2244
+#: src/synfig/loadcanvas.cpp:2480
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2260
+#: src/synfig/loadcanvas.cpp:2496
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2272 src/synfig/loadcanvas.cpp:2292
+#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2280
+#: src/synfig/loadcanvas.cpp:2516
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2303
+#: src/synfig/loadcanvas.cpp:2539
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2376 src/synfig/loadcanvas.cpp:2384
+#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2470
+#: src/synfig/loadcanvas.cpp:2710
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2478
+#: src/synfig/loadcanvas.cpp:2717
+msgid "Inline canvas cannot have a <bones> section"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2725
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2490
+#: src/synfig/loadcanvas.cpp:2737
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2498
+#: src/synfig/loadcanvas.cpp:2745
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2504
+#: src/synfig/loadcanvas.cpp:2751
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:2763
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2531
+#: src/synfig/loadcanvas.cpp:2778
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2546
+#: src/synfig/loadcanvas.cpp:2793
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2578
+#: src/synfig/loadcanvas.cpp:2828
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580 src/synfig/valuenode.cpp:353
+#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580
+#: src/synfig/loadcanvas.cpp:2830
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2660 src/synfig/loadcanvas.cpp:2716
+#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:102
+#: src/synfig/main.cpp:118
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:107
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:112
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:117
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:122
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:184
+#: src/synfig/main.cpp:207
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:186
+#: src/synfig/main.cpp:209
 msgid "Unable to initialize subsystem \"Module\""
 msgstr ""
 
-#: src/synfig/main.cpp:188
+#: src/synfig/main.cpp:211
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:192
+#: src/synfig/main.cpp:215
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:195
+#: src/synfig/main.cpp:218
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:200
+#: src/synfig/main.cpp:223
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:203
+#: src/synfig/main.cpp:226
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
+#: src/synfig/main.cpp:232
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:212
+#: src/synfig/main.cpp:235
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:219
+#: src/synfig/main.cpp:242
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:222
+#: src/synfig/main.cpp:245
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:230
+#: src/synfig/main.cpp:253
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:267 src/synfig/main.cpp:268
+#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:279
+#: src/synfig/main.cpp:302
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:293 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:360 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:375 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:390
+#: src/synfig/main.cpp:413
 msgid "info"
 msgstr ""
 
@@ -2750,145 +2774,145 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:64 src/synfig/valuenode.cpp:140
-#: src/synfig/valuenode_composite.cpp:437
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
+#: src/synfig/valuenode_composite.cpp:447
 msgid "Composite"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:65
+#: src/synfig/paramdesc.cpp:69
 msgid "Straight"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:66
+#: src/synfig/paramdesc.cpp:70
 msgid "Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:67
+#: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68
+#: src/synfig/paramdesc.cpp:72
 msgid "Behind"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:69
+#: src/synfig/paramdesc.cpp:73
 msgid "Screen"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:70
+#: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:71
+#: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:72
+#: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:73
+#: src/synfig/paramdesc.cpp:77
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:74 src/synfig/valuenode.cpp:157
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
 #: src/synfig/valuenode_add.cpp:190
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:75 src/synfig/valuenode.cpp:147
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
 #: src/synfig/valuenode_subtract.cpp:194
 msgid "Subtract"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:76
+#: src/synfig/paramdesc.cpp:80
 msgid "Difference"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:77
+#: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78
+#: src/synfig/paramdesc.cpp:82
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:80 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
 msgid "Hue"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:81 src/synfig/valuenode_radialcomposite.cpp:260
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
 #: src/synfig/valuenode_radialcomposite.cpp:266
 msgid "Saturation"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:82
+#: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:83
+#: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84
+#: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85
+#: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
 msgstr ""
 
-#: src/synfig/render.cpp:246 src/synfig/render.cpp:247
-#: src/synfig/render.cpp:301 src/synfig/render.cpp:302
-#: src/synfig/render.cpp:536 src/synfig/render.cpp:537
-#: src/synfig/render.cpp:563 src/synfig/render.cpp:564
+#: src/synfig/render.cpp:248 src/synfig/render.cpp:249
+#: src/synfig/render.cpp:303 src/synfig/render.cpp:304
+#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
+#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:290
+#: src/synfig/savecanvas.cpp:359
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:543
+#: src/synfig/savecanvas.cpp:674 src/synfig/savecanvas.cpp:699
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:185
+#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
 #: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:281
 msgid "Target initialization failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:146
+#: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:155 src/synfig/target_scanline.cpp:258
-#: src/synfig/target_scanline.cpp:405
+#: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:260
+#: src/synfig/target_scanline.cpp:407
 msgid "Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:162
+#: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:169 src/synfig/target_cairo_tile.cpp:248
-#: src/synfig/target_scanline.cpp:418 src/synfig/target_tile.cpp:396
+#: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
+#: src/synfig/target_scanline.cpp:420 src/synfig/target_tile.cpp:398
 msgid "Caught string :"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:174 src/synfig/target_cairo_tile.cpp:253
-#: src/synfig/target_scanline.cpp:423 src/synfig/target_tile.cpp:401
+#: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
+#: src/synfig/target_scanline.cpp:425 src/synfig/target_tile.cpp:403
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:179 src/synfig/target_cairo_tile.cpp:258
-#: src/synfig/target_scanline.cpp:428 src/synfig/target_tile.cpp:406
+#: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
+#: src/synfig/target_scanline.cpp:430 src/synfig/target_tile.cpp:408
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:190
+#: src/synfig/target_cairo.cpp:201
 msgid "Cairo Surface bad status"
 msgstr ""
 
@@ -2896,24 +2920,24 @@ msgstr ""
 msgid "Bad Tile Size"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:142 src/synfig/target_cairo_tile.cpp:240
-#: src/synfig/target_scanline.cpp:203 src/synfig/target_scanline.cpp:249
-#: src/synfig/target_scanline.cpp:348 src/synfig/target_scanline.cpp:396
+#: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
+#: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:251
+#: src/synfig/target_scanline.cpp:350 src/synfig/target_scanline.cpp:398
 #: src/synfig/target_tile.cpp:225
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:150
+#: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:156 src/synfig/target_tile.cpp:179
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:179
 #: src/synfig/target_tile.cpp:245
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:211
+#: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
 msgstr ""
 
@@ -2937,277 +2961,317 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:276 src/synfig/value.cpp:308 src/synfig/value.cpp:360
+#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
 msgid "bool"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:277 src/synfig/value.cpp:310 src/synfig/value.cpp:358
+#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
 msgid "integer"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:278 src/synfig/value.cpp:312
+#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
 msgid "angle"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:279 src/synfig/value.cpp:314 src/synfig/value.cpp:352
+#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
 msgid "time"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:280 src/synfig/value.cpp:316 src/synfig/value.cpp:355
+#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
 msgid "real"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:281 src/synfig/value.cpp:318
+#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
 msgid "vector"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:282 src/synfig/value.cpp:320
+#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
 msgid "color"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:283 src/synfig/value.cpp:322
+#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
 msgid "segment"
 msgstr ""
 
-#: src/synfig/value.cpp:284
+#: src/synfig/value.cpp:378
 msgid "bline_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:285 src/synfig/value.cpp:326
+#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
+msgid "matrix"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
+msgid "bone_weight_pair"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
 msgid "width_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:286 src/synfig/value.cpp:328
+#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
 msgid "dash_item"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:287 src/synfig/value.cpp:330
+#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
 msgid "list"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:288 src/synfig/value.cpp:332
+#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
 msgid "canvas"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:289 src/synfig/value.cpp:334
+#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
 msgid "string"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:290 src/synfig/value.cpp:336
+#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
 msgid "gradient"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:291 src/synfig/value.cpp:338
+#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
+msgid "bone_object"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
+msgid "bone_valuenode"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
 msgid "nil"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:324
+#: src/synfig/value.cpp:422
 msgid "spline_point"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:141 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:142 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:144 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:146 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_dynamiclist.cpp:755
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
 #: src/synfig/valuenode_switch.cpp:163
 msgid "Switch"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164
+#: src/synfig/valuenode.cpp:170
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165
+#: src/synfig/valuenode.cpp:171
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
 msgid "Integer"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:176 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177
+#: src/synfig/valuenode.cpp:183
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:178
+#: src/synfig/valuenode.cpp:184
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_real.cpp:161
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
 #: src/synfig/valuenode_realstring.cpp:175
 msgid "Real"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:189
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:190
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185
+#: src/synfig/valuenode.cpp:191
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187
+#: src/synfig/valuenode.cpp:192
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:199
+msgid "Bone Influence"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:200
+msgid "Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:201
+msgid "Root Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:202
+msgid "Static List"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:203
+msgid "Bone Weight Pair"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:206
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:233
+#: src/synfig/valuenode.cpp:241
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:513
+#: src/synfig/valuenode.cpp:540
 msgid "Placeholder"
 msgstr ""
 
-#: src/synfig/valuenode.h:61
+#: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
@@ -3274,32 +3338,32 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:355 src/synfig/valuenode_animated.cpp:379
-#: src/synfig/valuenode_animated.cpp:703 src/synfig/valuenode_animated.cpp:721
-#: src/synfig/valuenode_animated.cpp:801 src/synfig/valuenode_animated.cpp:820
+#: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
+#: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
+#: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1134
+#: src/synfig/valuenode_animated.cpp:1173
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1169
+#: src/synfig/valuenode_animated.cpp:1208
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:977 src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
 #: src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:980 src/synfig/valuenode_dynamiclist.cpp:664
+#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
 #: src/synfig/valuenode_wplist.cpp:339
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_bline.cpp:1023
+#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
@@ -3319,7 +3383,7 @@ msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:584
 #: src/synfig/valuenode_gradientrotate.cpp:169
 #: src/synfig/valuenode_linear.cpp:213
 msgid "Offset"
@@ -3373,190 +3437,186 @@ msgstr ""
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:219
+#: src/synfig/valuenode_composite.cpp:229
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:464
+#: src/synfig/valuenode_composite.cpp:474
 msgid "Red"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:465
+#: src/synfig/valuenode_composite.cpp:475
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:468
+#: src/synfig/valuenode_composite.cpp:478
 msgid "Green"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:469
+#: src/synfig/valuenode_composite.cpp:479
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:472
+#: src/synfig/valuenode_composite.cpp:482
 msgid "Blue"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:473
+#: src/synfig/valuenode_composite.cpp:483
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:476
+#: src/synfig/valuenode_composite.cpp:486
 msgid "Alpha"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:477
+#: src/synfig/valuenode_composite.cpp:487
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:492
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:493
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
-#: src/synfig/valuenode_composite.cpp:526
+#: src/synfig/valuenode_composite.cpp:496
+#: src/synfig/valuenode_composite.cpp:536
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:497
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:490
+#: src/synfig/valuenode_composite.cpp:500
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:491
+#: src/synfig/valuenode_composite.cpp:501
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:494
-#: src/synfig/valuenode_composite.cpp:530
+#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:540
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:495
+#: src/synfig/valuenode_composite.cpp:505
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:510
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:511
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:514
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:515
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:520
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:521
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:525
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:519
+#: src/synfig/valuenode_composite.cpp:529
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:522
+#: src/synfig/valuenode_composite.cpp:532
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:523
+#: src/synfig/valuenode_composite.cpp:533
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:527
+#: src/synfig/valuenode_composite.cpp:537
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:531
+#: src/synfig/valuenode_composite.cpp:541
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:547
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:551
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:544
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_composite.cpp:554
+#: src/synfig/valuenode_composite.cpp:594
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:545
 #: src/synfig/valuenode_composite.cpp:555
+#: src/synfig/valuenode_composite.cpp:565
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
 #: src/synfig/valuenode_composite.cpp:557
+#: src/synfig/valuenode_composite.cpp:567
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:593
+#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:603
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:574
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:575
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:578
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:579
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:585
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:589
 #: src/synfig/valuenode_timedswap.cpp:260
 msgid "Length"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:580
+#: src/synfig/valuenode_composite.cpp:590
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:595
+#: src/synfig/valuenode_composite.cpp:604
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_const.cpp:127
-msgid "Static"
-msgstr ""
-
 #: src/synfig/valuenode_compare.cpp:168
 msgid "The left side of the comparison"
 msgstr ""
@@ -3621,12 +3681,12 @@ msgstr ""
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:655
+#: src/synfig/valuenode_dynamiclist.cpp:661
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:703
-#: src/synfig/valuenode_dynamiclist.cpp:957
+#: src/synfig/valuenode_dynamiclist.cpp:709
+#: src/synfig/valuenode_dynamiclist.cpp:964
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3950,7 +4010,7 @@ msgid "Intersection"
 msgstr ""
 
 #: src/synfig/valuenode_step.cpp:213
-msgid "Value that define whether the step is centerd on the value [0,1]"
+msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
@@ -4083,195 +4143,195 @@ msgstr ""
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:133
+#: src/tool/main.cpp:140
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:169
+#: src/tool/main.cpp:176
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:171
+#: src/tool/main.cpp:178
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:172
+#: src/tool/main.cpp:179
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:173
+#: src/tool/main.cpp:180
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:174
+#: src/tool/main.cpp:181
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:175
+#: src/tool/main.cpp:182
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:176
+#: src/tool/main.cpp:183
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:184
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:178
+#: src/tool/main.cpp:185
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:186
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:187
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:188
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:189
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:190
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:191
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:185 src/tool/main.cpp:186
+#: src/tool/main.cpp:192 src/tool/main.cpp:193
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:194
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:195
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:196
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:197
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:193
+#: src/tool/main.cpp:200
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:202
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:203
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:204
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:200
+#: src/tool/main.cpp:207
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:202
+#: src/tool/main.cpp:209
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:210
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:204 src/tool/main.cpp:230
+#: src/tool/main.cpp:211 src/tool/main.cpp:237
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:207
+#: src/tool/main.cpp:214
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:216
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:210
+#: src/tool/main.cpp:217
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:213
+#: src/tool/main.cpp:220
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:215
+#: src/tool/main.cpp:222
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:223
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:217
+#: src/tool/main.cpp:224
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:225
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:226
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:220
+#: src/tool/main.cpp:227
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:221
+#: src/tool/main.cpp:228
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:229
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:223
+#: src/tool/main.cpp:230
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:231
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:232
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:241
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:236
+#: src/tool/main.cpp:243
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:237
+#: src/tool/main.cpp:244
 msgid "Test signal implementation"
 msgstr ""
 
@@ -4335,157 +4395,157 @@ msgstr ""
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:113
+#: src/tool/optionsprocessor.cpp:114
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:115
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:131
+#: src/tool/optionsprocessor.cpp:132
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:146
+#: src/tool/optionsprocessor.cpp:147
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:224
+#: src/tool/optionsprocessor.cpp:225
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:226
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:227
+#: src/tool/optionsprocessor.cpp:228
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:232
+#: src/tool/optionsprocessor.cpp:233
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:234
+#: src/tool/optionsprocessor.cpp:235
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:236
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:239
+#: src/tool/optionsprocessor.cpp:240
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:243
+#: src/tool/optionsprocessor.cpp:244
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:309
+#: src/tool/optionsprocessor.cpp:310
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:316
+#: src/tool/optionsprocessor.cpp:317
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:324
+#: src/tool/optionsprocessor.cpp:325
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:334
+#: src/tool/optionsprocessor.cpp:335
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:343
+#: src/tool/optionsprocessor.cpp:344
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:352
+#: src/tool/optionsprocessor.cpp:353
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:379
+#: src/tool/optionsprocessor.cpp:380
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:385
+#: src/tool/optionsprocessor.cpp:386
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:400
+#: src/tool/optionsprocessor.cpp:401
 #, c-format
 msgid "Resolution set to %dx%d"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:417
+#: src/tool/optionsprocessor.cpp:418
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:437
+#: src/tool/optionsprocessor.cpp:438
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:440
+#: src/tool/optionsprocessor.cpp:441
 #, c-format
 msgid "Target video codec set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:446
+#: src/tool/optionsprocessor.cpp:447
 #, c-format
 msgid "Target bitrate set to %dk"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:452
+#: src/tool/optionsprocessor.cpp:453
 #, c-format
 msgid "Output file sequence separator set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:487
+#: src/tool/optionsprocessor.cpp:488
 #, c-format
 msgid "Unable to load '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:494
+#: src/tool/optionsprocessor.cpp:495
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:499
+#: src/tool/optionsprocessor.cpp:500
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:513
+#: src/tool/optionsprocessor.cpp:514
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:532
+#: src/tool/optionsprocessor.cpp:533
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:539
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:557
+#: src/tool/optionsprocessor.cpp:558
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:571
+#: src/tool/optionsprocessor.cpp:572
 msgid "Appended contents of "
 msgstr ""
 
diff --git a/po/pl_PL.gmo b/po/pl_PL.gmo
index 3d4f95a..7c8d829 100644
Binary files a/po/pl_PL.gmo and b/po/pl_PL.gmo differ
diff --git a/po/pl_PL.po b/po/pl_PL.po
index 2aec251..3671daf 100644
--- a/po/pl_PL.po
+++ b/po/pl_PL.po
@@ -1,21 +1,23 @@
-# translation of pl_PL.po to Polish (Poland)
-# Polish translations for Synfig Core package
-# Copyright (C) 2012 Synfig Contributors
+# Translation file for Synfig Core package.
+# Copyright (C) 2013 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
 # darkhog <rave002 at o2.pl>, 2011
-#   <rave002 at o2.pl>, 2011
+# Michał Szymański <szamanx01 at gmail.com>, 2012-2013
+# wozniax1 <wozniax1 at wp.pl>, 2013
+# darkhog <rave002 at o2.pl>, 2011
 # Michał Szymański <szamanx01 at gmail.com>, 2013
 # Michał Szymański <szamanx01 at gmail.com>, 2012
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2013-05-09 18:34+0200\n"
-"PO-Revision-Date: 2013-05-02 12:39+0000\n"
-"Last-Translator: genete <genetita at gmail.com>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
+"POT-Creation-Date: 2013-10-25 17:57+0700\n"
+"PO-Revision-Date: 2013-10-22 19:59+0000\n"
+"Last-Translator: Michał Szymański <szamanx01 at gmail.com>\n"
+"Language-Team: Polish (Poland) (http://www.transifex.com/projects/p/synfig/"
+"language/pl_PL/)\n"
 "Language: pl_PL\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -23,119 +25,119 @@ msgstr ""
 "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
 "|| n%100>=20) ? 1 : 2);\n"
 
-#: src/modules/mod_example/filledrect.cpp:58
+#: src/modules/mod_example/filledrect.cpp:59
 msgid "Filled Rectangle"
 msgstr "Wypełniony prostokąt"
 
-#: src/modules/mod_example/filledrect.cpp:59
+#: src/modules/mod_example/filledrect.cpp:60
 #: src/modules/mod_example/metaballs.cpp:58
 #: src/modules/mod_example/simplecircle.cpp:58
 msgid "Example"
 msgstr "Przykład"
 
-#: src/modules/mod_example/filledrect.cpp:120
+#: src/modules/mod_example/filledrect.cpp:131
 #: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:523
-#: src/modules/lyr_std/shade.cpp:564
-#: src/modules/mod_geometry/checkerboard.cpp:122
-#: src/modules/mod_geometry/circle.cpp:128
-#: src/modules/mod_geometry/rectangle.cpp:125 src/synfig/layer_shape.cpp:1193
-#: src/synfig/layer_solidcolor.cpp:102 src/synfig/paramdesc.cpp:79
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:620
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
 msgid "Color"
 msgstr "Kolor"
 
-#: src/modules/mod_example/filledrect.cpp:121
+#: src/modules/mod_example/filledrect.cpp:132
 #: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:129
-#: src/modules/mod_geometry/rectangle.cpp:126
-#: src/synfig/layer_solidcolor.cpp:103
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
 msgid "Fill color of the layer"
-msgstr "Kolor wypełnienia warstwy"
+msgstr "Wypełnij kolorem warstwy"
 
-#: src/modules/mod_example/filledrect.cpp:125
-#: src/modules/mod_geometry/rectangle.cpp:130
-#: src/modules/mod_gradient/lineargradient.cpp:190
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:185
 msgid "Point 1"
 msgstr "Punkt 1"
 
-#: src/modules/mod_example/filledrect.cpp:126
-#: src/modules/mod_geometry/rectangle.cpp:132
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
 msgid "First corner of the rectangle"
 msgstr "Pierwszy róg prostokąta"
 
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_geometry/rectangle.cpp:136
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:190
 msgid "Point 2"
 msgstr "Punkt 2"
 
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_geometry/rectangle.cpp:137
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
 msgid "Second corner of the rectangle"
 msgstr "Drugi róg prostokąta"
 
-#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_example/filledrect.cpp:147
 msgid "Feather X"
-msgstr "Upierzenie X"
+msgstr "Rozmycie krawędzi X"
 
-#: src/modules/mod_example/filledrect.cpp:140
+#: src/modules/mod_example/filledrect.cpp:152
 msgid "Feather Y"
-msgstr "Upierzenie Y"
+msgstr "Rozmycie krawędzi Y"
 
-#: src/modules/mod_example/filledrect.cpp:144 src/modules/lyr_std/bevel.cpp:68
-#: src/modules/mod_geometry/advanced_outline.cpp:1161
+#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
 msgid "Bevel"
 msgstr "Obwódka"
 
-#: src/modules/mod_example/filledrect.cpp:145
+#: src/modules/mod_example/filledrect.cpp:158
 msgid "Use Bevel for the corners"
 msgstr "Użyj Obwódki dla rogów"
 
-#: src/modules/mod_example/filledrect.cpp:149
+#: src/modules/mod_example/filledrect.cpp:163
 msgid "Keep Bevel Circular"
-msgstr "Utrzymuj okrągłą Obwódkę"
+msgstr "Utrzymuj zaokrągloną obwódkę"
 
-#: src/modules/mod_example/filledrect.cpp:150
+#: src/modules/mod_example/filledrect.cpp:164
 msgid "When checked the bevel is circular"
-msgstr "Jeśli zaznaczone, obwódka jest okrągła"
+msgstr "Po zaznaczeniu obwódka jest zaokrąglona"
 
 #: src/modules/mod_example/metaballs.cpp:57
 msgid "Metaballs"
 msgstr "Metaballe"
 
-#: src/modules/mod_example/metaballs.cpp:135
+#: src/modules/mod_example/metaballs.cpp:129
 #: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:552
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:194
 #: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:112
-#: src/modules/mod_noise/noise.cpp:259 src/modules/mod_particle/plant.cpp:403
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
 #: src/synfig/valuenode_gradientrotate.cpp:164
 #: src/synfig/valuenode_repeat_gradient.cpp:203
 msgid "Gradient"
-msgstr "gradient"
+msgstr "Gradient"
 
-#: src/modules/mod_example/metaballs.cpp:139
+#: src/modules/mod_example/metaballs.cpp:133
 msgid "Balls"
 msgstr "Kule"
 
-#: src/modules/mod_example/metaballs.cpp:143
+#: src/modules/mod_example/metaballs.cpp:137
 msgid "Radii"
-msgstr "Promień"
+msgstr "Promienie"
 
-#: src/modules/mod_example/metaballs.cpp:147
+#: src/modules/mod_example/metaballs.cpp:141
 msgid "Weights"
 msgstr "Wagi"
 
-#: src/modules/mod_example/metaballs.cpp:151
+#: src/modules/mod_example/metaballs.cpp:145
 msgid "Gradient Left"
 msgstr "Gradient lewy"
 
-#: src/modules/mod_example/metaballs.cpp:155
+#: src/modules/mod_example/metaballs.cpp:149
 msgid "Gradient Right"
 msgstr "Gradient prawy"
 
-#: src/modules/mod_example/metaballs.cpp:159
+#: src/modules/mod_example/metaballs.cpp:153
 msgid "Positive Only"
 msgstr "Tylko pozytywne"
 
@@ -147,21 +149,21 @@ msgstr "Prosty okrąg"
 #: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
 #: src/modules/mod_gradient/conicalgradient.cpp:114
 #: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:117
+#: src/modules/mod_gradient/spiralgradient.cpp:118
 msgid "Center"
 msgstr "Środek"
 
 #: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:144
+#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
 msgid "Center of the circle"
-msgstr "Środek koła"
+msgstr "Środek okręgu"
 
 #: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:151
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:132
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
 #: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:122
-#: src/modules/mod_noise/valuenode_random.cpp:269
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/valuenode_radialcomposite.cpp:272
 msgid "Radius"
 msgstr "Promień"
@@ -169,20 +171,20 @@ msgstr "Promień"
 #: src/modules/mod_example/simplecircle.cpp:118
 #: src/modules/lyr_std/twirl.cpp:118
 #: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:124
 msgid "This is the radius of the circle"
 msgstr "To jest promień koła"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
-#: src/modules/lyr_freetype/lyr_freetype.cpp:517
+#: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Tekst"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
 #: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
-#: src/modules/lyr_std/supersample.cpp:57 src/modules/lyr_std/timeloop.cpp:60
-#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:70
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:79
+#: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
+#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
 msgid "Other"
 msgstr "Inne"
 
@@ -190,309 +192,310 @@ msgstr "Inne"
 msgid "Text Layer"
 msgstr "Warstwa tekstowa"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:390
+#: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
 msgstr "inicjalizacja nie powiodła się"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:409
+#: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
 msgstr "Pusty zestaw czcionek"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:518
+#: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
-msgstr "Tekst do wyrenderowania"
+msgstr "Tekst do renderowania"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:524
+#: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "Kolor tekstu"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:528
+#: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
 msgstr "Czcionka"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:533
+#: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
 msgstr "Styl"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:535
-#: src/modules/lyr_freetype/lyr_freetype.cpp:545
+#: src/modules/lyr_freetype/lyr_freetype.cpp:587
+#: src/modules/lyr_freetype/lyr_freetype.cpp:597
 msgid "Normal"
 msgstr "Narmalny"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:536
+#: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
 msgstr "Pogrubiony"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:537
+#: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
 msgstr "Kursywa"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:541
+#: src/modules/lyr_freetype/lyr_freetype.cpp:593
 msgid "Weight"
-msgstr "Waga"
+msgstr "Wytłuszczenie"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:543
+#: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
-msgstr "Ultralekka"
+msgstr "Bardzo słabe"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:544
+#: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
-msgstr "lekka"
+msgstr "Słabe"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:546
+#: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
-msgstr "Gruba"
+msgstr "Silne"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:547
+#: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
-msgstr "Ultragruba"
+msgstr "Bardzo silne"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:548
+#: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
-msgstr "Ciężka"
+msgstr "Ciężkie"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:551
+#: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
-msgstr "Odstępy między znakami"
+msgstr "Poziome odstępy między znakami"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:552
+#: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
-msgstr "Opisuje jak blisko są znaki."
+msgstr "Określa odstęp pomiędzy znakami"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:556
+#: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
-msgstr "Odstępy między wierszami"
+msgstr "Pionowe odstępy między znakami"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:557
+#: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
-msgstr "Opisuje jak blisko są linie."
+msgstr "Określa odstęp pomiędzy wierszami tekstu"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:561
-#: src/modules/lyr_std/shade.cpp:570 src/modules/lyr_std/xorpattern.cpp:129
-#: src/modules/mod_filter/blur.cpp:372
+#: src/modules/lyr_freetype/lyr_freetype.cpp:613
+#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:413
 #: src/modules/mod_filter/radialblur.cpp:115
-#: src/modules/mod_geometry/checkerboard.cpp:130
-#: src/modules/mod_noise/distort.cpp:222 src/modules/mod_noise/noise.cpp:267
+#: src/modules/mod_geometry/checkerboard.cpp:154
+#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
 msgstr "Rozmiar"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:562
+#: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
 msgstr "Rozmiar tekstu"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:569
+#: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
 msgstr "Orientacja"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:570
+#: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
 msgstr "Orientacja tekstu"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/insideout.cpp:143 src/modules/lyr_std/rotate.cpp:116
-#: src/modules/lyr_std/shade.cpp:567 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:389
-#: src/modules/lyr_std/xorpattern.cpp:125 src/modules/lyr_std/zoom.cpp:104
+#: src/modules/lyr_freetype/lyr_freetype.cpp:627
+#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
+#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
+#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
-#: src/modules/mod_geometry/checkerboard.cpp:126
-#: src/modules/mod_geometry/circle.cpp:143
-#: src/modules/mod_gradient/curvegradient.cpp:537
-#: src/modules/mod_particle/plant.cpp:398 src/synfig/layer_pastecanvas.cpp:133
-#: src/synfig/layer_shape.cpp:1197 src/synfig/valuenode_composite.cpp:518
+#: src/modules/mod_geometry/checkerboard.cpp:150
+#: src/modules/mod_geometry/circle.cpp:161
+#: src/modules/mod_gradient/curvegradient.cpp:550
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
+#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
 msgid "Origin"
 msgstr "Punkt pochodzenia"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:576
+#: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
 msgstr "Pozycja tekstu"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:580
+#: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
 msgstr "Czcionka"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:581
+#: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
-msgstr "Nazwa pliku czcionki"
+msgstr "Nazwa wykorzystywanej czcionki"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:588
+#: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
 msgstr "Kerning"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:589
+#: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
-msgstr "Włącza/wyłącza kerning czcionki (jeśli czcionka go obsługuje)"
+msgstr "Włącza/wyłącza kerning (jeśli czcionka go obsługuje)"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
 msgstr "Wyostrz krawędzie"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:594
+#: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
-msgstr "Wyłącz to jeśli będziesz animował tekst"
+msgstr "Wyłącz tę opcję jeśli będziesz animował tekst"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:597
-#: src/modules/lyr_std/shade.cpp:587 src/modules/mod_geometry/circle.cpp:147
-#: src/synfig/layer_shape.cpp:1200
+#: src/modules/lyr_freetype/lyr_freetype.cpp:649
+#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1228
 msgid "Invert"
 msgstr "Odwróć"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:654
+#: src/modules/lyr_freetype/lyr_freetype.cpp:714
 msgid "No face loaded, no text will be rendered."
-msgstr "Czcionka nie załadowana, tekst nie zostanie wyrenderowany"
+msgstr ""
+"Tekst nie zostanie wyrenderowany.Powód:  czcionka nie została załadowana."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:680
+#: src/modules/lyr_freetype/lyr_freetype.cpp:740
 msgid "Text too small, no text will be rendered."
-msgstr "Tekst zbyt mały, nie zostanie wyrenderowany"
+msgstr "Tekst nie zostanie wyrenderowany. Powód: zbyt mały rozmiar."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:704
+#: src/modules/lyr_freetype/lyr_freetype.cpp:764
 msgid "Unable to set face size."
 msgstr "Nie można ustawić rozmiaru czcionki"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:747
+#: src/modules/lyr_freetype/lyr_freetype.cpp:807
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr "Zła sekwencja multibajtowa, czy lokalizacja jest ustawiona?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:754
+#: src/modules/lyr_freetype/lyr_freetype.cpp:814
 msgid "Can't parse multibyte character.\n"
 msgstr "Nie można sparsować znaku wielobajtowego\n"
 
-#: src/modules/lyr_std/bevel.cpp:69 src/modules/lyr_std/shade.cpp:68
+#: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "Stylizuj"
 
-#: src/modules/lyr_std/bevel.cpp:570 src/modules/lyr_std/shade.cpp:576
-#: src/modules/mod_filter/blur.cpp:376
-#: src/modules/mod_filter/halftone2.cpp:170
+#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
+#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Typ"
 
-#: src/modules/lyr_std/bevel.cpp:571 src/modules/lyr_std/shade.cpp:577
-#: src/modules/mod_filter/blur.cpp:377
+#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
+#: src/modules/mod_filter/blur.cpp:418
 msgid "Type of blur to use"
 msgstr "Typ rozmycia"
 
-#: src/modules/lyr_std/bevel.cpp:573 src/modules/lyr_std/shade.cpp:579
-#: src/modules/mod_filter/blur.cpp:379 src/synfig/layer_shape.cpp:1213
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
 msgid "Box Blur"
 msgstr "Rozmycie pudełkowe"
 
-#: src/modules/lyr_std/bevel.cpp:574 src/modules/lyr_std/shade.cpp:580
-#: src/modules/mod_filter/blur.cpp:380 src/synfig/layer_shape.cpp:1214
+#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
+#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
 msgid "Fast Gaussian Blur"
 msgstr "Szybkie rozmycia Gaussa"
 
-#: src/modules/lyr_std/bevel.cpp:575 src/modules/lyr_std/shade.cpp:581
-#: src/modules/mod_filter/blur.cpp:381 src/synfig/layer_shape.cpp:1215
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
 msgid "Cross-Hatch Blur"
 msgstr "Rozmycie Cross-Hatch"
 
-#: src/modules/lyr_std/bevel.cpp:576 src/modules/lyr_std/shade.cpp:582
-#: src/modules/mod_filter/blur.cpp:382 src/synfig/layer_shape.cpp:1216
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
 msgid "Gaussian Blur"
 msgstr "Rozmycie Gaussa"
 
-#: src/modules/lyr_std/bevel.cpp:577 src/modules/lyr_std/shade.cpp:583
-#: src/modules/mod_filter/blur.cpp:383 src/synfig/layer_shape.cpp:1217
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
 msgid "Disc Blur"
 msgstr "Rozmycie dyskowe"
 
-#: src/modules/lyr_std/bevel.cpp:581
+#: src/modules/lyr_std/bevel.cpp:635
 msgid "Hi-Color"
-msgstr "Hi-Color"
+msgstr "Kolor początkowy"
 
-#: src/modules/lyr_std/bevel.cpp:584
+#: src/modules/lyr_std/bevel.cpp:638
 msgid "Lo-Color"
-msgstr "Lo-Color"
+msgstr "Kolor końcowy"
 
-#: src/modules/lyr_std/bevel.cpp:587
+#: src/modules/lyr_std/bevel.cpp:641
 msgid "Light Angle"
 msgstr "Mały kąt"
 
-#: src/modules/lyr_std/bevel.cpp:591
+#: src/modules/lyr_std/bevel.cpp:645
 msgid "Depth of Bevel"
 msgstr "Głębia Obwódki"
 
-#: src/modules/lyr_std/bevel.cpp:595
+#: src/modules/lyr_std/bevel.cpp:649
 msgid "Softness"
 msgstr "Miękkość"
 
-#: src/modules/lyr_std/bevel.cpp:598
+#: src/modules/lyr_std/bevel.cpp:652
 msgid "Use Luma"
-msgstr "Użyj Lumy"
+msgstr "Luma"
 
-#: src/modules/lyr_std/bevel.cpp:601
+#: src/modules/lyr_std/bevel.cpp:655
 msgid "Solid"
 msgstr "Jednolite"
 
-#: src/modules/lyr_std/booleancurve.cpp:104
+#: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
 msgstr "Wybrany Region"
 
-#: src/modules/lyr_std/booleancurve.cpp:105
+#: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
-msgstr "Wybierz regiony do połączenia"
+msgstr "Regiony do połączenia"
 
 #: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
 msgid "Clamp"
-msgstr "Blokada"
+msgstr "Ograniczenie kolorów"
 
-#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:56
-#: src/modules/mod_filter/halftone2.cpp:59
-#: src/modules/mod_filter/halftone3.cpp:59
-#: src/modules/mod_filter/lumakey.cpp:59
+#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:57
+#: src/modules/mod_filter/halftone2.cpp:60
+#: src/modules/mod_filter/halftone3.cpp:60
+#: src/modules/mod_filter/lumakey.cpp:60
 msgid "Filters"
 msgstr "Filtry"
 
-#: src/modules/lyr_std/clamp.cpp:158
+#: src/modules/lyr_std/clamp.cpp:162
 msgid "Invert Negative"
 msgstr "Odwróć negatyw"
 
-#: src/modules/lyr_std/clamp.cpp:162
+#: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
-msgstr "Zablokuj sufit"
+msgstr "Wykorzystaj wartość maksymalna"
 
-#: src/modules/lyr_std/clamp.cpp:163
+#: src/modules/lyr_std/clamp.cpp:167
 msgid "When checked the Ceiling value is used"
-msgstr "Jeśli zaznaczone, wartość zaokrąglona w górę jest używana"
+msgstr "Wartość maksymalna Zostanie wykorzystana"
 
-#: src/modules/lyr_std/clamp.cpp:167
+#: src/modules/lyr_std/clamp.cpp:171
 msgid "Ceiling"
-msgstr "Sufit"
+msgstr "Wartość maksymalna"
 
-#: src/modules/lyr_std/clamp.cpp:168
+#: src/modules/lyr_std/clamp.cpp:172
 msgid "Upper boundary of the clamping"
-msgstr "Górny limit blokady"
+msgstr "Górna wartość ograniczenia"
 
-#: src/modules/lyr_std/clamp.cpp:172
+#: src/modules/lyr_std/clamp.cpp:176
 msgid "Floor"
-msgstr "Podłoga"
+msgstr "Wartość minimalna"
 
-#: src/modules/lyr_std/clamp.cpp:173
+#: src/modules/lyr_std/clamp.cpp:177
 msgid "Lower boundary of the clamping"
-msgstr "Dolny limit blokady"
+msgstr "Dolna wartość ograniczenia"
 
 #: src/modules/lyr_std/import.cpp:59
 msgid "Import Image"
 msgstr "Importuj obraz"
 
-#: src/modules/lyr_std/import.cpp:151 src/modules/lyr_std/import.cpp:201
+#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
-msgstr "Nazwa pliku wygląda na aktualnie ustawioną na \"%s\" (%s)"
+msgstr "Nazwa pliku już ustawiona na \"%s\" (%s)"
 
-#: src/modules/lyr_std/import.cpp:283
+#: src/modules/lyr_std/import.cpp:293
 msgid "Filename"
 msgstr "Nazwa pliku"
 
-#: src/modules/lyr_std/import.cpp:284
+#: src/modules/lyr_std/import.cpp:294
 msgid "File to import"
 msgstr "Plik do importu"
 
-#: src/modules/lyr_std/import.cpp:288 src/synfig/layer_pastecanvas.cpp:146
+#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
 msgid "Time Offset"
 msgstr "Przesunięcie w czasie"
 
-#: src/modules/lyr_std/import.cpp:289
+#: src/modules/lyr_std/import.cpp:299
 msgid "Time Offset to apply to the imported file"
 msgstr "Przesunięcie w czasie dla importowanego pliku"
 
@@ -501,165 +504,165 @@ msgid "Inside Out"
 msgstr "Na lewą stronę"
 
 #: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:75
 #: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:57 src/modules/lyr_std/curvewarp.cpp:56
-#: src/modules/mod_noise/distort.cpp:58
+#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
+#: src/modules/mod_noise/distort.cpp:59
 msgid "Distortions"
 msgstr "Zniekształcenia"
 
-#: src/modules/lyr_std/insideout.cpp:144
+#: src/modules/lyr_std/insideout.cpp:163
 msgid "Defines the where the center will be"
-msgstr "Definiuje gdzie będzie środek"
+msgstr "Definiuje położenie środka "
 
 #: src/modules/lyr_std/julia.cpp:56
 msgid "Julia Set"
-msgstr "Zestaw Julii"
+msgstr "Zbiór Julii"
 
 #: src/modules/lyr_std/julia.cpp:57 src/modules/lyr_std/mandelbrot.cpp:57
 msgid "Fractals"
 msgstr "Fraktale"
 
-#: src/modules/lyr_std/julia.cpp:309
+#: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
-msgstr "Kolor środka"
+msgstr "Wewnętrzny kolor"
 
-#: src/modules/lyr_std/julia.cpp:310
+#: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
-msgstr "Kolor Zestawu"
+msgstr "Kolor zbioru"
 
-#: src/modules/lyr_std/julia.cpp:313
+#: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
 msgstr "Kolor zewnętrzny"
 
-#: src/modules/lyr_std/julia.cpp:314
+#: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
 msgstr "Kolor na zewnątrz zestawu"
 
-#: src/modules/lyr_std/julia.cpp:317
+#: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
 msgstr "Przesunięcie koloru"
 
-#: src/modules/lyr_std/julia.cpp:320 src/modules/lyr_std/mandelbrot.cpp:223
+#: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
 msgstr "Iteracje"
 
-#: src/modules/lyr_std/julia.cpp:323
+#: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
-msgstr "Punkt ziarna"
+msgstr "Punkt centralny"
 
-#: src/modules/lyr_std/julia.cpp:326 src/modules/lyr_std/mandelbrot.cpp:226
+#: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
-msgstr "Wartość bazowa kaucji (?)"
+msgstr "Wartość granicy wartości"
 
-#: src/modules/lyr_std/julia.cpp:330 src/modules/lyr_std/mandelbrot.cpp:236
+#: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
 msgstr "Zniekształć środek"
 
-#: src/modules/lyr_std/julia.cpp:333 src/modules/lyr_std/mandelbrot.cpp:240
+#: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
 msgstr "Wycieniuj środek"
 
-#: src/modules/lyr_std/julia.cpp:336 src/modules/lyr_std/mandelbrot.cpp:244
+#: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
 msgstr "Jednolity środek"
 
-#: src/modules/lyr_std/julia.cpp:339 src/modules/lyr_std/mandelbrot.cpp:248
+#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
 msgstr "Odwróć środek"
 
-#: src/modules/lyr_std/julia.cpp:342
+#: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
 msgstr "Kolor środka"
 
-#: src/modules/lyr_std/julia.cpp:345 src/modules/lyr_std/mandelbrot.cpp:265
+#: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
 msgstr "Zniekształć na zewnątrz"
 
-#: src/modules/lyr_std/julia.cpp:348 src/modules/lyr_std/mandelbrot.cpp:269
+#: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
 msgstr "Wycieniuj na zewnątrz"
 
-#: src/modules/lyr_std/julia.cpp:351 src/modules/lyr_std/mandelbrot.cpp:273
+#: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
-msgstr "Jednolitość zewnętrznej części"
+msgstr "Jednolity na zewnątrz"
 
-#: src/modules/lyr_std/julia.cpp:354 src/modules/lyr_std/mandelbrot.cpp:277
+#: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
 msgstr "Odwróć na zewnątrz"
 
-#: src/modules/lyr_std/julia.cpp:357
+#: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
-msgstr "Kolor zewnętrznej części"
+msgstr "Kolor na zewnątrz"
 
-#: src/modules/lyr_std/julia.cpp:361
+#: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
 msgstr "Cykl koloru"
 
-#: src/modules/lyr_std/julia.cpp:364 src/modules/lyr_std/mandelbrot.cpp:285
+#: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
 msgstr "Wygładź zewnętrzną część"
 
-#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:286
+#: src/modules/lyr_std/julia.cpp:391 src/modules/lyr_std/mandelbrot.cpp:282
 msgid "Smooth the coloration outside the set"
-msgstr "Wygładź kolory na zewnątrz zetawu"
+msgstr "Wygładź kolory na zewnątrz zbioru"
 
-#: src/modules/lyr_std/julia.cpp:368 src/modules/lyr_std/mandelbrot.cpp:230
+#: src/modules/lyr_std/julia.cpp:394 src/modules/lyr_std/mandelbrot.cpp:226
 msgid "Break Set"
-msgstr "Przełam zestaw"
+msgstr "Przełam zbiór"
 
-#: src/modules/lyr_std/julia.cpp:369 src/modules/lyr_std/mandelbrot.cpp:231
+#: src/modules/lyr_std/julia.cpp:395 src/modules/lyr_std/mandelbrot.cpp:227
 msgid "Modify equation to achieve interesting results"
 msgstr "Zmodyfikuj równanie dla uzyskania ciekawych wyników"
 
 #: src/modules/lyr_std/mandelbrot.cpp:56
 msgid "Mandelbrot Set"
-msgstr "Zestaw Mandelbrota"
+msgstr "Zbiór Mandelbrota"
 
+#: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
 #: src/modules/lyr_std/mandelbrot.cpp:241
 #: src/modules/lyr_std/mandelbrot.cpp:245
 #: src/modules/lyr_std/mandelbrot.cpp:249
 #: src/modules/lyr_std/mandelbrot.cpp:253
 #: src/modules/lyr_std/mandelbrot.cpp:257
-#: src/modules/lyr_std/mandelbrot.cpp:261
 msgid "Inside"
 msgstr "Środek"
 
-#: src/modules/lyr_std/mandelbrot.cpp:252
+#: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
 msgstr "Gradient środka"
 
-#: src/modules/lyr_std/mandelbrot.cpp:256
+#: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
 msgstr "Przesunięcie środka"
 
-#: src/modules/lyr_std/mandelbrot.cpp:260
+#: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
 msgstr "Zapętl środek"
 
+#: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
 #: src/modules/lyr_std/mandelbrot.cpp:270
 #: src/modules/lyr_std/mandelbrot.cpp:274
 #: src/modules/lyr_std/mandelbrot.cpp:278
-#: src/modules/lyr_std/mandelbrot.cpp:282
+#: src/modules/lyr_std/mandelbrot.cpp:283
 #: src/modules/lyr_std/mandelbrot.cpp:287
 #: src/modules/lyr_std/mandelbrot.cpp:291
-#: src/modules/lyr_std/mandelbrot.cpp:295
 msgid "Outside"
 msgstr "Na zewnątrz"
 
-#: src/modules/lyr_std/mandelbrot.cpp:281
+#: src/modules/lyr_std/mandelbrot.cpp:277
 msgid "Gradient outside"
 msgstr "Gradient zewnętrznej części"
 
-#: src/modules/lyr_std/mandelbrot.cpp:290
+#: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
 msgstr "Przesunięcie zewnętrznej części"
 
-#: src/modules/lyr_std/mandelbrot.cpp:294
+#: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
 msgstr "Skala zewnętrznej części"
 
@@ -672,16 +675,16 @@ msgstr "Obrót"
 msgid "Transform"
 msgstr "Transformacja"
 
-#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/translate.cpp:101
+#: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:134
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr "Punkt \"pochodzenia\" obiektu"
 
-#: src/modules/lyr_std/rotate.cpp:121
-#: src/modules/lyr_std/sphere_distort.cpp:158
+#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:217
+#: src/synfig/layer_composite.cpp:249
 #: src/synfig/valuenode_blinecalctangent.cpp:251
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
@@ -690,184 +693,185 @@ msgstr "Punkt \"pochodzenia\" obiektu"
 msgid "Amount"
 msgstr "Ilość"
 
-#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
 msgstr "Ilość obrotu"
 
-#: src/modules/lyr_std/shade.cpp:67
+#: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
 msgstr "Zacienienie"
 
-#: src/modules/lyr_std/shade.cpp:571
+#: src/modules/lyr_std/shade.cpp:627
 msgid "Size of Shade"
 msgstr "Rozmiar zacienienia"
 
-#: src/modules/lyr_std/sphere_distort.cpp:73
-#: src/modules/lyr_std/sphere_distort.cpp:172
+#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:167
 msgid "Spherize"
-msgstr "Sferuj"
+msgstr "Sferyczne"
 
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/synfig/valuenode_composite.cpp:536
+#: src/modules/lyr_std/sphere_distort.cpp:141
+#: src/synfig/valuenode_composite.cpp:546
 msgid "Position"
 msgstr "Pozycja"
 
-#: src/modules/lyr_std/sphere_distort.cpp:147
+#: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
-msgstr "Gdzie jest środek zniekształcenia sferycznego"
+msgstr "Centrum zniekształcenia sferycznego"
 
-#: src/modules/lyr_std/sphere_distort.cpp:154
+#: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr "Rozmiar zniekształcenia sferycznego"
 
-#: src/modules/lyr_std/sphere_distort.cpp:160
+#: src/modules/lyr_std/sphere_distort.cpp:155
 msgid "The distortion intensity (negative values inverts effect)"
 msgstr "Intensywność zniekształcenia (ujemne wartości odwracają efekt)"
 
-#: src/modules/lyr_std/sphere_distort.cpp:164 src/modules/lyr_std/warp.cpp:409
+#: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
-msgstr "Klip"
+msgstr "Przytnij"
 
-#: src/modules/lyr_std/sphere_distort.cpp:165
+#: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
-msgstr "Jeśli zaznaczone, obszar poza promieniem nie jest zniekształcany"
+msgstr "Zaznaczone: obszar poza promieniem nie jest zniekształcany"
 
-#: src/modules/lyr_std/sphere_distort.cpp:169
+#: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
 msgstr "Typ zniekształcenia"
 
-#: src/modules/lyr_std/sphere_distort.cpp:170
+#: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
 msgstr "Kierunek zniekształcenia"
 
-#: src/modules/lyr_std/sphere_distort.cpp:173
+#: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
-msgstr "Pionowy pasek"
+msgstr "W pionie"
 
-#: src/modules/lyr_std/sphere_distort.cpp:174
+#: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
-msgstr "Poziomy pasek"
+msgstr "W poziomie"
 
 #: src/modules/lyr_std/stretch.cpp:57
 msgid "Stretch"
-msgstr "Rozciągnij"
+msgstr "Rozciąganie"
 
 #: src/modules/lyr_std/stretch.cpp:106
 msgid "Size of the stretch relative to its Center"
-msgstr "Rozmiar rozciągnięcie w relacji do środka"
+msgstr "Rozciągnięcie w relacji do środka"
 
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
-msgstr "Gdzie zniekształcenie rozciągające jest wyśrodkowane"
+msgstr "Punkt centralny rozciągnięcia"
 
 #: src/modules/lyr_std/stroboscope.cpp:60
 msgid "Stroboscope"
 msgstr "Stroboskop"
 
-#: src/modules/lyr_std/stroboscope.cpp:102
+#: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
 msgstr "Częstotliwość"
 
-#: src/modules/lyr_std/stroboscope.cpp:103
+#: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
-msgstr "Częstotliwość w obrotach na sekundę"
+msgstr "Częstotliwość w migotaniach na sekundę"
 
-#: src/modules/lyr_std/supersample.cpp:56
+#: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
-msgstr "Super sampel"
+msgstr "Próbkowanie"
 
-#: src/modules/lyr_std/supersample.cpp:129
+#: src/modules/lyr_std/supersample.cpp:146
 msgid "Unable to create SurfaceTarget"
-msgstr "Nie można utworzyć SurfaceTargetu"
+msgstr "Nie można utworzyć celu"
 
-#: src/modules/lyr_std/supersample.cpp:290
-#: src/modules/lyr_std/curvewarp.cpp:393
-#: src/modules/mod_gradient/curvegradient.cpp:542
-#: src/synfig/valuenode_composite.cpp:514
-#: src/synfig/valuenode_composite.cpp:540
+#: src/modules/lyr_std/supersample.cpp:337
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_composite.cpp:524
+#: src/synfig/valuenode_composite.cpp:550
 #: src/synfig/valuenode_realstring.cpp:180
 #: src/synfig/valuenode_repeat_gradient.cpp:213
 #: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
 msgid "Width"
 msgstr "Szerokość"
 
-#: src/modules/lyr_std/supersample.cpp:291
+#: src/modules/lyr_std/supersample.cpp:338
 msgid "Width of sample area (In pixels)"
-msgstr "Szerokość obszaru sampla (w pikselach)"
+msgstr "Szerokość obszaru próbkowania (w pikselach)"
 
-#: src/modules/lyr_std/supersample.cpp:294 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
 msgid "Height"
 msgstr "Wysokość"
 
-#: src/modules/lyr_std/supersample.cpp:295
+#: src/modules/lyr_std/supersample.cpp:342
 msgid "Height of sample area (In pixels)"
-msgstr "Wysokość "
+msgstr "Wysokość  obszaru próbkowania (w pikselach)"
 
-#: src/modules/lyr_std/supersample.cpp:298
+#: src/modules/lyr_std/supersample.cpp:345
 msgid "Use Parametric"
-msgstr "Użyj parametrycznego"
+msgstr "Parametryczny renderer"
 
-#: src/modules/lyr_std/supersample.cpp:299
+#: src/modules/lyr_std/supersample.cpp:346
 msgid "Use the Parametric Renderer"
-msgstr "Użyj Parametrycznego Renderera"
+msgstr "Użyj parametrycznego renderera zamiast domyślnego"
 
-#: src/modules/lyr_std/supersample.cpp:302
+#: src/modules/lyr_std/supersample.cpp:349
 msgid "Be Alpha Safe"
-msgstr "Badź bezpieczny dla Alfy"
+msgstr "Uwzględnij alfę"
 
-#: src/modules/lyr_std/supersample.cpp:303
+#: src/modules/lyr_std/supersample.cpp:350
 msgid "Avoid alpha artifacts when checked"
-msgstr "Unikaj artefaktów kanału alfa jeśli zaznaczone"
+msgstr "Zaznaczone: Unikaj artefaktów kanału alfa"
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:166
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr "Pętla czasu"
 
-#: src/modules/lyr_std/timeloop.cpp:124 src/synfig/valuenode_timeloop.cpp:179
+#: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
-msgstr "Połącz czas"
+msgstr "Czas początkowy"
 
-#: src/modules/lyr_std/timeloop.cpp:125
+#: src/modules/lyr_std/timeloop.cpp:134
 msgid "Start time of the loop for the cycled context"
-msgstr "Czas startowy pętli dla ciągu kontekstu"
+msgstr "Czas od którego pętla ma się rozpocząć wewnątrz obiektu"
 
-#: src/modules/lyr_std/timeloop.cpp:129 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr "Czas lokalny"
 
-#: src/modules/lyr_std/timeloop.cpp:130 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr "Czas startu pętli wynikowej"
 
-#: src/modules/lyr_std/timeloop.cpp:134 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr "Czas trwania"
 
-#: src/modules/lyr_std/timeloop.cpp:135 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
 msgid "Lenght of the loop"
-msgstr "Czas pętli"
+msgstr "Czas pętli wewnątrz obiektu"
 
-#: src/modules/lyr_std/timeloop.cpp:139
+#: src/modules/lyr_std/timeloop.cpp:148
 msgid "Only For Positive Duration"
 msgstr "Tylko dla dodatniego czasu trwania"
 
-#: src/modules/lyr_std/timeloop.cpp:140
+#: src/modules/lyr_std/timeloop.cpp:149
 msgid "When checked will loop only positive durations"
-msgstr "Gdy zaznaczone zapętli wyłącznie dodatnie czasy trwania"
+msgstr ""
+"Zaznaczone: pętla jest pomijana przy wartościach ujemnych czasu trwania"
 
-#: src/modules/lyr_std/timeloop.cpp:144
+#: src/modules/lyr_std/timeloop.cpp:153
 msgid "Symmetrical"
-msgstr "Symetryczny"
+msgstr "Symetryczna"
 
-#: src/modules/lyr_std/timeloop.cpp:145
+#: src/modules/lyr_std/timeloop.cpp:154
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr "Gdy zaznaczone, pętle są dublowane wokół czasu lokalnego"
 
 #: src/modules/lyr_std/translate.cpp:55
 msgid "Translate"
-msgstr "Przetłumacz"
+msgstr "Przenieś"
 
 #: src/modules/lyr_std/twirl.cpp:56
 msgid "Twirl"
@@ -883,137 +887,137 @@ msgstr "Liczba rotacji efektu wiru"
 
 #: src/modules/lyr_std/twirl.cpp:131
 msgid "When checked, distorts inside the circle"
-msgstr "Gdy zaznaczony, rozprasza wnętrze okręgu"
+msgstr "Efekt wewnątrz okręgu"
 
 #: src/modules/lyr_std/twirl.cpp:136
 msgid "When checked, distorts outside the circle"
-msgstr "Gdy zaznaczony, rozprasza na zewnątrz okręgu"
+msgstr "Efekt na zewnątrz okręgu"
 
-#: src/modules/lyr_std/warp.cpp:56
+#: src/modules/lyr_std/warp.cpp:57
 msgid "Warp"
-msgstr ""
+msgstr "Zniekształć"
 
-#: src/modules/lyr_std/warp.cpp:374
+#: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
-msgstr "Źródło TL"
+msgstr "Źródło LG"
 
-#: src/modules/lyr_std/warp.cpp:376
+#: src/modules/lyr_std/warp.cpp:382
 msgid "Top Left corner of the source to warp"
-msgstr ""
+msgstr "Górny lewy róg źródła zniekształcenia"
 
-#: src/modules/lyr_std/warp.cpp:380
+#: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:381
+#: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:385
+#: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:387
+#: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
-msgstr ""
+msgstr "Lewy górny róg celu efektu"
 
-#: src/modules/lyr_std/warp.cpp:391
+#: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:393
+#: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
-msgstr ""
+msgstr "Prawy górny róg celu efektu"
 
-#: src/modules/lyr_std/warp.cpp:397
+#: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:399
+#: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
-msgstr ""
+msgstr "Prawy dolny róg celu efektu"
 
-#: src/modules/lyr_std/warp.cpp:403
+#: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:405
+#: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
-msgstr ""
+msgstr "Lewy dolny róg celu efektu"
 
-#: src/modules/lyr_std/warp.cpp:413
+#: src/modules/lyr_std/warp.cpp:419
 msgid "Horizon"
 msgstr "Horyzont"
 
-#: src/modules/lyr_std/warp.cpp:414
+#: src/modules/lyr_std/warp.cpp:420
 msgid "Height that determines the horizon in perspectives"
-msgstr "Wysokość determinująca horyzont w perspektywach"
+msgstr "Określa zasięg efektu"
 
-#: src/modules/lyr_std/curvewarp.cpp:55
+#: src/modules/lyr_std/curvewarp.cpp:56
 msgid "Curve Warp"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:390
-msgid "Position of the source line"
-msgstr "Pozycja linii źródłowej"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:395
+#: src/modules/lyr_std/curvewarp.cpp:404
 msgid "How much is expanded the result perpendicular to the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:407
 msgid "Start Point"
-msgstr "Punkt startowy"
+msgstr "Punkt początkowy"
 
-#: src/modules/lyr_std/curvewarp.cpp:400
+#: src/modules/lyr_std/curvewarp.cpp:409
 msgid "First point of the source line"
-msgstr "Pierwszy punkt linii źródłowej"
+msgstr "Początkowy punkt linii źródłowej"
 
-#: src/modules/lyr_std/curvewarp.cpp:403
+#: src/modules/lyr_std/curvewarp.cpp:412
 msgid "End Point"
 msgstr "Punkt końcowy"
 
-#: src/modules/lyr_std/curvewarp.cpp:404
+#: src/modules/lyr_std/curvewarp.cpp:413
 msgid "Final point of the source line"
 msgstr "Punkt końcowy linii źródłowej"
 
-#: src/modules/lyr_std/curvewarp.cpp:407
-#: src/modules/mod_geometry/advanced_outline.cpp:1123
-#: src/modules/mod_geometry/outline.cpp:814
-#: src/modules/mod_geometry/region.cpp:233
-#: src/modules/mod_gradient/curvegradient.cpp:546
-#: src/modules/mod_particle/plant.cpp:391
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
 msgid "Vertices"
 msgstr "Wierzchołki"
 
-#: src/modules/lyr_std/curvewarp.cpp:410
+#: src/modules/lyr_std/curvewarp.cpp:419
 msgid "List of Spline Points where the source line is curved to"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:413
-#: src/modules/mod_geometry/advanced_outline.cpp:1178
-#: src/modules/mod_gradient/curvegradient.cpp:567
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
 msgid "Fast"
 msgstr "Szybko"
 
-#: src/modules/lyr_std/curvewarp.cpp:414
-#: src/modules/mod_gradient/curvegradient.cpp:568
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
 msgid "When checked, renders quickly but with artifacts"
-msgstr "Gdy zaznaczone, renderuje szybko lecz z artefaktami"
+msgstr "Renderuje przebiega szybciej lecz mogą wystąpić artefakty"
 
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
 msgstr "Wzór XOR"
 
-#: src/modules/lyr_std/xorpattern.cpp:126
+#: src/modules/lyr_std/xorpattern.cpp:130
 msgid "Center of the pattern"
 msgstr "Centrum wzoru"
 
-#: src/modules/lyr_std/xorpattern.cpp:130
+#: src/modules/lyr_std/xorpattern.cpp:134
 msgid "Size of the pattern"
 msgstr "Rozmiar wzoru"
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:143
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
 #: src/synfig/valuenode_blinecalctangent.cpp:261
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
 #: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
@@ -1024,7 +1028,7 @@ msgstr ""
 msgid "Amount to scale to"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:105
+#: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
 msgstr ""
 
@@ -1042,22 +1046,22 @@ msgstr "%s nie jest formatem BMP"
 #: src/modules/mod_bmp/mptr_bmp.cpp:150
 #, c-format
 msgid "Failure while reading BITMAPFILEHEADER from %s"
-msgstr "Błąd przy czytaniu BITMAPFILEHEADER z %s"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:158
 #, c-format
 msgid "Failure while reading BITMAPINFOHEADER from %s"
-msgstr "Błąd przy czytaniu BITMAPINFOHEADER z %s"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:168
 #, c-format
 msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
-msgstr "Zły BITMAPFILEHEADER w %s.(bfOffsetBits=%d, powinien być %d)"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:176
 #, c-format
 msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
-msgstr "Zły BITMAPINFOHEADER w %s.(biSize=%d, powinien być 40)"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
 msgid "Reading compressed bitmaps is not supported"
@@ -1066,7 +1070,7 @@ msgstr "Czytanie skompresowanych map bitowych nie jest wspierane"
 #: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
-msgstr "Niewspierana głąbia bitów (bit_count=%d, powinien być 24 lub 32)"
+msgstr "Niewspierana głębia bitów (bit_count=%d, powinien być 24 lub 32)"
 
 #: src/modules/mod_bmp/trgt_bmp.cpp:184
 msgid " (animated)"
@@ -1092,128 +1096,143 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:201
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:208
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:218
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:272
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-msgid "Unable to open pipe to ffmpeg"
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:214
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no pipe)"
+msgstr "Nie można otworzyć pliku"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:221
+msgid "Unable to open pipe to ffmpeg (pid == -1)"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:68
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:231
+msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:285
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (exec failed)"
+msgstr "Nie można otworzyć pliku"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:303
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no file)"
+msgstr "Nie można otworzyć pliku"
+
+#: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
 msgstr "Rozmycie"
 
-#: src/modules/mod_filter/blur.cpp:69 src/modules/mod_filter/radialblur.cpp:56
+#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
 #: src/synfig/layer_motionblur.cpp:57
 msgid "Blurs"
 msgstr "Rozmycia"
 
-#: src/modules/mod_filter/blur.cpp:373
+#: src/modules/mod_filter/blur.cpp:414
 msgid "Size of Blur"
 msgstr "Rozmiar rozmycia"
 
-#: src/modules/mod_filter/colorcorrect.cpp:55
+#: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
 msgstr "Korekta koloru"
 
-#: src/modules/mod_filter/colorcorrect.cpp:211
+#: src/modules/mod_filter/colorcorrect.cpp:217
 msgid "Hue Adjust"
 msgstr "Dopasowanie barwy"
 
-#: src/modules/mod_filter/colorcorrect.cpp:215
+#: src/modules/mod_filter/colorcorrect.cpp:221
 msgid "Brightness"
 msgstr "Jasność"
 
-#: src/modules/mod_filter/colorcorrect.cpp:219
+#: src/modules/mod_filter/colorcorrect.cpp:225
 msgid "Contrast"
 msgstr "Kontrast"
 
-#: src/modules/mod_filter/colorcorrect.cpp:223
+#: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:227 src/synfig/layer_bitmap.cpp:179
+#: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
 msgstr "Dopasowanie gamma "
 
-#: src/modules/mod_filter/halftone2.cpp:58
+#: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:151
+#: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
 msgstr "Źródło maski"
 
-#: src/modules/mod_filter/halftone2.cpp:155
+#: src/modules/mod_filter/halftone2.cpp:159
 msgid "Mask Angle"
 msgstr "Nachylenie maski"
 
-#: src/modules/mod_filter/halftone2.cpp:159
-#: src/modules/mod_filter/halftone3.cpp:309
+#: src/modules/mod_filter/halftone2.cpp:163
+#: src/modules/mod_filter/halftone3.cpp:328
 msgid "Mask Size"
 msgstr "Rozmiar maski"
 
-#: src/modules/mod_filter/halftone2.cpp:164
+#: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
 msgstr "Jasny kolor"
 
-#: src/modules/mod_filter/halftone2.cpp:167
+#: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
 msgstr "Ciemny kolor"
 
-#: src/modules/mod_filter/halftone2.cpp:172
-#: src/modules/mod_filter/halftone3.cpp:314
+#: src/modules/mod_filter/halftone2.cpp:176
+#: src/modules/mod_filter/halftone3.cpp:333
 #: src/modules/mod_gradient/conicalgradient.cpp:125
 msgid "Symmetric"
 msgstr "Symetryczny"
 
-#: src/modules/mod_filter/halftone2.cpp:173
-#: src/modules/mod_filter/halftone3.cpp:315
+#: src/modules/mod_filter/halftone2.cpp:177
+#: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
 msgstr "Jasny na ciemnym"
 
-#: src/modules/mod_filter/halftone2.cpp:175
-#: src/modules/mod_filter/halftone3.cpp:317
+#: src/modules/mod_filter/halftone2.cpp:179
+#: src/modules/mod_filter/halftone3.cpp:336
 msgid "Diamond"
-msgstr ""
+msgstr "Diament"
 
-#: src/modules/mod_filter/halftone2.cpp:176
-#: src/modules/mod_filter/halftone3.cpp:318
+#: src/modules/mod_filter/halftone2.cpp:180
+#: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:58
+#: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:312
+#: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
 msgstr "Typ"
 
-#: src/modules/mod_filter/halftone3.cpp:321
+#: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:329
+#: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
 msgstr "Kolor"
 
-#: src/modules/mod_filter/halftone3.cpp:333
+#: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
 msgstr "Źródło maski"
 
-#: src/modules/mod_filter/halftone3.cpp:337
+#: src/modules/mod_filter/halftone3.cpp:356
 msgid " Mask Angle"
 msgstr "Nachylenie maski"
 
-#: src/modules/mod_filter/lumakey.cpp:58
+#: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
 msgstr ""
 
-#: src/modules/mod_filter/radialblur.cpp:55
+#: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
-msgstr ""
+msgstr "Okrężne rozmycie"
 
 #: src/modules/mod_filter/radialblur.cpp:116
 msgid "Size of blur"
@@ -1233,280 +1252,284 @@ msgstr ""
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:62 src/synfig/layer_solidcolor.cpp:57
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
-msgstr ""
+msgstr "Geometria"
 
-#: src/modules/mod_geometry/checkerboard.cpp:123
+#: src/modules/mod_geometry/checkerboard.cpp:147
 msgid "Color of checkers"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:127
+#: src/modules/mod_geometry/checkerboard.cpp:151
 msgid "Center of the checkers"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:131
+#: src/modules/mod_geometry/checkerboard.cpp:155
 msgid "Size of checkers"
 msgstr ""
 
 #: src/modules/mod_geometry/circle.cpp:56
 msgid "Circle"
-msgstr ""
+msgstr "Okrąg"
 
-#: src/modules/mod_geometry/circle.cpp:134
+#: src/modules/mod_geometry/circle.cpp:152
 msgid "Radius of the circle"
-msgstr ""
+msgstr "Promień okręgu"
 
-#: src/modules/mod_geometry/circle.cpp:138 src/synfig/layer_shape.cpp:1206
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
 msgid "Feather"
-msgstr ""
+msgstr "Rozmycie krawędzi"
 
-#: src/modules/mod_geometry/circle.cpp:140
+#: src/modules/mod_geometry/circle.cpp:158
 msgid "Amount of feather of the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:148
+#: src/modules/mod_geometry/circle.cpp:166
 msgid "Invert the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:152
+#: src/modules/mod_geometry/circle.cpp:170
 msgid "Falloff"
-msgstr ""
+msgstr "Funkcja rozmycia"
 
-#: src/modules/mod_geometry/circle.cpp:153
+#: src/modules/mod_geometry/circle.cpp:171
 msgid "Determines the falloff function for the feather"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:155
-#: src/modules/mod_noise/distort.cpp:234 src/modules/mod_noise/noise.cpp:275
-#: src/modules/mod_noise/valuenode_random.cpp:288
-#: src/synfig/layer_bitmap.cpp:173 src/synfig/layer_motionblur.cpp:150
-#: src/synfig/valuenode.cpp:139 src/synfig/valuenode_linear.cpp:146
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:289
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
 msgid "Linear"
-msgstr ""
+msgstr "Liniowa"
 
-#: src/modules/mod_geometry/circle.cpp:156
+#: src/modules/mod_geometry/circle.cpp:174
 msgid "Squared"
-msgstr ""
+msgstr "Kwadratowa"
 
-#: src/modules/mod_geometry/circle.cpp:157
+#: src/modules/mod_geometry/circle.cpp:175
 msgid "Square Root"
-msgstr ""
+msgstr "Pierwiastka kwadratowego"
 
-#: src/modules/mod_geometry/circle.cpp:158
+#: src/modules/mod_geometry/circle.cpp:176
 msgid "Sigmond"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:159
-#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:276
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:174
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:290
+#: src/synfig/layer_bitmap.cpp:170
 msgid "Cosine"
-msgstr ""
+msgstr "Cosinus"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:67
 msgid "Advanced Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:133
+#: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1125
-#: src/modules/mod_geometry/outline.cpp:817
-#: src/modules/mod_geometry/region.cpp:235
-#: src/modules/mod_gradient/curvegradient.cpp:549
-#: src/modules/mod_particle/plant.cpp:392
+#: src/modules/mod_geometry/advanced_outline.cpp:1136
+#: src/modules/mod_geometry/outline.cpp:826
+#: src/modules/mod_geometry/region.cpp:240
+#: src/modules/mod_gradient/curvegradient.cpp:562
+#: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1129
-#: src/modules/mod_geometry/outline.cpp:831
+#: src/modules/mod_geometry/advanced_outline.cpp:1140
+#: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
-msgstr ""
+msgstr "Szerokość konturu"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1130
-#: src/modules/mod_geometry/outline.cpp:832
+#: src/modules/mod_geometry/advanced_outline.cpp:1141
+#: src/modules/mod_geometry/outline.cpp:841
 msgid "Global width of the outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:837
+#: src/modules/mod_geometry/advanced_outline.cpp:1145
+#: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1135
-#: src/modules/mod_geometry/outline.cpp:838
+#: src/modules/mod_geometry/advanced_outline.cpp:1146
+#: src/modules/mod_geometry/outline.cpp:847
 msgid "Value to add to the global width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1138
+#: src/modules/mod_geometry/advanced_outline.cpp:1149
 msgid "Tip Type at Start"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1139
+#: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1141
-#: src/modules/mod_geometry/advanced_outline.cpp:1150
-#: src/synfig/valuenode_composite.cpp:548
+#: src/modules/mod_geometry/advanced_outline.cpp:1152
+#: src/modules/mod_geometry/advanced_outline.cpp:1161
 #: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:587
-#: src/synfig/valuenode_composite.cpp:596
+#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:606
 msgid "Rounded Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1142
-#: src/modules/mod_geometry/advanced_outline.cpp:1151
-#: src/synfig/valuenode_composite.cpp:549
+#: src/modules/mod_geometry/advanced_outline.cpp:1153
+#: src/modules/mod_geometry/advanced_outline.cpp:1162
 #: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:588
-#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:607
 msgid "Squared Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1143
-#: src/modules/mod_geometry/advanced_outline.cpp:1152
-#: src/synfig/valuenode_composite.cpp:550
+#: src/modules/mod_geometry/advanced_outline.cpp:1154
+#: src/modules/mod_geometry/advanced_outline.cpp:1163
 #: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:570
+#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:608
 msgid "Peak Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1144
-#: src/modules/mod_geometry/advanced_outline.cpp:1153
-#: src/synfig/valuenode_composite.cpp:551
+#: src/modules/mod_geometry/advanced_outline.cpp:1155
+#: src/modules/mod_geometry/advanced_outline.cpp:1164
 #: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:590
-#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:571
+#: src/synfig/valuenode_composite.cpp:600
+#: src/synfig/valuenode_composite.cpp:609
 msgid "Flat Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1147
+#: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1148
+#: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1156
+#: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1157
-#: src/modules/mod_geometry/outline.cpp:843
+#: src/modules/mod_geometry/advanced_outline.cpp:1168
+#: src/modules/mod_geometry/outline.cpp:852
 msgid "Determines cusp type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1159
+#: src/modules/mod_geometry/advanced_outline.cpp:1170
 msgid "Sharp"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1160
+#: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1164
+#: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1165
+#: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1168
-#: src/modules/mod_geometry/outline.cpp:859
+#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/outline.cpp:869
 #: src/synfig/valuenode_blinecalctangent.cpp:271
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1169
+#: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
+#: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1175
+#: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1182
+#: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1184
+#: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1187
+#: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1190
+#: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1193
+#: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1196
+#: src/modules/mod_geometry/advanced_outline.cpp:1207
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
-msgstr ""
+msgstr "Kontur"
 
-#: src/modules/mod_geometry/outline.cpp:183
+#: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
-msgstr ""
+msgstr "Brak wierzchołków wewnątrz konturu"
 
-#: src/modules/mod_geometry/outline.cpp:842
+#: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:847
+#: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:848
-#: src/modules/mod_geometry/outline.cpp:853
+#: src/modules/mod_geometry/outline.cpp:857
+#: src/modules/mod_geometry/outline.cpp:862
 msgid "Round off the tip"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:852
+#: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
-msgstr ""
+msgstr "Zaokrąglony koniec"
 
-#: src/modules/mod_geometry/outline.cpp:856
+#: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:860
+#: src/modules/mod_geometry/outline.cpp:866
+msgid "(Currently not used)"
+msgstr ""
+
+#: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
 msgstr ""
 
 #: src/modules/mod_geometry/rectangle.cpp:59
 msgid "Rectangle"
-msgstr ""
+msgstr "Prostokąt"
 
-#: src/modules/mod_geometry/rectangle.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
 msgstr ""
 
-#: src/modules/mod_geometry/rectangle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
 msgstr ""
 
@@ -1518,46 +1541,46 @@ msgstr ""
 msgid "Star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:183
+#: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:184
+#: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190
+#: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:191
+#: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:197
+#: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:129
+#: src/modules/mod_gradient/spiralgradient.cpp:130
 #: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:198
+#: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:203 src/synfig/distance.cpp:251
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
 msgid "Points"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:204
+#: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:208
+#: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:209
+#: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
@@ -1575,20 +1598,20 @@ msgid "Conical Gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
-#: src/modules/mod_gradient/curvegradient.cpp:61
+#: src/modules/mod_gradient/curvegradient.cpp:62
 #: src/modules/mod_gradient/lineargradient.cpp:55
 #: src/modules/mod_gradient/radialgradient.cpp:58
-#: src/modules/mod_gradient/spiralgradient.cpp:57
-#: src/modules/mod_noise/noise.cpp:58
+#: src/modules/mod_gradient/spiralgradient.cpp:58
+#: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
-#: src/modules/mod_gradient/curvegradient.cpp:553
-#: src/modules/mod_gradient/lineargradient.cpp:200
+#: src/modules/mod_gradient/curvegradient.cpp:566
+#: src/modules/mod_gradient/lineargradient.cpp:195
 #: src/modules/mod_gradient/radialgradient.cpp:114
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:260
+#: src/modules/mod_gradient/spiralgradient.cpp:114
+#: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
 msgstr ""
 
@@ -1601,27 +1624,27 @@ msgid "Rotation of the gradient around the center"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
-#: src/modules/mod_gradient/curvegradient.cpp:557
-#: src/modules/mod_gradient/lineargradient.cpp:204
+#: src/modules/mod_gradient/curvegradient.cpp:570
+#: src/modules/mod_gradient/lineargradient.cpp:199
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:60
+#: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:538
-#: src/modules/mod_particle/plant.cpp:399
+#: src/modules/mod_gradient/curvegradient.cpp:551
+#: src/modules/mod_particle/plant.cpp:432
 msgid "Offset for the Vertices List"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:543
+#: src/modules/mod_gradient/curvegradient.cpp:556
 msgid "Global width of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:556
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/curvegradient.cpp:569
+#: src/modules/mod_gradient/lineargradient.cpp:198
 #: src/modules/mod_gradient/radialgradient.cpp:130
 #: src/synfig/valuenode_blinecalctangent.cpp:246
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
@@ -1629,19 +1652,19 @@ msgstr ""
 msgid "Loop"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:560
-#: src/modules/mod_gradient/lineargradient.cpp:207
+#: src/modules/mod_gradient/curvegradient.cpp:573
+#: src/modules/mod_gradient/lineargradient.cpp:202
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:561
-#: src/modules/mod_gradient/lineargradient.cpp:208
+#: src/modules/mod_gradient/curvegradient.cpp:574
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:136
 msgid "When checked the gradient is summetrical at the center"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:564
+#: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
 msgstr ""
 
@@ -1649,11 +1672,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:192
+#: src/modules/mod_gradient/lineargradient.cpp:187
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:196
+#: src/modules/mod_gradient/lineargradient.cpp:191
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1662,23 +1685,23 @@ msgid "Radial Gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:119
 msgid "Center of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:56
+#: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:130
+#: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:135
+#: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:136
+#: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
@@ -1691,13 +1714,15 @@ msgstr ""
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/listimporter.cpp:184 src/synfig/listimporter.cpp:185
+#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
+#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
 msgid "Unable to open "
 msgstr ""
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/listimporter.cpp:191 src/synfig/listimporter.cpp:192
+#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
+#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
 msgid "Unable to get frame from "
 msgstr ""
 
@@ -1735,115 +1760,115 @@ msgstr ""
 msgid "Unable to open pipe to imagemagick's convert utility"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:57
+#: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:217
+#: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:218
+#: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:223
+#: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:226 src/modules/mod_noise/noise.cpp:263
+#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:264
+#: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:230 src/modules/mod_noise/noise.cpp:271
-#: src/modules/mod_noise/valuenode_random.cpp:284
-#: src/synfig/layer_bitmap.cpp:169
+#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
-#: src/synfig/layer_bitmap.cpp:170
+#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
+#: src/synfig/layer_bitmap.cpp:166
 msgid "What type of interpolation to use"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:233 src/modules/mod_noise/noise.cpp:274
-#: src/synfig/layer_bitmap.cpp:172
+#: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
+#: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:277
-#: src/modules/mod_noise/valuenode_random.cpp:290 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_bline.cpp:1001
+#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
+#: src/synfig/valuenode_bline.cpp:1006
 #: src/synfig/valuenode_blinecalctangent.cpp:241
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:237 src/modules/mod_noise/noise.cpp:278
-#: src/modules/mod_noise/valuenode_random.cpp:291
-#: src/synfig/layer_bitmap.cpp:175
+#: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:281
+#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:282
+#: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:244 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:248 src/modules/mod_noise/noise.cpp:289
+#: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:290
+#: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:183
+#: src/modules/mod_noise/valuenode_random.cpp:184
 msgid "Random"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:57
+#: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:268
+#: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:293
+#: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:294
+#: src/modules/mod_noise/noise.cpp:303
 msgid "Uses transparency"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:297
+#: src/modules/mod_noise/noise.cpp:306
 msgid "Super Sampling"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:298
+#: src/modules/mod_noise/noise.cpp:307
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:264
+#: src/modules/mod_noise/valuenode_random.cpp:265
 #: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
 #: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
 #: src/synfig/valuenode_reciprocal.cpp:165
@@ -1852,167 +1877,167 @@ msgstr ""
 msgid "Link"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:270
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:274
-#: src/modules/mod_particle/plant.cpp:450
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:276
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:279
+#: src/modules/mod_noise/valuenode_random.cpp:280
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:281
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:286
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:288
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:296
+#: src/modules/mod_noise/valuenode_random.cpp:297
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:298
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:69
+#: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:404
+#: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:408
+#: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:409
+#: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:413
+#: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:414
+#: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:419
+#: src/modules/mod_particle/plant.cpp:452
 msgid "Tangential Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:420
+#: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:424
+#: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:425
+#: src/modules/mod_particle/plant.cpp:458
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:429
+#: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:430
+#: src/modules/mod_particle/plant.cpp:463
 msgid "Size of the stem"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:435
+#: src/modules/mod_particle/plant.cpp:468
 msgid "Size As Alpha"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:436
+#: src/modules/mod_particle/plant.cpp:469
 msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:440
+#: src/modules/mod_particle/plant.cpp:473
 msgid "Reverse"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:441
+#: src/modules/mod_particle/plant.cpp:474
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:445 src/synfig/valuenode.cpp:170
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
 #: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
 msgid "Step"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:446
+#: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:451
+#: src/modules/mod_particle/plant.cpp:484
 msgid "Used to seed the pseudo-random number generator"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:455
+#: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:456
+#: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:460
+#: src/modules/mod_particle/plant.cpp:493
 msgid "Sprouts"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:461
+#: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:465
+#: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:466
+#: src/modules/mod_particle/plant.cpp:499
 msgid ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:470
+#: src/modules/mod_particle/plant.cpp:503
 msgid "Drag"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:471
+#: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:475
+#: src/modules/mod_particle/plant.cpp:508
 msgid "Use Width"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:476
+#: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
@@ -2021,97 +2046,102 @@ msgstr ""
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:87 src/synfig/importer.cpp:87
+#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
 msgid "Importer::open(): Cannot open empty filename"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:101 src/synfig/importer.cpp:101
+#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
 msgid "Importer::open(): Couldn't find extension"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:112 src/synfig/importer.cpp:112
+#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
 msgid "Importer::open(): Unknown file type -- "
 msgstr ""
 
-#: src/synfig/canvas.cpp:798 src/synfig/canvas.cpp:863
-#: src/synfig/canvas.cpp:886
+#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
+#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+msgid "No images in list"
+msgstr ""
+
+#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
+#: src/synfig/canvas.cpp:927
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:249
+#: src/synfig/distance.cpp:251
 msgid "Units"
 msgstr ""
 
-#: src/synfig/distance.cpp:250
+#: src/synfig/distance.cpp:252
 msgid "Pixels"
 msgstr ""
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:254
 msgid "Inches"
 msgstr ""
 
-#: src/synfig/distance.cpp:253
+#: src/synfig/distance.cpp:255
 msgid "Meters"
 msgstr ""
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:256
 msgid "Millimeters"
 msgstr ""
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:257
 msgid "Centimeters"
 msgstr ""
 
-#: src/synfig/layer.cpp:565 src/synfig/layer_composite.cpp:128
+#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:619
+#: src/synfig/layer.cpp:605
 msgid "Z Depth"
 msgstr ""
 
-#: src/synfig/layer.cpp:621
+#: src/synfig/layer.cpp:607
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:159
+#: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:160
+#: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:164
+#: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:165
+#: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:218
+#: src/synfig/layer_composite.cpp:250
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:221 src/synfig/paramdesc.cpp:62
+#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:222
+#: src/synfig/layer_composite.cpp:254
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:168
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
 #: src/synfig/valuenode_duplicate.cpp:174
 msgid "Duplicate"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:148
+#: src/synfig/layer_duplicate.cpp:151
 msgid "Index"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:149
+#: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
 msgstr ""
 
@@ -2123,156 +2153,156 @@ msgstr ""
 msgid "Motion Blur"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:136
+#: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:137
+#: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:141
+#: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:142
+#: src/synfig/layer_motionblur.cpp:141
 msgid "Multiplies The Number Of Subsamples Rendered"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:146
+#: src/synfig/layer_motionblur.cpp:145
 msgid "Subsampling Type"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:147
+#: src/synfig/layer_motionblur.cpp:146
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:149 src/synfig/valuenode_const.cpp:127
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
 msgid "Constant"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:151
+#: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:155
+#: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:156
+#: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:160
+#: src/synfig/layer_motionblur.cpp:159
 msgid "Subsample End Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:161
+#: src/synfig/layer_motionblur.cpp:160
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:78 src/synfig/layer_pastecanvas.cpp:120
-#: src/synfig/layer_pastecanvas.cpp:121
+#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
+#: src/synfig/layer_pastecanvas.cpp:124
 msgid "Group"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:137
+#: src/synfig/layer_pastecanvas.cpp:140
 msgid "Canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:138
+#: src/synfig/layer_pastecanvas.cpp:141
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:144
 msgid "Zoom"
 msgstr "Przybliżenie"
 
-#: src/synfig/layer_pastecanvas.cpp:142
+#: src/synfig/layer_pastecanvas.cpp:145
 msgid "Size of canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:147
+#: src/synfig/layer_pastecanvas.cpp:152
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:151
+#: src/synfig/layer_pastecanvas.cpp:156
 msgid "Children Lock"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:157
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
+#: src/synfig/layer_pastecanvas.cpp:162
 msgid "Focus Point"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:159
+#: src/synfig/layer_pastecanvas.cpp:165
 msgid "Point to remain fixed when zooming"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:164
+#: src/synfig/layer_pastecanvas.cpp:170
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:165
+#: src/synfig/layer_pastecanvas.cpp:171
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:180
+#: src/synfig/layer_pastecanvas.cpp:186
 msgid "Current Time"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:61
+#: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:187
+#: src/synfig/layer_polygon.cpp:194
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:188
+#: src/synfig/layer_polygon.cpp:195
 msgid "Define the corners of the polygon"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:64
+#: src/synfig/layer_shape.cpp:66
 msgid "Shape"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:65
+#: src/synfig/layer_shape.cpp:67
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1194
+#: src/synfig/layer_shape.cpp:1222
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1203
+#: src/synfig/layer_shape.cpp:1231
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1210
+#: src/synfig/layer_shape.cpp:1238
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1211
+#: src/synfig/layer_shape.cpp:1239
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1220
+#: src/synfig/layer_shape.cpp:1248
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_shape.cpp:1249
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1223
+#: src/synfig/layer_shape.cpp:1251
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1224
+#: src/synfig/layer_shape.cpp:1252
 msgid "Even/Odd"
 msgstr ""
 
@@ -2280,406 +2310,406 @@ msgstr ""
 msgid "Solid Color"
 msgstr ""
 
-#: src/synfig/listimporter.cpp:161 src/synfig/listimporter.cpp:162
-msgid "No images in list"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:142
+#: src/synfig/loadcanvas.cpp:143
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:185
+#: src/synfig/loadcanvas.cpp:186
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:191
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:205
+#: src/synfig/loadcanvas.cpp:206
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:236
+#: src/synfig/loadcanvas.cpp:237
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:469
-#: src/synfig/loadcanvas.cpp:1118
+#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
+#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:473
-#: src/synfig/loadcanvas.cpp:1122
+#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
+#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:484 src/synfig/loadcanvas.cpp:1144
+#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
+#: src/synfig/loadcanvas.cpp:1200
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:508
+#: src/synfig/loadcanvas.cpp:533
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1284
+#: src/synfig/loadcanvas.cpp:1353
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1301
+#: src/synfig/loadcanvas.cpp:1375
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1314
+#: src/synfig/loadcanvas.cpp:1388
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1330
+#: src/synfig/loadcanvas.cpp:1404
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1336 src/synfig/loadcanvas.cpp:1348
+#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1365
+#: src/synfig/loadcanvas.cpp:1439
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1380
+#: src/synfig/loadcanvas.cpp:1455
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1424 src/synfig/loadcanvas.cpp:1443
-#, c-format
-msgid "\"%s\" not a valid value for attribute \"%s\" in <%s>"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:1504
+#: src/synfig/loadcanvas.cpp:1556
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1512
+#: src/synfig/loadcanvas.cpp:1565
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1522
+#: src/synfig/loadcanvas.cpp:1577
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1531
+#: src/synfig/loadcanvas.cpp:1587
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1557 src/synfig/loadcanvas.cpp:1628
+#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1570
+#: src/synfig/loadcanvas.cpp:1625
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1579
+#: src/synfig/loadcanvas.cpp:1634
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1603
+#: src/synfig/loadcanvas.cpp:1658
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1643
+#: src/synfig/loadcanvas.cpp:1698
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1652
+#: src/synfig/loadcanvas.cpp:1707
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1659
+#: src/synfig/loadcanvas.cpp:1714
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1677
+#: src/synfig/loadcanvas.cpp:1732
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1747
+#: src/synfig/loadcanvas.cpp:1811
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1841
-msgid "Unable to create <dynamic_list>"
+#: src/synfig/loadcanvas.cpp:1861
+msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1993
+#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2038
+#: src/synfig/loadcanvas.cpp:1998
+msgid "Unable to create <dynamic_list>"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2220
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2076
+#: src/synfig/loadcanvas.cpp:2283
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2097
+#: src/synfig/loadcanvas.cpp:2304
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2102
+#: src/synfig/loadcanvas.cpp:2310
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2107
+#: src/synfig/loadcanvas.cpp:2316
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2142
+#: src/synfig/loadcanvas.cpp:2373
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2161
+#: src/synfig/loadcanvas.cpp:2392
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2181
+#: src/synfig/loadcanvas.cpp:2415
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2184
+#: src/synfig/loadcanvas.cpp:2418
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2192
+#: src/synfig/loadcanvas.cpp:2426
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2209
+#: src/synfig/loadcanvas.cpp:2443
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2214
+#: src/synfig/loadcanvas.cpp:2448
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2454
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2222
+#: src/synfig/loadcanvas.cpp:2456
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2244
+#: src/synfig/loadcanvas.cpp:2480
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2260
+#: src/synfig/loadcanvas.cpp:2496
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2272 src/synfig/loadcanvas.cpp:2292
+#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2280
+#: src/synfig/loadcanvas.cpp:2516
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2303
+#: src/synfig/loadcanvas.cpp:2539
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2376 src/synfig/loadcanvas.cpp:2384
+#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2470
+#: src/synfig/loadcanvas.cpp:2710
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2478
+#: src/synfig/loadcanvas.cpp:2717
+msgid "Inline canvas cannot have a <bones> section"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2725
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2490
+#: src/synfig/loadcanvas.cpp:2737
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2498
+#: src/synfig/loadcanvas.cpp:2745
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2504
+#: src/synfig/loadcanvas.cpp:2751
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:2763
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2531
+#: src/synfig/loadcanvas.cpp:2778
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2546
+#: src/synfig/loadcanvas.cpp:2793
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2578
+#: src/synfig/loadcanvas.cpp:2828
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580 src/synfig/valuenode.cpp:353
+#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580
+#: src/synfig/loadcanvas.cpp:2830
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2660 src/synfig/loadcanvas.cpp:2716
+#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:102
+#: src/synfig/main.cpp:118
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:107
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:112
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:117
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:122
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:184
+#: src/synfig/main.cpp:207
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:186
+#: src/synfig/main.cpp:209
 msgid "Unable to initialize subsystem \"Module\""
 msgstr ""
 
-#: src/synfig/main.cpp:188
+#: src/synfig/main.cpp:211
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:192
+#: src/synfig/main.cpp:215
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:195
+#: src/synfig/main.cpp:218
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:200
+#: src/synfig/main.cpp:223
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:203
+#: src/synfig/main.cpp:226
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
+#: src/synfig/main.cpp:232
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:212
+#: src/synfig/main.cpp:235
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:219
+#: src/synfig/main.cpp:242
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:222
+#: src/synfig/main.cpp:245
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:230
+#: src/synfig/main.cpp:253
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:267 src/synfig/main.cpp:268
+#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:279
+#: src/synfig/main.cpp:302
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:293 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:360 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:375 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:390
+#: src/synfig/main.cpp:413
 msgid "info"
 msgstr ""
 
@@ -2754,145 +2784,145 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:64 src/synfig/valuenode.cpp:140
-#: src/synfig/valuenode_composite.cpp:437
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
+#: src/synfig/valuenode_composite.cpp:447
 msgid "Composite"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:65
+#: src/synfig/paramdesc.cpp:69
 msgid "Straight"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:66
+#: src/synfig/paramdesc.cpp:70
 msgid "Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:67
+#: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68
+#: src/synfig/paramdesc.cpp:72
 msgid "Behind"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:69
+#: src/synfig/paramdesc.cpp:73
 msgid "Screen"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:70
+#: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:71
+#: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:72
+#: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:73
+#: src/synfig/paramdesc.cpp:77
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:74 src/synfig/valuenode.cpp:157
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
 #: src/synfig/valuenode_add.cpp:190
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:75 src/synfig/valuenode.cpp:147
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
 #: src/synfig/valuenode_subtract.cpp:194
 msgid "Subtract"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:76
+#: src/synfig/paramdesc.cpp:80
 msgid "Difference"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:77
+#: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78
+#: src/synfig/paramdesc.cpp:82
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:80 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
 msgid "Hue"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:81 src/synfig/valuenode_radialcomposite.cpp:260
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
 #: src/synfig/valuenode_radialcomposite.cpp:266
 msgid "Saturation"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:82
+#: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:83
+#: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84
+#: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85
+#: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
 msgstr ""
 
-#: src/synfig/render.cpp:246 src/synfig/render.cpp:247
-#: src/synfig/render.cpp:301 src/synfig/render.cpp:302
-#: src/synfig/render.cpp:536 src/synfig/render.cpp:537
-#: src/synfig/render.cpp:563 src/synfig/render.cpp:564
+#: src/synfig/render.cpp:248 src/synfig/render.cpp:249
+#: src/synfig/render.cpp:303 src/synfig/render.cpp:304
+#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
+#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:290
+#: src/synfig/savecanvas.cpp:359
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:543
+#: src/synfig/savecanvas.cpp:674 src/synfig/savecanvas.cpp:699
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:185
+#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
 #: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:281
 msgid "Target initialization failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:146
+#: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:155 src/synfig/target_scanline.cpp:258
-#: src/synfig/target_scanline.cpp:405
+#: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:260
+#: src/synfig/target_scanline.cpp:407
 msgid "Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:162
+#: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:169 src/synfig/target_cairo_tile.cpp:248
-#: src/synfig/target_scanline.cpp:418 src/synfig/target_tile.cpp:396
+#: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
+#: src/synfig/target_scanline.cpp:420 src/synfig/target_tile.cpp:398
 msgid "Caught string :"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:174 src/synfig/target_cairo_tile.cpp:253
-#: src/synfig/target_scanline.cpp:423 src/synfig/target_tile.cpp:401
+#: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
+#: src/synfig/target_scanline.cpp:425 src/synfig/target_tile.cpp:403
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:179 src/synfig/target_cairo_tile.cpp:258
-#: src/synfig/target_scanline.cpp:428 src/synfig/target_tile.cpp:406
+#: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
+#: src/synfig/target_scanline.cpp:430 src/synfig/target_tile.cpp:408
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:190
+#: src/synfig/target_cairo.cpp:201
 msgid "Cairo Surface bad status"
 msgstr ""
 
@@ -2900,24 +2930,24 @@ msgstr ""
 msgid "Bad Tile Size"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:142 src/synfig/target_cairo_tile.cpp:240
-#: src/synfig/target_scanline.cpp:203 src/synfig/target_scanline.cpp:249
-#: src/synfig/target_scanline.cpp:348 src/synfig/target_scanline.cpp:396
+#: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
+#: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:251
+#: src/synfig/target_scanline.cpp:350 src/synfig/target_scanline.cpp:398
 #: src/synfig/target_tile.cpp:225
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:150
+#: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:156 src/synfig/target_tile.cpp:179
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:179
 #: src/synfig/target_tile.cpp:245
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:211
+#: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
 msgstr ""
 
@@ -2941,277 +2971,317 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:276 src/synfig/value.cpp:308 src/synfig/value.cpp:360
+#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
 msgid "bool"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:277 src/synfig/value.cpp:310 src/synfig/value.cpp:358
+#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
 msgid "integer"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:278 src/synfig/value.cpp:312
+#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
 msgid "angle"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:279 src/synfig/value.cpp:314 src/synfig/value.cpp:352
+#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
 msgid "time"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:280 src/synfig/value.cpp:316 src/synfig/value.cpp:355
+#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
 msgid "real"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:281 src/synfig/value.cpp:318
+#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
 msgid "vector"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:282 src/synfig/value.cpp:320
+#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
 msgid "color"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:283 src/synfig/value.cpp:322
+#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
 msgid "segment"
 msgstr ""
 
-#: src/synfig/value.cpp:284
+#: src/synfig/value.cpp:378
 msgid "bline_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:285 src/synfig/value.cpp:326
+#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
+msgid "matrix"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
+msgid "bone_weight_pair"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
 msgid "width_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:286 src/synfig/value.cpp:328
+#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
 msgid "dash_item"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:287 src/synfig/value.cpp:330
+#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
 msgid "list"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:288 src/synfig/value.cpp:332
+#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
 msgid "canvas"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:289 src/synfig/value.cpp:334
+#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
 msgid "string"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:290 src/synfig/value.cpp:336
+#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
 msgid "gradient"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:291 src/synfig/value.cpp:338
+#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
+msgid "bone_object"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
+msgid "bone_valuenode"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
 msgid "nil"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:324
+#: src/synfig/value.cpp:422
 msgid "spline_point"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:141 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:142 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:144 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:146 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_dynamiclist.cpp:755
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
 #: src/synfig/valuenode_switch.cpp:163
 msgid "Switch"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164
+#: src/synfig/valuenode.cpp:170
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165
+#: src/synfig/valuenode.cpp:171
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
 msgid "Integer"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:176 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177
+#: src/synfig/valuenode.cpp:183
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:178
+#: src/synfig/valuenode.cpp:184
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_real.cpp:161
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
 #: src/synfig/valuenode_realstring.cpp:175
 msgid "Real"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:189
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:190
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185
+#: src/synfig/valuenode.cpp:191
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187
+#: src/synfig/valuenode.cpp:192
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:199
+msgid "Bone Influence"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:200
+msgid "Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:201
+msgid "Root Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:202
+msgid "Static List"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:203
+msgid "Bone Weight Pair"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:206
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:233
+#: src/synfig/valuenode.cpp:241
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:513
+#: src/synfig/valuenode.cpp:540
 msgid "Placeholder"
 msgstr ""
 
-#: src/synfig/valuenode.h:61
+#: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
@@ -3278,32 +3348,32 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:355 src/synfig/valuenode_animated.cpp:379
-#: src/synfig/valuenode_animated.cpp:703 src/synfig/valuenode_animated.cpp:721
-#: src/synfig/valuenode_animated.cpp:801 src/synfig/valuenode_animated.cpp:820
+#: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
+#: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
+#: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1134
+#: src/synfig/valuenode_animated.cpp:1173
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1169
+#: src/synfig/valuenode_animated.cpp:1208
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:977 src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
 #: src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:980 src/synfig/valuenode_dynamiclist.cpp:664
+#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
 #: src/synfig/valuenode_wplist.cpp:339
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_bline.cpp:1023
+#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
@@ -3323,7 +3393,7 @@ msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:584
 #: src/synfig/valuenode_gradientrotate.cpp:169
 #: src/synfig/valuenode_linear.cpp:213
 msgid "Offset"
@@ -3377,190 +3447,186 @@ msgstr ""
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:219
+#: src/synfig/valuenode_composite.cpp:229
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:464
+#: src/synfig/valuenode_composite.cpp:474
 msgid "Red"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:465
+#: src/synfig/valuenode_composite.cpp:475
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:468
+#: src/synfig/valuenode_composite.cpp:478
 msgid "Green"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:469
+#: src/synfig/valuenode_composite.cpp:479
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:472
+#: src/synfig/valuenode_composite.cpp:482
 msgid "Blue"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:473
+#: src/synfig/valuenode_composite.cpp:483
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:476
+#: src/synfig/valuenode_composite.cpp:486
 msgid "Alpha"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:477
+#: src/synfig/valuenode_composite.cpp:487
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:492
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:493
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
-#: src/synfig/valuenode_composite.cpp:526
+#: src/synfig/valuenode_composite.cpp:496
+#: src/synfig/valuenode_composite.cpp:536
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:497
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:490
+#: src/synfig/valuenode_composite.cpp:500
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:491
+#: src/synfig/valuenode_composite.cpp:501
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:494
-#: src/synfig/valuenode_composite.cpp:530
+#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:540
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:495
+#: src/synfig/valuenode_composite.cpp:505
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:510
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:511
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:514
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:515
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:520
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:521
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:525
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:519
+#: src/synfig/valuenode_composite.cpp:529
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:522
+#: src/synfig/valuenode_composite.cpp:532
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:523
+#: src/synfig/valuenode_composite.cpp:533
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:527
+#: src/synfig/valuenode_composite.cpp:537
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:531
+#: src/synfig/valuenode_composite.cpp:541
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:547
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:551
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:544
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_composite.cpp:554
+#: src/synfig/valuenode_composite.cpp:594
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:545
 #: src/synfig/valuenode_composite.cpp:555
+#: src/synfig/valuenode_composite.cpp:565
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
 #: src/synfig/valuenode_composite.cpp:557
+#: src/synfig/valuenode_composite.cpp:567
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:593
+#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:603
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:574
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:575
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:578
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:579
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:585
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:589
 #: src/synfig/valuenode_timedswap.cpp:260
 msgid "Length"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:580
+#: src/synfig/valuenode_composite.cpp:590
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:595
+#: src/synfig/valuenode_composite.cpp:604
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_const.cpp:127
-msgid "Static"
-msgstr ""
-
 #: src/synfig/valuenode_compare.cpp:168
 msgid "The left side of the comparison"
 msgstr ""
@@ -3625,12 +3691,12 @@ msgstr ""
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:655
+#: src/synfig/valuenode_dynamiclist.cpp:661
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:703
-#: src/synfig/valuenode_dynamiclist.cpp:957
+#: src/synfig/valuenode_dynamiclist.cpp:709
+#: src/synfig/valuenode_dynamiclist.cpp:964
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3954,7 +4020,7 @@ msgid "Intersection"
 msgstr ""
 
 #: src/synfig/valuenode_step.cpp:213
-msgid "Value that define whether the step is centerd on the value [0,1]"
+msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
@@ -4087,195 +4153,195 @@ msgstr ""
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:133
+#: src/tool/main.cpp:140
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:169
+#: src/tool/main.cpp:176
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:171
+#: src/tool/main.cpp:178
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:172
+#: src/tool/main.cpp:179
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:173
+#: src/tool/main.cpp:180
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:174
+#: src/tool/main.cpp:181
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:175
+#: src/tool/main.cpp:182
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:176
+#: src/tool/main.cpp:183
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:184
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:178
+#: src/tool/main.cpp:185
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:186
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:187
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:188
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:189
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:190
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:191
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:185 src/tool/main.cpp:186
+#: src/tool/main.cpp:192 src/tool/main.cpp:193
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:194
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:195
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:196
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:197
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:193
+#: src/tool/main.cpp:200
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:202
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:203
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:204
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:200
+#: src/tool/main.cpp:207
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:202
+#: src/tool/main.cpp:209
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:210
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:204 src/tool/main.cpp:230
+#: src/tool/main.cpp:211 src/tool/main.cpp:237
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:207
+#: src/tool/main.cpp:214
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:216
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:210
+#: src/tool/main.cpp:217
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:213
+#: src/tool/main.cpp:220
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:215
+#: src/tool/main.cpp:222
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:223
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:217
+#: src/tool/main.cpp:224
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:225
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:226
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:220
+#: src/tool/main.cpp:227
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:221
+#: src/tool/main.cpp:228
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:229
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:223
+#: src/tool/main.cpp:230
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:231
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:232
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:241
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:236
+#: src/tool/main.cpp:243
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:237
+#: src/tool/main.cpp:244
 msgid "Test signal implementation"
 msgstr ""
 
@@ -4339,157 +4405,157 @@ msgstr ""
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:113
+#: src/tool/optionsprocessor.cpp:114
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:115
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:131
+#: src/tool/optionsprocessor.cpp:132
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:146
+#: src/tool/optionsprocessor.cpp:147
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:224
+#: src/tool/optionsprocessor.cpp:225
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:226
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:227
+#: src/tool/optionsprocessor.cpp:228
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:232
+#: src/tool/optionsprocessor.cpp:233
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:234
+#: src/tool/optionsprocessor.cpp:235
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:236
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:239
+#: src/tool/optionsprocessor.cpp:240
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:243
+#: src/tool/optionsprocessor.cpp:244
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:309
+#: src/tool/optionsprocessor.cpp:310
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:316
+#: src/tool/optionsprocessor.cpp:317
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:324
+#: src/tool/optionsprocessor.cpp:325
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:334
+#: src/tool/optionsprocessor.cpp:335
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:343
+#: src/tool/optionsprocessor.cpp:344
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:352
+#: src/tool/optionsprocessor.cpp:353
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:379
+#: src/tool/optionsprocessor.cpp:380
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:385
+#: src/tool/optionsprocessor.cpp:386
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:400
+#: src/tool/optionsprocessor.cpp:401
 #, c-format
 msgid "Resolution set to %dx%d"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:417
+#: src/tool/optionsprocessor.cpp:418
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:437
+#: src/tool/optionsprocessor.cpp:438
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:440
+#: src/tool/optionsprocessor.cpp:441
 #, c-format
 msgid "Target video codec set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:446
+#: src/tool/optionsprocessor.cpp:447
 #, c-format
 msgid "Target bitrate set to %dk"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:452
+#: src/tool/optionsprocessor.cpp:453
 #, c-format
 msgid "Output file sequence separator set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:487
+#: src/tool/optionsprocessor.cpp:488
 #, c-format
 msgid "Unable to load '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:494
+#: src/tool/optionsprocessor.cpp:495
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:499
+#: src/tool/optionsprocessor.cpp:500
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:513
+#: src/tool/optionsprocessor.cpp:514
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:532
+#: src/tool/optionsprocessor.cpp:533
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:539
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:557
+#: src/tool/optionsprocessor.cpp:558
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:571
+#: src/tool/optionsprocessor.cpp:572
 msgid "Appended contents of "
 msgstr ""
 
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index 0ce0a5e..cb8f8f8 100644
Binary files a/po/pt_BR.gmo and b/po/pt_BR.gmo differ
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 92fda18..f3c81bd 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -1,103 +1,106 @@
-# Translation of pt_BR.po to Portuguese (Brasilian)
-# Brasilian translations for Synfig Core package
-# Copyright (C) 2012 Synfig Contributors
+# Translation file for Synfig Core package.
+# Copyright (C) 2013 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
 # andersonfobr <emailregister2004-mm at yahoo.com.br>, 2013
+# andersonfobr <emailregister2004-mm at yahoo.com.br>, 2013
+# gamont <gamontbr at gmail.com>, 2011
 # gamont <gamontbr at gmail.com>, 2011
 # gamont <gamontbr at gmail.com>, 2011
 # hbarone <henrique.blender at gmail.com>, 2011
 # hbarone <henrique.blender at gmail.com>, 2011
 # Ricardo Graça <ricolandia at gmail.com>, 2011
 # rodolforg <rodolforg at gmail.com>, 2013
+# rodolforg <rodolforg at gmail.com>, 2013
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2013-05-09 18:34+0200\n"
-"PO-Revision-Date: 2013-05-02 12:39+0000\n"
-"Last-Translator: genete <genetita at gmail.com>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
+"POT-Creation-Date: 2013-10-25 17:57+0700\n"
+"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
+"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/"
+"synfig/language/pt_BR/)\n"
 "Language: pt_BR\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:58
+#: src/modules/mod_example/filledrect.cpp:59
 msgid "Filled Rectangle"
 msgstr "Retângulo preenchido"
 
-#: src/modules/mod_example/filledrect.cpp:59
+#: src/modules/mod_example/filledrect.cpp:60
 #: src/modules/mod_example/metaballs.cpp:58
 #: src/modules/mod_example/simplecircle.cpp:58
 msgid "Example"
 msgstr "Exemplo"
 
-#: src/modules/mod_example/filledrect.cpp:120
+#: src/modules/mod_example/filledrect.cpp:131
 #: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:523
-#: src/modules/lyr_std/shade.cpp:564
-#: src/modules/mod_geometry/checkerboard.cpp:122
-#: src/modules/mod_geometry/circle.cpp:128
-#: src/modules/mod_geometry/rectangle.cpp:125 src/synfig/layer_shape.cpp:1193
-#: src/synfig/layer_solidcolor.cpp:102 src/synfig/paramdesc.cpp:79
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:620
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
 msgid "Color"
 msgstr "Cor"
 
-#: src/modules/mod_example/filledrect.cpp:121
+#: src/modules/mod_example/filledrect.cpp:132
 #: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:129
-#: src/modules/mod_geometry/rectangle.cpp:126
-#: src/synfig/layer_solidcolor.cpp:103
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
 msgid "Fill color of the layer"
 msgstr "Cor de preenchimento da camada"
 
-#: src/modules/mod_example/filledrect.cpp:125
-#: src/modules/mod_geometry/rectangle.cpp:130
-#: src/modules/mod_gradient/lineargradient.cpp:190
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:185
 msgid "Point 1"
 msgstr "Ponto 1"
 
-#: src/modules/mod_example/filledrect.cpp:126
-#: src/modules/mod_geometry/rectangle.cpp:132
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
 msgid "First corner of the rectangle"
 msgstr "Primeiro canto do retângulo"
 
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_geometry/rectangle.cpp:136
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:190
 msgid "Point 2"
 msgstr "Ponto 2"
 
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_geometry/rectangle.cpp:137
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
 msgid "Second corner of the rectangle"
 msgstr "Segundo canto do retângulo"
 
-#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_example/filledrect.cpp:147
 msgid "Feather X"
 msgstr "Suavizar X"
 
-#: src/modules/mod_example/filledrect.cpp:140
+#: src/modules/mod_example/filledrect.cpp:152
 msgid "Feather Y"
 msgstr "Suavizar Y"
 
-#: src/modules/mod_example/filledrect.cpp:144 src/modules/lyr_std/bevel.cpp:68
-#: src/modules/mod_geometry/advanced_outline.cpp:1161
+#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
 msgid "Bevel"
 msgstr "Chanfro"
 
-#: src/modules/mod_example/filledrect.cpp:145
+#: src/modules/mod_example/filledrect.cpp:158
 msgid "Use Bevel for the corners"
 msgstr "Usar chanfro nos cantos"
 
-#: src/modules/mod_example/filledrect.cpp:149
+#: src/modules/mod_example/filledrect.cpp:163
 msgid "Keep Bevel Circular"
 msgstr "Manter chanfro circular"
 
-#: src/modules/mod_example/filledrect.cpp:150
+#: src/modules/mod_example/filledrect.cpp:164
 msgid "When checked the bevel is circular"
 msgstr "Quando marcado, o chanfro é circular"
 
@@ -105,39 +108,39 @@ msgstr "Quando marcado, o chanfro é circular"
 msgid "Metaballs"
 msgstr "Metaballs"
 
-#: src/modules/mod_example/metaballs.cpp:135
+#: src/modules/mod_example/metaballs.cpp:129
 #: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:552
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:194
 #: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:112
-#: src/modules/mod_noise/noise.cpp:259 src/modules/mod_particle/plant.cpp:403
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
 #: src/synfig/valuenode_gradientrotate.cpp:164
 #: src/synfig/valuenode_repeat_gradient.cpp:203
 msgid "Gradient"
 msgstr "Gradiente"
 
-#: src/modules/mod_example/metaballs.cpp:139
+#: src/modules/mod_example/metaballs.cpp:133
 msgid "Balls"
 msgstr "Bolas"
 
-#: src/modules/mod_example/metaballs.cpp:143
+#: src/modules/mod_example/metaballs.cpp:137
 msgid "Radii"
 msgstr "Radios"
 
-#: src/modules/mod_example/metaballs.cpp:147
+#: src/modules/mod_example/metaballs.cpp:141
 msgid "Weights"
 msgstr "Pesos"
 
-#: src/modules/mod_example/metaballs.cpp:151
+#: src/modules/mod_example/metaballs.cpp:145
 msgid "Gradient Left"
 msgstr "Gradiente Esquerda"
 
-#: src/modules/mod_example/metaballs.cpp:155
+#: src/modules/mod_example/metaballs.cpp:149
 msgid "Gradient Right"
 msgstr "Gradiente Direito"
 
-#: src/modules/mod_example/metaballs.cpp:159
+#: src/modules/mod_example/metaballs.cpp:153
 msgid "Positive Only"
 msgstr "Positivo apenas"
 
@@ -149,21 +152,21 @@ msgstr "Círculo Simples"
 #: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
 #: src/modules/mod_gradient/conicalgradient.cpp:114
 #: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:117
+#: src/modules/mod_gradient/spiralgradient.cpp:118
 msgid "Center"
 msgstr "Centro"
 
 #: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:144
+#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
 msgid "Center of the circle"
 msgstr "Centro do círculo"
 
 #: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:151
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:132
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
 #: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:122
-#: src/modules/mod_noise/valuenode_random.cpp:269
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/valuenode_radialcomposite.cpp:272
 msgid "Radius"
 msgstr "Raio"
@@ -171,20 +174,20 @@ msgstr "Raio"
 #: src/modules/mod_example/simplecircle.cpp:118
 #: src/modules/lyr_std/twirl.cpp:118
 #: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:124
 msgid "This is the radius of the circle"
 msgstr "Este é o raio do círculo"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
-#: src/modules/lyr_freetype/lyr_freetype.cpp:517
+#: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Texto"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
 #: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
-#: src/modules/lyr_std/supersample.cpp:57 src/modules/lyr_std/timeloop.cpp:60
-#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:70
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:79
+#: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
+#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
 msgid "Other"
 msgstr "Outro"
 
@@ -192,245 +195,245 @@ msgstr "Outro"
 msgid "Text Layer"
 msgstr "Camada de texto"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:390
+#: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
 msgstr "Não é possível inicializar"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:409
+#: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
 msgstr "Conjunto de fonte vazio"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:518
+#: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
 msgstr "Renderizar texto"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:524
+#: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "Cor do texto"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:528
+#: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
 msgstr "Família de fonte"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:533
+#: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
 msgstr "Estilo"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:535
-#: src/modules/lyr_freetype/lyr_freetype.cpp:545
+#: src/modules/lyr_freetype/lyr_freetype.cpp:587
+#: src/modules/lyr_freetype/lyr_freetype.cpp:597
 msgid "Normal"
 msgstr "Normal"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:536
+#: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
 msgstr "Oblíquo"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:537
+#: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
 msgstr "Itálico"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:541
+#: src/modules/lyr_freetype/lyr_freetype.cpp:593
 msgid "Weight"
 msgstr "Peso"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:543
+#: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
 msgstr "Ultraleve"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:544
+#: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
 msgstr "leve"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:546
+#: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
 msgstr "Negrito"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:547
+#: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
 msgstr "Ultra-negrito"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:548
+#: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
 msgstr "Pesado"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:551
+#: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
 msgstr "Espaçamento horizontal"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:552
+#: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
 msgstr "Descreve a proximidade dos glifos horizontais"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:556
+#: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
 msgstr "Espaçamento Vertical"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:557
+#: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
 msgstr "Descreve a proximidade das linhas de texto são verticais"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:561
-#: src/modules/lyr_std/shade.cpp:570 src/modules/lyr_std/xorpattern.cpp:129
-#: src/modules/mod_filter/blur.cpp:372
+#: src/modules/lyr_freetype/lyr_freetype.cpp:613
+#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:413
 #: src/modules/mod_filter/radialblur.cpp:115
-#: src/modules/mod_geometry/checkerboard.cpp:130
-#: src/modules/mod_noise/distort.cpp:222 src/modules/mod_noise/noise.cpp:267
+#: src/modules/mod_geometry/checkerboard.cpp:154
+#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
 msgstr "Tamanho"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:562
+#: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
 msgstr "Tamanho do texto"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:569
+#: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
 msgstr "Orientação"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:570
+#: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
 msgstr "Orientação do Texto"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/insideout.cpp:143 src/modules/lyr_std/rotate.cpp:116
-#: src/modules/lyr_std/shade.cpp:567 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:389
-#: src/modules/lyr_std/xorpattern.cpp:125 src/modules/lyr_std/zoom.cpp:104
+#: src/modules/lyr_freetype/lyr_freetype.cpp:627
+#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
+#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
+#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
-#: src/modules/mod_geometry/checkerboard.cpp:126
-#: src/modules/mod_geometry/circle.cpp:143
-#: src/modules/mod_gradient/curvegradient.cpp:537
-#: src/modules/mod_particle/plant.cpp:398 src/synfig/layer_pastecanvas.cpp:133
-#: src/synfig/layer_shape.cpp:1197 src/synfig/valuenode_composite.cpp:518
+#: src/modules/mod_geometry/checkerboard.cpp:150
+#: src/modules/mod_geometry/circle.cpp:161
+#: src/modules/mod_gradient/curvegradient.cpp:550
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
+#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
 msgid "Origin"
 msgstr "Origem"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:576
+#: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
 msgstr "Posição do Texto"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:580
+#: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
 msgstr "Fonte"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:581
+#: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
 msgstr "Nome do arquivo da fonte a ser usada"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:588
+#: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
 msgstr "Kerning"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:589
+#: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
 msgstr "Ativa / Desativa o kerning da fonte (se a fonte suporta)"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
 msgstr "Realçar bordas"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:594
+#: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
 msgstr "Desligue isto se você estiver animando o texto"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:597
-#: src/modules/lyr_std/shade.cpp:587 src/modules/mod_geometry/circle.cpp:147
-#: src/synfig/layer_shape.cpp:1200
+#: src/modules/lyr_freetype/lyr_freetype.cpp:649
+#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1228
 msgid "Invert"
 msgstr "Inverter"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:654
+#: src/modules/lyr_freetype/lyr_freetype.cpp:714
 msgid "No face loaded, no text will be rendered."
 msgstr "Nenhuma face carregada, nenhum texto será processado."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:680
+#: src/modules/lyr_freetype/lyr_freetype.cpp:740
 msgid "Text too small, no text will be rendered."
 msgstr "Texto muito pequeno, nenhum texto será processado."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:704
+#: src/modules/lyr_freetype/lyr_freetype.cpp:764
 msgid "Unable to set face size."
 msgstr "Não é possível definir o tamanho da face."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:747
+#: src/modules/lyr_freetype/lyr_freetype.cpp:807
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr "Sequência multibyte inválida - local está definido?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:754
+#: src/modules/lyr_freetype/lyr_freetype.cpp:814
 msgid "Can't parse multibyte character.\n"
 msgstr "Não é possível analisar caracteres multibyte.\n"
 
-#: src/modules/lyr_std/bevel.cpp:69 src/modules/lyr_std/shade.cpp:68
+#: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "Estilizar"
 
-#: src/modules/lyr_std/bevel.cpp:570 src/modules/lyr_std/shade.cpp:576
-#: src/modules/mod_filter/blur.cpp:376
-#: src/modules/mod_filter/halftone2.cpp:170
+#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
+#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Tipo"
 
-#: src/modules/lyr_std/bevel.cpp:571 src/modules/lyr_std/shade.cpp:577
-#: src/modules/mod_filter/blur.cpp:377
+#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
+#: src/modules/mod_filter/blur.cpp:418
 msgid "Type of blur to use"
 msgstr "Tipo de desfoque para usar"
 
-#: src/modules/lyr_std/bevel.cpp:573 src/modules/lyr_std/shade.cpp:579
-#: src/modules/mod_filter/blur.cpp:379 src/synfig/layer_shape.cpp:1213
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
 msgid "Box Blur"
 msgstr "Desfoque de caixa"
 
-#: src/modules/lyr_std/bevel.cpp:574 src/modules/lyr_std/shade.cpp:580
-#: src/modules/mod_filter/blur.cpp:380 src/synfig/layer_shape.cpp:1214
+#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
+#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
 msgid "Fast Gaussian Blur"
 msgstr "Desfoque Gaussiano rápido"
 
-#: src/modules/lyr_std/bevel.cpp:575 src/modules/lyr_std/shade.cpp:581
-#: src/modules/mod_filter/blur.cpp:381 src/synfig/layer_shape.cpp:1215
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
 msgid "Cross-Hatch Blur"
 msgstr "Desfoque Cross-Hatch"
 
-#: src/modules/lyr_std/bevel.cpp:576 src/modules/lyr_std/shade.cpp:582
-#: src/modules/mod_filter/blur.cpp:382 src/synfig/layer_shape.cpp:1216
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
 msgid "Gaussian Blur"
 msgstr "Desfoque Gaussiano"
 
-#: src/modules/lyr_std/bevel.cpp:577 src/modules/lyr_std/shade.cpp:583
-#: src/modules/mod_filter/blur.cpp:383 src/synfig/layer_shape.cpp:1217
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
 msgid "Disc Blur"
 msgstr "Desfoque em disco"
 
-#: src/modules/lyr_std/bevel.cpp:581
+#: src/modules/lyr_std/bevel.cpp:635
 msgid "Hi-Color"
 msgstr "Hi-Color"
 
-#: src/modules/lyr_std/bevel.cpp:584
+#: src/modules/lyr_std/bevel.cpp:638
 msgid "Lo-Color"
 msgstr "Lo-Color"
 
-#: src/modules/lyr_std/bevel.cpp:587
+#: src/modules/lyr_std/bevel.cpp:641
 msgid "Light Angle"
 msgstr "Ângulo de lux"
 
-#: src/modules/lyr_std/bevel.cpp:591
+#: src/modules/lyr_std/bevel.cpp:645
 msgid "Depth of Bevel"
 msgstr "Profundidade do Chanfro"
 
-#: src/modules/lyr_std/bevel.cpp:595
+#: src/modules/lyr_std/bevel.cpp:649
 msgid "Softness"
 msgstr "Suavidade"
 
-#: src/modules/lyr_std/bevel.cpp:598
+#: src/modules/lyr_std/bevel.cpp:652
 msgid "Use Luma"
 msgstr "Use Luma"
 
-#: src/modules/lyr_std/bevel.cpp:601
+#: src/modules/lyr_std/bevel.cpp:655
 msgid "Solid"
 msgstr "Sólido"
 
-#: src/modules/lyr_std/booleancurve.cpp:104
+#: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
 msgstr "Região definida"
 
-#: src/modules/lyr_std/booleancurve.cpp:105
+#: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
 msgstr "Conjunto de regiões a combinar"
 
@@ -438,38 +441,38 @@ msgstr "Conjunto de regiões a combinar"
 msgid "Clamp"
 msgstr "Braçadeira"
 
-#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:56
-#: src/modules/mod_filter/halftone2.cpp:59
-#: src/modules/mod_filter/halftone3.cpp:59
-#: src/modules/mod_filter/lumakey.cpp:59
+#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:57
+#: src/modules/mod_filter/halftone2.cpp:60
+#: src/modules/mod_filter/halftone3.cpp:60
+#: src/modules/mod_filter/lumakey.cpp:60
 msgid "Filters"
 msgstr "Filtros"
 
-#: src/modules/lyr_std/clamp.cpp:158
+#: src/modules/lyr_std/clamp.cpp:162
 msgid "Invert Negative"
 msgstr "Inverter Negativo"
 
-#: src/modules/lyr_std/clamp.cpp:162
+#: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
 msgstr "Braçadeira de teto"
 
-#: src/modules/lyr_std/clamp.cpp:163
+#: src/modules/lyr_std/clamp.cpp:167
 msgid "When checked the Ceiling value is used"
 msgstr "Quando verificado o valor do teto é usado"
 
-#: src/modules/lyr_std/clamp.cpp:167
+#: src/modules/lyr_std/clamp.cpp:171
 msgid "Ceiling"
 msgstr "Teto"
 
-#: src/modules/lyr_std/clamp.cpp:168
+#: src/modules/lyr_std/clamp.cpp:172
 msgid "Upper boundary of the clamping"
 msgstr "Limite superior da fixação"
 
-#: src/modules/lyr_std/clamp.cpp:172
+#: src/modules/lyr_std/clamp.cpp:176
 msgid "Floor"
 msgstr "Pavimento"
 
-#: src/modules/lyr_std/clamp.cpp:173
+#: src/modules/lyr_std/clamp.cpp:177
 msgid "Lower boundary of the clamping"
 msgstr "Limite inferior da braçadeira"
 
@@ -477,24 +480,24 @@ msgstr "Limite inferior da braçadeira"
 msgid "Import Image"
 msgstr "Importar imagem"
 
-#: src/modules/lyr_std/import.cpp:151 src/modules/lyr_std/import.cpp:201
+#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr "Nome do arquivo parece já estar definido como \"%s\" (%s)"
 
-#: src/modules/lyr_std/import.cpp:283
+#: src/modules/lyr_std/import.cpp:293
 msgid "Filename"
 msgstr "Nome do arquivo"
 
-#: src/modules/lyr_std/import.cpp:284
+#: src/modules/lyr_std/import.cpp:294
 msgid "File to import"
 msgstr "Arquivo para importar"
 
-#: src/modules/lyr_std/import.cpp:288 src/synfig/layer_pastecanvas.cpp:146
+#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
 msgid "Time Offset"
 msgstr "Deslocar tempo"
 
-#: src/modules/lyr_std/import.cpp:289
+#: src/modules/lyr_std/import.cpp:299
 msgid "Time Offset to apply to the imported file"
 msgstr "Tempo de deslocamento para aplicar o arquivo importado"
 
@@ -503,14 +506,14 @@ msgid "Inside Out"
 msgstr "De dentro para fora"
 
 #: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:75
 #: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:57 src/modules/lyr_std/curvewarp.cpp:56
-#: src/modules/mod_noise/distort.cpp:58
+#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
+#: src/modules/mod_noise/distort.cpp:59
 msgid "Distortions"
 msgstr "Distorções"
 
-#: src/modules/lyr_std/insideout.cpp:144
+#: src/modules/lyr_std/insideout.cpp:163
 msgid "Defines the where the center will be"
 msgstr "Define onde o centro será"
 
@@ -522,97 +525,97 @@ msgstr "Julia Set"
 msgid "Fractals"
 msgstr "Fractais"
 
-#: src/modules/lyr_std/julia.cpp:309
+#: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
 msgstr "Cor de dentro"
 
-#: src/modules/lyr_std/julia.cpp:310
+#: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
 msgstr "Cor do Conjunto"
 
-#: src/modules/lyr_std/julia.cpp:313
+#: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
 msgstr "Cor de fora"
 
-#: src/modules/lyr_std/julia.cpp:314
+#: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
 msgstr "Cor fora do conjunto"
 
-#: src/modules/lyr_std/julia.cpp:317
+#: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
 msgstr "Mudança de cor"
 
-#: src/modules/lyr_std/julia.cpp:320 src/modules/lyr_std/mandelbrot.cpp:223
+#: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
 msgstr "Iterações"
 
-#: src/modules/lyr_std/julia.cpp:323
+#: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
 msgstr "Ponto de origem"
 
-#: src/modules/lyr_std/julia.cpp:326 src/modules/lyr_std/mandelbrot.cpp:226
+#: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
 msgstr "Bailout ValorBase"
 
-#: src/modules/lyr_std/julia.cpp:330 src/modules/lyr_std/mandelbrot.cpp:236
+#: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
 msgstr "Distorcer interior"
 
-#: src/modules/lyr_std/julia.cpp:333 src/modules/lyr_std/mandelbrot.cpp:240
+#: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
 msgstr "Sombra interior"
 
-#: src/modules/lyr_std/julia.cpp:336 src/modules/lyr_std/mandelbrot.cpp:244
+#: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
 msgstr "Sólido interior"
 
-#: src/modules/lyr_std/julia.cpp:339 src/modules/lyr_std/mandelbrot.cpp:248
+#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
 msgstr "Inverter interior"
 
-#: src/modules/lyr_std/julia.cpp:342
+#: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
 msgstr "Cor Interior"
 
-#: src/modules/lyr_std/julia.cpp:345 src/modules/lyr_std/mandelbrot.cpp:265
+#: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
 msgstr "Distorcer exterior"
 
-#: src/modules/lyr_std/julia.cpp:348 src/modules/lyr_std/mandelbrot.cpp:269
+#: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
 msgstr "Sombrear exterior"
 
-#: src/modules/lyr_std/julia.cpp:351 src/modules/lyr_std/mandelbrot.cpp:273
+#: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
 msgstr "Exterior sólido"
 
-#: src/modules/lyr_std/julia.cpp:354 src/modules/lyr_std/mandelbrot.cpp:277
+#: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
 msgstr "Inverter exterior"
 
-#: src/modules/lyr_std/julia.cpp:357
+#: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
 msgstr "Cor exterior"
 
-#: src/modules/lyr_std/julia.cpp:361
+#: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
 msgstr "Ciclo de cor"
 
-#: src/modules/lyr_std/julia.cpp:364 src/modules/lyr_std/mandelbrot.cpp:285
+#: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
 msgstr "Suavizar exterior"
 
-#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:286
+#: src/modules/lyr_std/julia.cpp:391 src/modules/lyr_std/mandelbrot.cpp:282
 msgid "Smooth the coloration outside the set"
 msgstr "Suavizar a coloração exterior do conjunto"
 
-#: src/modules/lyr_std/julia.cpp:368 src/modules/lyr_std/mandelbrot.cpp:230
+#: src/modules/lyr_std/julia.cpp:394 src/modules/lyr_std/mandelbrot.cpp:226
 msgid "Break Set"
 msgstr "Quebrar conjunto"
 
-#: src/modules/lyr_std/julia.cpp:369 src/modules/lyr_std/mandelbrot.cpp:231
+#: src/modules/lyr_std/julia.cpp:395 src/modules/lyr_std/mandelbrot.cpp:227
 msgid "Modify equation to achieve interesting results"
 msgstr "Modificar equação para obter resultados interessantes"
 
@@ -620,48 +623,48 @@ msgstr "Modificar equação para obter resultados interessantes"
 msgid "Mandelbrot Set"
 msgstr "Conjunto Mandelbrot"
 
+#: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
 #: src/modules/lyr_std/mandelbrot.cpp:241
 #: src/modules/lyr_std/mandelbrot.cpp:245
 #: src/modules/lyr_std/mandelbrot.cpp:249
 #: src/modules/lyr_std/mandelbrot.cpp:253
 #: src/modules/lyr_std/mandelbrot.cpp:257
-#: src/modules/lyr_std/mandelbrot.cpp:261
 msgid "Inside"
 msgstr "Interior"
 
-#: src/modules/lyr_std/mandelbrot.cpp:252
+#: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
 msgstr "Gradiente interior"
 
-#: src/modules/lyr_std/mandelbrot.cpp:256
+#: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
 msgstr "Deslocamento interior"
 
-#: src/modules/lyr_std/mandelbrot.cpp:260
+#: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
 msgstr "Loop interior"
 
+#: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
 #: src/modules/lyr_std/mandelbrot.cpp:270
 #: src/modules/lyr_std/mandelbrot.cpp:274
 #: src/modules/lyr_std/mandelbrot.cpp:278
-#: src/modules/lyr_std/mandelbrot.cpp:282
+#: src/modules/lyr_std/mandelbrot.cpp:283
 #: src/modules/lyr_std/mandelbrot.cpp:287
 #: src/modules/lyr_std/mandelbrot.cpp:291
-#: src/modules/lyr_std/mandelbrot.cpp:295
 msgid "Outside"
 msgstr "Exterior"
 
-#: src/modules/lyr_std/mandelbrot.cpp:281
+#: src/modules/lyr_std/mandelbrot.cpp:277
 msgid "Gradient outside"
 msgstr "Gradiente exterior"
 
-#: src/modules/lyr_std/mandelbrot.cpp:290
+#: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
 msgstr "Deslocamento exterior"
 
-#: src/modules/lyr_std/mandelbrot.cpp:294
+#: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
 msgstr "Escala exterior"
 
@@ -674,16 +677,16 @@ msgstr "Girar"
 msgid "Transform"
 msgstr "Transformar"
 
-#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/translate.cpp:101
+#: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:134
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr "Aponte onde deseja que a origem seja"
 
-#: src/modules/lyr_std/rotate.cpp:121
-#: src/modules/lyr_std/sphere_distort.cpp:158
+#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:217
+#: src/synfig/layer_composite.cpp:249
 #: src/synfig/valuenode_blinecalctangent.cpp:251
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
@@ -692,61 +695,61 @@ msgstr "Aponte onde deseja que a origem seja"
 msgid "Amount"
 msgstr "Quantidade"
 
-#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
 msgstr "Quantidade de rotação"
 
-#: src/modules/lyr_std/shade.cpp:67
+#: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
 msgstr "Sombra"
 
-#: src/modules/lyr_std/shade.cpp:571
+#: src/modules/lyr_std/shade.cpp:627
 msgid "Size of Shade"
 msgstr "Tamanho da Sombra"
 
-#: src/modules/lyr_std/sphere_distort.cpp:73
-#: src/modules/lyr_std/sphere_distort.cpp:172
+#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:167
 msgid "Spherize"
 msgstr "Esferizar"
 
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/synfig/valuenode_composite.cpp:536
+#: src/modules/lyr_std/sphere_distort.cpp:141
+#: src/synfig/valuenode_composite.cpp:546
 msgid "Position"
 msgstr "Posição"
 
-#: src/modules/lyr_std/sphere_distort.cpp:147
+#: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
 msgstr "Onde a distorção da esfera está centrada"
 
-#: src/modules/lyr_std/sphere_distort.cpp:154
+#: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr "O tamanho da distorção da esfera"
 
-#: src/modules/lyr_std/sphere_distort.cpp:160
+#: src/modules/lyr_std/sphere_distort.cpp:155
 msgid "The distortion intensity (negative values inverts effect)"
 msgstr "A intensidade de distorção (valores negativos invertem efeito)"
 
-#: src/modules/lyr_std/sphere_distort.cpp:164 src/modules/lyr_std/warp.cpp:409
+#: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
 msgstr "Clip"
 
-#: src/modules/lyr_std/sphere_distort.cpp:165
+#: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
 msgstr "Quando marcado, a área fora do raio não será distorcida"
 
-#: src/modules/lyr_std/sphere_distort.cpp:169
+#: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
 msgstr "Tipo de distorção"
 
-#: src/modules/lyr_std/sphere_distort.cpp:170
+#: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
 msgstr "A direção da distorção"
 
-#: src/modules/lyr_std/sphere_distort.cpp:173
+#: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
 msgstr "Bara vertical"
 
-#: src/modules/lyr_std/sphere_distort.cpp:174
+#: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
 msgstr "Barra horizontal"
 
@@ -766,104 +769,104 @@ msgstr "Quando a distorção do esticado está centrado"
 msgid "Stroboscope"
 msgstr "Stroboscópico"
 
-#: src/modules/lyr_std/stroboscope.cpp:102
+#: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
 msgstr "Frequência"
 
-#: src/modules/lyr_std/stroboscope.cpp:103
+#: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
 msgstr "A freqüência do estroboscópio em vezes por segundo"
 
-#: src/modules/lyr_std/supersample.cpp:56
+#: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
 msgstr "Super Amostra"
 
-#: src/modules/lyr_std/supersample.cpp:129
+#: src/modules/lyr_std/supersample.cpp:146
 msgid "Unable to create SurfaceTarget"
 msgstr "Não é possível criar SurfaceTarget"
 
-#: src/modules/lyr_std/supersample.cpp:290
-#: src/modules/lyr_std/curvewarp.cpp:393
-#: src/modules/mod_gradient/curvegradient.cpp:542
-#: src/synfig/valuenode_composite.cpp:514
-#: src/synfig/valuenode_composite.cpp:540
+#: src/modules/lyr_std/supersample.cpp:337
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_composite.cpp:524
+#: src/synfig/valuenode_composite.cpp:550
 #: src/synfig/valuenode_realstring.cpp:180
 #: src/synfig/valuenode_repeat_gradient.cpp:213
 #: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
 msgid "Width"
 msgstr "Largura"
 
-#: src/modules/lyr_std/supersample.cpp:291
+#: src/modules/lyr_std/supersample.cpp:338
 msgid "Width of sample area (In pixels)"
 msgstr "Largura da área de amostra (em pixels)"
 
-#: src/modules/lyr_std/supersample.cpp:294 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
 msgid "Height"
 msgstr "Altura"
 
-#: src/modules/lyr_std/supersample.cpp:295
+#: src/modules/lyr_std/supersample.cpp:342
 msgid "Height of sample area (In pixels)"
 msgstr "Altura da área de amostra (em pixels)"
 
-#: src/modules/lyr_std/supersample.cpp:298
+#: src/modules/lyr_std/supersample.cpp:345
 msgid "Use Parametric"
 msgstr "Usar paramétrico"
 
-#: src/modules/lyr_std/supersample.cpp:299
+#: src/modules/lyr_std/supersample.cpp:346
 msgid "Use the Parametric Renderer"
 msgstr "Usar o processamento paramétrico"
 
-#: src/modules/lyr_std/supersample.cpp:302
+#: src/modules/lyr_std/supersample.cpp:349
 msgid "Be Alpha Safe"
 msgstr "Seja Alfa seguro"
 
-#: src/modules/lyr_std/supersample.cpp:303
+#: src/modules/lyr_std/supersample.cpp:350
 msgid "Avoid alpha artifacts when checked"
 msgstr "Evite artefatos alfa, quando verificada"
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:166
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr "Time Loop"
 
-#: src/modules/lyr_std/timeloop.cpp:124 src/synfig/valuenode_timeloop.cpp:179
+#: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
 msgstr "Link Time"
 
-#: src/modules/lyr_std/timeloop.cpp:125
+#: src/modules/lyr_std/timeloop.cpp:134
 msgid "Start time of the loop for the cycled context"
 msgstr "Hora de início do ciclo para o contexto de um ciclo"
 
-#: src/modules/lyr_std/timeloop.cpp:129 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr "O tempo local"
 
-#: src/modules/lyr_std/timeloop.cpp:130 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr "O tempo quando o resultado de laço começa"
 
-#: src/modules/lyr_std/timeloop.cpp:134 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr "Duração"
 
-#: src/modules/lyr_std/timeloop.cpp:135 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
 msgid "Lenght of the loop"
 msgstr "Comprimento do loop"
 
-#: src/modules/lyr_std/timeloop.cpp:139
+#: src/modules/lyr_std/timeloop.cpp:148
 msgid "Only For Positive Duration"
 msgstr "Apenas para duração positiva"
 
-#: src/modules/lyr_std/timeloop.cpp:140
+#: src/modules/lyr_std/timeloop.cpp:149
 msgid "When checked will loop only positive durations"
 msgstr "Quando selecionado irá percorrer apenas durações positivas"
 
-#: src/modules/lyr_std/timeloop.cpp:144
+#: src/modules/lyr_std/timeloop.cpp:153
 msgid "Symmetrical"
 msgstr "Simétrico"
 
-#: src/modules/lyr_std/timeloop.cpp:145
+#: src/modules/lyr_std/timeloop.cpp:154
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr "Quando marcado, os loops são espelhados centrados em tempo local"
 
@@ -891,115 +894,115 @@ msgstr "Quando marcada, distorce dentro do círculo"
 msgid "When checked, distorts outside the circle"
 msgstr "Quando marcada, distorce fora do círculo"
 
-#: src/modules/lyr_std/warp.cpp:56
+#: src/modules/lyr_std/warp.cpp:57
 msgid "Warp"
 msgstr "Empenar"
 
-#: src/modules/lyr_std/warp.cpp:374
+#: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
 msgstr "Fonte TL"
 
-#: src/modules/lyr_std/warp.cpp:376
+#: src/modules/lyr_std/warp.cpp:382
 msgid "Top Left corner of the source to warp"
 msgstr "Canto superior esquerdo da fonte para empenar"
 
-#: src/modules/lyr_std/warp.cpp:380
+#: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
 msgstr "Fonte BR"
 
-#: src/modules/lyr_std/warp.cpp:381
+#: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
 msgstr "O canto inferior direito da fonte para empenar"
 
-#: src/modules/lyr_std/warp.cpp:385
+#: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
 msgstr "Dest TL"
 
-#: src/modules/lyr_std/warp.cpp:387
+#: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
 msgstr "No canto superior esquerdo do destino"
 
-#: src/modules/lyr_std/warp.cpp:391
+#: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
 msgstr "Dest TR"
 
-#: src/modules/lyr_std/warp.cpp:393
+#: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
 msgstr "Canto superior direito do destino"
 
-#: src/modules/lyr_std/warp.cpp:397
+#: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
 msgstr "Dest BR"
 
-#: src/modules/lyr_std/warp.cpp:399
+#: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
 msgstr "O canto inferior direito do destino"
 
-#: src/modules/lyr_std/warp.cpp:403
+#: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
 msgstr "Dest BL"
 
-#: src/modules/lyr_std/warp.cpp:405
+#: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
 msgstr "Canto inferior esquerdo do destino"
 
-#: src/modules/lyr_std/warp.cpp:413
+#: src/modules/lyr_std/warp.cpp:419
 msgid "Horizon"
 msgstr "Horizonte"
 
-#: src/modules/lyr_std/warp.cpp:414
+#: src/modules/lyr_std/warp.cpp:420
 msgid "Height that determines the horizon in perspectives"
 msgstr "Altura que determina o horizonte de perspectivas"
 
-#: src/modules/lyr_std/curvewarp.cpp:55
+#: src/modules/lyr_std/curvewarp.cpp:56
 msgid "Curve Warp"
 msgstr "Curva de empenamento"
 
-#: src/modules/lyr_std/curvewarp.cpp:390
-msgid "Position of the source line"
-msgstr "Posição da linha de origem"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:395
+#: src/modules/lyr_std/curvewarp.cpp:404
 msgid "How much is expanded the result perpendicular to the source line"
 msgstr "Quanto é ampliado o resultado perpendicular à linha de origem"
 
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:407
 msgid "Start Point"
 msgstr "Ponto de partida"
 
-#: src/modules/lyr_std/curvewarp.cpp:400
+#: src/modules/lyr_std/curvewarp.cpp:409
 msgid "First point of the source line"
 msgstr "Primeiro ponto da linha de origem"
 
-#: src/modules/lyr_std/curvewarp.cpp:403
+#: src/modules/lyr_std/curvewarp.cpp:412
 msgid "End Point"
 msgstr "Ponto Final"
 
-#: src/modules/lyr_std/curvewarp.cpp:404
+#: src/modules/lyr_std/curvewarp.cpp:413
 msgid "Final point of the source line"
 msgstr "ponto final da linha de origem"
 
-#: src/modules/lyr_std/curvewarp.cpp:407
-#: src/modules/mod_geometry/advanced_outline.cpp:1123
-#: src/modules/mod_geometry/outline.cpp:814
-#: src/modules/mod_geometry/region.cpp:233
-#: src/modules/mod_gradient/curvegradient.cpp:546
-#: src/modules/mod_particle/plant.cpp:391
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
 msgid "Vertices"
 msgstr "Vértices"
 
-#: src/modules/lyr_std/curvewarp.cpp:410
+#: src/modules/lyr_std/curvewarp.cpp:419
 msgid "List of Spline Points where the source line is curved to"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:413
-#: src/modules/mod_geometry/advanced_outline.cpp:1178
-#: src/modules/mod_gradient/curvegradient.cpp:567
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
 msgid "Fast"
 msgstr "Rápido"
 
-#: src/modules/lyr_std/curvewarp.cpp:414
-#: src/modules/mod_gradient/curvegradient.cpp:568
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
 msgid "When checked, renders quickly but with artifacts"
 msgstr "Quando marcada, processa rapidamente, mas com os artefatos"
 
@@ -1007,15 +1010,15 @@ msgstr "Quando marcada, processa rapidamente, mas com os artefatos"
 msgid "XOR Pattern"
 msgstr "XOR Padrão"
 
-#: src/modules/lyr_std/xorpattern.cpp:126
+#: src/modules/lyr_std/xorpattern.cpp:130
 msgid "Center of the pattern"
 msgstr "Centro do padrão"
 
-#: src/modules/lyr_std/xorpattern.cpp:130
+#: src/modules/lyr_std/xorpattern.cpp:134
 msgid "Size of the pattern"
 msgstr "Tamanho do padrão"
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:143
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
 #: src/synfig/valuenode_blinecalctangent.cpp:261
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
 #: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
@@ -1026,7 +1029,7 @@ msgstr ""
 msgid "Amount to scale to"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:105
+#: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
 msgstr ""
 
@@ -1044,22 +1047,22 @@ msgstr "%s não está no formato BMP"
 #: src/modules/mod_bmp/mptr_bmp.cpp:150
 #, c-format
 msgid "Failure while reading BITMAPFILEHEADER from %s"
-msgstr "Falha na leitura de BITMAPFILEHEADER de %s"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:158
 #, c-format
 msgid "Failure while reading BITMAPINFOHEADER from %s"
-msgstr "Falha na leitura de BITMAPINFOHEADER de %s"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:168
 #, c-format
 msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
-msgstr "BITMAPFILEHEADER ruim em %s. (bfOffsetBits=%d, deve ser %d)"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:176
 #, c-format
 msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
-msgstr "BITMAPINFOHEADER ruim em %s. (biSize=%d, deve ser 40)"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
 msgid "Reading compressed bitmaps is not supported"
@@ -1094,126 +1097,143 @@ msgstr "Não é possível gravar informações de cabeçalho"
 msgid "Unable to open pipe to encodedv"
 msgstr "Não foi possível abrir pipe para encodedv"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:201
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:208
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:218
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:272
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-msgid "Unable to open pipe to ffmpeg"
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:214
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no pipe)"
+msgstr "Não foi possível abrir pipe para o ffmpeg"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:221
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (pid == -1)"
+msgstr "Não foi possível abrir pipe para o ffmpeg"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:231
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
+msgstr "Não foi possível abrir pipe para o ffmpeg"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:285
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (exec failed)"
 msgstr "Não foi possível abrir pipe para o ffmpeg"
 
-#: src/modules/mod_filter/blur.cpp:68
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:303
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no file)"
+msgstr "Não foi possível abrir pipe para o ffmpeg"
+
+#: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
 msgstr "Desfoque"
 
-#: src/modules/mod_filter/blur.cpp:69 src/modules/mod_filter/radialblur.cpp:56
+#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
 #: src/synfig/layer_motionblur.cpp:57
 msgid "Blurs"
 msgstr "Desfoques"
 
-#: src/modules/mod_filter/blur.cpp:373
+#: src/modules/mod_filter/blur.cpp:414
 msgid "Size of Blur"
 msgstr "Tamanho do desfoque"
 
-#: src/modules/mod_filter/colorcorrect.cpp:55
+#: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
 msgstr "Correção de cor"
 
-#: src/modules/mod_filter/colorcorrect.cpp:211
+#: src/modules/mod_filter/colorcorrect.cpp:217
 msgid "Hue Adjust"
 msgstr "Ajuste de matiz"
 
-#: src/modules/mod_filter/colorcorrect.cpp:215
+#: src/modules/mod_filter/colorcorrect.cpp:221
 msgid "Brightness"
 msgstr "Brilho"
 
-#: src/modules/mod_filter/colorcorrect.cpp:219
+#: src/modules/mod_filter/colorcorrect.cpp:225
 msgid "Contrast"
 msgstr "Contraste"
 
-#: src/modules/mod_filter/colorcorrect.cpp:223
+#: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
 msgstr "Exposição Ajuste"
 
-#: src/modules/mod_filter/colorcorrect.cpp:227 src/synfig/layer_bitmap.cpp:179
+#: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
 msgstr "Gama de ajuste"
 
-#: src/modules/mod_filter/halftone2.cpp:58
+#: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
 msgstr "Meio-tom"
 
-#: src/modules/mod_filter/halftone2.cpp:151
+#: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
 msgstr "Máscara de Origem"
 
-#: src/modules/mod_filter/halftone2.cpp:155
+#: src/modules/mod_filter/halftone2.cpp:159
 msgid "Mask Angle"
 msgstr "Ângulo de máscara"
 
-#: src/modules/mod_filter/halftone2.cpp:159
-#: src/modules/mod_filter/halftone3.cpp:309
+#: src/modules/mod_filter/halftone2.cpp:163
+#: src/modules/mod_filter/halftone3.cpp:328
 msgid "Mask Size"
 msgstr "Tamanho da Máscara"
 
-#: src/modules/mod_filter/halftone2.cpp:164
+#: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
 msgstr "Cor suave"
 
-#: src/modules/mod_filter/halftone2.cpp:167
+#: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
 msgstr "Cor escura"
 
-#: src/modules/mod_filter/halftone2.cpp:172
-#: src/modules/mod_filter/halftone3.cpp:314
+#: src/modules/mod_filter/halftone2.cpp:176
+#: src/modules/mod_filter/halftone3.cpp:333
 #: src/modules/mod_gradient/conicalgradient.cpp:125
 msgid "Symmetric"
 msgstr "Simétrico"
 
-#: src/modules/mod_filter/halftone2.cpp:173
-#: src/modules/mod_filter/halftone3.cpp:315
+#: src/modules/mod_filter/halftone2.cpp:177
+#: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
 msgstr "Luz no esuro"
 
-#: src/modules/mod_filter/halftone2.cpp:175
-#: src/modules/mod_filter/halftone3.cpp:317
+#: src/modules/mod_filter/halftone2.cpp:179
+#: src/modules/mod_filter/halftone3.cpp:336
 msgid "Diamond"
 msgstr "Diamante"
 
-#: src/modules/mod_filter/halftone2.cpp:176
-#: src/modules/mod_filter/halftone3.cpp:318
+#: src/modules/mod_filter/halftone2.cpp:180
+#: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
 msgstr "Listra"
 
-#: src/modules/mod_filter/halftone3.cpp:58
+#: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
 msgstr "Meio-tom 3"
 
-#: src/modules/mod_filter/halftone3.cpp:312
+#: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
 msgstr "Tipo"
 
-#: src/modules/mod_filter/halftone3.cpp:321
+#: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
 msgstr "Bandeira subtrativa"
 
-#: src/modules/mod_filter/halftone3.cpp:329
+#: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
 msgstr "Cor"
 
-#: src/modules/mod_filter/halftone3.cpp:333
+#: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
 msgstr "Máscara de Origem"
 
-#: src/modules/mod_filter/halftone3.cpp:337
+#: src/modules/mod_filter/halftone3.cpp:356
 msgid " Mask Angle"
 msgstr "Ângulo de máscara"
 
-#: src/modules/mod_filter/lumakey.cpp:58
+#: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
 msgstr "Luma Key"
 
-#: src/modules/mod_filter/radialblur.cpp:55
+#: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
 msgstr "Desfoque Radial"
 
@@ -1235,19 +1255,19 @@ msgstr "Tabuleiro de damas"
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:62 src/synfig/layer_solidcolor.cpp:57
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
 msgstr "Geometria"
 
-#: src/modules/mod_geometry/checkerboard.cpp:123
+#: src/modules/mod_geometry/checkerboard.cpp:147
 msgid "Color of checkers"
 msgstr "Cor de quadriculado"
 
-#: src/modules/mod_geometry/checkerboard.cpp:127
+#: src/modules/mod_geometry/checkerboard.cpp:151
 msgid "Center of the checkers"
 msgstr "Centro do quadriculado"
 
-#: src/modules/mod_geometry/checkerboard.cpp:131
+#: src/modules/mod_geometry/checkerboard.cpp:155
 msgid "Size of checkers"
 msgstr "Tamanho do quadriculado"
 
@@ -1255,54 +1275,54 @@ msgstr "Tamanho do quadriculado"
 msgid "Circle"
 msgstr "Círculo"
 
-#: src/modules/mod_geometry/circle.cpp:134
+#: src/modules/mod_geometry/circle.cpp:152
 msgid "Radius of the circle"
 msgstr "Raio do círculo"
 
-#: src/modules/mod_geometry/circle.cpp:138 src/synfig/layer_shape.cpp:1206
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
 msgid "Feather"
 msgstr "Suavizar"
 
-#: src/modules/mod_geometry/circle.cpp:140
+#: src/modules/mod_geometry/circle.cpp:158
 msgid "Amount of feather of the circle"
 msgstr "Quantidade da suavidade do círculo"
 
-#: src/modules/mod_geometry/circle.cpp:148
+#: src/modules/mod_geometry/circle.cpp:166
 msgid "Invert the circle"
 msgstr "Inverter o círculo"
 
-#: src/modules/mod_geometry/circle.cpp:152
+#: src/modules/mod_geometry/circle.cpp:170
 msgid "Falloff"
 msgstr "Falloff"
 
-#: src/modules/mod_geometry/circle.cpp:153
+#: src/modules/mod_geometry/circle.cpp:171
 msgid "Determines the falloff function for the feather"
 msgstr "Determina a função falloff para a suavização"
 
-#: src/modules/mod_geometry/circle.cpp:155
-#: src/modules/mod_noise/distort.cpp:234 src/modules/mod_noise/noise.cpp:275
-#: src/modules/mod_noise/valuenode_random.cpp:288
-#: src/synfig/layer_bitmap.cpp:173 src/synfig/layer_motionblur.cpp:150
-#: src/synfig/valuenode.cpp:139 src/synfig/valuenode_linear.cpp:146
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:289
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
 msgid "Linear"
 msgstr "Linear"
 
-#: src/modules/mod_geometry/circle.cpp:156
+#: src/modules/mod_geometry/circle.cpp:174
 msgid "Squared"
 msgstr "Quadrado"
 
-#: src/modules/mod_geometry/circle.cpp:157
+#: src/modules/mod_geometry/circle.cpp:175
 msgid "Square Root"
 msgstr "Raiz quadrada"
 
-#: src/modules/mod_geometry/circle.cpp:158
+#: src/modules/mod_geometry/circle.cpp:176
 msgid "Sigmond"
 msgstr "Sigmond"
 
-#: src/modules/mod_geometry/circle.cpp:159
-#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:276
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:174
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:290
+#: src/synfig/layer_bitmap.cpp:170
 msgid "Cosine"
 msgstr "Co-seno"
 
@@ -1310,160 +1330,160 @@ msgstr "Co-seno"
 msgid "Advanced Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:133
+#: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1125
-#: src/modules/mod_geometry/outline.cpp:817
-#: src/modules/mod_geometry/region.cpp:235
-#: src/modules/mod_gradient/curvegradient.cpp:549
-#: src/modules/mod_particle/plant.cpp:392
+#: src/modules/mod_geometry/advanced_outline.cpp:1136
+#: src/modules/mod_geometry/outline.cpp:826
+#: src/modules/mod_geometry/region.cpp:240
+#: src/modules/mod_gradient/curvegradient.cpp:562
+#: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1129
-#: src/modules/mod_geometry/outline.cpp:831
+#: src/modules/mod_geometry/advanced_outline.cpp:1140
+#: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
 msgstr "Largura da borda"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1130
-#: src/modules/mod_geometry/outline.cpp:832
+#: src/modules/mod_geometry/advanced_outline.cpp:1141
+#: src/modules/mod_geometry/outline.cpp:841
 msgid "Global width of the outline"
 msgstr "Largura global do contorno"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:837
+#: src/modules/mod_geometry/advanced_outline.cpp:1145
+#: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
 msgstr "Expanda"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1135
-#: src/modules/mod_geometry/outline.cpp:838
+#: src/modules/mod_geometry/advanced_outline.cpp:1146
+#: src/modules/mod_geometry/outline.cpp:847
 msgid "Value to add to the global width"
 msgstr "Valor a adicionar à largura global"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1138
+#: src/modules/mod_geometry/advanced_outline.cpp:1149
 msgid "Tip Type at Start"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1139
+#: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1141
-#: src/modules/mod_geometry/advanced_outline.cpp:1150
-#: src/synfig/valuenode_composite.cpp:548
+#: src/modules/mod_geometry/advanced_outline.cpp:1152
+#: src/modules/mod_geometry/advanced_outline.cpp:1161
 #: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:587
-#: src/synfig/valuenode_composite.cpp:596
+#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:606
 msgid "Rounded Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1142
-#: src/modules/mod_geometry/advanced_outline.cpp:1151
-#: src/synfig/valuenode_composite.cpp:549
+#: src/modules/mod_geometry/advanced_outline.cpp:1153
+#: src/modules/mod_geometry/advanced_outline.cpp:1162
 #: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:588
-#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:607
 msgid "Squared Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1143
-#: src/modules/mod_geometry/advanced_outline.cpp:1152
-#: src/synfig/valuenode_composite.cpp:550
+#: src/modules/mod_geometry/advanced_outline.cpp:1154
+#: src/modules/mod_geometry/advanced_outline.cpp:1163
 #: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:570
+#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:608
 msgid "Peak Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1144
-#: src/modules/mod_geometry/advanced_outline.cpp:1153
-#: src/synfig/valuenode_composite.cpp:551
+#: src/modules/mod_geometry/advanced_outline.cpp:1155
+#: src/modules/mod_geometry/advanced_outline.cpp:1164
 #: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:590
-#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:571
+#: src/synfig/valuenode_composite.cpp:600
+#: src/synfig/valuenode_composite.cpp:609
 msgid "Flat Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1147
+#: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1148
+#: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1156
+#: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1157
-#: src/modules/mod_geometry/outline.cpp:843
+#: src/modules/mod_geometry/advanced_outline.cpp:1168
+#: src/modules/mod_geometry/outline.cpp:852
 msgid "Determines cusp type"
 msgstr "Determina o tipo cúspide"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1159
+#: src/modules/mod_geometry/advanced_outline.cpp:1170
 msgid "Sharp"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1160
+#: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1164
+#: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1165
+#: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1168
-#: src/modules/mod_geometry/outline.cpp:859
+#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/outline.cpp:869
 #: src/synfig/valuenode_blinecalctangent.cpp:271
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
 msgstr "Homogêneo"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1169
+#: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
+#: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1175
+#: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1182
+#: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1184
+#: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1187
+#: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1190
+#: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1193
+#: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1196
+#: src/modules/mod_geometry/advanced_outline.cpp:1207
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
@@ -1471,32 +1491,36 @@ msgstr ""
 msgid "Outline"
 msgstr "Borda"
 
-#: src/modules/mod_geometry/outline.cpp:183
+#: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
 msgstr "Sem vértices na borda"
 
-#: src/modules/mod_geometry/outline.cpp:842
+#: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
 msgstr "Cúspides afiadas"
 
-#: src/modules/mod_geometry/outline.cpp:847
+#: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
 msgstr "Início Arredondado"
 
-#: src/modules/mod_geometry/outline.cpp:848
-#: src/modules/mod_geometry/outline.cpp:853
+#: src/modules/mod_geometry/outline.cpp:857
+#: src/modules/mod_geometry/outline.cpp:862
 msgid "Round off the tip"
 msgstr "Termine a ponta"
 
-#: src/modules/mod_geometry/outline.cpp:852
+#: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
 msgstr "Fim arredondado"
 
-#: src/modules/mod_geometry/outline.cpp:856
+#: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
 msgstr "Loopyness"
 
-#: src/modules/mod_geometry/outline.cpp:860
+#: src/modules/mod_geometry/outline.cpp:866
+msgid "(Currently not used)"
+msgstr ""
+
+#: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
 msgstr ""
 "Quando verificada a largura tem o comprimento da Spline para interpolar"
@@ -1505,11 +1529,11 @@ msgstr ""
 msgid "Rectangle"
 msgstr "Retângulo"
 
-#: src/modules/mod_geometry/rectangle.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
 msgstr "Expandir a quantidade"
 
-#: src/modules/mod_geometry/rectangle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
 msgstr "Inverter o retângulo"
 
@@ -1521,46 +1545,46 @@ msgstr "Região"
 msgid "Star"
 msgstr "Estrela"
 
-#: src/modules/mod_geometry/star.cpp:183
+#: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
 msgstr "Raio externo"
 
-#: src/modules/mod_geometry/star.cpp:184
+#: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
 msgstr "O raio dos pontos exteriores da estrela"
 
-#: src/modules/mod_geometry/star.cpp:190
+#: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
 msgstr "Raio interno"
 
-#: src/modules/mod_geometry/star.cpp:191
+#: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
 msgstr "O raio dos pontos interiores da estrela"
 
-#: src/modules/mod_geometry/star.cpp:197
+#: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:129
+#: src/modules/mod_gradient/spiralgradient.cpp:130
 #: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr "Ângulo"
 
-#: src/modules/mod_geometry/star.cpp:198
+#: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr "A orientação da estrela"
 
-#: src/modules/mod_geometry/star.cpp:203 src/synfig/distance.cpp:251
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
 msgid "Points"
 msgstr "Pontos"
 
-#: src/modules/mod_geometry/star.cpp:204
+#: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
 msgstr "O número de pontos na estrela"
 
-#: src/modules/mod_geometry/star.cpp:208
+#: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
 msgstr "Polígono Regular"
 
-#: src/modules/mod_geometry/star.cpp:209
+#: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr "Seja para desenhar uma estrela ou um polígono regular"
 
@@ -1578,20 +1602,20 @@ msgid "Conical Gradient"
 msgstr "Gradiente Cônico"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
-#: src/modules/mod_gradient/curvegradient.cpp:61
+#: src/modules/mod_gradient/curvegradient.cpp:62
 #: src/modules/mod_gradient/lineargradient.cpp:55
 #: src/modules/mod_gradient/radialgradient.cpp:58
-#: src/modules/mod_gradient/spiralgradient.cpp:57
-#: src/modules/mod_noise/noise.cpp:58
+#: src/modules/mod_gradient/spiralgradient.cpp:58
+#: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
 msgstr "Gradientes"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
-#: src/modules/mod_gradient/curvegradient.cpp:553
-#: src/modules/mod_gradient/lineargradient.cpp:200
+#: src/modules/mod_gradient/curvegradient.cpp:566
+#: src/modules/mod_gradient/lineargradient.cpp:195
 #: src/modules/mod_gradient/radialgradient.cpp:114
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:260
+#: src/modules/mod_gradient/spiralgradient.cpp:114
+#: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
 msgstr "Gradiente para aplicar"
 
@@ -1604,27 +1628,27 @@ msgid "Rotation of the gradient around the center"
 msgstr "Rotação do gradiente em torno do centro"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
-#: src/modules/mod_gradient/curvegradient.cpp:557
-#: src/modules/mod_gradient/lineargradient.cpp:204
+#: src/modules/mod_gradient/curvegradient.cpp:570
+#: src/modules/mod_gradient/lineargradient.cpp:199
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr "Quando marcado o gradiente é fechado"
 
-#: src/modules/mod_gradient/curvegradient.cpp:60
+#: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
 msgstr "Curva de gradiente"
 
-#: src/modules/mod_gradient/curvegradient.cpp:538
-#: src/modules/mod_particle/plant.cpp:399
+#: src/modules/mod_gradient/curvegradient.cpp:551
+#: src/modules/mod_particle/plant.cpp:432
 msgid "Offset for the Vertices List"
 msgstr "Deslocamento para a lista de vértices"
 
-#: src/modules/mod_gradient/curvegradient.cpp:543
+#: src/modules/mod_gradient/curvegradient.cpp:556
 msgid "Global width of the gradient"
 msgstr "Largura global  do gradiente"
 
-#: src/modules/mod_gradient/curvegradient.cpp:556
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/curvegradient.cpp:569
+#: src/modules/mod_gradient/lineargradient.cpp:198
 #: src/modules/mod_gradient/radialgradient.cpp:130
 #: src/synfig/valuenode_blinecalctangent.cpp:246
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
@@ -1632,19 +1656,19 @@ msgstr "Largura global  do gradiente"
 msgid "Loop"
 msgstr "Loop"
 
-#: src/modules/mod_gradient/curvegradient.cpp:560
-#: src/modules/mod_gradient/lineargradient.cpp:207
+#: src/modules/mod_gradient/curvegradient.cpp:573
+#: src/modules/mod_gradient/lineargradient.cpp:202
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr "ZigZag"
 
-#: src/modules/mod_gradient/curvegradient.cpp:561
-#: src/modules/mod_gradient/lineargradient.cpp:208
+#: src/modules/mod_gradient/curvegradient.cpp:574
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:136
 msgid "When checked the gradient is summetrical at the center"
 msgstr "Quando marcado, o gradiente é simétrico no centro"
 
-#: src/modules/mod_gradient/curvegradient.cpp:564
+#: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
 msgstr "Perpendicular"
 
@@ -1652,11 +1676,11 @@ msgstr "Perpendicular"
 msgid "Linear Gradient"
 msgstr "Gradiente linear"
 
-#: src/modules/mod_gradient/lineargradient.cpp:192
+#: src/modules/mod_gradient/lineargradient.cpp:187
 msgid "Start point of the gradient"
 msgstr "Ponto inicial do gradiente"
 
-#: src/modules/mod_gradient/lineargradient.cpp:196
+#: src/modules/mod_gradient/lineargradient.cpp:191
 msgid "End point of the gradient"
 msgstr "Ponto final do gradiente"
 
@@ -1665,23 +1689,23 @@ msgid "Radial Gradient"
 msgstr "Gradiente radial"
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:119
 msgid "Center of the gradient"
 msgstr "Centro do gradiente"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:56
+#: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
 msgstr "Gradiente espiral"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:130
+#: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
 msgstr "Rotação da espiral"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:135
+#: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
 msgstr "Sentido horário"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:136
+#: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
 msgstr "Quando marcado, a espiral gira para a direita"
 
@@ -1694,13 +1718,15 @@ msgstr "Nenhum arquivo para carregar"
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/listimporter.cpp:184 src/synfig/listimporter.cpp:185
+#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
+#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
 msgid "Unable to open "
 msgstr "Não é possível abrir"
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/listimporter.cpp:191 src/synfig/listimporter.cpp:192
+#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
+#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
 msgid "Unable to get frame from "
 msgstr "Não foi possível obter quadro de"
 
@@ -1739,115 +1765,115 @@ msgid "Unable to open pipe to imagemagick's convert utility"
 msgstr ""
 "Não foi possível abrir pipe para imagemagick de utilitário de conversão"
 
-#: src/modules/mod_noise/distort.cpp:57
+#: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
 msgstr "Distorção de ruído "
 
-#: src/modules/mod_noise/distort.cpp:217
+#: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
 msgstr "Deslocamento"
 
-#: src/modules/mod_noise/distort.cpp:218
+#: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
 msgstr "Quanto a distorção desloca o contexto"
 
-#: src/modules/mod_noise/distort.cpp:223
+#: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
 msgstr "A distância entre as distorções"
 
-#: src/modules/mod_noise/distort.cpp:226 src/modules/mod_noise/noise.cpp:263
+#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
 msgstr "Semente de ruído aleatório"
 
-#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:264
+#: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
 msgstr "Alterar para modificar a semente aleatória do ruído"
 
-#: src/modules/mod_noise/distort.cpp:230 src/modules/mod_noise/noise.cpp:271
-#: src/modules/mod_noise/valuenode_random.cpp:284
-#: src/synfig/layer_bitmap.cpp:169
+#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr "Interpolação"
 
-#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
-#: src/synfig/layer_bitmap.cpp:170
+#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
+#: src/synfig/layer_bitmap.cpp:166
 msgid "What type of interpolation to use"
 msgstr "Que tipo de interpolação usar"
 
-#: src/modules/mod_noise/distort.cpp:233 src/modules/mod_noise/noise.cpp:274
-#: src/synfig/layer_bitmap.cpp:172
+#: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
+#: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
 msgstr "Vizinhos mais próximos"
 
-#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:277
-#: src/modules/mod_noise/valuenode_random.cpp:290 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_bline.cpp:1001
+#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
+#: src/synfig/valuenode_bline.cpp:1006
 #: src/synfig/valuenode_blinecalctangent.cpp:241
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr "Spline"
 
-#: src/modules/mod_noise/distort.cpp:237 src/modules/mod_noise/noise.cpp:278
-#: src/modules/mod_noise/valuenode_random.cpp:291
-#: src/synfig/layer_bitmap.cpp:175
+#: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr "Cúbico"
 
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:281
+#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
 msgstr "Detalhe"
 
-#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:282
+#: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
 msgstr "Aumente para obter detalhes do ruído"
 
-#: src/modules/mod_noise/distort.cpp:244 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
 msgstr "Velocidade da Animação"
 
-#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
 msgstr "Em ciclos por segundo"
 
-#: src/modules/mod_noise/distort.cpp:248 src/modules/mod_noise/noise.cpp:289
+#: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
 msgstr "Turbulento"
 
-#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:290
+#: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
 msgstr "Quando marcada produz ruído turbulento"
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:183
+#: src/modules/mod_noise/valuenode_random.cpp:184
 msgid "Random"
 msgstr "Aleatório"
 
-#: src/modules/mod_noise/noise.cpp:57
+#: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
 msgstr "Ruído Gradiente"
 
-#: src/modules/mod_noise/noise.cpp:268
+#: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
 msgstr "Tamanho do ruído"
 
-#: src/modules/mod_noise/noise.cpp:293
+#: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
 msgstr "Do Alpha"
 
-#: src/modules/mod_noise/noise.cpp:294
+#: src/modules/mod_noise/noise.cpp:303
 msgid "Uses transparency"
 msgstr "Usa transparência "
 
-#: src/modules/mod_noise/noise.cpp:297
+#: src/modules/mod_noise/noise.cpp:306
 msgid "Super Sampling"
 msgstr "Super Amostragem"
 
-#: src/modules/mod_noise/noise.cpp:298
+#: src/modules/mod_noise/noise.cpp:307
 msgid "When checked the gradient is supersampled"
 msgstr "Quando marcado o gradiente é super amostrado"
 
-#: src/modules/mod_noise/valuenode_random.cpp:264
+#: src/modules/mod_noise/valuenode_random.cpp:265
 #: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
 #: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
 #: src/synfig/valuenode_reciprocal.cpp:165
@@ -1856,106 +1882,106 @@ msgstr "Quando marcado o gradiente é super amostrado"
 msgid "Link"
 msgstr "Link"
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "The value node source that provides the central value"
 msgstr "O valor do nó de origem que fornece o valor central"
 
-#: src/modules/mod_noise/valuenode_random.cpp:270
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid "The value of the maximum random difference"
 msgstr "O valor da diferença máxima aleatória"
 
-#: src/modules/mod_noise/valuenode_random.cpp:274
-#: src/modules/mod_particle/plant.cpp:450
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr "Sementes"
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:276
 msgid "Seeds the random number generator"
 msgstr "Semeia o gerador de números aleatórios"
 
-#: src/modules/mod_noise/valuenode_random.cpp:279
+#: src/modules/mod_noise/valuenode_random.cpp:280
 msgid "Speed"
 msgstr "Velocidade"
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:281
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 "Define quantas vezes um novo valor aleatório é escolhido (em escolhas por "
 "segundo)"
 
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:286
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 "Determina como o valor é interpolada uma escolha aleatória para a próxima"
 
-#: src/modules/mod_noise/valuenode_random.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:288
 msgid "No interpolation"
 msgstr "Sem interpolação"
 
-#: src/modules/mod_noise/valuenode_random.cpp:296
+#: src/modules/mod_noise/valuenode_random.cpp:297
 msgid "Loop Time"
 msgstr "Tempo do loop"
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:298
 msgid "Makes the random value repeat after the given time"
 msgstr "Torna a repetir um valor aleatório após o tempo determinado"
 
-#: src/modules/mod_particle/plant.cpp:69
+#: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
 msgstr "Planta"
 
-#: src/modules/mod_particle/plant.cpp:404
+#: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
 msgstr "Gradiente para ser utilizado na coloração da planta"
 
-#: src/modules/mod_particle/plant.cpp:408
+#: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
 msgstr "Separar ângulo"
 
-#: src/modules/mod_particle/plant.cpp:409
+#: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
 msgstr "Ângulo pelo qual cada grupo se desvia do seu pai"
 
-#: src/modules/mod_particle/plant.cpp:413
+#: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
 msgstr "Gravidade"
 
-#: src/modules/mod_particle/plant.cpp:414
+#: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
 msgstr "Direção na qual os disparos tendem a ir"
 
-#: src/modules/mod_particle/plant.cpp:419
+#: src/modules/mod_particle/plant.cpp:452
 msgid "Tangential Velocity"
 msgstr "Velocidade tangencial"
 
-#: src/modules/mod_particle/plant.cpp:420
+#: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:424
+#: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
 msgstr "Velocidade perpendicular"
 
-#: src/modules/mod_particle/plant.cpp:425
+#: src/modules/mod_particle/plant.cpp:458
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:429
+#: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
 msgstr "Tamanho da haste"
 
-#: src/modules/mod_particle/plant.cpp:430
+#: src/modules/mod_particle/plant.cpp:463
 msgid "Size of the stem"
 msgstr "Tamanho da haste"
 
-#: src/modules/mod_particle/plant.cpp:435
+#: src/modules/mod_particle/plant.cpp:468
 msgid "Size As Alpha"
 msgstr "Tamanho como alfa"
 
-#: src/modules/mod_particle/plant.cpp:436
+#: src/modules/mod_particle/plant.cpp:469
 msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
@@ -1963,67 +1989,67 @@ msgstr ""
 "Se ativado, o canal alfa do gradiente é multiplicado pelo tamanho da haste, "
 "e um alfa de 1,0 é usado quando o processamento"
 
-#: src/modules/mod_particle/plant.cpp:440
+#: src/modules/mod_particle/plant.cpp:473
 msgid "Reverse"
 msgstr "Reverso"
 
-#: src/modules/mod_particle/plant.cpp:441
+#: src/modules/mod_particle/plant.cpp:474
 msgid "If enabled, render the plant in the opposite direction"
 msgstr "Se ativado, processa a planta na direção oposta"
 
-#: src/modules/mod_particle/plant.cpp:445 src/synfig/valuenode.cpp:170
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
 #: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
 msgid "Step"
 msgstr "Etapa"
 
-#: src/modules/mod_particle/plant.cpp:446
+#: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
 msgstr "Medida da distância entre os pontos quando em processamento"
 
-#: src/modules/mod_particle/plant.cpp:451
+#: src/modules/mod_particle/plant.cpp:484
 msgid "Used to seed the pseudo-random number generator"
 msgstr "Usado para semear o gerador de números pseudo-aleatórios"
 
-#: src/modules/mod_particle/plant.cpp:455
+#: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
 msgstr "Partir"
 
-#: src/modules/mod_particle/plant.cpp:456
+#: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
 msgstr "O número máximo de vezes que cada broto pode brotar recursivamente"
 
-#: src/modules/mod_particle/plant.cpp:460
+#: src/modules/mod_particle/plant.cpp:493
 msgid "Sprouts"
 msgstr "Brotos"
 
-#: src/modules/mod_particle/plant.cpp:461
+#: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:465
+#: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
 msgstr "Fator Aleatório"
 
-#: src/modules/mod_particle/plant.cpp:466
+#: src/modules/mod_particle/plant.cpp:499
 msgid ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 msgstr ""
 "Usado para reduzir todos efeitos aleatórios. Definido como zero para "
 "desabilitar aleatoriedade."
 
-#: src/modules/mod_particle/plant.cpp:470
+#: src/modules/mod_particle/plant.cpp:503
 msgid "Drag"
 msgstr "Arrastar"
 
-#: src/modules/mod_particle/plant.cpp:471
+#: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
 msgstr "Arraste retarda o crescimento"
 
-#: src/modules/mod_particle/plant.cpp:475
+#: src/modules/mod_particle/plant.cpp:508
 msgid "Use Width"
 msgstr "Use a Largura"
 
-#: src/modules/mod_particle/plant.cpp:476
+#: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
@@ -2032,97 +2058,102 @@ msgstr ""
 msgid "%s was not in PPM format"
 msgstr "%s não estava no formato PPM"
 
-#: src/synfig/cairoimporter.cpp:87 src/synfig/importer.cpp:87
+#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
 msgid "Importer::open(): Cannot open empty filename"
 msgstr "Importer::open (): Não é possível abrir arquivo vazio"
 
-#: src/synfig/cairoimporter.cpp:101 src/synfig/importer.cpp:101
+#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
 msgid "Importer::open(): Couldn't find extension"
 msgstr "Importer::open (): Não foi possível encontrar a extensão"
 
-#: src/synfig/cairoimporter.cpp:112 src/synfig/importer.cpp:112
+#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
 msgid "Importer::open(): Unknown file type -- "
 msgstr "Importer::open (): Tipo de arquivo desconhecido --"
 
-#: src/synfig/canvas.cpp:798 src/synfig/canvas.cpp:863
-#: src/synfig/canvas.cpp:886
+#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
+#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+msgid "No images in list"
+msgstr ""
+
+#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
+#: src/synfig/canvas.cpp:927
 msgid "in line"
 msgstr "em linha"
 
-#: src/synfig/distance.cpp:249
+#: src/synfig/distance.cpp:251
 msgid "Units"
 msgstr "Unidades"
 
-#: src/synfig/distance.cpp:250
+#: src/synfig/distance.cpp:252
 msgid "Pixels"
 msgstr "Pixels"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:254
 msgid "Inches"
 msgstr "Polegadas"
 
-#: src/synfig/distance.cpp:253
+#: src/synfig/distance.cpp:255
 msgid "Meters"
 msgstr "Metros"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:256
 msgid "Millimeters"
 msgstr "Milímetros"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:257
 msgid "Centimeters"
 msgstr "Centímetros"
 
-#: src/synfig/layer.cpp:565 src/synfig/layer_composite.cpp:128
+#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
 msgid "Unable to create surface target"
 msgstr "Não é possível criar alvo da superfície"
 
-#: src/synfig/layer.cpp:619
+#: src/synfig/layer.cpp:605
 msgid "Z Depth"
 msgstr "Profundidade Z"
 
-#: src/synfig/layer.cpp:621
+#: src/synfig/layer.cpp:607
 msgid "Modifies the position of the layer in the layer stack"
 msgstr "Modifica a posição da camada na pilha de camadas"
 
-#: src/synfig/layer_bitmap.cpp:159
+#: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
 msgstr "No topo-à esquerda"
 
-#: src/synfig/layer_bitmap.cpp:160
+#: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
 msgstr "Canto superior esquerdo da imagem"
 
-#: src/synfig/layer_bitmap.cpp:164
+#: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
 msgstr "Embaixo- à direita"
 
-#: src/synfig/layer_bitmap.cpp:165
+#: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
 msgstr "Canto inferior-direito da imagem"
 
-#: src/synfig/layer_composite.cpp:218
+#: src/synfig/layer_composite.cpp:250
 msgid "Alpha channel of the layer"
 msgstr "Canal alfa da camada"
 
-#: src/synfig/layer_composite.cpp:221 src/synfig/paramdesc.cpp:62
+#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr "Método Mistura"
 
-#: src/synfig/layer_composite.cpp:222
+#: src/synfig/layer_composite.cpp:254
 msgid "The blending method used to composite on the layers below"
 msgstr "O método de mistura utilizado para compor as camadas abaixo"
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:168
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
 #: src/synfig/valuenode_duplicate.cpp:174
 msgid "Duplicate"
 msgstr "Duplicado"
 
-#: src/synfig/layer_duplicate.cpp:148
+#: src/synfig/layer_duplicate.cpp:151
 msgid "Index"
 msgstr "Índice"
 
-#: src/synfig/layer_duplicate.cpp:149
+#: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
 msgstr "Índice da cópia"
 
@@ -2134,156 +2165,156 @@ msgstr "[MIME]"
 msgid "Motion Blur"
 msgstr "Borragem de movimento"
 
-#: src/synfig/layer_motionblur.cpp:136
+#: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
 msgstr "Abertura"
 
-#: src/synfig/layer_motionblur.cpp:137
+#: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
 msgstr "Tempo do obturador"
 
-#: src/synfig/layer_motionblur.cpp:141
+#: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
 msgstr "Fator de subamostras"
 
-#: src/synfig/layer_motionblur.cpp:142
+#: src/synfig/layer_motionblur.cpp:141
 msgid "Multiplies The Number Of Subsamples Rendered"
 msgstr "Multiplica o número de subamostras geradas"
 
-#: src/synfig/layer_motionblur.cpp:146
+#: src/synfig/layer_motionblur.cpp:145
 msgid "Subsampling Type"
 msgstr "Tipo subamostragem"
 
-#: src/synfig/layer_motionblur.cpp:147
+#: src/synfig/layer_motionblur.cpp:146
 msgid "Curve Type For Weighting Subsamples"
 msgstr "Tipo de curva de Ponderação das Subamostras"
 
-#: src/synfig/layer_motionblur.cpp:149 src/synfig/valuenode_const.cpp:127
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
 msgid "Constant"
 msgstr "Constante"
 
-#: src/synfig/layer_motionblur.cpp:151
+#: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
 msgstr "Hiperbólico"
 
-#: src/synfig/layer_motionblur.cpp:155
+#: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
 msgstr "Valor Inicial da Subamostra"
 
-#: src/synfig/layer_motionblur.cpp:156
+#: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:160
+#: src/synfig/layer_motionblur.cpp:159
 msgid "Subsample End Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:161
+#: src/synfig/layer_motionblur.cpp:160
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:78 src/synfig/layer_pastecanvas.cpp:120
-#: src/synfig/layer_pastecanvas.cpp:121
+#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
+#: src/synfig/layer_pastecanvas.cpp:124
 msgid "Group"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:137
+#: src/synfig/layer_pastecanvas.cpp:140
 msgid "Canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:138
+#: src/synfig/layer_pastecanvas.cpp:141
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:144
 msgid "Zoom"
 msgstr "Zoom"
 
-#: src/synfig/layer_pastecanvas.cpp:142
+#: src/synfig/layer_pastecanvas.cpp:145
 msgid "Size of canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:147
+#: src/synfig/layer_pastecanvas.cpp:152
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:151
+#: src/synfig/layer_pastecanvas.cpp:156
 msgid "Children Lock"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:157
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
+#: src/synfig/layer_pastecanvas.cpp:162
 msgid "Focus Point"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:159
+#: src/synfig/layer_pastecanvas.cpp:165
 msgid "Point to remain fixed when zooming"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:164
+#: src/synfig/layer_pastecanvas.cpp:170
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:165
+#: src/synfig/layer_pastecanvas.cpp:171
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:180
+#: src/synfig/layer_pastecanvas.cpp:186
 msgid "Current Time"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:61
+#: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:187
+#: src/synfig/layer_polygon.cpp:194
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:188
+#: src/synfig/layer_polygon.cpp:195
 msgid "Define the corners of the polygon"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:64
+#: src/synfig/layer_shape.cpp:66
 msgid "Shape"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:65
+#: src/synfig/layer_shape.cpp:67
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1194
+#: src/synfig/layer_shape.cpp:1222
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1203
+#: src/synfig/layer_shape.cpp:1231
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1210
+#: src/synfig/layer_shape.cpp:1238
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1211
+#: src/synfig/layer_shape.cpp:1239
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1220
+#: src/synfig/layer_shape.cpp:1248
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_shape.cpp:1249
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1223
+#: src/synfig/layer_shape.cpp:1251
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1224
+#: src/synfig/layer_shape.cpp:1252
 msgid "Even/Odd"
 msgstr "Par/Ímpar"
 
@@ -2291,406 +2322,406 @@ msgstr "Par/Ímpar"
 msgid "Solid Color"
 msgstr ""
 
-#: src/synfig/listimporter.cpp:161 src/synfig/listimporter.cpp:162
-msgid "No images in list"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:142
+#: src/synfig/loadcanvas.cpp:143
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr "Não pôde carregar '%s' recursivamente"
 
-#: src/synfig/loadcanvas.cpp:185
+#: src/synfig/loadcanvas.cpp:186
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr "Elemento inesperado <%s>, era esperado <%s>"
 
-#: src/synfig/loadcanvas.cpp:191
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr "Elemento inesperado <%s>"
 
-#: src/synfig/loadcanvas.cpp:205
+#: src/synfig/loadcanvas.cpp:206
 msgid "Too many warnings"
 msgstr "Muitas mensagens de advertência."
 
-#: src/synfig/loadcanvas.cpp:236
+#: src/synfig/loadcanvas.cpp:237
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:469
-#: src/synfig/loadcanvas.cpp:1118
+#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
+#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr "<%s> não deve ser vazio"
 
 #: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:473
-#: src/synfig/loadcanvas.cpp:1122
+#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
+#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:484 src/synfig/loadcanvas.cpp:1144
+#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
+#: src/synfig/loadcanvas.cpp:1200
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:508
+#: src/synfig/loadcanvas.cpp:533
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1284
+#: src/synfig/loadcanvas.cpp:1353
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1301
+#: src/synfig/loadcanvas.cpp:1375
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1314
+#: src/synfig/loadcanvas.cpp:1388
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1330
+#: src/synfig/loadcanvas.cpp:1404
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1336 src/synfig/loadcanvas.cpp:1348
+#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1365
+#: src/synfig/loadcanvas.cpp:1439
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1380
+#: src/synfig/loadcanvas.cpp:1455
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1424 src/synfig/loadcanvas.cpp:1443
-#, c-format
-msgid "\"%s\" not a valid value for attribute \"%s\" in <%s>"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:1504
+#: src/synfig/loadcanvas.cpp:1556
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1512
+#: src/synfig/loadcanvas.cpp:1565
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1522
+#: src/synfig/loadcanvas.cpp:1577
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1531
+#: src/synfig/loadcanvas.cpp:1587
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1557 src/synfig/loadcanvas.cpp:1628
+#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1570
+#: src/synfig/loadcanvas.cpp:1625
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1579
+#: src/synfig/loadcanvas.cpp:1634
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1603
+#: src/synfig/loadcanvas.cpp:1658
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1643
+#: src/synfig/loadcanvas.cpp:1698
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1652
+#: src/synfig/loadcanvas.cpp:1707
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1659
+#: src/synfig/loadcanvas.cpp:1714
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1677
+#: src/synfig/loadcanvas.cpp:1732
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1747
+#: src/synfig/loadcanvas.cpp:1811
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1841
-msgid "Unable to create <dynamic_list>"
+#: src/synfig/loadcanvas.cpp:1861
+msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1993
+#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2038
+#: src/synfig/loadcanvas.cpp:1998
+msgid "Unable to create <dynamic_list>"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2220
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2076
+#: src/synfig/loadcanvas.cpp:2283
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2097
+#: src/synfig/loadcanvas.cpp:2304
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2102
+#: src/synfig/loadcanvas.cpp:2310
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2107
+#: src/synfig/loadcanvas.cpp:2316
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2142
+#: src/synfig/loadcanvas.cpp:2373
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2161
+#: src/synfig/loadcanvas.cpp:2392
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2181
+#: src/synfig/loadcanvas.cpp:2415
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2184
+#: src/synfig/loadcanvas.cpp:2418
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2192
+#: src/synfig/loadcanvas.cpp:2426
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2209
+#: src/synfig/loadcanvas.cpp:2443
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2214
+#: src/synfig/loadcanvas.cpp:2448
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2454
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2222
+#: src/synfig/loadcanvas.cpp:2456
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2244
+#: src/synfig/loadcanvas.cpp:2480
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2260
+#: src/synfig/loadcanvas.cpp:2496
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2272 src/synfig/loadcanvas.cpp:2292
+#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2280
+#: src/synfig/loadcanvas.cpp:2516
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2303
+#: src/synfig/loadcanvas.cpp:2539
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2376 src/synfig/loadcanvas.cpp:2384
+#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2470
+#: src/synfig/loadcanvas.cpp:2710
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2478
+#: src/synfig/loadcanvas.cpp:2717
+msgid "Inline canvas cannot have a <bones> section"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2725
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2490
+#: src/synfig/loadcanvas.cpp:2737
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2498
+#: src/synfig/loadcanvas.cpp:2745
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2504
+#: src/synfig/loadcanvas.cpp:2751
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:2763
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2531
+#: src/synfig/loadcanvas.cpp:2778
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2546
+#: src/synfig/loadcanvas.cpp:2793
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2578
+#: src/synfig/loadcanvas.cpp:2828
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580 src/synfig/valuenode.cpp:353
+#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580
+#: src/synfig/loadcanvas.cpp:2830
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2660 src/synfig/loadcanvas.cpp:2716
+#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
 msgid "Can't open file"
 msgstr "Impossível abrir o arquivo"
 
-#: src/synfig/main.cpp:102
+#: src/synfig/main.cpp:118
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:107
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:112
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:117
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:122
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:184
+#: src/synfig/main.cpp:207
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:186
+#: src/synfig/main.cpp:209
 msgid "Unable to initialize subsystem \"Module\""
 msgstr ""
 
-#: src/synfig/main.cpp:188
+#: src/synfig/main.cpp:211
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:192
+#: src/synfig/main.cpp:215
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:195
+#: src/synfig/main.cpp:218
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:200
+#: src/synfig/main.cpp:223
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:203
+#: src/synfig/main.cpp:226
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
+#: src/synfig/main.cpp:232
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:212
+#: src/synfig/main.cpp:235
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:219
+#: src/synfig/main.cpp:242
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:222
+#: src/synfig/main.cpp:245
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:230
+#: src/synfig/main.cpp:253
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:267 src/synfig/main.cpp:268
+#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:279
+#: src/synfig/main.cpp:302
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:293 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
 msgid "DONE"
 msgstr "PRONTO"
 
-#: src/synfig/main.cpp:360 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:375 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:390
+#: src/synfig/main.cpp:413
 msgid "info"
 msgstr ""
 
@@ -2765,145 +2796,145 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:64 src/synfig/valuenode.cpp:140
-#: src/synfig/valuenode_composite.cpp:437
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
+#: src/synfig/valuenode_composite.cpp:447
 msgid "Composite"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:65
+#: src/synfig/paramdesc.cpp:69
 msgid "Straight"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:66
+#: src/synfig/paramdesc.cpp:70
 msgid "Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:67
+#: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68
+#: src/synfig/paramdesc.cpp:72
 msgid "Behind"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:69
+#: src/synfig/paramdesc.cpp:73
 msgid "Screen"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:70
+#: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:71
+#: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:72
+#: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:73
+#: src/synfig/paramdesc.cpp:77
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:74 src/synfig/valuenode.cpp:157
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
 #: src/synfig/valuenode_add.cpp:190
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:75 src/synfig/valuenode.cpp:147
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
 #: src/synfig/valuenode_subtract.cpp:194
 msgid "Subtract"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:76
+#: src/synfig/paramdesc.cpp:80
 msgid "Difference"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:77
+#: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78
+#: src/synfig/paramdesc.cpp:82
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:80 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
 msgid "Hue"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:81 src/synfig/valuenode_radialcomposite.cpp:260
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
 #: src/synfig/valuenode_radialcomposite.cpp:266
 msgid "Saturation"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:82
+#: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:83
+#: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84
+#: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85
+#: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
 msgstr ""
 
-#: src/synfig/render.cpp:246 src/synfig/render.cpp:247
-#: src/synfig/render.cpp:301 src/synfig/render.cpp:302
-#: src/synfig/render.cpp:536 src/synfig/render.cpp:537
-#: src/synfig/render.cpp:563 src/synfig/render.cpp:564
+#: src/synfig/render.cpp:248 src/synfig/render.cpp:249
+#: src/synfig/render.cpp:303 src/synfig/render.cpp:304
+#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
+#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:290
+#: src/synfig/savecanvas.cpp:359
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:543
+#: src/synfig/savecanvas.cpp:674 src/synfig/savecanvas.cpp:699
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:185
+#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
 #: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:281
 msgid "Target initialization failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:146
+#: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:155 src/synfig/target_scanline.cpp:258
-#: src/synfig/target_scanline.cpp:405
+#: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:260
+#: src/synfig/target_scanline.cpp:407
 msgid "Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:162
+#: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:169 src/synfig/target_cairo_tile.cpp:248
-#: src/synfig/target_scanline.cpp:418 src/synfig/target_tile.cpp:396
+#: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
+#: src/synfig/target_scanline.cpp:420 src/synfig/target_tile.cpp:398
 msgid "Caught string :"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:174 src/synfig/target_cairo_tile.cpp:253
-#: src/synfig/target_scanline.cpp:423 src/synfig/target_tile.cpp:401
+#: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
+#: src/synfig/target_scanline.cpp:425 src/synfig/target_tile.cpp:403
 msgid "Ran out of memory (Probably a bug)"
 msgstr "Sem memória (provavelmente é um bug)"
 
-#: src/synfig/target_cairo.cpp:179 src/synfig/target_cairo_tile.cpp:258
-#: src/synfig/target_scanline.cpp:428 src/synfig/target_tile.cpp:406
+#: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
+#: src/synfig/target_scanline.cpp:430 src/synfig/target_tile.cpp:408
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:190
+#: src/synfig/target_cairo.cpp:201
 msgid "Cairo Surface bad status"
 msgstr ""
 
@@ -2911,24 +2942,24 @@ msgstr ""
 msgid "Bad Tile Size"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:142 src/synfig/target_cairo_tile.cpp:240
-#: src/synfig/target_scanline.cpp:203 src/synfig/target_scanline.cpp:249
-#: src/synfig/target_scanline.cpp:348 src/synfig/target_scanline.cpp:396
+#: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
+#: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:251
+#: src/synfig/target_scanline.cpp:350 src/synfig/target_scanline.cpp:398
 #: src/synfig/target_tile.cpp:225
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:150
+#: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:156 src/synfig/target_tile.cpp:179
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:179
 #: src/synfig/target_tile.cpp:245
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:211
+#: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
 msgstr ""
 
@@ -2952,277 +2983,317 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:276 src/synfig/value.cpp:308 src/synfig/value.cpp:360
+#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
 msgid "bool"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:277 src/synfig/value.cpp:310 src/synfig/value.cpp:358
+#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
 msgid "integer"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:278 src/synfig/value.cpp:312
+#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
 msgid "angle"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:279 src/synfig/value.cpp:314 src/synfig/value.cpp:352
+#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
 msgid "time"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:280 src/synfig/value.cpp:316 src/synfig/value.cpp:355
+#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
 msgid "real"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:281 src/synfig/value.cpp:318
+#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
 msgid "vector"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:282 src/synfig/value.cpp:320
+#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
 msgid "color"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:283 src/synfig/value.cpp:322
+#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
 msgid "segment"
 msgstr ""
 
-#: src/synfig/value.cpp:284
+#: src/synfig/value.cpp:378
 msgid "bline_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:285 src/synfig/value.cpp:326
+#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
+msgid "matrix"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
+msgid "bone_weight_pair"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
 msgid "width_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:286 src/synfig/value.cpp:328
+#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
 msgid "dash_item"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:287 src/synfig/value.cpp:330
+#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
 msgid "list"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:288 src/synfig/value.cpp:332
+#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
 msgid "canvas"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:289 src/synfig/value.cpp:334
+#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
 msgid "string"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:290 src/synfig/value.cpp:336
+#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
 msgid "gradient"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:291 src/synfig/value.cpp:338
+#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
+msgid "bone_object"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
+msgid "bone_valuenode"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
 msgid "nil"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:324
+#: src/synfig/value.cpp:422
 msgid "spline_point"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:141 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:142 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:144 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:146 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_dynamiclist.cpp:755
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
 #: src/synfig/valuenode_switch.cpp:163
 msgid "Switch"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164
+#: src/synfig/valuenode.cpp:170
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165
+#: src/synfig/valuenode.cpp:171
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
 msgid "Integer"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:176 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177
+#: src/synfig/valuenode.cpp:183
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:178
+#: src/synfig/valuenode.cpp:184
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_real.cpp:161
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
 #: src/synfig/valuenode_realstring.cpp:175
 msgid "Real"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:189
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:190
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185
+#: src/synfig/valuenode.cpp:191
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187
+#: src/synfig/valuenode.cpp:192
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:199
+msgid "Bone Influence"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:200
+msgid "Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:201
+msgid "Root Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:202
+msgid "Static List"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:203
+msgid "Bone Weight Pair"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:206
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:233
+#: src/synfig/valuenode.cpp:241
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:513
+#: src/synfig/valuenode.cpp:540
 msgid "Placeholder"
 msgstr ""
 
-#: src/synfig/valuenode.h:61
+#: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
@@ -3289,32 +3360,32 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:355 src/synfig/valuenode_animated.cpp:379
-#: src/synfig/valuenode_animated.cpp:703 src/synfig/valuenode_animated.cpp:721
-#: src/synfig/valuenode_animated.cpp:801 src/synfig/valuenode_animated.cpp:820
+#: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
+#: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
+#: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1134
+#: src/synfig/valuenode_animated.cpp:1173
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1169
+#: src/synfig/valuenode_animated.cpp:1208
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:977 src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
 #: src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:980 src/synfig/valuenode_dynamiclist.cpp:664
+#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
 #: src/synfig/valuenode_wplist.cpp:339
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_bline.cpp:1023
+#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
@@ -3334,7 +3405,7 @@ msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:584
 #: src/synfig/valuenode_gradientrotate.cpp:169
 #: src/synfig/valuenode_linear.cpp:213
 msgid "Offset"
@@ -3388,190 +3459,186 @@ msgstr ""
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:219
+#: src/synfig/valuenode_composite.cpp:229
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:464
+#: src/synfig/valuenode_composite.cpp:474
 msgid "Red"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:465
+#: src/synfig/valuenode_composite.cpp:475
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:468
+#: src/synfig/valuenode_composite.cpp:478
 msgid "Green"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:469
+#: src/synfig/valuenode_composite.cpp:479
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:472
+#: src/synfig/valuenode_composite.cpp:482
 msgid "Blue"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:473
+#: src/synfig/valuenode_composite.cpp:483
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:476
+#: src/synfig/valuenode_composite.cpp:486
 msgid "Alpha"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:477
+#: src/synfig/valuenode_composite.cpp:487
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:492
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:493
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
-#: src/synfig/valuenode_composite.cpp:526
+#: src/synfig/valuenode_composite.cpp:496
+#: src/synfig/valuenode_composite.cpp:536
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:497
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:490
+#: src/synfig/valuenode_composite.cpp:500
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:491
+#: src/synfig/valuenode_composite.cpp:501
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:494
-#: src/synfig/valuenode_composite.cpp:530
+#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:540
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:495
+#: src/synfig/valuenode_composite.cpp:505
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:510
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:511
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:514
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:515
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:520
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:521
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:525
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:519
+#: src/synfig/valuenode_composite.cpp:529
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:522
+#: src/synfig/valuenode_composite.cpp:532
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:523
+#: src/synfig/valuenode_composite.cpp:533
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:527
+#: src/synfig/valuenode_composite.cpp:537
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:531
+#: src/synfig/valuenode_composite.cpp:541
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:547
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:551
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:544
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_composite.cpp:554
+#: src/synfig/valuenode_composite.cpp:594
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:545
 #: src/synfig/valuenode_composite.cpp:555
+#: src/synfig/valuenode_composite.cpp:565
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
 #: src/synfig/valuenode_composite.cpp:557
+#: src/synfig/valuenode_composite.cpp:567
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:593
+#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:603
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:574
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:575
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:578
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:579
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:585
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:589
 #: src/synfig/valuenode_timedswap.cpp:260
 msgid "Length"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:580
+#: src/synfig/valuenode_composite.cpp:590
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:595
+#: src/synfig/valuenode_composite.cpp:604
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_const.cpp:127
-msgid "Static"
-msgstr ""
-
 #: src/synfig/valuenode_compare.cpp:168
 msgid "The left side of the comparison"
 msgstr ""
@@ -3636,12 +3703,12 @@ msgstr ""
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:655
+#: src/synfig/valuenode_dynamiclist.cpp:661
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:703
-#: src/synfig/valuenode_dynamiclist.cpp:957
+#: src/synfig/valuenode_dynamiclist.cpp:709
+#: src/synfig/valuenode_dynamiclist.cpp:964
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3965,7 +4032,7 @@ msgid "Intersection"
 msgstr ""
 
 #: src/synfig/valuenode_step.cpp:213
-msgid "Value that define whether the step is centerd on the value [0,1]"
+msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
@@ -4098,195 +4165,195 @@ msgstr ""
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:133
+#: src/tool/main.cpp:140
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:169
+#: src/tool/main.cpp:176
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:171
+#: src/tool/main.cpp:178
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:172
+#: src/tool/main.cpp:179
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:173
+#: src/tool/main.cpp:180
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:174
+#: src/tool/main.cpp:181
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:175
+#: src/tool/main.cpp:182
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:176
+#: src/tool/main.cpp:183
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:184
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:178
+#: src/tool/main.cpp:185
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:186
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:187
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:188
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:189
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:190
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:191
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:185 src/tool/main.cpp:186
+#: src/tool/main.cpp:192 src/tool/main.cpp:193
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:194
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:195
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:196
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:197
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:193
+#: src/tool/main.cpp:200
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:202
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:203
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:204
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:200
+#: src/tool/main.cpp:207
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:202
+#: src/tool/main.cpp:209
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:210
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:204 src/tool/main.cpp:230
+#: src/tool/main.cpp:211 src/tool/main.cpp:237
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:207
+#: src/tool/main.cpp:214
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:216
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:210
+#: src/tool/main.cpp:217
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:213
+#: src/tool/main.cpp:220
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:215
+#: src/tool/main.cpp:222
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:223
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:217
+#: src/tool/main.cpp:224
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:225
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:226
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:220
+#: src/tool/main.cpp:227
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:221
+#: src/tool/main.cpp:228
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:229
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:223
+#: src/tool/main.cpp:230
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:231
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:232
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:241
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:236
+#: src/tool/main.cpp:243
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:237
+#: src/tool/main.cpp:244
 msgid "Test signal implementation"
 msgstr ""
 
@@ -4350,157 +4417,157 @@ msgstr ""
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:113
+#: src/tool/optionsprocessor.cpp:114
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:115
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:131
+#: src/tool/optionsprocessor.cpp:132
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:146
+#: src/tool/optionsprocessor.cpp:147
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:224
+#: src/tool/optionsprocessor.cpp:225
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:226
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:227
+#: src/tool/optionsprocessor.cpp:228
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:232
+#: src/tool/optionsprocessor.cpp:233
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:234
+#: src/tool/optionsprocessor.cpp:235
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:236
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:239
+#: src/tool/optionsprocessor.cpp:240
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:243
+#: src/tool/optionsprocessor.cpp:244
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:309
+#: src/tool/optionsprocessor.cpp:310
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:316
+#: src/tool/optionsprocessor.cpp:317
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:324
+#: src/tool/optionsprocessor.cpp:325
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:334
+#: src/tool/optionsprocessor.cpp:335
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:343
+#: src/tool/optionsprocessor.cpp:344
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:352
+#: src/tool/optionsprocessor.cpp:353
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:379
+#: src/tool/optionsprocessor.cpp:380
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:385
+#: src/tool/optionsprocessor.cpp:386
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:400
+#: src/tool/optionsprocessor.cpp:401
 #, c-format
 msgid "Resolution set to %dx%d"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:417
+#: src/tool/optionsprocessor.cpp:418
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:437
+#: src/tool/optionsprocessor.cpp:438
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:440
+#: src/tool/optionsprocessor.cpp:441
 #, c-format
 msgid "Target video codec set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:446
+#: src/tool/optionsprocessor.cpp:447
 #, c-format
 msgid "Target bitrate set to %dk"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:452
+#: src/tool/optionsprocessor.cpp:453
 #, c-format
 msgid "Output file sequence separator set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:487
+#: src/tool/optionsprocessor.cpp:488
 #, c-format
 msgid "Unable to load '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:494
+#: src/tool/optionsprocessor.cpp:495
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:499
+#: src/tool/optionsprocessor.cpp:500
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:513
+#: src/tool/optionsprocessor.cpp:514
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:532
+#: src/tool/optionsprocessor.cpp:533
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:539
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:557
+#: src/tool/optionsprocessor.cpp:558
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:571
+#: src/tool/optionsprocessor.cpp:572
 msgid "Appended contents of "
 msgstr ""
 
diff --git a/po/ro.gmo b/po/ro.gmo
index f90c2a3..0339616 100644
Binary files a/po/ro.gmo and b/po/ro.gmo differ
diff --git a/po/ro.po b/po/ro.po
index 9cc3d02..eb46bbc 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -1,6 +1,6 @@
-# Translations for ro to Romanian for Synfig.
-# Copyright (C) 2012 Synfig Contributors
-# This file is distributed under the same license as the Synfig package.
+# Translation file for Synfig Core package.
+# Copyright (C) 2013 Synfig Contributors
+# This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
 # LiviuTM <liviu_micu at yahoo.com>, 2011
@@ -8,10 +8,11 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2013-05-09 18:34+0200\n"
-"PO-Revision-Date: 2013-05-02 12:39+0000\n"
-"Last-Translator: genete <genetita at gmail.com>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
+"POT-Creation-Date: 2013-10-25 17:57+0700\n"
+"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
+"Language-Team: Romanian (http://www.transifex.com/projects/p/synfig/language/"
+"ro/)\n"
 "Language: ro\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -19,79 +20,79 @@ msgstr ""
 "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
 "2:1));\n"
 
-#: src/modules/mod_example/filledrect.cpp:58
+#: src/modules/mod_example/filledrect.cpp:59
 msgid "Filled Rectangle"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:59
+#: src/modules/mod_example/filledrect.cpp:60
 #: src/modules/mod_example/metaballs.cpp:58
 #: src/modules/mod_example/simplecircle.cpp:58
 msgid "Example"
 msgstr "Exemplu"
 
-#: src/modules/mod_example/filledrect.cpp:120
+#: src/modules/mod_example/filledrect.cpp:131
 #: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:523
-#: src/modules/lyr_std/shade.cpp:564
-#: src/modules/mod_geometry/checkerboard.cpp:122
-#: src/modules/mod_geometry/circle.cpp:128
-#: src/modules/mod_geometry/rectangle.cpp:125 src/synfig/layer_shape.cpp:1193
-#: src/synfig/layer_solidcolor.cpp:102 src/synfig/paramdesc.cpp:79
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:620
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
 msgid "Color"
 msgstr "Culoare"
 
-#: src/modules/mod_example/filledrect.cpp:121
+#: src/modules/mod_example/filledrect.cpp:132
 #: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:129
-#: src/modules/mod_geometry/rectangle.cpp:126
-#: src/synfig/layer_solidcolor.cpp:103
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
 msgid "Fill color of the layer"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:125
-#: src/modules/mod_geometry/rectangle.cpp:130
-#: src/modules/mod_gradient/lineargradient.cpp:190
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:185
 msgid "Point 1"
 msgstr "Punctul 1"
 
-#: src/modules/mod_example/filledrect.cpp:126
-#: src/modules/mod_geometry/rectangle.cpp:132
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
 msgid "First corner of the rectangle"
 msgstr "Primul colţ al dreptunghiului"
 
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_geometry/rectangle.cpp:136
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:190
 msgid "Point 2"
 msgstr "Punctul 2"
 
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_geometry/rectangle.cpp:137
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
 msgid "Second corner of the rectangle"
 msgstr "Al doilea colţ al dreptunghiului"
 
-#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_example/filledrect.cpp:147
 msgid "Feather X"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:140
+#: src/modules/mod_example/filledrect.cpp:152
 msgid "Feather Y"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:144 src/modules/lyr_std/bevel.cpp:68
-#: src/modules/mod_geometry/advanced_outline.cpp:1161
+#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
 msgid "Bevel"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:145
+#: src/modules/mod_example/filledrect.cpp:158
 msgid "Use Bevel for the corners"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:149
+#: src/modules/mod_example/filledrect.cpp:163
 msgid "Keep Bevel Circular"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:150
+#: src/modules/mod_example/filledrect.cpp:164
 msgid "When checked the bevel is circular"
 msgstr ""
 
@@ -99,39 +100,39 @@ msgstr ""
 msgid "Metaballs"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:135
+#: src/modules/mod_example/metaballs.cpp:129
 #: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:552
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:194
 #: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:112
-#: src/modules/mod_noise/noise.cpp:259 src/modules/mod_particle/plant.cpp:403
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
 #: src/synfig/valuenode_gradientrotate.cpp:164
 #: src/synfig/valuenode_repeat_gradient.cpp:203
 msgid "Gradient"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:139
+#: src/modules/mod_example/metaballs.cpp:133
 msgid "Balls"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:143
+#: src/modules/mod_example/metaballs.cpp:137
 msgid "Radii"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:147
+#: src/modules/mod_example/metaballs.cpp:141
 msgid "Weights"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:151
+#: src/modules/mod_example/metaballs.cpp:145
 msgid "Gradient Left"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:155
+#: src/modules/mod_example/metaballs.cpp:149
 msgid "Gradient Right"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:159
+#: src/modules/mod_example/metaballs.cpp:153
 msgid "Positive Only"
 msgstr ""
 
@@ -143,21 +144,21 @@ msgstr ""
 #: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
 #: src/modules/mod_gradient/conicalgradient.cpp:114
 #: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:117
+#: src/modules/mod_gradient/spiralgradient.cpp:118
 msgid "Center"
 msgstr ""
 
 #: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:144
+#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
 msgid "Center of the circle"
 msgstr "Mijlocul cercului"
 
 #: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:151
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:132
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
 #: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:122
-#: src/modules/mod_noise/valuenode_random.cpp:269
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/valuenode_radialcomposite.cpp:272
 msgid "Radius"
 msgstr "Raza cercului"
@@ -165,20 +166,20 @@ msgstr "Raza cercului"
 #: src/modules/mod_example/simplecircle.cpp:118
 #: src/modules/lyr_std/twirl.cpp:118
 #: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:124
 msgid "This is the radius of the circle"
 msgstr "Aceasta este raza cercului"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
-#: src/modules/lyr_freetype/lyr_freetype.cpp:517
+#: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Text"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
 #: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
-#: src/modules/lyr_std/supersample.cpp:57 src/modules/lyr_std/timeloop.cpp:60
-#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:70
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:79
+#: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
+#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
 msgid "Other"
 msgstr "Altele"
 
@@ -186,245 +187,245 @@ msgstr "Altele"
 msgid "Text Layer"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:390
+#: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
 msgstr "Nu se poate iniţializa"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:409
+#: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:518
+#: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
 msgstr "Nu se poate reda"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:524
+#: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "Culoarea textului"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:528
+#: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
 msgstr "Familie de fonturi"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:533
+#: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
 msgstr "Stil"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:535
-#: src/modules/lyr_freetype/lyr_freetype.cpp:545
+#: src/modules/lyr_freetype/lyr_freetype.cpp:587
+#: src/modules/lyr_freetype/lyr_freetype.cpp:597
 msgid "Normal"
 msgstr "Normal"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:536
+#: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
 msgstr "Oblic"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:537
+#: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
 msgstr "Italic"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:541
+#: src/modules/lyr_freetype/lyr_freetype.cpp:593
 msgid "Weight"
 msgstr "Dimensiune"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:543
+#: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
 msgstr "Ultrasubţire"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:544
+#: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
 msgstr "Subţire"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:546
+#: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
 msgstr "Îngroşat"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:547
+#: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
 msgstr "Ultraîngroşat"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:548
+#: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:551
+#: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
 msgstr "Distanţă orizontală"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:552
+#: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:556
+#: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
 msgstr "Diatanţă verticală"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:557
+#: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
 msgstr "Arată care e distanţa verticală între rîndurile de text"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:561
-#: src/modules/lyr_std/shade.cpp:570 src/modules/lyr_std/xorpattern.cpp:129
-#: src/modules/mod_filter/blur.cpp:372
+#: src/modules/lyr_freetype/lyr_freetype.cpp:613
+#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:413
 #: src/modules/mod_filter/radialblur.cpp:115
-#: src/modules/mod_geometry/checkerboard.cpp:130
-#: src/modules/mod_noise/distort.cpp:222 src/modules/mod_noise/noise.cpp:267
+#: src/modules/mod_geometry/checkerboard.cpp:154
+#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
 msgstr "Mărime"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:562
+#: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
 msgstr "Mărimea textului"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:569
+#: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
 msgstr "Orientare"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:570
+#: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
 msgstr "Orientarea textului"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/insideout.cpp:143 src/modules/lyr_std/rotate.cpp:116
-#: src/modules/lyr_std/shade.cpp:567 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:389
-#: src/modules/lyr_std/xorpattern.cpp:125 src/modules/lyr_std/zoom.cpp:104
+#: src/modules/lyr_freetype/lyr_freetype.cpp:627
+#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
+#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
+#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
-#: src/modules/mod_geometry/checkerboard.cpp:126
-#: src/modules/mod_geometry/circle.cpp:143
-#: src/modules/mod_gradient/curvegradient.cpp:537
-#: src/modules/mod_particle/plant.cpp:398 src/synfig/layer_pastecanvas.cpp:133
-#: src/synfig/layer_shape.cpp:1197 src/synfig/valuenode_composite.cpp:518
+#: src/modules/mod_geometry/checkerboard.cpp:150
+#: src/modules/mod_geometry/circle.cpp:161
+#: src/modules/mod_gradient/curvegradient.cpp:550
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
+#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
 msgid "Origin"
 msgstr "Origine"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:576
+#: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
 msgstr "Poziţia textului"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:580
+#: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
 msgstr "Font"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:581
+#: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
 msgstr "Numele fişierului care conţine fontul ce urmează a fi folosit"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:588
+#: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
 msgstr "Suprapunere"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:589
+#: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:594
+#: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
 msgstr "Dezactivaţi această opţiune dacă doriţi să animaţi textul"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:597
-#: src/modules/lyr_std/shade.cpp:587 src/modules/mod_geometry/circle.cpp:147
-#: src/synfig/layer_shape.cpp:1200
+#: src/modules/lyr_freetype/lyr_freetype.cpp:649
+#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1228
 msgid "Invert"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:654
+#: src/modules/lyr_freetype/lyr_freetype.cpp:714
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:680
+#: src/modules/lyr_freetype/lyr_freetype.cpp:740
 msgid "Text too small, no text will be rendered."
 msgstr "Text prea mic, ni"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:704
+#: src/modules/lyr_freetype/lyr_freetype.cpp:764
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:747
+#: src/modules/lyr_freetype/lyr_freetype.cpp:807
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:754
+#: src/modules/lyr_freetype/lyr_freetype.cpp:814
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:69 src/modules/lyr_std/shade.cpp:68
+#: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "Stilizare"
 
-#: src/modules/lyr_std/bevel.cpp:570 src/modules/lyr_std/shade.cpp:576
-#: src/modules/mod_filter/blur.cpp:376
-#: src/modules/mod_filter/halftone2.cpp:170
+#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
+#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Tip"
 
-#: src/modules/lyr_std/bevel.cpp:571 src/modules/lyr_std/shade.cpp:577
-#: src/modules/mod_filter/blur.cpp:377
+#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
+#: src/modules/mod_filter/blur.cpp:418
 msgid "Type of blur to use"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:573 src/modules/lyr_std/shade.cpp:579
-#: src/modules/mod_filter/blur.cpp:379 src/synfig/layer_shape.cpp:1213
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:574 src/modules/lyr_std/shade.cpp:580
-#: src/modules/mod_filter/blur.cpp:380 src/synfig/layer_shape.cpp:1214
+#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
+#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
 msgid "Fast Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:575 src/modules/lyr_std/shade.cpp:581
-#: src/modules/mod_filter/blur.cpp:381 src/synfig/layer_shape.cpp:1215
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
 msgid "Cross-Hatch Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:576 src/modules/lyr_std/shade.cpp:582
-#: src/modules/mod_filter/blur.cpp:382 src/synfig/layer_shape.cpp:1216
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
 msgid "Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:577 src/modules/lyr_std/shade.cpp:583
-#: src/modules/mod_filter/blur.cpp:383 src/synfig/layer_shape.cpp:1217
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:581
+#: src/modules/lyr_std/bevel.cpp:635
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:584
+#: src/modules/lyr_std/bevel.cpp:638
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:587
+#: src/modules/lyr_std/bevel.cpp:641
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:591
+#: src/modules/lyr_std/bevel.cpp:645
 msgid "Depth of Bevel"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:595
+#: src/modules/lyr_std/bevel.cpp:649
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:598
+#: src/modules/lyr_std/bevel.cpp:652
 msgid "Use Luma"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:601
+#: src/modules/lyr_std/bevel.cpp:655
 msgid "Solid"
 msgstr "Solid"
 
-#: src/modules/lyr_std/booleancurve.cpp:104
+#: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
 msgstr ""
 
-#: src/modules/lyr_std/booleancurve.cpp:105
+#: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
 msgstr ""
 
@@ -432,38 +433,38 @@ msgstr ""
 msgid "Clamp"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:56
-#: src/modules/mod_filter/halftone2.cpp:59
-#: src/modules/mod_filter/halftone3.cpp:59
-#: src/modules/mod_filter/lumakey.cpp:59
+#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:57
+#: src/modules/mod_filter/halftone2.cpp:60
+#: src/modules/mod_filter/halftone3.cpp:60
+#: src/modules/mod_filter/lumakey.cpp:60
 msgid "Filters"
 msgstr "Filtre"
 
-#: src/modules/lyr_std/clamp.cpp:158
+#: src/modules/lyr_std/clamp.cpp:162
 msgid "Invert Negative"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:162
+#: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:163
+#: src/modules/lyr_std/clamp.cpp:167
 msgid "When checked the Ceiling value is used"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:167
+#: src/modules/lyr_std/clamp.cpp:171
 msgid "Ceiling"
 msgstr "Plafon"
 
-#: src/modules/lyr_std/clamp.cpp:168
+#: src/modules/lyr_std/clamp.cpp:172
 msgid "Upper boundary of the clamping"
 msgstr "Pragul de sus al "
 
-#: src/modules/lyr_std/clamp.cpp:172
+#: src/modules/lyr_std/clamp.cpp:176
 msgid "Floor"
 msgstr "Podea"
 
-#: src/modules/lyr_std/clamp.cpp:173
+#: src/modules/lyr_std/clamp.cpp:177
 msgid "Lower boundary of the clamping"
 msgstr ""
 
@@ -471,24 +472,24 @@ msgstr ""
 msgid "Import Image"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:151 src/modules/lyr_std/import.cpp:201
+#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:283
+#: src/modules/lyr_std/import.cpp:293
 msgid "Filename"
 msgstr "Numele fişierului"
 
-#: src/modules/lyr_std/import.cpp:284
+#: src/modules/lyr_std/import.cpp:294
 msgid "File to import"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:288 src/synfig/layer_pastecanvas.cpp:146
+#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:289
+#: src/modules/lyr_std/import.cpp:299
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -497,14 +498,14 @@ msgid "Inside Out"
 msgstr ""
 
 #: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:75
 #: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:57 src/modules/lyr_std/curvewarp.cpp:56
-#: src/modules/mod_noise/distort.cpp:58
+#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
+#: src/modules/mod_noise/distort.cpp:59
 msgid "Distortions"
 msgstr "Distorsiuni"
 
-#: src/modules/lyr_std/insideout.cpp:144
+#: src/modules/lyr_std/insideout.cpp:163
 msgid "Defines the where the center will be"
 msgstr "Defineşte unde va fi centrul"
 
@@ -516,97 +517,97 @@ msgstr "Set Julia"
 msgid "Fractals"
 msgstr "Fractali"
 
-#: src/modules/lyr_std/julia.cpp:309
+#: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
 msgstr "Culoarea interiorului"
 
-#: src/modules/lyr_std/julia.cpp:310
+#: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
 msgstr "Culoarea setului"
 
-#: src/modules/lyr_std/julia.cpp:313
+#: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
 msgstr "Culoarea exteriorului"
 
-#: src/modules/lyr_std/julia.cpp:314
+#: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
 msgstr "Culoarea în afara setului"
 
-#: src/modules/lyr_std/julia.cpp:317
+#: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:320 src/modules/lyr_std/mandelbrot.cpp:223
+#: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
 msgstr "Număr de paşi"
 
-#: src/modules/lyr_std/julia.cpp:323
+#: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
 msgstr "Punct de pornire"
 
-#: src/modules/lyr_std/julia.cpp:326 src/modules/lyr_std/mandelbrot.cpp:226
+#: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:330 src/modules/lyr_std/mandelbrot.cpp:236
+#: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
 msgstr "Distorsionează către interior"
 
-#: src/modules/lyr_std/julia.cpp:333 src/modules/lyr_std/mandelbrot.cpp:240
+#: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:336 src/modules/lyr_std/mandelbrot.cpp:244
+#: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:339 src/modules/lyr_std/mandelbrot.cpp:248
+#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:342
+#: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:345 src/modules/lyr_std/mandelbrot.cpp:265
+#: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:348 src/modules/lyr_std/mandelbrot.cpp:269
+#: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:351 src/modules/lyr_std/mandelbrot.cpp:273
+#: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:354 src/modules/lyr_std/mandelbrot.cpp:277
+#: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:357
+#: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:361
+#: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:364 src/modules/lyr_std/mandelbrot.cpp:285
+#: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:286
+#: src/modules/lyr_std/julia.cpp:391 src/modules/lyr_std/mandelbrot.cpp:282
 msgid "Smooth the coloration outside the set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:368 src/modules/lyr_std/mandelbrot.cpp:230
+#: src/modules/lyr_std/julia.cpp:394 src/modules/lyr_std/mandelbrot.cpp:226
 msgid "Break Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:369 src/modules/lyr_std/mandelbrot.cpp:231
+#: src/modules/lyr_std/julia.cpp:395 src/modules/lyr_std/mandelbrot.cpp:227
 msgid "Modify equation to achieve interesting results"
 msgstr ""
 
@@ -614,48 +615,48 @@ msgstr ""
 msgid "Mandelbrot Set"
 msgstr "Set Mandelbrot"
 
+#: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
 #: src/modules/lyr_std/mandelbrot.cpp:241
 #: src/modules/lyr_std/mandelbrot.cpp:245
 #: src/modules/lyr_std/mandelbrot.cpp:249
 #: src/modules/lyr_std/mandelbrot.cpp:253
 #: src/modules/lyr_std/mandelbrot.cpp:257
-#: src/modules/lyr_std/mandelbrot.cpp:261
 msgid "Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:252
+#: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:256
+#: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:260
+#: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
 msgstr ""
 
+#: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
 #: src/modules/lyr_std/mandelbrot.cpp:270
 #: src/modules/lyr_std/mandelbrot.cpp:274
 #: src/modules/lyr_std/mandelbrot.cpp:278
-#: src/modules/lyr_std/mandelbrot.cpp:282
+#: src/modules/lyr_std/mandelbrot.cpp:283
 #: src/modules/lyr_std/mandelbrot.cpp:287
 #: src/modules/lyr_std/mandelbrot.cpp:291
-#: src/modules/lyr_std/mandelbrot.cpp:295
 msgid "Outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:281
+#: src/modules/lyr_std/mandelbrot.cpp:277
 msgid "Gradient outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:290
+#: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:294
+#: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
 msgstr ""
 
@@ -668,16 +669,16 @@ msgstr ""
 msgid "Transform"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/translate.cpp:101
+#: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:134
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:121
-#: src/modules/lyr_std/sphere_distort.cpp:158
+#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:217
+#: src/synfig/layer_composite.cpp:249
 #: src/synfig/valuenode_blinecalctangent.cpp:251
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
@@ -686,63 +687,63 @@ msgstr ""
 msgid "Amount"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:67
+#: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:571
+#: src/modules/lyr_std/shade.cpp:627
 msgid "Size of Shade"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:73
-#: src/modules/lyr_std/sphere_distort.cpp:172
+#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:167
 msgid "Spherize"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/synfig/valuenode_composite.cpp:536
+#: src/modules/lyr_std/sphere_distort.cpp:141
+#: src/synfig/valuenode_composite.cpp:546
 msgid "Position"
 msgstr "Poziţie"
 
-#: src/modules/lyr_std/sphere_distort.cpp:147
+#: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
 msgstr "Centrul distorsiunii sferice"
 
-#: src/modules/lyr_std/sphere_distort.cpp:154
+#: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr "Mărimea distorsiunii sferice"
 
-#: src/modules/lyr_std/sphere_distort.cpp:160
+#: src/modules/lyr_std/sphere_distort.cpp:155
 msgid "The distortion intensity (negative values inverts effect)"
 msgstr "Intensitatea distorsiunii (valorile negative duc la un efect contrar)"
 
-#: src/modules/lyr_std/sphere_distort.cpp:164 src/modules/lyr_std/warp.cpp:409
+#: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:165
+#: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
 msgstr ""
 "Bifează dacă nu vrei ca suprafaţa în afara Razei cercului să fie "
 "distorsionaţă"
 
-#: src/modules/lyr_std/sphere_distort.cpp:169
+#: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
 msgstr "Tipul distorsiunii"
 
-#: src/modules/lyr_std/sphere_distort.cpp:170
+#: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
 msgstr "Direcţia distorsiunii"
 
-#: src/modules/lyr_std/sphere_distort.cpp:173
+#: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:174
+#: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
 msgstr ""
 
@@ -762,104 +763,104 @@ msgstr ""
 msgid "Stroboscope"
 msgstr "Stroboscop"
 
-#: src/modules/lyr_std/stroboscope.cpp:102
+#: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
 msgstr "Frecvenţă"
 
-#: src/modules/lyr_std/stroboscope.cpp:103
+#: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:56
+#: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:129
+#: src/modules/lyr_std/supersample.cpp:146
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:290
-#: src/modules/lyr_std/curvewarp.cpp:393
-#: src/modules/mod_gradient/curvegradient.cpp:542
-#: src/synfig/valuenode_composite.cpp:514
-#: src/synfig/valuenode_composite.cpp:540
+#: src/modules/lyr_std/supersample.cpp:337
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_composite.cpp:524
+#: src/synfig/valuenode_composite.cpp:550
 #: src/synfig/valuenode_realstring.cpp:180
 #: src/synfig/valuenode_repeat_gradient.cpp:213
 #: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
 msgid "Width"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:291
+#: src/modules/lyr_std/supersample.cpp:338
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:294 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
 msgid "Height"
 msgstr "Înălţime"
 
-#: src/modules/lyr_std/supersample.cpp:295
+#: src/modules/lyr_std/supersample.cpp:342
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:298
+#: src/modules/lyr_std/supersample.cpp:345
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:299
+#: src/modules/lyr_std/supersample.cpp:346
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:302
+#: src/modules/lyr_std/supersample.cpp:349
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:303
+#: src/modules/lyr_std/supersample.cpp:350
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:166
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr "Buclă temporală"
 
-#: src/modules/lyr_std/timeloop.cpp:124 src/synfig/valuenode_timeloop.cpp:179
+#: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:125
+#: src/modules/lyr_std/timeloop.cpp:134
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:129 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:130 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:134 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr "Durată"
 
-#: src/modules/lyr_std/timeloop.cpp:135 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
 msgid "Lenght of the loop"
 msgstr "Lungimea buclei"
 
-#: src/modules/lyr_std/timeloop.cpp:139
+#: src/modules/lyr_std/timeloop.cpp:148
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:140
+#: src/modules/lyr_std/timeloop.cpp:149
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144
+#: src/modules/lyr_std/timeloop.cpp:153
 msgid "Symmetrical"
 msgstr "Simetric"
 
-#: src/modules/lyr_std/timeloop.cpp:145
+#: src/modules/lyr_std/timeloop.cpp:154
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
@@ -887,119 +888,119 @@ msgstr "Bifează aici pentru distorsionarea interiorului cercului"
 msgid "When checked, distorts outside the circle"
 msgstr "Bifează aici pentru distorsionarea exteriorului cercului"
 
-#: src/modules/lyr_std/warp.cpp:56
+#: src/modules/lyr_std/warp.cpp:57
 msgid "Warp"
 msgstr "Torsionare"
 
-#: src/modules/lyr_std/warp.cpp:374
+#: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
 msgstr "SS sursă"
 
-#: src/modules/lyr_std/warp.cpp:376
+#: src/modules/lyr_std/warp.cpp:382
 msgid "Top Left corner of the source to warp"
 msgstr ""
 "Colţul stînga-sus al obiectului ce urmează a fi torsionat\n"
 "(sursă)"
 
-#: src/modules/lyr_std/warp.cpp:380
+#: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
 msgstr "DJ sursă"
 
-#: src/modules/lyr_std/warp.cpp:381
+#: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
 msgstr ""
 "Colţul dreapta-jos al obiectului ce urmează a fi torsionat\n"
 "(sursă)"
 
-#: src/modules/lyr_std/warp.cpp:385
+#: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
 msgstr "SS dest"
 
-#: src/modules/lyr_std/warp.cpp:387
+#: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
 msgstr "Colţul stînga-sus al destinaţiei"
 
-#: src/modules/lyr_std/warp.cpp:391
+#: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
 msgstr "DS dest"
 
-#: src/modules/lyr_std/warp.cpp:393
+#: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
 msgstr "Colţul dreapta-sus al destinaţiei"
 
-#: src/modules/lyr_std/warp.cpp:397
+#: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
 msgstr "DS dest"
 
-#: src/modules/lyr_std/warp.cpp:399
+#: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
 msgstr "Colţul dreapta-jos al destinaţiei"
 
-#: src/modules/lyr_std/warp.cpp:403
+#: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
 msgstr "DJ dest"
 
-#: src/modules/lyr_std/warp.cpp:405
+#: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
 msgstr "Colţul stînga-jos al destinaţiei"
 
-#: src/modules/lyr_std/warp.cpp:413
+#: src/modules/lyr_std/warp.cpp:419
 msgid "Horizon"
 msgstr "Orizont"
 
-#: src/modules/lyr_std/warp.cpp:414
+#: src/modules/lyr_std/warp.cpp:420
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:55
+#: src/modules/lyr_std/curvewarp.cpp:56
 msgid "Curve Warp"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:390
-msgid "Position of the source line"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:395
+#: src/modules/lyr_std/curvewarp.cpp:404
 msgid "How much is expanded the result perpendicular to the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:407
 msgid "Start Point"
 msgstr "Punct de plecare"
 
-#: src/modules/lyr_std/curvewarp.cpp:400
+#: src/modules/lyr_std/curvewarp.cpp:409
 msgid "First point of the source line"
 msgstr "Primul punct al "
 
-#: src/modules/lyr_std/curvewarp.cpp:403
+#: src/modules/lyr_std/curvewarp.cpp:412
 msgid "End Point"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:404
+#: src/modules/lyr_std/curvewarp.cpp:413
 msgid "Final point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:407
-#: src/modules/mod_geometry/advanced_outline.cpp:1123
-#: src/modules/mod_geometry/outline.cpp:814
-#: src/modules/mod_geometry/region.cpp:233
-#: src/modules/mod_gradient/curvegradient.cpp:546
-#: src/modules/mod_particle/plant.cpp:391
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
 msgid "Vertices"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:410
+#: src/modules/lyr_std/curvewarp.cpp:419
 msgid "List of Spline Points where the source line is curved to"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:413
-#: src/modules/mod_geometry/advanced_outline.cpp:1178
-#: src/modules/mod_gradient/curvegradient.cpp:567
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
 msgid "Fast"
 msgstr "Rapid"
 
-#: src/modules/lyr_std/curvewarp.cpp:414
-#: src/modules/mod_gradient/curvegradient.cpp:568
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
 msgid "When checked, renders quickly but with artifacts"
 msgstr ""
 
@@ -1007,15 +1008,15 @@ msgstr ""
 msgid "XOR Pattern"
 msgstr "Tipar XOR"
 
-#: src/modules/lyr_std/xorpattern.cpp:126
+#: src/modules/lyr_std/xorpattern.cpp:130
 msgid "Center of the pattern"
 msgstr "Centrul tiparului"
 
-#: src/modules/lyr_std/xorpattern.cpp:130
+#: src/modules/lyr_std/xorpattern.cpp:134
 msgid "Size of the pattern"
 msgstr "Mărimea tiparului"
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:143
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
 #: src/synfig/valuenode_blinecalctangent.cpp:261
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
 #: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
@@ -1026,7 +1027,7 @@ msgstr ""
 msgid "Amount to scale to"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:105
+#: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
 msgstr ""
 
@@ -1094,126 +1095,138 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:201
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:208
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:218
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:272
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-msgid "Unable to open pipe to ffmpeg"
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:214
+msgid "Unable to open pipe to ffmpeg (no pipe)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:221
+msgid "Unable to open pipe to ffmpeg (pid == -1)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:231
+msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:285
+msgid "Unable to open pipe to ffmpeg (exec failed)"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:68
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:303
+msgid "Unable to open pipe to ffmpeg (no file)"
+msgstr ""
+
+#: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:69 src/modules/mod_filter/radialblur.cpp:56
+#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
 #: src/synfig/layer_motionblur.cpp:57
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:373
+#: src/modules/mod_filter/blur.cpp:414
 msgid "Size of Blur"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:55
+#: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:211
+#: src/modules/mod_filter/colorcorrect.cpp:217
 msgid "Hue Adjust"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:215
+#: src/modules/mod_filter/colorcorrect.cpp:221
 msgid "Brightness"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:219
+#: src/modules/mod_filter/colorcorrect.cpp:225
 msgid "Contrast"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:223
+#: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:227 src/synfig/layer_bitmap.cpp:179
+#: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:58
+#: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:151
+#: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:155
+#: src/modules/mod_filter/halftone2.cpp:159
 msgid "Mask Angle"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:159
-#: src/modules/mod_filter/halftone3.cpp:309
+#: src/modules/mod_filter/halftone2.cpp:163
+#: src/modules/mod_filter/halftone3.cpp:328
 msgid "Mask Size"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:164
+#: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:167
+#: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:172
-#: src/modules/mod_filter/halftone3.cpp:314
+#: src/modules/mod_filter/halftone2.cpp:176
+#: src/modules/mod_filter/halftone3.cpp:333
 #: src/modules/mod_gradient/conicalgradient.cpp:125
 msgid "Symmetric"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:173
-#: src/modules/mod_filter/halftone3.cpp:315
+#: src/modules/mod_filter/halftone2.cpp:177
+#: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:175
-#: src/modules/mod_filter/halftone3.cpp:317
+#: src/modules/mod_filter/halftone2.cpp:179
+#: src/modules/mod_filter/halftone3.cpp:336
 msgid "Diamond"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:176
-#: src/modules/mod_filter/halftone3.cpp:318
+#: src/modules/mod_filter/halftone2.cpp:180
+#: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:58
+#: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:312
+#: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:321
+#: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:329
+#: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:333
+#: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:337
+#: src/modules/mod_filter/halftone3.cpp:356
 msgid " Mask Angle"
 msgstr ""
 
-#: src/modules/mod_filter/lumakey.cpp:58
+#: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
 msgstr ""
 
-#: src/modules/mod_filter/radialblur.cpp:55
+#: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
 msgstr ""
 
@@ -1235,19 +1248,19 @@ msgstr ""
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:62 src/synfig/layer_solidcolor.cpp:57
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:123
+#: src/modules/mod_geometry/checkerboard.cpp:147
 msgid "Color of checkers"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:127
+#: src/modules/mod_geometry/checkerboard.cpp:151
 msgid "Center of the checkers"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:131
+#: src/modules/mod_geometry/checkerboard.cpp:155
 msgid "Size of checkers"
 msgstr ""
 
@@ -1255,54 +1268,54 @@ msgstr ""
 msgid "Circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:134
+#: src/modules/mod_geometry/circle.cpp:152
 msgid "Radius of the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:138 src/synfig/layer_shape.cpp:1206
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
 msgid "Feather"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:140
+#: src/modules/mod_geometry/circle.cpp:158
 msgid "Amount of feather of the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:148
+#: src/modules/mod_geometry/circle.cpp:166
 msgid "Invert the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:152
+#: src/modules/mod_geometry/circle.cpp:170
 msgid "Falloff"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:153
+#: src/modules/mod_geometry/circle.cpp:171
 msgid "Determines the falloff function for the feather"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:155
-#: src/modules/mod_noise/distort.cpp:234 src/modules/mod_noise/noise.cpp:275
-#: src/modules/mod_noise/valuenode_random.cpp:288
-#: src/synfig/layer_bitmap.cpp:173 src/synfig/layer_motionblur.cpp:150
-#: src/synfig/valuenode.cpp:139 src/synfig/valuenode_linear.cpp:146
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:289
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
 msgid "Linear"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:156
+#: src/modules/mod_geometry/circle.cpp:174
 msgid "Squared"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:157
+#: src/modules/mod_geometry/circle.cpp:175
 msgid "Square Root"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:158
+#: src/modules/mod_geometry/circle.cpp:176
 msgid "Sigmond"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:159
-#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:276
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:174
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:290
+#: src/synfig/layer_bitmap.cpp:170
 msgid "Cosine"
 msgstr ""
 
@@ -1310,160 +1323,160 @@ msgstr ""
 msgid "Advanced Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:133
+#: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1125
-#: src/modules/mod_geometry/outline.cpp:817
-#: src/modules/mod_geometry/region.cpp:235
-#: src/modules/mod_gradient/curvegradient.cpp:549
-#: src/modules/mod_particle/plant.cpp:392
+#: src/modules/mod_geometry/advanced_outline.cpp:1136
+#: src/modules/mod_geometry/outline.cpp:826
+#: src/modules/mod_geometry/region.cpp:240
+#: src/modules/mod_gradient/curvegradient.cpp:562
+#: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1129
-#: src/modules/mod_geometry/outline.cpp:831
+#: src/modules/mod_geometry/advanced_outline.cpp:1140
+#: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1130
-#: src/modules/mod_geometry/outline.cpp:832
+#: src/modules/mod_geometry/advanced_outline.cpp:1141
+#: src/modules/mod_geometry/outline.cpp:841
 msgid "Global width of the outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:837
+#: src/modules/mod_geometry/advanced_outline.cpp:1145
+#: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1135
-#: src/modules/mod_geometry/outline.cpp:838
+#: src/modules/mod_geometry/advanced_outline.cpp:1146
+#: src/modules/mod_geometry/outline.cpp:847
 msgid "Value to add to the global width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1138
+#: src/modules/mod_geometry/advanced_outline.cpp:1149
 msgid "Tip Type at Start"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1139
+#: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1141
-#: src/modules/mod_geometry/advanced_outline.cpp:1150
-#: src/synfig/valuenode_composite.cpp:548
+#: src/modules/mod_geometry/advanced_outline.cpp:1152
+#: src/modules/mod_geometry/advanced_outline.cpp:1161
 #: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:587
-#: src/synfig/valuenode_composite.cpp:596
+#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:606
 msgid "Rounded Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1142
-#: src/modules/mod_geometry/advanced_outline.cpp:1151
-#: src/synfig/valuenode_composite.cpp:549
+#: src/modules/mod_geometry/advanced_outline.cpp:1153
+#: src/modules/mod_geometry/advanced_outline.cpp:1162
 #: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:588
-#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:607
 msgid "Squared Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1143
-#: src/modules/mod_geometry/advanced_outline.cpp:1152
-#: src/synfig/valuenode_composite.cpp:550
+#: src/modules/mod_geometry/advanced_outline.cpp:1154
+#: src/modules/mod_geometry/advanced_outline.cpp:1163
 #: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:570
+#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:608
 msgid "Peak Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1144
-#: src/modules/mod_geometry/advanced_outline.cpp:1153
-#: src/synfig/valuenode_composite.cpp:551
+#: src/modules/mod_geometry/advanced_outline.cpp:1155
+#: src/modules/mod_geometry/advanced_outline.cpp:1164
 #: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:590
-#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:571
+#: src/synfig/valuenode_composite.cpp:600
+#: src/synfig/valuenode_composite.cpp:609
 msgid "Flat Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1147
+#: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1148
+#: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1156
+#: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1157
-#: src/modules/mod_geometry/outline.cpp:843
+#: src/modules/mod_geometry/advanced_outline.cpp:1168
+#: src/modules/mod_geometry/outline.cpp:852
 msgid "Determines cusp type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1159
+#: src/modules/mod_geometry/advanced_outline.cpp:1170
 msgid "Sharp"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1160
+#: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1164
+#: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1165
+#: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1168
-#: src/modules/mod_geometry/outline.cpp:859
+#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/outline.cpp:869
 #: src/synfig/valuenode_blinecalctangent.cpp:271
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1169
+#: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
+#: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1175
+#: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1182
+#: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1184
+#: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1187
+#: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1190
+#: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1193
+#: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1196
+#: src/modules/mod_geometry/advanced_outline.cpp:1207
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
@@ -1471,32 +1484,36 @@ msgstr ""
 msgid "Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:183
+#: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:842
+#: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:847
+#: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:848
-#: src/modules/mod_geometry/outline.cpp:853
+#: src/modules/mod_geometry/outline.cpp:857
+#: src/modules/mod_geometry/outline.cpp:862
 msgid "Round off the tip"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:852
+#: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:856
+#: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:860
+#: src/modules/mod_geometry/outline.cpp:866
+msgid "(Currently not used)"
+msgstr ""
+
+#: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
 msgstr ""
 
@@ -1504,11 +1521,11 @@ msgstr ""
 msgid "Rectangle"
 msgstr ""
 
-#: src/modules/mod_geometry/rectangle.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
 msgstr ""
 
-#: src/modules/mod_geometry/rectangle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
 msgstr ""
 
@@ -1520,46 +1537,46 @@ msgstr ""
 msgid "Star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:183
+#: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:184
+#: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190
+#: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:191
+#: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:197
+#: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:129
+#: src/modules/mod_gradient/spiralgradient.cpp:130
 #: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:198
+#: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:203 src/synfig/distance.cpp:251
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
 msgid "Points"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:204
+#: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:208
+#: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:209
+#: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
@@ -1577,20 +1594,20 @@ msgid "Conical Gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
-#: src/modules/mod_gradient/curvegradient.cpp:61
+#: src/modules/mod_gradient/curvegradient.cpp:62
 #: src/modules/mod_gradient/lineargradient.cpp:55
 #: src/modules/mod_gradient/radialgradient.cpp:58
-#: src/modules/mod_gradient/spiralgradient.cpp:57
-#: src/modules/mod_noise/noise.cpp:58
+#: src/modules/mod_gradient/spiralgradient.cpp:58
+#: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
-#: src/modules/mod_gradient/curvegradient.cpp:553
-#: src/modules/mod_gradient/lineargradient.cpp:200
+#: src/modules/mod_gradient/curvegradient.cpp:566
+#: src/modules/mod_gradient/lineargradient.cpp:195
 #: src/modules/mod_gradient/radialgradient.cpp:114
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:260
+#: src/modules/mod_gradient/spiralgradient.cpp:114
+#: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
 msgstr ""
 
@@ -1603,27 +1620,27 @@ msgid "Rotation of the gradient around the center"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
-#: src/modules/mod_gradient/curvegradient.cpp:557
-#: src/modules/mod_gradient/lineargradient.cpp:204
+#: src/modules/mod_gradient/curvegradient.cpp:570
+#: src/modules/mod_gradient/lineargradient.cpp:199
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:60
+#: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:538
-#: src/modules/mod_particle/plant.cpp:399
+#: src/modules/mod_gradient/curvegradient.cpp:551
+#: src/modules/mod_particle/plant.cpp:432
 msgid "Offset for the Vertices List"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:543
+#: src/modules/mod_gradient/curvegradient.cpp:556
 msgid "Global width of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:556
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/curvegradient.cpp:569
+#: src/modules/mod_gradient/lineargradient.cpp:198
 #: src/modules/mod_gradient/radialgradient.cpp:130
 #: src/synfig/valuenode_blinecalctangent.cpp:246
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
@@ -1631,19 +1648,19 @@ msgstr ""
 msgid "Loop"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:560
-#: src/modules/mod_gradient/lineargradient.cpp:207
+#: src/modules/mod_gradient/curvegradient.cpp:573
+#: src/modules/mod_gradient/lineargradient.cpp:202
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:561
-#: src/modules/mod_gradient/lineargradient.cpp:208
+#: src/modules/mod_gradient/curvegradient.cpp:574
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:136
 msgid "When checked the gradient is summetrical at the center"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:564
+#: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
 msgstr ""
 
@@ -1651,11 +1668,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:192
+#: src/modules/mod_gradient/lineargradient.cpp:187
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:196
+#: src/modules/mod_gradient/lineargradient.cpp:191
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1664,23 +1681,23 @@ msgid "Radial Gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:119
 msgid "Center of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:56
+#: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:130
+#: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:135
+#: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:136
+#: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
@@ -1693,13 +1710,15 @@ msgstr ""
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/listimporter.cpp:184 src/synfig/listimporter.cpp:185
+#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
+#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
 msgid "Unable to open "
 msgstr ""
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/listimporter.cpp:191 src/synfig/listimporter.cpp:192
+#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
+#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
 msgid "Unable to get frame from "
 msgstr ""
 
@@ -1737,115 +1756,115 @@ msgstr ""
 msgid "Unable to open pipe to imagemagick's convert utility"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:57
+#: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:217
+#: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:218
+#: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:223
+#: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:226 src/modules/mod_noise/noise.cpp:263
+#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:264
+#: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:230 src/modules/mod_noise/noise.cpp:271
-#: src/modules/mod_noise/valuenode_random.cpp:284
-#: src/synfig/layer_bitmap.cpp:169
+#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
-#: src/synfig/layer_bitmap.cpp:170
+#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
+#: src/synfig/layer_bitmap.cpp:166
 msgid "What type of interpolation to use"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:233 src/modules/mod_noise/noise.cpp:274
-#: src/synfig/layer_bitmap.cpp:172
+#: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
+#: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:277
-#: src/modules/mod_noise/valuenode_random.cpp:290 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_bline.cpp:1001
+#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
+#: src/synfig/valuenode_bline.cpp:1006
 #: src/synfig/valuenode_blinecalctangent.cpp:241
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:237 src/modules/mod_noise/noise.cpp:278
-#: src/modules/mod_noise/valuenode_random.cpp:291
-#: src/synfig/layer_bitmap.cpp:175
+#: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:281
+#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:282
+#: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:244 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:248 src/modules/mod_noise/noise.cpp:289
+#: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:290
+#: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:183
+#: src/modules/mod_noise/valuenode_random.cpp:184
 msgid "Random"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:57
+#: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:268
+#: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:293
+#: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:294
+#: src/modules/mod_noise/noise.cpp:303
 msgid "Uses transparency"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:297
+#: src/modules/mod_noise/noise.cpp:306
 msgid "Super Sampling"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:298
+#: src/modules/mod_noise/noise.cpp:307
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:264
+#: src/modules/mod_noise/valuenode_random.cpp:265
 #: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
 #: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
 #: src/synfig/valuenode_reciprocal.cpp:165
@@ -1854,167 +1873,167 @@ msgstr ""
 msgid "Link"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:270
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:274
-#: src/modules/mod_particle/plant.cpp:450
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:276
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:279
+#: src/modules/mod_noise/valuenode_random.cpp:280
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:281
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:286
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:288
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:296
+#: src/modules/mod_noise/valuenode_random.cpp:297
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:298
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:69
+#: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:404
+#: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:408
+#: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:409
+#: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:413
+#: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:414
+#: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:419
+#: src/modules/mod_particle/plant.cpp:452
 msgid "Tangential Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:420
+#: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:424
+#: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:425
+#: src/modules/mod_particle/plant.cpp:458
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:429
+#: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:430
+#: src/modules/mod_particle/plant.cpp:463
 msgid "Size of the stem"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:435
+#: src/modules/mod_particle/plant.cpp:468
 msgid "Size As Alpha"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:436
+#: src/modules/mod_particle/plant.cpp:469
 msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:440
+#: src/modules/mod_particle/plant.cpp:473
 msgid "Reverse"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:441
+#: src/modules/mod_particle/plant.cpp:474
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:445 src/synfig/valuenode.cpp:170
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
 #: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
 msgid "Step"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:446
+#: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:451
+#: src/modules/mod_particle/plant.cpp:484
 msgid "Used to seed the pseudo-random number generator"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:455
+#: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:456
+#: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:460
+#: src/modules/mod_particle/plant.cpp:493
 msgid "Sprouts"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:461
+#: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:465
+#: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:466
+#: src/modules/mod_particle/plant.cpp:499
 msgid ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:470
+#: src/modules/mod_particle/plant.cpp:503
 msgid "Drag"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:471
+#: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:475
+#: src/modules/mod_particle/plant.cpp:508
 msgid "Use Width"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:476
+#: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
@@ -2023,97 +2042,102 @@ msgstr ""
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:87 src/synfig/importer.cpp:87
+#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
 msgid "Importer::open(): Cannot open empty filename"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:101 src/synfig/importer.cpp:101
+#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
 msgid "Importer::open(): Couldn't find extension"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:112 src/synfig/importer.cpp:112
+#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
 msgid "Importer::open(): Unknown file type -- "
 msgstr ""
 
-#: src/synfig/canvas.cpp:798 src/synfig/canvas.cpp:863
-#: src/synfig/canvas.cpp:886
+#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
+#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+msgid "No images in list"
+msgstr ""
+
+#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
+#: src/synfig/canvas.cpp:927
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:249
+#: src/synfig/distance.cpp:251
 msgid "Units"
 msgstr ""
 
-#: src/synfig/distance.cpp:250
+#: src/synfig/distance.cpp:252
 msgid "Pixels"
 msgstr ""
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:254
 msgid "Inches"
 msgstr ""
 
-#: src/synfig/distance.cpp:253
+#: src/synfig/distance.cpp:255
 msgid "Meters"
 msgstr ""
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:256
 msgid "Millimeters"
 msgstr ""
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:257
 msgid "Centimeters"
 msgstr ""
 
-#: src/synfig/layer.cpp:565 src/synfig/layer_composite.cpp:128
+#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:619
+#: src/synfig/layer.cpp:605
 msgid "Z Depth"
 msgstr ""
 
-#: src/synfig/layer.cpp:621
+#: src/synfig/layer.cpp:607
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:159
+#: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:160
+#: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:164
+#: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:165
+#: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:218
+#: src/synfig/layer_composite.cpp:250
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:221 src/synfig/paramdesc.cpp:62
+#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:222
+#: src/synfig/layer_composite.cpp:254
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:168
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
 #: src/synfig/valuenode_duplicate.cpp:174
 msgid "Duplicate"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:148
+#: src/synfig/layer_duplicate.cpp:151
 msgid "Index"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:149
+#: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
 msgstr ""
 
@@ -2125,156 +2149,156 @@ msgstr ""
 msgid "Motion Blur"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:136
+#: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:137
+#: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:141
+#: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:142
+#: src/synfig/layer_motionblur.cpp:141
 msgid "Multiplies The Number Of Subsamples Rendered"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:146
+#: src/synfig/layer_motionblur.cpp:145
 msgid "Subsampling Type"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:147
+#: src/synfig/layer_motionblur.cpp:146
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:149 src/synfig/valuenode_const.cpp:127
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
 msgid "Constant"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:151
+#: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:155
+#: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:156
+#: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:160
+#: src/synfig/layer_motionblur.cpp:159
 msgid "Subsample End Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:161
+#: src/synfig/layer_motionblur.cpp:160
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:78 src/synfig/layer_pastecanvas.cpp:120
-#: src/synfig/layer_pastecanvas.cpp:121
+#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
+#: src/synfig/layer_pastecanvas.cpp:124
 msgid "Group"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:137
+#: src/synfig/layer_pastecanvas.cpp:140
 msgid "Canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:138
+#: src/synfig/layer_pastecanvas.cpp:141
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:144
 msgid "Zoom"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:142
+#: src/synfig/layer_pastecanvas.cpp:145
 msgid "Size of canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:147
+#: src/synfig/layer_pastecanvas.cpp:152
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:151
+#: src/synfig/layer_pastecanvas.cpp:156
 msgid "Children Lock"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:157
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
+#: src/synfig/layer_pastecanvas.cpp:162
 msgid "Focus Point"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:159
+#: src/synfig/layer_pastecanvas.cpp:165
 msgid "Point to remain fixed when zooming"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:164
+#: src/synfig/layer_pastecanvas.cpp:170
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:165
+#: src/synfig/layer_pastecanvas.cpp:171
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:180
+#: src/synfig/layer_pastecanvas.cpp:186
 msgid "Current Time"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:61
+#: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:187
+#: src/synfig/layer_polygon.cpp:194
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:188
+#: src/synfig/layer_polygon.cpp:195
 msgid "Define the corners of the polygon"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:64
+#: src/synfig/layer_shape.cpp:66
 msgid "Shape"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:65
+#: src/synfig/layer_shape.cpp:67
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1194
+#: src/synfig/layer_shape.cpp:1222
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1203
+#: src/synfig/layer_shape.cpp:1231
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1210
+#: src/synfig/layer_shape.cpp:1238
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1211
+#: src/synfig/layer_shape.cpp:1239
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1220
+#: src/synfig/layer_shape.cpp:1248
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_shape.cpp:1249
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1223
+#: src/synfig/layer_shape.cpp:1251
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1224
+#: src/synfig/layer_shape.cpp:1252
 msgid "Even/Odd"
 msgstr ""
 
@@ -2282,406 +2306,406 @@ msgstr ""
 msgid "Solid Color"
 msgstr ""
 
-#: src/synfig/listimporter.cpp:161 src/synfig/listimporter.cpp:162
-msgid "No images in list"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:142
+#: src/synfig/loadcanvas.cpp:143
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:185
+#: src/synfig/loadcanvas.cpp:186
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:191
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:205
+#: src/synfig/loadcanvas.cpp:206
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:236
+#: src/synfig/loadcanvas.cpp:237
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:469
-#: src/synfig/loadcanvas.cpp:1118
+#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
+#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:473
-#: src/synfig/loadcanvas.cpp:1122
+#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
+#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:484 src/synfig/loadcanvas.cpp:1144
+#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
+#: src/synfig/loadcanvas.cpp:1200
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:508
+#: src/synfig/loadcanvas.cpp:533
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1284
+#: src/synfig/loadcanvas.cpp:1353
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1301
+#: src/synfig/loadcanvas.cpp:1375
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1314
+#: src/synfig/loadcanvas.cpp:1388
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1330
+#: src/synfig/loadcanvas.cpp:1404
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1336 src/synfig/loadcanvas.cpp:1348
+#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1365
+#: src/synfig/loadcanvas.cpp:1439
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1380
+#: src/synfig/loadcanvas.cpp:1455
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1424 src/synfig/loadcanvas.cpp:1443
-#, c-format
-msgid "\"%s\" not a valid value for attribute \"%s\" in <%s>"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:1504
+#: src/synfig/loadcanvas.cpp:1556
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1512
+#: src/synfig/loadcanvas.cpp:1565
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1522
+#: src/synfig/loadcanvas.cpp:1577
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1531
+#: src/synfig/loadcanvas.cpp:1587
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1557 src/synfig/loadcanvas.cpp:1628
+#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1570
+#: src/synfig/loadcanvas.cpp:1625
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1579
+#: src/synfig/loadcanvas.cpp:1634
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1603
+#: src/synfig/loadcanvas.cpp:1658
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1643
+#: src/synfig/loadcanvas.cpp:1698
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1652
+#: src/synfig/loadcanvas.cpp:1707
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1659
+#: src/synfig/loadcanvas.cpp:1714
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1677
+#: src/synfig/loadcanvas.cpp:1732
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1747
+#: src/synfig/loadcanvas.cpp:1811
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1841
-msgid "Unable to create <dynamic_list>"
+#: src/synfig/loadcanvas.cpp:1861
+msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1993
+#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2038
+#: src/synfig/loadcanvas.cpp:1998
+msgid "Unable to create <dynamic_list>"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2220
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2076
+#: src/synfig/loadcanvas.cpp:2283
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2097
+#: src/synfig/loadcanvas.cpp:2304
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2102
+#: src/synfig/loadcanvas.cpp:2310
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2107
+#: src/synfig/loadcanvas.cpp:2316
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2142
+#: src/synfig/loadcanvas.cpp:2373
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2161
+#: src/synfig/loadcanvas.cpp:2392
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2181
+#: src/synfig/loadcanvas.cpp:2415
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2184
+#: src/synfig/loadcanvas.cpp:2418
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2192
+#: src/synfig/loadcanvas.cpp:2426
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2209
+#: src/synfig/loadcanvas.cpp:2443
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2214
+#: src/synfig/loadcanvas.cpp:2448
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2454
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2222
+#: src/synfig/loadcanvas.cpp:2456
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2244
+#: src/synfig/loadcanvas.cpp:2480
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2260
+#: src/synfig/loadcanvas.cpp:2496
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2272 src/synfig/loadcanvas.cpp:2292
+#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2280
+#: src/synfig/loadcanvas.cpp:2516
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2303
+#: src/synfig/loadcanvas.cpp:2539
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2376 src/synfig/loadcanvas.cpp:2384
+#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2470
+#: src/synfig/loadcanvas.cpp:2710
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2478
+#: src/synfig/loadcanvas.cpp:2717
+msgid "Inline canvas cannot have a <bones> section"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2725
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2490
+#: src/synfig/loadcanvas.cpp:2737
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2498
+#: src/synfig/loadcanvas.cpp:2745
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2504
+#: src/synfig/loadcanvas.cpp:2751
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:2763
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2531
+#: src/synfig/loadcanvas.cpp:2778
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2546
+#: src/synfig/loadcanvas.cpp:2793
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2578
+#: src/synfig/loadcanvas.cpp:2828
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580 src/synfig/valuenode.cpp:353
+#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580
+#: src/synfig/loadcanvas.cpp:2830
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2660 src/synfig/loadcanvas.cpp:2716
+#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:102
+#: src/synfig/main.cpp:118
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:107
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:112
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:117
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:122
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:184
+#: src/synfig/main.cpp:207
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:186
+#: src/synfig/main.cpp:209
 msgid "Unable to initialize subsystem \"Module\""
 msgstr ""
 
-#: src/synfig/main.cpp:188
+#: src/synfig/main.cpp:211
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:192
+#: src/synfig/main.cpp:215
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:195
+#: src/synfig/main.cpp:218
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:200
+#: src/synfig/main.cpp:223
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:203
+#: src/synfig/main.cpp:226
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
+#: src/synfig/main.cpp:232
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:212
+#: src/synfig/main.cpp:235
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:219
+#: src/synfig/main.cpp:242
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:222
+#: src/synfig/main.cpp:245
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:230
+#: src/synfig/main.cpp:253
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:267 src/synfig/main.cpp:268
+#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:279
+#: src/synfig/main.cpp:302
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:293 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:360 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:375 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:390
+#: src/synfig/main.cpp:413
 msgid "info"
 msgstr ""
 
@@ -2756,145 +2780,145 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:64 src/synfig/valuenode.cpp:140
-#: src/synfig/valuenode_composite.cpp:437
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
+#: src/synfig/valuenode_composite.cpp:447
 msgid "Composite"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:65
+#: src/synfig/paramdesc.cpp:69
 msgid "Straight"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:66
+#: src/synfig/paramdesc.cpp:70
 msgid "Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:67
+#: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68
+#: src/synfig/paramdesc.cpp:72
 msgid "Behind"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:69
+#: src/synfig/paramdesc.cpp:73
 msgid "Screen"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:70
+#: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:71
+#: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:72
+#: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:73
+#: src/synfig/paramdesc.cpp:77
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:74 src/synfig/valuenode.cpp:157
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
 #: src/synfig/valuenode_add.cpp:190
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:75 src/synfig/valuenode.cpp:147
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
 #: src/synfig/valuenode_subtract.cpp:194
 msgid "Subtract"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:76
+#: src/synfig/paramdesc.cpp:80
 msgid "Difference"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:77
+#: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78
+#: src/synfig/paramdesc.cpp:82
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:80 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
 msgid "Hue"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:81 src/synfig/valuenode_radialcomposite.cpp:260
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
 #: src/synfig/valuenode_radialcomposite.cpp:266
 msgid "Saturation"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:82
+#: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:83
+#: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84
+#: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85
+#: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
 msgstr ""
 
-#: src/synfig/render.cpp:246 src/synfig/render.cpp:247
-#: src/synfig/render.cpp:301 src/synfig/render.cpp:302
-#: src/synfig/render.cpp:536 src/synfig/render.cpp:537
-#: src/synfig/render.cpp:563 src/synfig/render.cpp:564
+#: src/synfig/render.cpp:248 src/synfig/render.cpp:249
+#: src/synfig/render.cpp:303 src/synfig/render.cpp:304
+#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
+#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:290
+#: src/synfig/savecanvas.cpp:359
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:543
+#: src/synfig/savecanvas.cpp:674 src/synfig/savecanvas.cpp:699
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:185
+#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
 #: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:281
 msgid "Target initialization failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:146
+#: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:155 src/synfig/target_scanline.cpp:258
-#: src/synfig/target_scanline.cpp:405
+#: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:260
+#: src/synfig/target_scanline.cpp:407
 msgid "Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:162
+#: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:169 src/synfig/target_cairo_tile.cpp:248
-#: src/synfig/target_scanline.cpp:418 src/synfig/target_tile.cpp:396
+#: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
+#: src/synfig/target_scanline.cpp:420 src/synfig/target_tile.cpp:398
 msgid "Caught string :"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:174 src/synfig/target_cairo_tile.cpp:253
-#: src/synfig/target_scanline.cpp:423 src/synfig/target_tile.cpp:401
+#: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
+#: src/synfig/target_scanline.cpp:425 src/synfig/target_tile.cpp:403
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:179 src/synfig/target_cairo_tile.cpp:258
-#: src/synfig/target_scanline.cpp:428 src/synfig/target_tile.cpp:406
+#: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
+#: src/synfig/target_scanline.cpp:430 src/synfig/target_tile.cpp:408
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:190
+#: src/synfig/target_cairo.cpp:201
 msgid "Cairo Surface bad status"
 msgstr ""
 
@@ -2902,24 +2926,24 @@ msgstr ""
 msgid "Bad Tile Size"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:142 src/synfig/target_cairo_tile.cpp:240
-#: src/synfig/target_scanline.cpp:203 src/synfig/target_scanline.cpp:249
-#: src/synfig/target_scanline.cpp:348 src/synfig/target_scanline.cpp:396
+#: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
+#: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:251
+#: src/synfig/target_scanline.cpp:350 src/synfig/target_scanline.cpp:398
 #: src/synfig/target_tile.cpp:225
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:150
+#: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:156 src/synfig/target_tile.cpp:179
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:179
 #: src/synfig/target_tile.cpp:245
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:211
+#: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
 msgstr ""
 
@@ -2943,277 +2967,317 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:276 src/synfig/value.cpp:308 src/synfig/value.cpp:360
+#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
 msgid "bool"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:277 src/synfig/value.cpp:310 src/synfig/value.cpp:358
+#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
 msgid "integer"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:278 src/synfig/value.cpp:312
+#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
 msgid "angle"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:279 src/synfig/value.cpp:314 src/synfig/value.cpp:352
+#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
 msgid "time"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:280 src/synfig/value.cpp:316 src/synfig/value.cpp:355
+#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
 msgid "real"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:281 src/synfig/value.cpp:318
+#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
 msgid "vector"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:282 src/synfig/value.cpp:320
+#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
 msgid "color"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:283 src/synfig/value.cpp:322
+#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
 msgid "segment"
 msgstr ""
 
-#: src/synfig/value.cpp:284
+#: src/synfig/value.cpp:378
 msgid "bline_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:285 src/synfig/value.cpp:326
+#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
+msgid "matrix"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
+msgid "bone_weight_pair"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
 msgid "width_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:286 src/synfig/value.cpp:328
+#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
 msgid "dash_item"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:287 src/synfig/value.cpp:330
+#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
 msgid "list"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:288 src/synfig/value.cpp:332
+#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
 msgid "canvas"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:289 src/synfig/value.cpp:334
+#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
 msgid "string"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:290 src/synfig/value.cpp:336
+#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
 msgid "gradient"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:291 src/synfig/value.cpp:338
+#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
+msgid "bone_object"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
+msgid "bone_valuenode"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
 msgid "nil"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:324
+#: src/synfig/value.cpp:422
 msgid "spline_point"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:141 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:142 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:144 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:146 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_dynamiclist.cpp:755
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
 #: src/synfig/valuenode_switch.cpp:163
 msgid "Switch"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164
+#: src/synfig/valuenode.cpp:170
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165
+#: src/synfig/valuenode.cpp:171
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
 msgid "Integer"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:176 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177
+#: src/synfig/valuenode.cpp:183
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:178
+#: src/synfig/valuenode.cpp:184
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_real.cpp:161
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
 #: src/synfig/valuenode_realstring.cpp:175
 msgid "Real"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:189
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:190
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185
+#: src/synfig/valuenode.cpp:191
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187
+#: src/synfig/valuenode.cpp:192
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:199
+msgid "Bone Influence"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:200
+msgid "Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:201
+msgid "Root Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:202
+msgid "Static List"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:203
+msgid "Bone Weight Pair"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:206
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:233
+#: src/synfig/valuenode.cpp:241
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:513
+#: src/synfig/valuenode.cpp:540
 msgid "Placeholder"
 msgstr ""
 
-#: src/synfig/valuenode.h:61
+#: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
@@ -3280,32 +3344,32 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:355 src/synfig/valuenode_animated.cpp:379
-#: src/synfig/valuenode_animated.cpp:703 src/synfig/valuenode_animated.cpp:721
-#: src/synfig/valuenode_animated.cpp:801 src/synfig/valuenode_animated.cpp:820
+#: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
+#: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
+#: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1134
+#: src/synfig/valuenode_animated.cpp:1173
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1169
+#: src/synfig/valuenode_animated.cpp:1208
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:977 src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
 #: src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:980 src/synfig/valuenode_dynamiclist.cpp:664
+#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
 #: src/synfig/valuenode_wplist.cpp:339
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_bline.cpp:1023
+#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
@@ -3325,7 +3389,7 @@ msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:584
 #: src/synfig/valuenode_gradientrotate.cpp:169
 #: src/synfig/valuenode_linear.cpp:213
 msgid "Offset"
@@ -3379,190 +3443,186 @@ msgstr ""
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:219
+#: src/synfig/valuenode_composite.cpp:229
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:464
+#: src/synfig/valuenode_composite.cpp:474
 msgid "Red"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:465
+#: src/synfig/valuenode_composite.cpp:475
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:468
+#: src/synfig/valuenode_composite.cpp:478
 msgid "Green"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:469
+#: src/synfig/valuenode_composite.cpp:479
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:472
+#: src/synfig/valuenode_composite.cpp:482
 msgid "Blue"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:473
+#: src/synfig/valuenode_composite.cpp:483
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:476
+#: src/synfig/valuenode_composite.cpp:486
 msgid "Alpha"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:477
+#: src/synfig/valuenode_composite.cpp:487
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:492
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:493
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
-#: src/synfig/valuenode_composite.cpp:526
+#: src/synfig/valuenode_composite.cpp:496
+#: src/synfig/valuenode_composite.cpp:536
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:497
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:490
+#: src/synfig/valuenode_composite.cpp:500
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:491
+#: src/synfig/valuenode_composite.cpp:501
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:494
-#: src/synfig/valuenode_composite.cpp:530
+#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:540
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:495
+#: src/synfig/valuenode_composite.cpp:505
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:510
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:511
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:514
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:515
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:520
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:521
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:525
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:519
+#: src/synfig/valuenode_composite.cpp:529
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:522
+#: src/synfig/valuenode_composite.cpp:532
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:523
+#: src/synfig/valuenode_composite.cpp:533
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:527
+#: src/synfig/valuenode_composite.cpp:537
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:531
+#: src/synfig/valuenode_composite.cpp:541
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:547
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:551
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:544
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_composite.cpp:554
+#: src/synfig/valuenode_composite.cpp:594
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:545
 #: src/synfig/valuenode_composite.cpp:555
+#: src/synfig/valuenode_composite.cpp:565
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
 #: src/synfig/valuenode_composite.cpp:557
+#: src/synfig/valuenode_composite.cpp:567
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:593
+#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:603
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:574
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:575
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:578
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:579
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:585
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:589
 #: src/synfig/valuenode_timedswap.cpp:260
 msgid "Length"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:580
+#: src/synfig/valuenode_composite.cpp:590
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:595
+#: src/synfig/valuenode_composite.cpp:604
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_const.cpp:127
-msgid "Static"
-msgstr ""
-
 #: src/synfig/valuenode_compare.cpp:168
 msgid "The left side of the comparison"
 msgstr ""
@@ -3627,12 +3687,12 @@ msgstr ""
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:655
+#: src/synfig/valuenode_dynamiclist.cpp:661
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:703
-#: src/synfig/valuenode_dynamiclist.cpp:957
+#: src/synfig/valuenode_dynamiclist.cpp:709
+#: src/synfig/valuenode_dynamiclist.cpp:964
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3956,7 +4016,7 @@ msgid "Intersection"
 msgstr ""
 
 #: src/synfig/valuenode_step.cpp:213
-msgid "Value that define whether the step is centerd on the value [0,1]"
+msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
@@ -4089,195 +4149,195 @@ msgstr ""
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:133
+#: src/tool/main.cpp:140
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:169
+#: src/tool/main.cpp:176
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:171
+#: src/tool/main.cpp:178
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:172
+#: src/tool/main.cpp:179
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:173
+#: src/tool/main.cpp:180
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:174
+#: src/tool/main.cpp:181
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:175
+#: src/tool/main.cpp:182
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:176
+#: src/tool/main.cpp:183
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:184
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:178
+#: src/tool/main.cpp:185
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:186
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:187
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:188
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:189
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:190
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:191
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:185 src/tool/main.cpp:186
+#: src/tool/main.cpp:192 src/tool/main.cpp:193
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:194
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:195
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:196
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:197
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:193
+#: src/tool/main.cpp:200
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:202
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:203
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:204
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:200
+#: src/tool/main.cpp:207
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:202
+#: src/tool/main.cpp:209
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:210
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:204 src/tool/main.cpp:230
+#: src/tool/main.cpp:211 src/tool/main.cpp:237
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:207
+#: src/tool/main.cpp:214
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:216
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:210
+#: src/tool/main.cpp:217
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:213
+#: src/tool/main.cpp:220
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:215
+#: src/tool/main.cpp:222
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:223
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:217
+#: src/tool/main.cpp:224
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:225
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:226
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:220
+#: src/tool/main.cpp:227
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:221
+#: src/tool/main.cpp:228
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:229
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:223
+#: src/tool/main.cpp:230
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:231
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:232
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:241
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:236
+#: src/tool/main.cpp:243
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:237
+#: src/tool/main.cpp:244
 msgid "Test signal implementation"
 msgstr ""
 
@@ -4341,157 +4401,157 @@ msgstr ""
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:113
+#: src/tool/optionsprocessor.cpp:114
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:115
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:131
+#: src/tool/optionsprocessor.cpp:132
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:146
+#: src/tool/optionsprocessor.cpp:147
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:224
+#: src/tool/optionsprocessor.cpp:225
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:226
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:227
+#: src/tool/optionsprocessor.cpp:228
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:232
+#: src/tool/optionsprocessor.cpp:233
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:234
+#: src/tool/optionsprocessor.cpp:235
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:236
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:239
+#: src/tool/optionsprocessor.cpp:240
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:243
+#: src/tool/optionsprocessor.cpp:244
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:309
+#: src/tool/optionsprocessor.cpp:310
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:316
+#: src/tool/optionsprocessor.cpp:317
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:324
+#: src/tool/optionsprocessor.cpp:325
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:334
+#: src/tool/optionsprocessor.cpp:335
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:343
+#: src/tool/optionsprocessor.cpp:344
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:352
+#: src/tool/optionsprocessor.cpp:353
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:379
+#: src/tool/optionsprocessor.cpp:380
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:385
+#: src/tool/optionsprocessor.cpp:386
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:400
+#: src/tool/optionsprocessor.cpp:401
 #, c-format
 msgid "Resolution set to %dx%d"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:417
+#: src/tool/optionsprocessor.cpp:418
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:437
+#: src/tool/optionsprocessor.cpp:438
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:440
+#: src/tool/optionsprocessor.cpp:441
 #, c-format
 msgid "Target video codec set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:446
+#: src/tool/optionsprocessor.cpp:447
 #, c-format
 msgid "Target bitrate set to %dk"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:452
+#: src/tool/optionsprocessor.cpp:453
 #, c-format
 msgid "Output file sequence separator set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:487
+#: src/tool/optionsprocessor.cpp:488
 #, c-format
 msgid "Unable to load '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:494
+#: src/tool/optionsprocessor.cpp:495
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:499
+#: src/tool/optionsprocessor.cpp:500
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:513
+#: src/tool/optionsprocessor.cpp:514
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:532
+#: src/tool/optionsprocessor.cpp:533
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:539
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:557
+#: src/tool/optionsprocessor.cpp:558
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:571
+#: src/tool/optionsprocessor.cpp:572
 msgid "Appended contents of "
 msgstr ""
 
diff --git a/po/ru.gmo b/po/ru.gmo
index 4162513..99d32c8 100644
Binary files a/po/ru.gmo and b/po/ru.gmo differ
diff --git a/po/ru.po b/po/ru.po
index 5a9c204..670f4e9 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -1,23 +1,26 @@
-# Translation of ru to Russian for Synfig.
-# Copyright (C) 2012 Synfig Contributors
-# This file is distributed under the same license as the Synfig package.
+# Translation file for Synfig Core package.
+# Copyright (C) 2013 Synfig Contributors
+# This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
 # Artem Krosheninnikov <feeblehamster at gmail.com>, 2011
 # genete <genetita at gmail.com>, 2011
 # morevnaproject <ksee.zelgadis at gmail.com>, 2011, 2012
 # morevnaproject <ksee.zelgadis at gmail.com>, 2012
-# morevnaproject <ksee.zelgadis at gmail.com>, 2011
+# morevnaproject <ksee.zelgadis at gmail.com>, 2011-2012
 # Oleg Gordeev <Retro47 at Yandex.ru>, 2011
 # prokoudine <alexandre.prokoudine at gmail.com>, 2010
+# zurba11 <zurbaxi at gmail.com>, 2013
+# prokoudine <alexandre.prokoudine at gmail.com>, 2010
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2013-05-09 18:34+0200\n"
-"PO-Revision-Date: 2013-05-02 12:39+0000\n"
-"Last-Translator: genete <genetita at gmail.com>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
+"POT-Creation-Date: 2013-10-25 17:57+0700\n"
+"PO-Revision-Date: 2013-10-29 16:26+0000\n"
+"Last-Translator: zurba11 <zurbaxi at gmail.com>\n"
+"Language-Team: Russian (http://www.transifex.com/projects/p/synfig/language/"
+"ru/)\n"
 "Language: ru\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -25,79 +28,79 @@ msgstr ""
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
-#: src/modules/mod_example/filledrect.cpp:58
+#: src/modules/mod_example/filledrect.cpp:59
 msgid "Filled Rectangle"
 msgstr "Залитый прямоугольник"
 
-#: src/modules/mod_example/filledrect.cpp:59
+#: src/modules/mod_example/filledrect.cpp:60
 #: src/modules/mod_example/metaballs.cpp:58
 #: src/modules/mod_example/simplecircle.cpp:58
 msgid "Example"
 msgstr "Примеры"
 
-#: src/modules/mod_example/filledrect.cpp:120
+#: src/modules/mod_example/filledrect.cpp:131
 #: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:523
-#: src/modules/lyr_std/shade.cpp:564
-#: src/modules/mod_geometry/checkerboard.cpp:122
-#: src/modules/mod_geometry/circle.cpp:128
-#: src/modules/mod_geometry/rectangle.cpp:125 src/synfig/layer_shape.cpp:1193
-#: src/synfig/layer_solidcolor.cpp:102 src/synfig/paramdesc.cpp:79
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:620
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
 msgid "Color"
 msgstr "Цвет"
 
-#: src/modules/mod_example/filledrect.cpp:121
+#: src/modules/mod_example/filledrect.cpp:132
 #: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:129
-#: src/modules/mod_geometry/rectangle.cpp:126
-#: src/synfig/layer_solidcolor.cpp:103
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
 msgid "Fill color of the layer"
 msgstr "Цвет заливки слоя"
 
-#: src/modules/mod_example/filledrect.cpp:125
-#: src/modules/mod_geometry/rectangle.cpp:130
-#: src/modules/mod_gradient/lineargradient.cpp:190
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:185
 msgid "Point 1"
 msgstr "Точка 1"
 
-#: src/modules/mod_example/filledrect.cpp:126
-#: src/modules/mod_geometry/rectangle.cpp:132
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
 msgid "First corner of the rectangle"
 msgstr "Первый угла прямоугольника"
 
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_geometry/rectangle.cpp:136
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:190
 msgid "Point 2"
 msgstr "Точка 2"
 
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_geometry/rectangle.cpp:137
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
 msgid "Second corner of the rectangle"
 msgstr "Второй угол прямоугольника"
 
-#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_example/filledrect.cpp:147
 msgid "Feather X"
 msgstr "Растушёвка по X"
 
-#: src/modules/mod_example/filledrect.cpp:140
+#: src/modules/mod_example/filledrect.cpp:152
 msgid "Feather Y"
 msgstr "Растушёвка по Y"
 
-#: src/modules/mod_example/filledrect.cpp:144 src/modules/lyr_std/bevel.cpp:68
-#: src/modules/mod_geometry/advanced_outline.cpp:1161
+#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
 msgid "Bevel"
 msgstr "Фаска"
 
-#: src/modules/mod_example/filledrect.cpp:145
+#: src/modules/mod_example/filledrect.cpp:158
 msgid "Use Bevel for the corners"
 msgstr "Использовать фаску для углов"
 
-#: src/modules/mod_example/filledrect.cpp:149
+#: src/modules/mod_example/filledrect.cpp:163
 msgid "Keep Bevel Circular"
 msgstr "Оставлять фаску круглой"
 
-#: src/modules/mod_example/filledrect.cpp:150
+#: src/modules/mod_example/filledrect.cpp:164
 msgid "When checked the bevel is circular"
 msgstr "Когда включено, фаска округлая"
 
@@ -105,39 +108,39 @@ msgstr "Когда включено, фаска округлая"
 msgid "Metaballs"
 msgstr "Metaballs"
 
-#: src/modules/mod_example/metaballs.cpp:135
+#: src/modules/mod_example/metaballs.cpp:129
 #: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:552
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:194
 #: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:112
-#: src/modules/mod_noise/noise.cpp:259 src/modules/mod_particle/plant.cpp:403
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
 #: src/synfig/valuenode_gradientrotate.cpp:164
 #: src/synfig/valuenode_repeat_gradient.cpp:203
 msgid "Gradient"
 msgstr "Градиент"
 
-#: src/modules/mod_example/metaballs.cpp:139
+#: src/modules/mod_example/metaballs.cpp:133
 msgid "Balls"
 msgstr "Шары"
 
-#: src/modules/mod_example/metaballs.cpp:143
+#: src/modules/mod_example/metaballs.cpp:137
 msgid "Radii"
 msgstr "Радиусы"
 
-#: src/modules/mod_example/metaballs.cpp:147
+#: src/modules/mod_example/metaballs.cpp:141
 msgid "Weights"
 msgstr "Вес"
 
-#: src/modules/mod_example/metaballs.cpp:151
+#: src/modules/mod_example/metaballs.cpp:145
 msgid "Gradient Left"
 msgstr "Градиент слева"
 
-#: src/modules/mod_example/metaballs.cpp:155
+#: src/modules/mod_example/metaballs.cpp:149
 msgid "Gradient Right"
 msgstr "Градиент справа"
 
-#: src/modules/mod_example/metaballs.cpp:159
+#: src/modules/mod_example/metaballs.cpp:153
 msgid "Positive Only"
 msgstr "Только положительные"
 
@@ -149,21 +152,21 @@ msgstr "Простой круг"
 #: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
 #: src/modules/mod_gradient/conicalgradient.cpp:114
 #: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:117
+#: src/modules/mod_gradient/spiralgradient.cpp:118
 msgid "Center"
 msgstr "Центр"
 
 #: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:144
+#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
 msgid "Center of the circle"
 msgstr "Центр окружности"
 
 #: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:151
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:132
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
 #: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:122
-#: src/modules/mod_noise/valuenode_random.cpp:269
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/valuenode_radialcomposite.cpp:272
 msgid "Radius"
 msgstr "Радиус"
@@ -171,20 +174,20 @@ msgstr "Радиус"
 #: src/modules/mod_example/simplecircle.cpp:118
 #: src/modules/lyr_std/twirl.cpp:118
 #: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:124
 msgid "This is the radius of the circle"
 msgstr "Радиус окружности"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
-#: src/modules/lyr_freetype/lyr_freetype.cpp:517
+#: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Текст"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
 #: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
-#: src/modules/lyr_std/supersample.cpp:57 src/modules/lyr_std/timeloop.cpp:60
-#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:70
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:79
+#: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
+#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
 msgid "Other"
 msgstr "Прочие"
 
@@ -192,246 +195,246 @@ msgstr "Прочие"
 msgid "Text Layer"
 msgstr "Текстовый слой"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:390
+#: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
 msgstr "Не удалось инициализировать"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:409
+#: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
 msgstr "пустой набор шрифтов"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:518
+#: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
 msgstr "Отрисовываемый текст"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:524
+#: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "Цвет текста"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:528
+#: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
 msgstr "Гарнитура"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:533
+#: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
 msgstr "Начертание"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:535
-#: src/modules/lyr_freetype/lyr_freetype.cpp:545
+#: src/modules/lyr_freetype/lyr_freetype.cpp:587
+#: src/modules/lyr_freetype/lyr_freetype.cpp:597
 msgid "Normal"
 msgstr "Обычное"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:536
+#: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
 msgstr "Полужирное"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:537
+#: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
 msgstr "Курсивное"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:541
+#: src/modules/lyr_freetype/lyr_freetype.cpp:593
 msgid "Weight"
 msgstr "Насыщенность"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:543
+#: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
 msgstr "Ультрасветлый"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:544
+#: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
 msgstr "Светлый"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:546
+#: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
 msgstr "Полужирный"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:547
+#: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
 msgstr "Ультражирный"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:548
+#: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
 msgstr "Тяжелый"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:551
+#: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
 msgstr "Межбуквенное расстояние"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:552
+#: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
 msgstr "Как близко глифы одной строки находятся друг к другу"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:556
+#: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
 msgstr "Межстрочное расстояние"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:557
+#: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
 msgstr "Как близко строки находятся друг к другу"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:561
-#: src/modules/lyr_std/shade.cpp:570 src/modules/lyr_std/xorpattern.cpp:129
-#: src/modules/mod_filter/blur.cpp:372
+#: src/modules/lyr_freetype/lyr_freetype.cpp:613
+#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:413
 #: src/modules/mod_filter/radialblur.cpp:115
-#: src/modules/mod_geometry/checkerboard.cpp:130
-#: src/modules/mod_noise/distort.cpp:222 src/modules/mod_noise/noise.cpp:267
+#: src/modules/mod_geometry/checkerboard.cpp:154
+#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
 msgstr "Размер"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:562
+#: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
 msgstr "Кегль текста"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:569
+#: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
 msgstr "Ориентация"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:570
+#: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
 msgstr "Ориентация текста"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/insideout.cpp:143 src/modules/lyr_std/rotate.cpp:116
-#: src/modules/lyr_std/shade.cpp:567 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:389
-#: src/modules/lyr_std/xorpattern.cpp:125 src/modules/lyr_std/zoom.cpp:104
+#: src/modules/lyr_freetype/lyr_freetype.cpp:627
+#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
+#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
+#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
-#: src/modules/mod_geometry/checkerboard.cpp:126
-#: src/modules/mod_geometry/circle.cpp:143
-#: src/modules/mod_gradient/curvegradient.cpp:537
-#: src/modules/mod_particle/plant.cpp:398 src/synfig/layer_pastecanvas.cpp:133
-#: src/synfig/layer_shape.cpp:1197 src/synfig/valuenode_composite.cpp:518
+#: src/modules/mod_geometry/checkerboard.cpp:150
+#: src/modules/mod_geometry/circle.cpp:161
+#: src/modules/mod_gradient/curvegradient.cpp:550
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
+#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
 msgid "Origin"
 msgstr "Исходная точка"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:576
+#: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
 msgstr "Положение текста"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:580
+#: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
 msgstr "Шрифт"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:581
+#: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
 msgstr "Имя файла используемого шрифта"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:588
+#: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
 msgstr "Кернинг"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:589
+#: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
 msgstr ""
 "Включение / выключение кернинга шрифтов (Если шрифт поддерживает кернинг)"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
 msgstr "Резкость краёв"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:594
+#: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
 msgstr "Включите эту опцию, если вы собираетесь анимировать текст"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:597
-#: src/modules/lyr_std/shade.cpp:587 src/modules/mod_geometry/circle.cpp:147
-#: src/synfig/layer_shape.cpp:1200
+#: src/modules/lyr_freetype/lyr_freetype.cpp:649
+#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1228
 msgid "Invert"
 msgstr "Инвертировать"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:654
+#: src/modules/lyr_freetype/lyr_freetype.cpp:714
 msgid "No face loaded, no text will be rendered."
 msgstr "Начертание не загружено, текст не будет отрисован."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:680
+#: src/modules/lyr_freetype/lyr_freetype.cpp:740
 msgid "Text too small, no text will be rendered."
 msgstr "Текст не будет визуализирован, т.к. размер текста слишком мал."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:704
+#: src/modules/lyr_freetype/lyr_freetype.cpp:764
 msgid "Unable to set face size."
 msgstr "Невозможно установить кегль шрифта."
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:747
+#: src/modules/lyr_freetype/lyr_freetype.cpp:807
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr "Недопустимая многобайтовая последовательность - это локальный набор?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:754
+#: src/modules/lyr_freetype/lyr_freetype.cpp:814
 msgid "Can't parse multibyte character.\n"
 msgstr "Невозможно разобрать многобайтовый символ.\n"
 
-#: src/modules/lyr_std/bevel.cpp:69 src/modules/lyr_std/shade.cpp:68
+#: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "Стилизация"
 
-#: src/modules/lyr_std/bevel.cpp:570 src/modules/lyr_std/shade.cpp:576
-#: src/modules/mod_filter/blur.cpp:376
-#: src/modules/mod_filter/halftone2.cpp:170
+#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
+#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Тип"
 
-#: src/modules/lyr_std/bevel.cpp:571 src/modules/lyr_std/shade.cpp:577
-#: src/modules/mod_filter/blur.cpp:377
+#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
+#: src/modules/mod_filter/blur.cpp:418
 msgid "Type of blur to use"
 msgstr "Тип используемого размывания"
 
-#: src/modules/lyr_std/bevel.cpp:573 src/modules/lyr_std/shade.cpp:579
-#: src/modules/mod_filter/blur.cpp:379 src/synfig/layer_shape.cpp:1213
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
 msgid "Box Blur"
 msgstr "Квадратичное размытие"
 
-#: src/modules/lyr_std/bevel.cpp:574 src/modules/lyr_std/shade.cpp:580
-#: src/modules/mod_filter/blur.cpp:380 src/synfig/layer_shape.cpp:1214
+#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
+#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
 msgid "Fast Gaussian Blur"
 msgstr "Быстрое гауссово размытие"
 
-#: src/modules/lyr_std/bevel.cpp:575 src/modules/lyr_std/shade.cpp:581
-#: src/modules/mod_filter/blur.cpp:381 src/synfig/layer_shape.cpp:1215
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
 msgid "Cross-Hatch Blur"
 msgstr "Перекрестное размытие"
 
-#: src/modules/lyr_std/bevel.cpp:576 src/modules/lyr_std/shade.cpp:582
-#: src/modules/mod_filter/blur.cpp:382 src/synfig/layer_shape.cpp:1216
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
 msgid "Gaussian Blur"
 msgstr "Гауссово размытие"
 
-#: src/modules/lyr_std/bevel.cpp:577 src/modules/lyr_std/shade.cpp:583
-#: src/modules/mod_filter/blur.cpp:383 src/synfig/layer_shape.cpp:1217
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
 msgid "Disc Blur"
 msgstr "Дисковое размытие"
 
-#: src/modules/lyr_std/bevel.cpp:581
+#: src/modules/lyr_std/bevel.cpp:635
 msgid "Hi-Color"
 msgstr "Цвет света"
 
-#: src/modules/lyr_std/bevel.cpp:584
+#: src/modules/lyr_std/bevel.cpp:638
 msgid "Lo-Color"
 msgstr "Цвет тени"
 
-#: src/modules/lyr_std/bevel.cpp:587
+#: src/modules/lyr_std/bevel.cpp:641
 msgid "Light Angle"
 msgstr "Угол освещения"
 
-#: src/modules/lyr_std/bevel.cpp:591
+#: src/modules/lyr_std/bevel.cpp:645
 msgid "Depth of Bevel"
 msgstr "Глубина фаски"
 
-#: src/modules/lyr_std/bevel.cpp:595
+#: src/modules/lyr_std/bevel.cpp:649
 msgid "Softness"
 msgstr "Мягкость"
 
-#: src/modules/lyr_std/bevel.cpp:598
+#: src/modules/lyr_std/bevel.cpp:652
 msgid "Use Luma"
 msgstr "Светимость"
 
-#: src/modules/lyr_std/bevel.cpp:601
+#: src/modules/lyr_std/bevel.cpp:655
 msgid "Solid"
 msgstr "Сплошной"
 
-#: src/modules/lyr_std/booleancurve.cpp:104
+#: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
 msgstr "Набор региона"
 
-#: src/modules/lyr_std/booleancurve.cpp:105
+#: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
 msgstr "Набор регионов для объединения"
 
@@ -439,38 +442,38 @@ msgstr "Набор регионов для объединения"
 msgid "Clamp"
 msgstr "Куча"
 
-#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:56
-#: src/modules/mod_filter/halftone2.cpp:59
-#: src/modules/mod_filter/halftone3.cpp:59
-#: src/modules/mod_filter/lumakey.cpp:59
+#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:57
+#: src/modules/mod_filter/halftone2.cpp:60
+#: src/modules/mod_filter/halftone3.cpp:60
+#: src/modules/mod_filter/lumakey.cpp:60
 msgid "Filters"
 msgstr "Фильтры"
 
-#: src/modules/lyr_std/clamp.cpp:158
+#: src/modules/lyr_std/clamp.cpp:162
 msgid "Invert Negative"
 msgstr "Инвертировать отриц. число"
 
-#: src/modules/lyr_std/clamp.cpp:162
+#: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
 msgstr "Потолок кучи"
 
-#: src/modules/lyr_std/clamp.cpp:163
+#: src/modules/lyr_std/clamp.cpp:167
 msgid "When checked the Ceiling value is used"
 msgstr "Когда включено, используется предельное значение"
 
-#: src/modules/lyr_std/clamp.cpp:167
+#: src/modules/lyr_std/clamp.cpp:171
 msgid "Ceiling"
 msgstr "Потолок"
 
-#: src/modules/lyr_std/clamp.cpp:168
+#: src/modules/lyr_std/clamp.cpp:172
 msgid "Upper boundary of the clamping"
 msgstr "Верхняя граница кучи"
 
-#: src/modules/lyr_std/clamp.cpp:172
+#: src/modules/lyr_std/clamp.cpp:176
 msgid "Floor"
 msgstr "Пол"
 
-#: src/modules/lyr_std/clamp.cpp:173
+#: src/modules/lyr_std/clamp.cpp:177
 msgid "Lower boundary of the clamping"
 msgstr "Нижняя граница кучи"
 
@@ -478,24 +481,24 @@ msgstr "Нижняя граница кучи"
 msgid "Import Image"
 msgstr "Импорт изображения"
 
-#: src/modules/lyr_std/import.cpp:151 src/modules/lyr_std/import.cpp:201
+#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr "Имя файла уже указано - \"%s\" (%s)"
 
-#: src/modules/lyr_std/import.cpp:283
+#: src/modules/lyr_std/import.cpp:293
 msgid "Filename"
 msgstr "Имя файла"
 
-#: src/modules/lyr_std/import.cpp:284
+#: src/modules/lyr_std/import.cpp:294
 msgid "File to import"
 msgstr "Импортируемый файл"
 
-#: src/modules/lyr_std/import.cpp:288 src/synfig/layer_pastecanvas.cpp:146
+#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
 msgid "Time Offset"
 msgstr "Смещение во времени"
 
-#: src/modules/lyr_std/import.cpp:289
+#: src/modules/lyr_std/import.cpp:299
 msgid "Time Offset to apply to the imported file"
 msgstr "Смещение времени для применения к импортируемому файлу"
 
@@ -504,14 +507,14 @@ msgid "Inside Out"
 msgstr "Наизнанку"
 
 #: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:75
 #: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:57 src/modules/lyr_std/curvewarp.cpp:56
-#: src/modules/mod_noise/distort.cpp:58
+#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
+#: src/modules/mod_noise/distort.cpp:59
 msgid "Distortions"
 msgstr "Искажение"
 
-#: src/modules/lyr_std/insideout.cpp:144
+#: src/modules/lyr_std/insideout.cpp:163
 msgid "Defines the where the center will be"
 msgstr "Определяет, где должен быть центр"
 
@@ -523,97 +526,97 @@ msgstr "Жюлиа"
 msgid "Fractals"
 msgstr "Фракталы"
 
-#: src/modules/lyr_std/julia.cpp:309
+#: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
 msgstr "Внутренний цвет"
 
-#: src/modules/lyr_std/julia.cpp:310
+#: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
 msgstr "Цвет внутри набора"
 
-#: src/modules/lyr_std/julia.cpp:313
+#: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
 msgstr "Внешний цвет"
 
-#: src/modules/lyr_std/julia.cpp:314
+#: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
 msgstr "Цвет вне набора"
 
-#: src/modules/lyr_std/julia.cpp:317
+#: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
 msgstr "Смещение цвета"
 
-#: src/modules/lyr_std/julia.cpp:320 src/modules/lyr_std/mandelbrot.cpp:223
+#: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
 msgstr "Итераций"
 
-#: src/modules/lyr_std/julia.cpp:323
+#: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
 msgstr "Точка зерна"
 
-#: src/modules/lyr_std/julia.cpp:326 src/modules/lyr_std/mandelbrot.cpp:226
+#: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
 msgstr "Спасти ValueBase"
 
-#: src/modules/lyr_std/julia.cpp:330 src/modules/lyr_std/mandelbrot.cpp:236
+#: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
 msgstr "Искажать внутри"
 
-#: src/modules/lyr_std/julia.cpp:333 src/modules/lyr_std/mandelbrot.cpp:240
+#: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
 msgstr "Тень изнутри"
 
-#: src/modules/lyr_std/julia.cpp:336 src/modules/lyr_std/mandelbrot.cpp:244
+#: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
 msgstr "Заливка изнутри"
 
-#: src/modules/lyr_std/julia.cpp:339 src/modules/lyr_std/mandelbrot.cpp:248
+#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
 msgstr "Инвертировать внутри"
 
-#: src/modules/lyr_std/julia.cpp:342
+#: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
 msgstr "Цвет изнутри"
 
-#: src/modules/lyr_std/julia.cpp:345 src/modules/lyr_std/mandelbrot.cpp:265
+#: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
 msgstr "Искажать снаружи"
 
-#: src/modules/lyr_std/julia.cpp:348 src/modules/lyr_std/mandelbrot.cpp:269
+#: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
 msgstr "Тень снаружи"
 
-#: src/modules/lyr_std/julia.cpp:351 src/modules/lyr_std/mandelbrot.cpp:273
+#: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
 msgstr "Сплошная заливка снаружи"
 
-#: src/modules/lyr_std/julia.cpp:354 src/modules/lyr_std/mandelbrot.cpp:277
+#: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
 msgstr "Инвертировать снаружи"
 
-#: src/modules/lyr_std/julia.cpp:357
+#: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
 msgstr "В цвете снаружи"
 
-#: src/modules/lyr_std/julia.cpp:361
+#: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
 msgstr "Цветовой круг"
 
-#: src/modules/lyr_std/julia.cpp:364 src/modules/lyr_std/mandelbrot.cpp:285
+#: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
 msgstr "Сгладить снаружи"
 
-#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:286
+#: src/modules/lyr_std/julia.cpp:391 src/modules/lyr_std/mandelbrot.cpp:282
 msgid "Smooth the coloration outside the set"
 msgstr "Гладкая окраска вне множества"
 
-#: src/modules/lyr_std/julia.cpp:368 src/modules/lyr_std/mandelbrot.cpp:230
+#: src/modules/lyr_std/julia.cpp:394 src/modules/lyr_std/mandelbrot.cpp:226
 msgid "Break Set"
 msgstr "Прервать набор"
 
-#: src/modules/lyr_std/julia.cpp:369 src/modules/lyr_std/mandelbrot.cpp:231
+#: src/modules/lyr_std/julia.cpp:395 src/modules/lyr_std/mandelbrot.cpp:227
 msgid "Modify equation to achieve interesting results"
 msgstr "Измените уравнение для достижения интересных результатов"
 
@@ -621,48 +624,48 @@ msgstr "Измените уравнение для достижения инте
 msgid "Mandelbrot Set"
 msgstr "Мандельброт"
 
+#: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
 #: src/modules/lyr_std/mandelbrot.cpp:241
 #: src/modules/lyr_std/mandelbrot.cpp:245
 #: src/modules/lyr_std/mandelbrot.cpp:249
 #: src/modules/lyr_std/mandelbrot.cpp:253
 #: src/modules/lyr_std/mandelbrot.cpp:257
-#: src/modules/lyr_std/mandelbrot.cpp:261
 msgid "Inside"
 msgstr "Изнутри"
 
-#: src/modules/lyr_std/mandelbrot.cpp:252
+#: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
 msgstr "Градиент изнутри"
 
-#: src/modules/lyr_std/mandelbrot.cpp:256
+#: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
 msgstr "Сместить внутри"
 
-#: src/modules/lyr_std/mandelbrot.cpp:260
+#: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
 msgstr "Замкнуть внутрь"
 
+#: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
 #: src/modules/lyr_std/mandelbrot.cpp:270
 #: src/modules/lyr_std/mandelbrot.cpp:274
 #: src/modules/lyr_std/mandelbrot.cpp:278
-#: src/modules/lyr_std/mandelbrot.cpp:282
+#: src/modules/lyr_std/mandelbrot.cpp:283
 #: src/modules/lyr_std/mandelbrot.cpp:287
 #: src/modules/lyr_std/mandelbrot.cpp:291
-#: src/modules/lyr_std/mandelbrot.cpp:295
 msgid "Outside"
 msgstr "Снаружи"
 
-#: src/modules/lyr_std/mandelbrot.cpp:281
+#: src/modules/lyr_std/mandelbrot.cpp:277
 msgid "Gradient outside"
 msgstr "Градиент снаружи"
 
-#: src/modules/lyr_std/mandelbrot.cpp:290
+#: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
 msgstr "Смещение снаружи"
 
-#: src/modules/lyr_std/mandelbrot.cpp:294
+#: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
 msgstr "Масштаб снаружи"
 
@@ -675,16 +678,16 @@ msgstr "Вращение"
 msgid "Transform"
 msgstr "Преобразование"
 
-#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/translate.cpp:101
+#: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:134
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr "Укажите, где вы хотите разместить точку центра"
 
-#: src/modules/lyr_std/rotate.cpp:121
-#: src/modules/lyr_std/sphere_distort.cpp:158
+#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:217
+#: src/synfig/layer_composite.cpp:249
 #: src/synfig/valuenode_blinecalctangent.cpp:251
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
@@ -693,61 +696,61 @@ msgstr "Укажите, где вы хотите разместить точку
 msgid "Amount"
 msgstr "Величина"
 
-#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
 msgstr "Угол вращения"
 
-#: src/modules/lyr_std/shade.cpp:67
+#: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
 msgstr "Тень"
 
-#: src/modules/lyr_std/shade.cpp:571
+#: src/modules/lyr_std/shade.cpp:627
 msgid "Size of Shade"
 msgstr "Размер тени"
 
-#: src/modules/lyr_std/sphere_distort.cpp:73
-#: src/modules/lyr_std/sphere_distort.cpp:172
+#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:167
 msgid "Spherize"
 msgstr "Сферизация"
 
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/synfig/valuenode_composite.cpp:536
+#: src/modules/lyr_std/sphere_distort.cpp:141
+#: src/synfig/valuenode_composite.cpp:546
 msgid "Position"
 msgstr "Положение"
 
-#: src/modules/lyr_std/sphere_distort.cpp:147
+#: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
 msgstr "Где находится центр сферического искажения"
 
-#: src/modules/lyr_std/sphere_distort.cpp:154
+#: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr "Размер сверического искажения"
 
-#: src/modules/lyr_std/sphere_distort.cpp:160
+#: src/modules/lyr_std/sphere_distort.cpp:155
 msgid "The distortion intensity (negative values inverts effect)"
 msgstr "Сила искажения (отрицательные значения инвертируют эффект)"
 
-#: src/modules/lyr_std/sphere_distort.cpp:164 src/modules/lyr_std/warp.cpp:409
+#: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
 msgstr "Обрезка"
 
-#: src/modules/lyr_std/sphere_distort.cpp:165
+#: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
 msgstr "При включении область вне радиуса не искажается"
 
-#: src/modules/lyr_std/sphere_distort.cpp:169
+#: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
 msgstr "Тип искажения"
 
-#: src/modules/lyr_std/sphere_distort.cpp:170
+#: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
 msgstr "Направление искажения"
 
-#: src/modules/lyr_std/sphere_distort.cpp:173
+#: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
 msgstr "Вертикальная черта"
 
-#: src/modules/lyr_std/sphere_distort.cpp:174
+#: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
 msgstr "Горизонтальная черта"
 
@@ -767,104 +770,104 @@ msgstr "Где находится центр растяжения"
 msgid "Stroboscope"
 msgstr "Стробоскоп"
 
-#: src/modules/lyr_std/stroboscope.cpp:102
+#: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
 msgstr "Частота"
 
-#: src/modules/lyr_std/stroboscope.cpp:103
+#: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
 msgstr "Частота мерцаний в секунду"
 
-#: src/modules/lyr_std/supersample.cpp:56
+#: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
 msgstr "Сглаживание"
 
-#: src/modules/lyr_std/supersample.cpp:129
+#: src/modules/lyr_std/supersample.cpp:146
 msgid "Unable to create SurfaceTarget"
 msgstr "Не удается создать Поверхность цели"
 
-#: src/modules/lyr_std/supersample.cpp:290
-#: src/modules/lyr_std/curvewarp.cpp:393
-#: src/modules/mod_gradient/curvegradient.cpp:542
-#: src/synfig/valuenode_composite.cpp:514
-#: src/synfig/valuenode_composite.cpp:540
+#: src/modules/lyr_std/supersample.cpp:337
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_composite.cpp:524
+#: src/synfig/valuenode_composite.cpp:550
 #: src/synfig/valuenode_realstring.cpp:180
 #: src/synfig/valuenode_repeat_gradient.cpp:213
 #: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
 msgid "Width"
 msgstr "Ширина"
 
-#: src/modules/lyr_std/supersample.cpp:291
+#: src/modules/lyr_std/supersample.cpp:338
 msgid "Width of sample area (In pixels)"
 msgstr "Ширина площади образца (в пикселях)"
 
-#: src/modules/lyr_std/supersample.cpp:294 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
 msgid "Height"
 msgstr "Высота"
 
-#: src/modules/lyr_std/supersample.cpp:295
+#: src/modules/lyr_std/supersample.cpp:342
 msgid "Height of sample area (In pixels)"
 msgstr "Высота площади образца (в пикселях)"
 
-#: src/modules/lyr_std/supersample.cpp:298
+#: src/modules/lyr_std/supersample.cpp:345
 msgid "Use Parametric"
 msgstr "Использовать параметрический"
 
-#: src/modules/lyr_std/supersample.cpp:299
+#: src/modules/lyr_std/supersample.cpp:346
 msgid "Use the Parametric Renderer"
 msgstr "Использовать параметрический отрисовщик"
 
-#: src/modules/lyr_std/supersample.cpp:302
+#: src/modules/lyr_std/supersample.cpp:349
 msgid "Be Alpha Safe"
 msgstr "Не затрагивать прозрачность"
 
-#: src/modules/lyr_std/supersample.cpp:303
+#: src/modules/lyr_std/supersample.cpp:350
 msgid "Avoid alpha artifacts when checked"
 msgstr "При включении позволяет избежать помех от прозрачности"
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:166
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr "Петля времени"
 
-#: src/modules/lyr_std/timeloop.cpp:124 src/synfig/valuenode_timeloop.cpp:179
+#: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
 msgstr "Время связывания"
 
-#: src/modules/lyr_std/timeloop.cpp:125
+#: src/modules/lyr_std/timeloop.cpp:134
 msgid "Start time of the loop for the cycled context"
 msgstr "Время начала цикла для замкнутого контекста"
 
-#: src/modules/lyr_std/timeloop.cpp:129 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr "Локальное время"
 
-#: src/modules/lyr_std/timeloop.cpp:130 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr "Время, когда начинается результирующий цикл"
 
-#: src/modules/lyr_std/timeloop.cpp:134 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr "Длительность"
 
-#: src/modules/lyr_std/timeloop.cpp:135 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
 msgid "Lenght of the loop"
 msgstr "Длина цикла"
 
-#: src/modules/lyr_std/timeloop.cpp:139
+#: src/modules/lyr_std/timeloop.cpp:148
 msgid "Only For Positive Duration"
 msgstr "Только для положительной длительности"
 
-#: src/modules/lyr_std/timeloop.cpp:140
+#: src/modules/lyr_std/timeloop.cpp:149
 msgid "When checked will loop only positive durations"
 msgstr "При включении замыкаются только положительные последовательности"
 
-#: src/modules/lyr_std/timeloop.cpp:144
+#: src/modules/lyr_std/timeloop.cpp:153
 msgid "Symmetrical"
 msgstr "Симметрично"
 
-#: src/modules/lyr_std/timeloop.cpp:145
+#: src/modules/lyr_std/timeloop.cpp:154
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr "При включении, циклы отражаются с центром в точке Местное Время"
 
@@ -892,115 +895,115 @@ msgstr "Привключении искажает внутрь окружнос
 msgid "When checked, distorts outside the circle"
 msgstr "При включении искажать внутрь окружности"
 
-#: src/modules/lyr_std/warp.cpp:56
+#: src/modules/lyr_std/warp.cpp:57
 msgid "Warp"
 msgstr "Искажение"
 
-#: src/modules/lyr_std/warp.cpp:374
+#: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
 msgstr "Источник TL"
 
-#: src/modules/lyr_std/warp.cpp:376
+#: src/modules/lyr_std/warp.cpp:382
 msgid "Top Left corner of the source to warp"
 msgstr "Левый верхний угол источника деформации"
 
-#: src/modules/lyr_std/warp.cpp:380
+#: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
 msgstr "Источник BR"
 
-#: src/modules/lyr_std/warp.cpp:381
+#: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
 msgstr "Правый нижний угол источника деформации"
 
-#: src/modules/lyr_std/warp.cpp:385
+#: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
 msgstr "Назначение TL"
 
-#: src/modules/lyr_std/warp.cpp:387
+#: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
 msgstr "Верхний левый угол назначения"
 
-#: src/modules/lyr_std/warp.cpp:391
+#: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
 msgstr "Назначение TR"
 
-#: src/modules/lyr_std/warp.cpp:393
+#: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
 msgstr "Верхний правый угол назначения"
 
-#: src/modules/lyr_std/warp.cpp:397
+#: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
 msgstr "Нижний правый угол (назначение)"
 
-#: src/modules/lyr_std/warp.cpp:399
+#: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
 msgstr "Нижний правый угол назначения"
 
-#: src/modules/lyr_std/warp.cpp:403
+#: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
 msgstr "Нижний левый угол (назначение)"
 
-#: src/modules/lyr_std/warp.cpp:405
+#: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
 msgstr "Нижний левый угол назначения"
 
-#: src/modules/lyr_std/warp.cpp:413
+#: src/modules/lyr_std/warp.cpp:419
 msgid "Horizon"
 msgstr "Горизонт"
 
-#: src/modules/lyr_std/warp.cpp:414
+#: src/modules/lyr_std/warp.cpp:420
 msgid "Height that determines the horizon in perspectives"
 msgstr "Высота, определяющая горизонт в перспективе"
 
-#: src/modules/lyr_std/curvewarp.cpp:55
+#: src/modules/lyr_std/curvewarp.cpp:56
 msgid "Curve Warp"
 msgstr "Деформация по кривой"
 
-#: src/modules/lyr_std/curvewarp.cpp:390
-msgid "Position of the source line"
-msgstr "Положение линии источника"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:395
+#: src/modules/lyr_std/curvewarp.cpp:404
 msgid "How much is expanded the result perpendicular to the source line"
 msgstr "Насколько будет расширен результат перпендикулярно линии источника"
 
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:407
 msgid "Start Point"
 msgstr "Начальная точка"
 
-#: src/modules/lyr_std/curvewarp.cpp:400
+#: src/modules/lyr_std/curvewarp.cpp:409
 msgid "First point of the source line"
 msgstr "Первая точка линии источника"
 
-#: src/modules/lyr_std/curvewarp.cpp:403
+#: src/modules/lyr_std/curvewarp.cpp:412
 msgid "End Point"
 msgstr "Конечная точка"
 
-#: src/modules/lyr_std/curvewarp.cpp:404
+#: src/modules/lyr_std/curvewarp.cpp:413
 msgid "Final point of the source line"
 msgstr "Последняя точка линии источника"
 
-#: src/modules/lyr_std/curvewarp.cpp:407
-#: src/modules/mod_geometry/advanced_outline.cpp:1123
-#: src/modules/mod_geometry/outline.cpp:814
-#: src/modules/mod_geometry/region.cpp:233
-#: src/modules/mod_gradient/curvegradient.cpp:546
-#: src/modules/mod_particle/plant.cpp:391
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
 msgid "Vertices"
 msgstr "Вершины"
 
-#: src/modules/lyr_std/curvewarp.cpp:410
+#: src/modules/lyr_std/curvewarp.cpp:419
 msgid "List of Spline Points where the source line is curved to"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:413
-#: src/modules/mod_geometry/advanced_outline.cpp:1178
-#: src/modules/mod_gradient/curvegradient.cpp:567
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
 msgid "Fast"
 msgstr "Быстро"
 
-#: src/modules/lyr_std/curvewarp.cpp:414
-#: src/modules/mod_gradient/curvegradient.cpp:568
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
 msgid "When checked, renders quickly but with artifacts"
 msgstr "При включении отрисовывает быстро, но с артефактами"
 
@@ -1008,15 +1011,15 @@ msgstr "При включении отрисовывает быстро, но с
 msgid "XOR Pattern"
 msgstr "Узор Исключающего ИЛИ"
 
-#: src/modules/lyr_std/xorpattern.cpp:126
+#: src/modules/lyr_std/xorpattern.cpp:130
 msgid "Center of the pattern"
 msgstr "Центр шаблона"
 
-#: src/modules/lyr_std/xorpattern.cpp:130
+#: src/modules/lyr_std/xorpattern.cpp:134
 msgid "Size of the pattern"
 msgstr "Размер шаблона"
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:143
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
 #: src/synfig/valuenode_blinecalctangent.cpp:261
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
 #: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
@@ -1027,7 +1030,7 @@ msgstr ""
 msgid "Amount to scale to"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:105
+#: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
 msgstr ""
 
@@ -1045,12 +1048,12 @@ msgstr "Файл %s сохранён не в формате BMP"
 #: src/modules/mod_bmp/mptr_bmp.cpp:150
 #, c-format
 msgid "Failure while reading BITMAPFILEHEADER from %s"
-msgstr "Ошибка при чтении %s из BITMAPFILEHEADER"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:158
 #, c-format
 msgid "Failure while reading BITMAPINFOHEADER from %s"
-msgstr "Ошибка при чтении  BITMAPINFOHEADER из %s."
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:168
 #, c-format
@@ -1064,7 +1067,7 @@ msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
 msgid "Reading compressed bitmaps is not supported"
-msgstr ""
+msgstr "Чтение сжатых изображений не поддерживается"
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
 #, c-format
@@ -1095,126 +1098,141 @@ msgstr "Не удалось записать информационный заг
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:201
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:208
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:218
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:272
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-msgid "Unable to open pipe to ffmpeg"
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:214
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no pipe)"
+msgstr "Не удалось открыть файл"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:221
+msgid "Unable to open pipe to ffmpeg (pid == -1)"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:68
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:231
+msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:285
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (exec failed)"
+msgstr "Не удалось открыть файл"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:303
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no file)"
+msgstr "Не удалось открыть файл"
+
+#: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
 msgstr "Размывание"
 
-#: src/modules/mod_filter/blur.cpp:69 src/modules/mod_filter/radialblur.cpp:56
+#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
 #: src/synfig/layer_motionblur.cpp:57
 msgid "Blurs"
 msgstr "Размывание"
 
-#: src/modules/mod_filter/blur.cpp:373
+#: src/modules/mod_filter/blur.cpp:414
 msgid "Size of Blur"
 msgstr "Величина размывания"
 
-#: src/modules/mod_filter/colorcorrect.cpp:55
+#: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
 msgstr "Цветокоррекция"
 
-#: src/modules/mod_filter/colorcorrect.cpp:211
+#: src/modules/mod_filter/colorcorrect.cpp:217
 msgid "Hue Adjust"
 msgstr "Коррекция тона"
 
-#: src/modules/mod_filter/colorcorrect.cpp:215
+#: src/modules/mod_filter/colorcorrect.cpp:221
 msgid "Brightness"
 msgstr "Яркость"
 
-#: src/modules/mod_filter/colorcorrect.cpp:219
+#: src/modules/mod_filter/colorcorrect.cpp:225
 msgid "Contrast"
 msgstr "Контраст"
 
-#: src/modules/mod_filter/colorcorrect.cpp:223
+#: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
 msgstr "Коррекция экспозиции"
 
-#: src/modules/mod_filter/colorcorrect.cpp:227 src/synfig/layer_bitmap.cpp:179
+#: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
 msgstr "Коррекция гаммы"
 
-#: src/modules/mod_filter/halftone2.cpp:58
+#: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
 msgstr "Полутон 2"
 
-#: src/modules/mod_filter/halftone2.cpp:151
+#: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
 msgstr "Начало маски"
 
-#: src/modules/mod_filter/halftone2.cpp:155
+#: src/modules/mod_filter/halftone2.cpp:159
 msgid "Mask Angle"
 msgstr "Угол маски"
 
-#: src/modules/mod_filter/halftone2.cpp:159
-#: src/modules/mod_filter/halftone3.cpp:309
+#: src/modules/mod_filter/halftone2.cpp:163
+#: src/modules/mod_filter/halftone3.cpp:328
 msgid "Mask Size"
 msgstr "Размер маски"
 
-#: src/modules/mod_filter/halftone2.cpp:164
+#: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
 msgstr "Цвет света"
 
-#: src/modules/mod_filter/halftone2.cpp:167
+#: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
 msgstr "Цвет тени"
 
-#: src/modules/mod_filter/halftone2.cpp:172
-#: src/modules/mod_filter/halftone3.cpp:314
+#: src/modules/mod_filter/halftone2.cpp:176
+#: src/modules/mod_filter/halftone3.cpp:333
 #: src/modules/mod_gradient/conicalgradient.cpp:125
 msgid "Symmetric"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:173
-#: src/modules/mod_filter/halftone3.cpp:315
+#: src/modules/mod_filter/halftone2.cpp:177
+#: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
 msgstr "Светлое на тёмном"
 
-#: src/modules/mod_filter/halftone2.cpp:175
-#: src/modules/mod_filter/halftone3.cpp:317
+#: src/modules/mod_filter/halftone2.cpp:179
+#: src/modules/mod_filter/halftone3.cpp:336
 msgid "Diamond"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:176
-#: src/modules/mod_filter/halftone3.cpp:318
+#: src/modules/mod_filter/halftone2.cpp:180
+#: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:58
+#: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
 msgstr "Полутон 3"
 
-#: src/modules/mod_filter/halftone3.cpp:312
+#: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
 msgstr "Тип"
 
-#: src/modules/mod_filter/halftone3.cpp:321
+#: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:329
+#: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
 msgstr "Цвет"
 
-#: src/modules/mod_filter/halftone3.cpp:333
+#: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
 msgstr "Начало маски"
 
-#: src/modules/mod_filter/halftone3.cpp:337
+#: src/modules/mod_filter/halftone3.cpp:356
 msgid " Mask Angle"
 msgstr "Угол маски"
 
-#: src/modules/mod_filter/lumakey.cpp:58
+#: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
 msgstr "Ключ светимости"
 
-#: src/modules/mod_filter/radialblur.cpp:55
+#: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
 msgstr "Радиальное размывание"
 
@@ -1236,19 +1254,19 @@ msgstr "Шахматная доска"
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:62 src/synfig/layer_solidcolor.cpp:57
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
 msgstr "Геометрия"
 
-#: src/modules/mod_geometry/checkerboard.cpp:123
+#: src/modules/mod_geometry/checkerboard.cpp:147
 msgid "Color of checkers"
 msgstr "Цвет шахматных клеток"
 
-#: src/modules/mod_geometry/checkerboard.cpp:127
+#: src/modules/mod_geometry/checkerboard.cpp:151
 msgid "Center of the checkers"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:131
+#: src/modules/mod_geometry/checkerboard.cpp:155
 msgid "Size of checkers"
 msgstr "Размер шахматных клеток"
 
@@ -1256,54 +1274,54 @@ msgstr "Размер шахматных клеток"
 msgid "Circle"
 msgstr "Окружность"
 
-#: src/modules/mod_geometry/circle.cpp:134
+#: src/modules/mod_geometry/circle.cpp:152
 msgid "Radius of the circle"
 msgstr "Радиус круга"
 
-#: src/modules/mod_geometry/circle.cpp:138 src/synfig/layer_shape.cpp:1206
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
 msgid "Feather"
 msgstr "Растушёвка"
 
-#: src/modules/mod_geometry/circle.cpp:140
+#: src/modules/mod_geometry/circle.cpp:158
 msgid "Amount of feather of the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:148
+#: src/modules/mod_geometry/circle.cpp:166
 msgid "Invert the circle"
 msgstr "Инвертировать окружность"
 
-#: src/modules/mod_geometry/circle.cpp:152
+#: src/modules/mod_geometry/circle.cpp:170
 msgid "Falloff"
 msgstr "Затухание"
 
-#: src/modules/mod_geometry/circle.cpp:153
+#: src/modules/mod_geometry/circle.cpp:171
 msgid "Determines the falloff function for the feather"
 msgstr "Определяет функцию затухания для растушевки"
 
-#: src/modules/mod_geometry/circle.cpp:155
-#: src/modules/mod_noise/distort.cpp:234 src/modules/mod_noise/noise.cpp:275
-#: src/modules/mod_noise/valuenode_random.cpp:288
-#: src/synfig/layer_bitmap.cpp:173 src/synfig/layer_motionblur.cpp:150
-#: src/synfig/valuenode.cpp:139 src/synfig/valuenode_linear.cpp:146
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:289
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
 msgid "Linear"
 msgstr "Линейная"
 
-#: src/modules/mod_geometry/circle.cpp:156
+#: src/modules/mod_geometry/circle.cpp:174
 msgid "Squared"
 msgstr "Квадратичная"
 
-#: src/modules/mod_geometry/circle.cpp:157
+#: src/modules/mod_geometry/circle.cpp:175
 msgid "Square Root"
 msgstr "Квадратный корень"
 
-#: src/modules/mod_geometry/circle.cpp:158
+#: src/modules/mod_geometry/circle.cpp:176
 msgid "Sigmond"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:159
-#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:276
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:174
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:290
+#: src/synfig/layer_bitmap.cpp:170
 msgid "Cosine"
 msgstr "Косинус"
 
@@ -1311,160 +1329,160 @@ msgstr "Косинус"
 msgid "Advanced Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:133
+#: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1125
-#: src/modules/mod_geometry/outline.cpp:817
-#: src/modules/mod_geometry/region.cpp:235
-#: src/modules/mod_gradient/curvegradient.cpp:549
-#: src/modules/mod_particle/plant.cpp:392
+#: src/modules/mod_geometry/advanced_outline.cpp:1136
+#: src/modules/mod_geometry/outline.cpp:826
+#: src/modules/mod_geometry/region.cpp:240
+#: src/modules/mod_gradient/curvegradient.cpp:562
+#: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1129
-#: src/modules/mod_geometry/outline.cpp:831
+#: src/modules/mod_geometry/advanced_outline.cpp:1140
+#: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
 msgstr "Толщина контура"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1130
-#: src/modules/mod_geometry/outline.cpp:832
+#: src/modules/mod_geometry/advanced_outline.cpp:1141
+#: src/modules/mod_geometry/outline.cpp:841
 msgid "Global width of the outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:837
+#: src/modules/mod_geometry/advanced_outline.cpp:1145
+#: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
 msgstr "Расширение"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1135
-#: src/modules/mod_geometry/outline.cpp:838
+#: src/modules/mod_geometry/advanced_outline.cpp:1146
+#: src/modules/mod_geometry/outline.cpp:847
 msgid "Value to add to the global width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1138
+#: src/modules/mod_geometry/advanced_outline.cpp:1149
 msgid "Tip Type at Start"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1139
+#: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1141
-#: src/modules/mod_geometry/advanced_outline.cpp:1150
-#: src/synfig/valuenode_composite.cpp:548
+#: src/modules/mod_geometry/advanced_outline.cpp:1152
+#: src/modules/mod_geometry/advanced_outline.cpp:1161
 #: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:587
-#: src/synfig/valuenode_composite.cpp:596
+#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:606
 msgid "Rounded Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1142
-#: src/modules/mod_geometry/advanced_outline.cpp:1151
-#: src/synfig/valuenode_composite.cpp:549
+#: src/modules/mod_geometry/advanced_outline.cpp:1153
+#: src/modules/mod_geometry/advanced_outline.cpp:1162
 #: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:588
-#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:607
 msgid "Squared Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1143
-#: src/modules/mod_geometry/advanced_outline.cpp:1152
-#: src/synfig/valuenode_composite.cpp:550
+#: src/modules/mod_geometry/advanced_outline.cpp:1154
+#: src/modules/mod_geometry/advanced_outline.cpp:1163
 #: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:570
+#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:608
 msgid "Peak Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1144
-#: src/modules/mod_geometry/advanced_outline.cpp:1153
-#: src/synfig/valuenode_composite.cpp:551
+#: src/modules/mod_geometry/advanced_outline.cpp:1155
+#: src/modules/mod_geometry/advanced_outline.cpp:1164
 #: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:590
-#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:571
+#: src/synfig/valuenode_composite.cpp:600
+#: src/synfig/valuenode_composite.cpp:609
 msgid "Flat Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1147
+#: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1148
+#: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1156
+#: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1157
-#: src/modules/mod_geometry/outline.cpp:843
+#: src/modules/mod_geometry/advanced_outline.cpp:1168
+#: src/modules/mod_geometry/outline.cpp:852
 msgid "Determines cusp type"
 msgstr "Определяет тип пиков"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1159
+#: src/modules/mod_geometry/advanced_outline.cpp:1170
 msgid "Sharp"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1160
+#: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1164
+#: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1165
+#: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1168
-#: src/modules/mod_geometry/outline.cpp:859
+#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/outline.cpp:869
 #: src/synfig/valuenode_blinecalctangent.cpp:271
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
 msgstr "Однородность"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1169
+#: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
+#: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1175
+#: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1182
+#: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1184
+#: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1187
+#: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1190
+#: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1193
+#: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1196
+#: src/modules/mod_geometry/advanced_outline.cpp:1207
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
@@ -1472,32 +1490,36 @@ msgstr ""
 msgid "Outline"
 msgstr "Контур"
 
-#: src/modules/mod_geometry/outline.cpp:183
+#: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
 msgstr "Нет вершин в контуре"
 
-#: src/modules/mod_geometry/outline.cpp:842
+#: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
 msgstr "Острые пики"
 
-#: src/modules/mod_geometry/outline.cpp:847
+#: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
 msgstr "Закругленное начало"
 
-#: src/modules/mod_geometry/outline.cpp:848
-#: src/modules/mod_geometry/outline.cpp:853
+#: src/modules/mod_geometry/outline.cpp:857
+#: src/modules/mod_geometry/outline.cpp:862
 msgid "Round off the tip"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:852
+#: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
 msgstr "Закругленное окончание"
 
-#: src/modules/mod_geometry/outline.cpp:856
+#: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
 msgstr "Петлистость"
 
-#: src/modules/mod_geometry/outline.cpp:860
+#: src/modules/mod_geometry/outline.cpp:866
+msgid "(Currently not used)"
+msgstr ""
+
+#: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
 msgstr ""
 
@@ -1505,11 +1527,11 @@ msgstr ""
 msgid "Rectangle"
 msgstr "Прямоугольник"
 
-#: src/modules/mod_geometry/rectangle.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
 msgstr "Величина расширения"
 
-#: src/modules/mod_geometry/rectangle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
 msgstr "Инвертировать прямоугольник"
 
@@ -1521,46 +1543,46 @@ msgstr "Область"
 msgid "Star"
 msgstr "Звезда"
 
-#: src/modules/mod_geometry/star.cpp:183
+#: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
 msgstr "Внешний радиус"
 
-#: src/modules/mod_geometry/star.cpp:184
+#: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
 msgstr "Радиус внешних точек звезды"
 
-#: src/modules/mod_geometry/star.cpp:190
+#: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
 msgstr "Внутренний радиус"
 
-#: src/modules/mod_geometry/star.cpp:191
+#: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
 msgstr "Радиус внутренних точек звезды"
 
-#: src/modules/mod_geometry/star.cpp:197
+#: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:129
+#: src/modules/mod_gradient/spiralgradient.cpp:130
 #: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr "Угол"
 
-#: src/modules/mod_geometry/star.cpp:198
+#: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr "Ориентация звезды"
 
-#: src/modules/mod_geometry/star.cpp:203 src/synfig/distance.cpp:251
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
 msgid "Points"
 msgstr "Точки"
 
-#: src/modules/mod_geometry/star.cpp:204
+#: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
 msgstr "Количество лучей звезды"
 
-#: src/modules/mod_geometry/star.cpp:208
+#: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
 msgstr "Многоугольник"
 
-#: src/modules/mod_geometry/star.cpp:209
+#: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr "Рисовать ли многоугольник вместо звезды"
 
@@ -1578,20 +1600,20 @@ msgid "Conical Gradient"
 msgstr "Конический градиент"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
-#: src/modules/mod_gradient/curvegradient.cpp:61
+#: src/modules/mod_gradient/curvegradient.cpp:62
 #: src/modules/mod_gradient/lineargradient.cpp:55
 #: src/modules/mod_gradient/radialgradient.cpp:58
-#: src/modules/mod_gradient/spiralgradient.cpp:57
-#: src/modules/mod_noise/noise.cpp:58
+#: src/modules/mod_gradient/spiralgradient.cpp:58
+#: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
 msgstr "Градиенты"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
-#: src/modules/mod_gradient/curvegradient.cpp:553
-#: src/modules/mod_gradient/lineargradient.cpp:200
+#: src/modules/mod_gradient/curvegradient.cpp:566
+#: src/modules/mod_gradient/lineargradient.cpp:195
 #: src/modules/mod_gradient/radialgradient.cpp:114
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:260
+#: src/modules/mod_gradient/spiralgradient.cpp:114
+#: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
 msgstr ""
 
@@ -1604,27 +1626,27 @@ msgid "Rotation of the gradient around the center"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
-#: src/modules/mod_gradient/curvegradient.cpp:557
-#: src/modules/mod_gradient/lineargradient.cpp:204
+#: src/modules/mod_gradient/curvegradient.cpp:570
+#: src/modules/mod_gradient/lineargradient.cpp:199
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:60
+#: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
 msgstr "Искривленный градиент"
 
-#: src/modules/mod_gradient/curvegradient.cpp:538
-#: src/modules/mod_particle/plant.cpp:399
+#: src/modules/mod_gradient/curvegradient.cpp:551
+#: src/modules/mod_particle/plant.cpp:432
 msgid "Offset for the Vertices List"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:543
+#: src/modules/mod_gradient/curvegradient.cpp:556
 msgid "Global width of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:556
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/curvegradient.cpp:569
+#: src/modules/mod_gradient/lineargradient.cpp:198
 #: src/modules/mod_gradient/radialgradient.cpp:130
 #: src/synfig/valuenode_blinecalctangent.cpp:246
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
@@ -1632,19 +1654,19 @@ msgstr ""
 msgid "Loop"
 msgstr "Повтор"
 
-#: src/modules/mod_gradient/curvegradient.cpp:560
-#: src/modules/mod_gradient/lineargradient.cpp:207
+#: src/modules/mod_gradient/curvegradient.cpp:573
+#: src/modules/mod_gradient/lineargradient.cpp:202
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr "Зигзаг"
 
-#: src/modules/mod_gradient/curvegradient.cpp:561
-#: src/modules/mod_gradient/lineargradient.cpp:208
+#: src/modules/mod_gradient/curvegradient.cpp:574
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:136
 msgid "When checked the gradient is summetrical at the center"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:564
+#: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
 msgstr "Перпендикулярно"
 
@@ -1652,11 +1674,11 @@ msgstr "Перпендикулярно"
 msgid "Linear Gradient"
 msgstr "Линейный градиент"
 
-#: src/modules/mod_gradient/lineargradient.cpp:192
+#: src/modules/mod_gradient/lineargradient.cpp:187
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:196
+#: src/modules/mod_gradient/lineargradient.cpp:191
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1665,23 +1687,23 @@ msgid "Radial Gradient"
 msgstr "Радиальный градиент"
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:119
 msgid "Center of the gradient"
 msgstr "Центр градиента"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:56
+#: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
 msgstr "Спиральный градиент"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:130
+#: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
 msgstr "Угол спирали"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:135
+#: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
 msgstr "По часовой стрелке"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:136
+#: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
@@ -1694,13 +1716,15 @@ msgstr "Нет загружаемого файла"
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/listimporter.cpp:184 src/synfig/listimporter.cpp:185
+#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
+#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
 msgid "Unable to open "
 msgstr "Не удалось открыть"
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/listimporter.cpp:191 src/synfig/listimporter.cpp:192
+#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
+#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
 msgid "Unable to get frame from "
 msgstr "Не удалось получить кадр из "
 
@@ -1738,115 +1762,115 @@ msgstr "Преждевременный конец файла"
 msgid "Unable to open pipe to imagemagick's convert utility"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:57
+#: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
 msgstr "Искажение шумом"
 
-#: src/modules/mod_noise/distort.cpp:217
+#: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
 msgstr "Смещение"
 
-#: src/modules/mod_noise/distort.cpp:218
+#: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
 msgstr "Величина искажения"
 
-#: src/modules/mod_noise/distort.cpp:223
+#: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:226 src/modules/mod_noise/noise.cpp:263
+#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
 msgstr "Зерно случайного шума"
 
-#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:264
+#: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:230 src/modules/mod_noise/noise.cpp:271
-#: src/modules/mod_noise/valuenode_random.cpp:284
-#: src/synfig/layer_bitmap.cpp:169
+#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr "Интерполяция"
 
-#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
-#: src/synfig/layer_bitmap.cpp:170
+#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
+#: src/synfig/layer_bitmap.cpp:166
 msgid "What type of interpolation to use"
 msgstr "Какой тип интерполяции использовать"
 
-#: src/modules/mod_noise/distort.cpp:233 src/modules/mod_noise/noise.cpp:274
-#: src/synfig/layer_bitmap.cpp:172
+#: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
+#: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
 msgstr "Ближайший сосед"
 
-#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:277
-#: src/modules/mod_noise/valuenode_random.cpp:290 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_bline.cpp:1001
+#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
+#: src/synfig/valuenode_bline.cpp:1006
 #: src/synfig/valuenode_blinecalctangent.cpp:241
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr "Сплайн"
 
-#: src/modules/mod_noise/distort.cpp:237 src/modules/mod_noise/noise.cpp:278
-#: src/modules/mod_noise/valuenode_random.cpp:291
-#: src/synfig/layer_bitmap.cpp:175
+#: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr "Кубическая"
 
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:281
+#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
 msgstr "Детализация"
 
-#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:282
+#: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:244 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
 msgstr "Скорость анимации"
 
-#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:248 src/modules/mod_noise/noise.cpp:289
+#: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
 msgstr "Турбулентность"
 
-#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:290
+#: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:183
+#: src/modules/mod_noise/valuenode_random.cpp:184
 msgid "Random"
 msgstr "Случайно"
 
-#: src/modules/mod_noise/noise.cpp:57
+#: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
 msgstr "Градиентный шум"
 
-#: src/modules/mod_noise/noise.cpp:268
+#: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
 msgstr "Размер шума"
 
-#: src/modules/mod_noise/noise.cpp:293
+#: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
 msgstr "С альфа-каналом"
 
-#: src/modules/mod_noise/noise.cpp:294
+#: src/modules/mod_noise/noise.cpp:303
 msgid "Uses transparency"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:297
+#: src/modules/mod_noise/noise.cpp:306
 msgid "Super Sampling"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:298
+#: src/modules/mod_noise/noise.cpp:307
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:264
+#: src/modules/mod_noise/valuenode_random.cpp:265
 #: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
 #: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
 #: src/synfig/valuenode_reciprocal.cpp:165
@@ -1855,103 +1879,103 @@ msgstr ""
 msgid "Link"
 msgstr "Связь"
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:270
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:274
-#: src/modules/mod_particle/plant.cpp:450
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr "Зерно"
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:276
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:279
+#: src/modules/mod_noise/valuenode_random.cpp:280
 msgid "Speed"
 msgstr "Скорость"
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:281
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:286
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:288
 msgid "No interpolation"
 msgstr "Без интерполяции"
 
-#: src/modules/mod_noise/valuenode_random.cpp:296
+#: src/modules/mod_noise/valuenode_random.cpp:297
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:298
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:69
+#: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
 msgstr "Растение"
 
-#: src/modules/mod_particle/plant.cpp:404
+#: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
 msgstr "Градиент для раскрашивания растения"
 
-#: src/modules/mod_particle/plant.cpp:408
+#: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
 msgstr "Угол разделения"
 
-#: src/modules/mod_particle/plant.cpp:409
+#: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:413
+#: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
 msgstr "Сила тяжести"
 
-#: src/modules/mod_particle/plant.cpp:414
+#: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
 msgstr "Направление, в котором тянутся побеги"
 
-#: src/modules/mod_particle/plant.cpp:419
+#: src/modules/mod_particle/plant.cpp:452
 msgid "Tangential Velocity"
 msgstr "Скорость по касательной"
 
-#: src/modules/mod_particle/plant.cpp:420
+#: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:424
+#: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
 msgstr "Скорость по перпендикуляру"
 
-#: src/modules/mod_particle/plant.cpp:425
+#: src/modules/mod_particle/plant.cpp:458
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:429
+#: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
 msgstr "Толщина"
 
-#: src/modules/mod_particle/plant.cpp:430
+#: src/modules/mod_particle/plant.cpp:463
 msgid "Size of the stem"
 msgstr "Толщина стебеля"
 
-#: src/modules/mod_particle/plant.cpp:435
+#: src/modules/mod_particle/plant.cpp:468
 msgid "Size As Alpha"
 msgstr "Толщина × альфа"
 
-#: src/modules/mod_particle/plant.cpp:436
+#: src/modules/mod_particle/plant.cpp:469
 msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
@@ -1959,65 +1983,65 @@ msgstr ""
 "Если включено, альфа-канал градиента умножается на толщину побега, и при "
 "отрисовке используется альфа-канал 1.0"
 
-#: src/modules/mod_particle/plant.cpp:440
+#: src/modules/mod_particle/plant.cpp:473
 msgid "Reverse"
 msgstr "Развернуть"
 
-#: src/modules/mod_particle/plant.cpp:441
+#: src/modules/mod_particle/plant.cpp:474
 msgid "If enabled, render the plant in the opposite direction"
 msgstr "Если включено, то растение визуализируется в обратном направлении."
 
-#: src/modules/mod_particle/plant.cpp:445 src/synfig/valuenode.cpp:170
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
 #: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
 msgid "Step"
 msgstr "Шаг"
 
-#: src/modules/mod_particle/plant.cpp:446
+#: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
 msgstr "Единица измерения расстояния между точками при визуализации"
 
-#: src/modules/mod_particle/plant.cpp:451
+#: src/modules/mod_particle/plant.cpp:484
 msgid "Used to seed the pseudo-random number generator"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:455
+#: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
 msgstr "Делений"
 
-#: src/modules/mod_particle/plant.cpp:456
+#: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
 msgstr "Максимальное число раз рекурсивного создания побегов"
 
-#: src/modules/mod_particle/plant.cpp:460
+#: src/modules/mod_particle/plant.cpp:493
 msgid "Sprouts"
 msgstr "Побегов"
 
-#: src/modules/mod_particle/plant.cpp:461
+#: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:465
+#: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
 msgstr "Фактор случайности"
 
-#: src/modules/mod_particle/plant.cpp:466
+#: src/modules/mod_particle/plant.cpp:499
 msgid ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:470
+#: src/modules/mod_particle/plant.cpp:503
 msgid "Drag"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:471
+#: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:475
+#: src/modules/mod_particle/plant.cpp:508
 msgid "Use Width"
 msgstr "Использовать ширину"
 
-#: src/modules/mod_particle/plant.cpp:476
+#: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
@@ -2026,97 +2050,102 @@ msgstr ""
 msgid "%s was not in PPM format"
 msgstr "%s был не в формате PPM"
 
-#: src/synfig/cairoimporter.cpp:87 src/synfig/importer.cpp:87
+#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
 msgid "Importer::open(): Cannot open empty filename"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:101 src/synfig/importer.cpp:101
+#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
 msgid "Importer::open(): Couldn't find extension"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:112 src/synfig/importer.cpp:112
+#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
 msgid "Importer::open(): Unknown file type -- "
 msgstr ""
 
-#: src/synfig/canvas.cpp:798 src/synfig/canvas.cpp:863
-#: src/synfig/canvas.cpp:886
+#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
+#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+msgid "No images in list"
+msgstr "Нет изображений в списке"
+
+#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
+#: src/synfig/canvas.cpp:927
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:249
+#: src/synfig/distance.cpp:251
 msgid "Units"
 msgstr "Единицы измерения"
 
-#: src/synfig/distance.cpp:250
+#: src/synfig/distance.cpp:252
 msgid "Pixels"
 msgstr "Пикселы"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:254
 msgid "Inches"
 msgstr "Дюймы"
 
-#: src/synfig/distance.cpp:253
+#: src/synfig/distance.cpp:255
 msgid "Meters"
 msgstr "Метры"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:256
 msgid "Millimeters"
 msgstr "Миллиметры"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:257
 msgid "Centimeters"
 msgstr "Сантиметры"
 
-#: src/synfig/layer.cpp:565 src/synfig/layer_composite.cpp:128
+#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:619
+#: src/synfig/layer.cpp:605
 msgid "Z Depth"
 msgstr "Глубина на оси Z"
 
-#: src/synfig/layer.cpp:621
+#: src/synfig/layer.cpp:607
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:159
+#: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
 msgstr "Левый верхний угол"
 
-#: src/synfig/layer_bitmap.cpp:160
+#: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
 msgstr "Левый верхний угол изображения"
 
-#: src/synfig/layer_bitmap.cpp:164
+#: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
 msgstr "Правый нижний угол"
 
-#: src/synfig/layer_bitmap.cpp:165
+#: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
 msgstr "Правый нижний угол изображения"
 
-#: src/synfig/layer_composite.cpp:218
+#: src/synfig/layer_composite.cpp:250
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:221 src/synfig/paramdesc.cpp:62
+#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr "Режим смешивания"
 
-#: src/synfig/layer_composite.cpp:222
+#: src/synfig/layer_composite.cpp:254
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:168
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
 #: src/synfig/valuenode_duplicate.cpp:174
 msgid "Duplicate"
 msgstr "Дубликат"
 
-#: src/synfig/layer_duplicate.cpp:148
+#: src/synfig/layer_duplicate.cpp:151
 msgid "Index"
 msgstr "Индекс"
 
-#: src/synfig/layer_duplicate.cpp:149
+#: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
 msgstr ""
 
@@ -2128,156 +2157,156 @@ msgstr ""
 msgid "Motion Blur"
 msgstr "Размывание движением"
 
-#: src/synfig/layer_motionblur.cpp:136
+#: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
 msgstr "Апертура"
 
-#: src/synfig/layer_motionblur.cpp:137
+#: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
 msgstr "Выдержка"
 
-#: src/synfig/layer_motionblur.cpp:141
+#: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:142
+#: src/synfig/layer_motionblur.cpp:141
 msgid "Multiplies The Number Of Subsamples Rendered"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:146
+#: src/synfig/layer_motionblur.cpp:145
 msgid "Subsampling Type"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:147
+#: src/synfig/layer_motionblur.cpp:146
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:149 src/synfig/valuenode_const.cpp:127
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
 msgid "Constant"
 msgstr "Константа"
 
-#: src/synfig/layer_motionblur.cpp:151
+#: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:155
+#: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:156
+#: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:160
+#: src/synfig/layer_motionblur.cpp:159
 msgid "Subsample End Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:161
+#: src/synfig/layer_motionblur.cpp:160
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:78 src/synfig/layer_pastecanvas.cpp:120
-#: src/synfig/layer_pastecanvas.cpp:121
+#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
+#: src/synfig/layer_pastecanvas.cpp:124
 msgid "Group"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:137
+#: src/synfig/layer_pastecanvas.cpp:140
 msgid "Canvas"
 msgstr "Холст"
 
-#: src/synfig/layer_pastecanvas.cpp:138
+#: src/synfig/layer_pastecanvas.cpp:141
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:144
 msgid "Zoom"
 msgstr "Масштабирование"
 
-#: src/synfig/layer_pastecanvas.cpp:142
+#: src/synfig/layer_pastecanvas.cpp:145
 msgid "Size of canvas"
 msgstr "Размер холста"
 
-#: src/synfig/layer_pastecanvas.cpp:147
+#: src/synfig/layer_pastecanvas.cpp:152
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:151
+#: src/synfig/layer_pastecanvas.cpp:156
 msgid "Children Lock"
 msgstr "Запереть потомков"
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:157
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
+#: src/synfig/layer_pastecanvas.cpp:162
 msgid "Focus Point"
 msgstr "Точка фокусировки"
 
-#: src/synfig/layer_pastecanvas.cpp:159
+#: src/synfig/layer_pastecanvas.cpp:165
 msgid "Point to remain fixed when zooming"
 msgstr "Центр масштабирования"
 
-#: src/synfig/layer_pastecanvas.cpp:164
+#: src/synfig/layer_pastecanvas.cpp:170
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:165
+#: src/synfig/layer_pastecanvas.cpp:171
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:180
+#: src/synfig/layer_pastecanvas.cpp:186
 msgid "Current Time"
 msgstr "Текущее время"
 
-#: src/synfig/layer_polygon.cpp:61
+#: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
 msgstr "Многоугольник"
 
-#: src/synfig/layer_polygon.cpp:187
+#: src/synfig/layer_polygon.cpp:194
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:188
+#: src/synfig/layer_polygon.cpp:195
 msgid "Define the corners of the polygon"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:64
+#: src/synfig/layer_shape.cpp:66
 msgid "Shape"
 msgstr "Фигура"
 
-#: src/synfig/layer_shape.cpp:65
+#: src/synfig/layer_shape.cpp:67
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1194
+#: src/synfig/layer_shape.cpp:1222
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1203
+#: src/synfig/layer_shape.cpp:1231
 msgid "Antialiasing"
 msgstr "Сглаживание"
 
-#: src/synfig/layer_shape.cpp:1210
+#: src/synfig/layer_shape.cpp:1238
 msgid "Type of Feather"
 msgstr "Тип растушевки"
 
-#: src/synfig/layer_shape.cpp:1211
+#: src/synfig/layer_shape.cpp:1239
 msgid "Type of feathering to use"
 msgstr "Используемый тип растушевки"
 
-#: src/synfig/layer_shape.cpp:1220
+#: src/synfig/layer_shape.cpp:1248
 msgid "Winding Style"
 msgstr "Обработка взаимопересечений"
 
-#: src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_shape.cpp:1249
 msgid "Winding style to use"
 msgstr "Применяемая обработка взаимопересечений"
 
-#: src/synfig/layer_shape.cpp:1223
+#: src/synfig/layer_shape.cpp:1251
 msgid "Non Zero"
 msgstr "Ненулевые"
 
-#: src/synfig/layer_shape.cpp:1224
+#: src/synfig/layer_shape.cpp:1252
 msgid "Even/Odd"
 msgstr "Чёт/Нечет"
 
@@ -2285,407 +2314,407 @@ msgstr "Чёт/Нечет"
 msgid "Solid Color"
 msgstr "Сплошная заливка"
 
-#: src/synfig/listimporter.cpp:161 src/synfig/listimporter.cpp:162
-msgid "No images in list"
-msgstr "Нет изображений в списке"
-
-#: src/synfig/loadcanvas.cpp:142
+#: src/synfig/loadcanvas.cpp:143
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:185
+#: src/synfig/loadcanvas.cpp:186
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:191
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:205
+#: src/synfig/loadcanvas.cpp:206
 msgid "Too many warnings"
 msgstr "Слишком много предупреждений"
 
-#: src/synfig/loadcanvas.cpp:236
+#: src/synfig/loadcanvas.cpp:237
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:469
-#: src/synfig/loadcanvas.cpp:1118
+#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
+#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:473
-#: src/synfig/loadcanvas.cpp:1122
+#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
+#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:484 src/synfig/loadcanvas.cpp:1144
+#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
+#: src/synfig/loadcanvas.cpp:1200
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr "Некорректное значение \"%s\" в <%s>"
 
-#: src/synfig/loadcanvas.cpp:508
+#: src/synfig/loadcanvas.cpp:533
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1284
+#: src/synfig/loadcanvas.cpp:1353
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1301
+#: src/synfig/loadcanvas.cpp:1375
 msgid "<waypoint> is missing attribute \"time\""
 msgstr "У <waypoint> отсутствует атрибут \"time\""
 
-#: src/synfig/loadcanvas.cpp:1314
+#: src/synfig/loadcanvas.cpp:1388
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 "У <waypoint> найден заполненный атрибут \"use\". Содержимое игнорируется..."
 
-#: src/synfig/loadcanvas.cpp:1330
+#: src/synfig/loadcanvas.cpp:1404
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1336 src/synfig/loadcanvas.cpp:1348
+#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
 #, c-format
 msgid "<%s> is missing its data"
 msgstr "В <%s> отсутствуют данные"
 
-#: src/synfig/loadcanvas.cpp:1365
+#: src/synfig/loadcanvas.cpp:1439
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1380
+#: src/synfig/loadcanvas.cpp:1455
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1424 src/synfig/loadcanvas.cpp:1443
-#, c-format
-msgid "\"%s\" not a valid value for attribute \"%s\" in <%s>"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:1504
+#: src/synfig/loadcanvas.cpp:1556
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1512
+#: src/synfig/loadcanvas.cpp:1565
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1522
+#: src/synfig/loadcanvas.cpp:1577
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1531
+#: src/synfig/loadcanvas.cpp:1587
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1557 src/synfig/loadcanvas.cpp:1628
+#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr "'%s' уже определено в <%s>"
 
-#: src/synfig/loadcanvas.cpp:1570
+#: src/synfig/loadcanvas.cpp:1625
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1579
+#: src/synfig/loadcanvas.cpp:1634
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1603
+#: src/synfig/loadcanvas.cpp:1658
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1643
+#: src/synfig/loadcanvas.cpp:1698
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr "у элемента <%s> нет содержимого"
 
-#: src/synfig/loadcanvas.cpp:1652
+#: src/synfig/loadcanvas.cpp:1707
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr "Разбор '%s' завершился неудачей"
 
-#: src/synfig/loadcanvas.cpp:1659
+#: src/synfig/loadcanvas.cpp:1714
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1677
+#: src/synfig/loadcanvas.cpp:1732
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1747
+#: src/synfig/loadcanvas.cpp:1811
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1841
-msgid "Unable to create <dynamic_list>"
+#: src/synfig/loadcanvas.cpp:1861
+msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1993
+#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2038
+#: src/synfig/loadcanvas.cpp:1998
+msgid "Unable to create <dynamic_list>"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2220
 #, c-format
 msgid "Bad data in <%s>"
 msgstr "Некорректные данные в <%s>"
 
-#: src/synfig/loadcanvas.cpp:2076
+#: src/synfig/loadcanvas.cpp:2283
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2097
+#: src/synfig/loadcanvas.cpp:2304
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr "Некорректный ID \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2102
+#: src/synfig/loadcanvas.cpp:2310
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2107
+#: src/synfig/loadcanvas.cpp:2316
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2142
+#: src/synfig/loadcanvas.cpp:2373
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2161
+#: src/synfig/loadcanvas.cpp:2392
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2181
+#: src/synfig/loadcanvas.cpp:2415
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2184
+#: src/synfig/loadcanvas.cpp:2418
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2192
+#: src/synfig/loadcanvas.cpp:2426
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2209
+#: src/synfig/loadcanvas.cpp:2443
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2214
+#: src/synfig/loadcanvas.cpp:2448
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2454
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2222
+#: src/synfig/loadcanvas.cpp:2456
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2244
+#: src/synfig/loadcanvas.cpp:2480
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2260
+#: src/synfig/loadcanvas.cpp:2496
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2272 src/synfig/loadcanvas.cpp:2292
+#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2280
+#: src/synfig/loadcanvas.cpp:2516
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2303
+#: src/synfig/loadcanvas.cpp:2539
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2376 src/synfig/loadcanvas.cpp:2384
+#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2470
+#: src/synfig/loadcanvas.cpp:2710
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2478
+#: src/synfig/loadcanvas.cpp:2717
+msgid "Inline canvas cannot have a <bones> section"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2725
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2490
+#: src/synfig/loadcanvas.cpp:2737
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2498
+#: src/synfig/loadcanvas.cpp:2745
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2504
+#: src/synfig/loadcanvas.cpp:2751
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:2763
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2531
+#: src/synfig/loadcanvas.cpp:2778
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2546
+#: src/synfig/loadcanvas.cpp:2793
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2578
+#: src/synfig/loadcanvas.cpp:2828
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580 src/synfig/valuenode.cpp:353
+#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580
+#: src/synfig/loadcanvas.cpp:2830
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2660 src/synfig/loadcanvas.cpp:2716
+#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
 msgid "Can't open file"
 msgstr "Не удалось открыть файл"
 
-#: src/synfig/main.cpp:102
+#: src/synfig/main.cpp:118
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:107
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:112
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:117
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:122
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:184
+#: src/synfig/main.cpp:207
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:186
+#: src/synfig/main.cpp:209
 msgid "Unable to initialize subsystem \"Module\""
 msgstr ""
 
-#: src/synfig/main.cpp:188
+#: src/synfig/main.cpp:211
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:192
+#: src/synfig/main.cpp:215
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:195
+#: src/synfig/main.cpp:218
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:200
+#: src/synfig/main.cpp:223
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:203
+#: src/synfig/main.cpp:226
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
+#: src/synfig/main.cpp:232
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:212
+#: src/synfig/main.cpp:235
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:219
+#: src/synfig/main.cpp:242
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:222
+#: src/synfig/main.cpp:245
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:230
+#: src/synfig/main.cpp:253
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:267 src/synfig/main.cpp:268
+#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:279
+#: src/synfig/main.cpp:302
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr "Не удалось открыть файл списка модулей \"%s\""
 
-#: src/synfig/main.cpp:293 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
 msgid "DONE"
 msgstr "ГОТОВО"
 
-#: src/synfig/main.cpp:360 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
 msgid "error"
 msgstr "ошибка"
 
-#: src/synfig/main.cpp:375 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:390
+#: src/synfig/main.cpp:413
 msgid "info"
 msgstr ""
 
@@ -2760,145 +2789,145 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:64 src/synfig/valuenode.cpp:140
-#: src/synfig/valuenode_composite.cpp:437
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
+#: src/synfig/valuenode_composite.cpp:447
 msgid "Composite"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:65
+#: src/synfig/paramdesc.cpp:69
 msgid "Straight"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:66
+#: src/synfig/paramdesc.cpp:70
 msgid "Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:67
+#: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68
+#: src/synfig/paramdesc.cpp:72
 msgid "Behind"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:69
+#: src/synfig/paramdesc.cpp:73
 msgid "Screen"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:70
+#: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:71
+#: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:72
+#: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:73
+#: src/synfig/paramdesc.cpp:77
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:74 src/synfig/valuenode.cpp:157
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
 #: src/synfig/valuenode_add.cpp:190
 msgid "Add"
 msgstr "Сумма"
 
-#: src/synfig/paramdesc.cpp:75 src/synfig/valuenode.cpp:147
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
 #: src/synfig/valuenode_subtract.cpp:194
 msgid "Subtract"
 msgstr "Вычитание"
 
-#: src/synfig/paramdesc.cpp:76
+#: src/synfig/paramdesc.cpp:80
 msgid "Difference"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:77
+#: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78
+#: src/synfig/paramdesc.cpp:82
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:80 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
 msgid "Hue"
 msgstr "Тон"
 
-#: src/synfig/paramdesc.cpp:81 src/synfig/valuenode_radialcomposite.cpp:260
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
 #: src/synfig/valuenode_radialcomposite.cpp:266
 msgid "Saturation"
 msgstr "Насыщенность"
 
-#: src/synfig/paramdesc.cpp:82
+#: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:83
+#: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84
+#: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85
+#: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
 msgstr ""
 
-#: src/synfig/render.cpp:246 src/synfig/render.cpp:247
-#: src/synfig/render.cpp:301 src/synfig/render.cpp:302
-#: src/synfig/render.cpp:536 src/synfig/render.cpp:537
-#: src/synfig/render.cpp:563 src/synfig/render.cpp:564
+#: src/synfig/render.cpp:248 src/synfig/render.cpp:249
+#: src/synfig/render.cpp:303 src/synfig/render.cpp:304
+#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
+#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:290
+#: src/synfig/savecanvas.cpp:359
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:543
+#: src/synfig/savecanvas.cpp:674 src/synfig/savecanvas.cpp:699
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:185
+#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
 #: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:281
 msgid "Target initialization failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:146
+#: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:155 src/synfig/target_scanline.cpp:258
-#: src/synfig/target_scanline.cpp:405
+#: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:260
+#: src/synfig/target_scanline.cpp:407
 msgid "Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:162
+#: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:169 src/synfig/target_cairo_tile.cpp:248
-#: src/synfig/target_scanline.cpp:418 src/synfig/target_tile.cpp:396
+#: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
+#: src/synfig/target_scanline.cpp:420 src/synfig/target_tile.cpp:398
 msgid "Caught string :"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:174 src/synfig/target_cairo_tile.cpp:253
-#: src/synfig/target_scanline.cpp:423 src/synfig/target_tile.cpp:401
+#: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
+#: src/synfig/target_scanline.cpp:425 src/synfig/target_tile.cpp:403
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:179 src/synfig/target_cairo_tile.cpp:258
-#: src/synfig/target_scanline.cpp:428 src/synfig/target_tile.cpp:406
+#: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
+#: src/synfig/target_scanline.cpp:430 src/synfig/target_tile.cpp:408
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:190
+#: src/synfig/target_cairo.cpp:201
 msgid "Cairo Surface bad status"
 msgstr ""
 
@@ -2906,24 +2935,24 @@ msgstr ""
 msgid "Bad Tile Size"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:142 src/synfig/target_cairo_tile.cpp:240
-#: src/synfig/target_scanline.cpp:203 src/synfig/target_scanline.cpp:249
-#: src/synfig/target_scanline.cpp:348 src/synfig/target_scanline.cpp:396
+#: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
+#: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:251
+#: src/synfig/target_scanline.cpp:350 src/synfig/target_scanline.cpp:398
 #: src/synfig/target_tile.cpp:225
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:150
+#: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:156 src/synfig/target_tile.cpp:179
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:179
 #: src/synfig/target_tile.cpp:245
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:211
+#: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
 msgstr ""
 
@@ -2947,277 +2976,317 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:276 src/synfig/value.cpp:308 src/synfig/value.cpp:360
+#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
 msgid "bool"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:277 src/synfig/value.cpp:310 src/synfig/value.cpp:358
+#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
 msgid "integer"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:278 src/synfig/value.cpp:312
+#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
 msgid "angle"
 msgstr "угол"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:279 src/synfig/value.cpp:314 src/synfig/value.cpp:352
+#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
 msgid "time"
 msgstr "время"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:280 src/synfig/value.cpp:316 src/synfig/value.cpp:355
+#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
 msgid "real"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:281 src/synfig/value.cpp:318
+#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
 msgid "vector"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:282 src/synfig/value.cpp:320
+#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
 msgid "color"
 msgstr "цвет"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:283 src/synfig/value.cpp:322
+#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
 msgid "segment"
 msgstr "сегмент"
 
-#: src/synfig/value.cpp:284
+#: src/synfig/value.cpp:378
 msgid "bline_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:285 src/synfig/value.cpp:326
+#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
+msgid "matrix"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
+msgid "bone_weight_pair"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
 msgid "width_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:286 src/synfig/value.cpp:328
+#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
 msgid "dash_item"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:287 src/synfig/value.cpp:330
+#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
 msgid "list"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:288 src/synfig/value.cpp:332
+#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
 msgid "canvas"
 msgstr "холст"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:289 src/synfig/value.cpp:334
+#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
 msgid "string"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:290 src/synfig/value.cpp:336
+#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
 msgid "gradient"
 msgstr "градиент"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:291 src/synfig/value.cpp:338
+#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
+msgid "bone_object"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
+msgid "bone_valuenode"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
 msgid "nil"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:324
+#: src/synfig/value.cpp:422
 msgid "spline_point"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:141 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:142 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:144 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr "Вершина сегмента"
 
-#: src/synfig/valuenode.cpp:146 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_dynamiclist.cpp:755
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
 msgid "Dynamic List"
 msgstr "динамический список"
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr "Синус"
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr "Экспонента"
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
 msgid "Range"
 msgstr "Диапазон"
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
 #: src/synfig/valuenode_switch.cpp:163
 msgid "Switch"
 msgstr "Переключатель"
 
-#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr "Косинус"
 
-#: src/synfig/valuenode.cpp:164
+#: src/synfig/valuenode.cpp:170
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165
+#: src/synfig/valuenode.cpp:171
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr "Обратное значение"
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
 msgid "Integer"
 msgstr "Целое"
 
-#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
 msgid "Vector Angle"
 msgstr "Угол вектора"
 
-#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
 msgid "Vector Length"
 msgstr "Длина вектора"
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:176 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177
+#: src/synfig/valuenode.cpp:183
 msgid "Gradient Color"
 msgstr "Цвет градиента"
 
-#: src/synfig/valuenode.cpp:178
+#: src/synfig/valuenode.cpp:184
 msgid "Dot Product"
 msgstr "Скалярное произведение"
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_real.cpp:161
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
 #: src/synfig/valuenode_realstring.cpp:175
 msgid "Real"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
 msgid "Joined List"
 msgstr "Объединённый список"
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:189
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:190
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185
+#: src/synfig/valuenode.cpp:191
 msgid "Logarithm"
 msgstr "Логарифм"
 
-#: src/synfig/valuenode.cpp:187
+#: src/synfig/valuenode.cpp:192
 msgid "Greyed"
 msgstr "Заблокированный"
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr "Степень"
 
-#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195
 msgid "Not"
 msgstr "НЕ"
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196
 msgid "And"
 msgstr "И"
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197
 msgid "Or"
 msgstr "ИЛИ"
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:199
+msgid "Bone Influence"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:200
+msgid "Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:201
+msgid "Root Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:202
+msgid "Static List"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:203
+msgid "Bone Weight Pair"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:206
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:233
+#: src/synfig/valuenode.cpp:241
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:513
+#: src/synfig/valuenode.cpp:540
 msgid "Placeholder"
 msgstr "Заглушка"
 
-#: src/synfig/valuenode.h:61
+#: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
@@ -3284,32 +3353,32 @@ msgstr "Связь 2"
 msgid "Second operand of the AND operation"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:355 src/synfig/valuenode_animated.cpp:379
-#: src/synfig/valuenode_animated.cpp:703 src/synfig/valuenode_animated.cpp:721
-#: src/synfig/valuenode_animated.cpp:801 src/synfig/valuenode_animated.cpp:820
+#: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
+#: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
+#: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1134
+#: src/synfig/valuenode_animated.cpp:1173
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1169
+#: src/synfig/valuenode_animated.cpp:1208
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:977 src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
 #: src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in list"
 msgstr "Нет записей в списке"
 
-#: src/synfig/valuenode_bline.cpp:980 src/synfig/valuenode_dynamiclist.cpp:664
+#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
 #: src/synfig/valuenode_wplist.cpp:339
 msgid "No entries in ret_list"
 msgstr "Нет записей в ret_list"
 
-#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_bline.cpp:1023
+#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
 #, c-format
 msgid "Vertex %03d"
 msgstr "Вершина %03d"
@@ -3329,7 +3398,7 @@ msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:584
 #: src/synfig/valuenode_gradientrotate.cpp:169
 #: src/synfig/valuenode_linear.cpp:213
 msgid "Offset"
@@ -3383,190 +3452,186 @@ msgstr ""
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:219
+#: src/synfig/valuenode_composite.cpp:229
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:464
+#: src/synfig/valuenode_composite.cpp:474
 msgid "Red"
 msgstr "Красный"
 
-#: src/synfig/valuenode_composite.cpp:465
+#: src/synfig/valuenode_composite.cpp:475
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:468
+#: src/synfig/valuenode_composite.cpp:478
 msgid "Green"
 msgstr "Зеленый"
 
-#: src/synfig/valuenode_composite.cpp:469
+#: src/synfig/valuenode_composite.cpp:479
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:472
+#: src/synfig/valuenode_composite.cpp:482
 msgid "Blue"
 msgstr "Синий"
 
-#: src/synfig/valuenode_composite.cpp:473
+#: src/synfig/valuenode_composite.cpp:483
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:476
+#: src/synfig/valuenode_composite.cpp:486
 msgid "Alpha"
 msgstr "Прозрачность"
 
-#: src/synfig/valuenode_composite.cpp:477
+#: src/synfig/valuenode_composite.cpp:487
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:492
 msgid "Vertex 1"
 msgstr "Вершина 1"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:493
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
-#: src/synfig/valuenode_composite.cpp:526
+#: src/synfig/valuenode_composite.cpp:496
+#: src/synfig/valuenode_composite.cpp:536
 msgid "Tangent 1"
 msgstr "Касательная 1"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:497
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:490
+#: src/synfig/valuenode_composite.cpp:500
 msgid "Vertex 2"
 msgstr "Вершина 2"
 
-#: src/synfig/valuenode_composite.cpp:491
+#: src/synfig/valuenode_composite.cpp:501
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:494
-#: src/synfig/valuenode_composite.cpp:530
+#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:540
 msgid "Tangent 2"
 msgstr "Касательная 2"
 
-#: src/synfig/valuenode_composite.cpp:495
+#: src/synfig/valuenode_composite.cpp:505
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:510
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:511
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:514
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:515
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:520
 msgid "Vertex"
 msgstr "Вершина"
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:521
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:525
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:519
+#: src/synfig/valuenode_composite.cpp:529
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:522
+#: src/synfig/valuenode_composite.cpp:532
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:523
+#: src/synfig/valuenode_composite.cpp:533
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:527
+#: src/synfig/valuenode_composite.cpp:537
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:531
+#: src/synfig/valuenode_composite.cpp:541
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:547
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:551
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:544
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_composite.cpp:554
+#: src/synfig/valuenode_composite.cpp:594
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:545
 #: src/synfig/valuenode_composite.cpp:555
+#: src/synfig/valuenode_composite.cpp:565
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
 #: src/synfig/valuenode_composite.cpp:557
+#: src/synfig/valuenode_composite.cpp:567
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:593
+#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:603
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:574
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:575
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:578
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:579
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:585
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:589
 #: src/synfig/valuenode_timedswap.cpp:260
 msgid "Length"
 msgstr "Длина"
 
-#: src/synfig/valuenode_composite.cpp:580
+#: src/synfig/valuenode_composite.cpp:590
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:595
+#: src/synfig/valuenode_composite.cpp:604
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_const.cpp:127
-msgid "Static"
-msgstr ""
-
 #: src/synfig/valuenode_compare.cpp:168
 msgid "The left side of the comparison"
 msgstr ""
@@ -3631,12 +3696,12 @@ msgstr ""
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:655
+#: src/synfig/valuenode_dynamiclist.cpp:661
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:703
-#: src/synfig/valuenode_dynamiclist.cpp:957
+#: src/synfig/valuenode_dynamiclist.cpp:709
+#: src/synfig/valuenode_dynamiclist.cpp:964
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3960,7 +4025,7 @@ msgid "Intersection"
 msgstr "Пересечение"
 
 #: src/synfig/valuenode_step.cpp:213
-msgid "Value that define whether the step is centerd on the value [0,1]"
+msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
@@ -4093,195 +4158,195 @@ msgstr ""
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:133
+#: src/tool/main.cpp:140
 msgid "FATAL: Synfig Version Mismatch"
 msgstr "Фатальная ошибка: несовпадение версий Synfig"
 
-#: src/tool/main.cpp:169
+#: src/tool/main.cpp:176
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:171
+#: src/tool/main.cpp:178
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:172
+#: src/tool/main.cpp:179
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:173
+#: src/tool/main.cpp:180
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:174
+#: src/tool/main.cpp:181
 msgid "Set the diagonal size of image window (Span)"
 msgstr "Задать размер окна изображения по диагонали"
 
-#: src/tool/main.cpp:175
+#: src/tool/main.cpp:182
 msgid "Set antialias amount for parametric renderer."
 msgstr "Задать силу сглаживания для параметрического отрисовщика"
 
-#: src/tool/main.cpp:176
+#: src/tool/main.cpp:183
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:184
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:178
+#: src/tool/main.cpp:185
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:186
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:187
 msgid "Specify output filename"
 msgstr "Указать имя выводимого файла"
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:188
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:189
 msgid "Render the canvas with the given id instead of the root."
 msgstr "Отрисовать холст с указанным ID вместо корневого холста"
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:190
 msgid "Set the frame rate"
 msgstr "Задать частоту кадров в секунду"
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:191
 msgid "Render a single frame at <seconds>"
 msgstr "Отрисовать один кадр за это количество секунд"
 
-#: src/tool/main.cpp:185 src/tool/main.cpp:186
+#: src/tool/main.cpp:192 src/tool/main.cpp:193
 msgid "Set the starting time"
 msgstr "Задать время начала"
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:194
 msgid "Set the ending time"
 msgstr "Задать время конца"
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:195
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:196
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:197
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:193
+#: src/tool/main.cpp:200
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:202
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:203
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr "Использовать менее подробный вывод (без отчёта о прогрессе)"
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:204
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:200
+#: src/tool/main.cpp:207
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:202
+#: src/tool/main.cpp:209
 msgid "Append layers in <filename> to composition"
 msgstr "Добавить слои из <filename> в композицию"
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:210
 msgid "Print out specified details of the root canvas"
 msgstr "Вывести указанные данные о корневом холсте"
 
-#: src/tool/main.cpp:204 src/tool/main.cpp:230
+#: src/tool/main.cpp:211 src/tool/main.cpp:237
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:207
+#: src/tool/main.cpp:214
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:216
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:210
+#: src/tool/main.cpp:217
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:213
+#: src/tool/main.cpp:220
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:215
+#: src/tool/main.cpp:222
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:223
 msgid "Print out the list of available importers"
 msgstr "Вывести список доступных фильтров импорта"
 
-#: src/tool/main.cpp:217
+#: src/tool/main.cpp:224
 msgid "Print out misc build information"
 msgstr "Вывести информацию о сборке"
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:225
 msgid "Print out the list of available layers"
 msgstr "Вывести список доступных слоёв"
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:226
 msgid "Print out layer's description, parameter info, etc."
 msgstr "Вывести описание слоя, данные о параметрах и т.д."
 
-#: src/tool/main.cpp:220
+#: src/tool/main.cpp:227
 msgid "Print out license information"
 msgstr "Вывести информацию о лицензии"
 
-#: src/tool/main.cpp:221
+#: src/tool/main.cpp:228
 msgid "Print out the list of loaded modules"
 msgstr "Вывести список загруженных модулей"
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:229
 msgid "Print out the list of available targets"
 msgstr "Вывести список доступных целей"
 
-#: src/tool/main.cpp:223
+#: src/tool/main.cpp:230
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:231
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:232
 msgid "Print out version information"
 msgstr "Вывести информацию о версии"
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:241
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:236
+#: src/tool/main.cpp:243
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:237
+#: src/tool/main.cpp:244
 msgid "Test signal implementation"
 msgstr ""
 
@@ -4345,157 +4410,157 @@ msgstr ""
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:113
+#: src/tool/optionsprocessor.cpp:114
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:115
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:131
+#: src/tool/optionsprocessor.cpp:132
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:146
+#: src/tool/optionsprocessor.cpp:147
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:224
+#: src/tool/optionsprocessor.cpp:225
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:226
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:227
+#: src/tool/optionsprocessor.cpp:228
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:232
+#: src/tool/optionsprocessor.cpp:233
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:234
+#: src/tool/optionsprocessor.cpp:235
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:236
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:239
+#: src/tool/optionsprocessor.cpp:240
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:243
+#: src/tool/optionsprocessor.cpp:244
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:309
+#: src/tool/optionsprocessor.cpp:310
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:316
+#: src/tool/optionsprocessor.cpp:317
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:324
+#: src/tool/optionsprocessor.cpp:325
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:334
+#: src/tool/optionsprocessor.cpp:335
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:343
+#: src/tool/optionsprocessor.cpp:344
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:352
+#: src/tool/optionsprocessor.cpp:353
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:379
+#: src/tool/optionsprocessor.cpp:380
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:385
+#: src/tool/optionsprocessor.cpp:386
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:400
+#: src/tool/optionsprocessor.cpp:401
 #, c-format
 msgid "Resolution set to %dx%d"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:417
+#: src/tool/optionsprocessor.cpp:418
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:437
+#: src/tool/optionsprocessor.cpp:438
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:440
+#: src/tool/optionsprocessor.cpp:441
 #, c-format
 msgid "Target video codec set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:446
+#: src/tool/optionsprocessor.cpp:447
 #, c-format
 msgid "Target bitrate set to %dk"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:452
+#: src/tool/optionsprocessor.cpp:453
 #, c-format
 msgid "Output file sequence separator set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:487
+#: src/tool/optionsprocessor.cpp:488
 #, c-format
 msgid "Unable to load '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:494
+#: src/tool/optionsprocessor.cpp:495
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:499
+#: src/tool/optionsprocessor.cpp:500
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:513
+#: src/tool/optionsprocessor.cpp:514
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:532
+#: src/tool/optionsprocessor.cpp:533
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:539
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:557
+#: src/tool/optionsprocessor.cpp:558
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:571
+#: src/tool/optionsprocessor.cpp:572
 msgid "Appended contents of "
 msgstr ""
 
diff --git a/po/si.gmo b/po/si.gmo
new file mode 100644
index 0000000..9392432
Binary files /dev/null and b/po/si.gmo differ
diff --git a/po/el_GR.po b/po/si.po
similarity index 68%
copy from po/el_GR.po
copy to po/si.po
index c7d51db..3ec731a 100644
--- a/po/el_GR.po
+++ b/po/si.po
@@ -1,98 +1,98 @@
-# translation of es.po to Greek
-# Greek translations for Synfig Core package
-# Copyright (C) 2012 Synfig Contributors
-# This file is distributed under the same license as
+# Translation file for Synfig Core package.
+# Copyright (C) 2013 Synfig Contributors
+# This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
-# Γιάννης Κασκαμανίδης <kiolalis at gmail.com>, 2011
-# Γιάννης Κασκαμανίδης <kiolalis at gmail.com>, 2011, 2012
+# mahesha <mpolkotuwa at gmail.com>, 2013
+# mahesha <mpolkotuwa at gmail.com>, 2013
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2013-05-09 18:34+0200\n"
-"PO-Revision-Date: 2013-05-02 12:39+0000\n"
-"Last-Translator: genete <genetita at gmail.com>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
-"Language: el_GR\n"
+"POT-Creation-Date: 2013-10-25 17:57+0700\n"
+"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
+"Language-Team: Sinhala (http://www.transifex.com/projects/p/synfig/language/"
+"si/)\n"
+"Language: si\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:58
+#: src/modules/mod_example/filledrect.cpp:59
 msgid "Filled Rectangle"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:59
+#: src/modules/mod_example/filledrect.cpp:60
 #: src/modules/mod_example/metaballs.cpp:58
 #: src/modules/mod_example/simplecircle.cpp:58
 msgid "Example"
-msgstr "Παράδειγμα"
+msgstr "උදාහරණ"
 
-#: src/modules/mod_example/filledrect.cpp:120
+#: src/modules/mod_example/filledrect.cpp:131
 #: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:523
-#: src/modules/lyr_std/shade.cpp:564
-#: src/modules/mod_geometry/checkerboard.cpp:122
-#: src/modules/mod_geometry/circle.cpp:128
-#: src/modules/mod_geometry/rectangle.cpp:125 src/synfig/layer_shape.cpp:1193
-#: src/synfig/layer_solidcolor.cpp:102 src/synfig/paramdesc.cpp:79
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:620
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
 msgid "Color"
-msgstr "Χρώμα"
+msgstr "පාට"
 
-#: src/modules/mod_example/filledrect.cpp:121
+#: src/modules/mod_example/filledrect.cpp:132
 #: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:129
-#: src/modules/mod_geometry/rectangle.cpp:126
-#: src/synfig/layer_solidcolor.cpp:103
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
 msgid "Fill color of the layer"
-msgstr "Χρώμα γεμίσματος της στρώσης"
+msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:125
-#: src/modules/mod_geometry/rectangle.cpp:130
-#: src/modules/mod_gradient/lineargradient.cpp:190
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:185
 msgid "Point 1"
-msgstr "Σημείο 1"
+msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:126
-#: src/modules/mod_geometry/rectangle.cpp:132
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
 msgid "First corner of the rectangle"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_geometry/rectangle.cpp:136
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:190
 msgid "Point 2"
-msgstr "Σημείο 2"
+msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_geometry/rectangle.cpp:137
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
 msgid "Second corner of the rectangle"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_example/filledrect.cpp:147
 msgid "Feather X"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:140
+#: src/modules/mod_example/filledrect.cpp:152
 msgid "Feather Y"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:144 src/modules/lyr_std/bevel.cpp:68
-#: src/modules/mod_geometry/advanced_outline.cpp:1161
+#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
 msgid "Bevel"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:145
+#: src/modules/mod_example/filledrect.cpp:158
 msgid "Use Bevel for the corners"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:149
+#: src/modules/mod_example/filledrect.cpp:163
 msgid "Keep Bevel Circular"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:150
+#: src/modules/mod_example/filledrect.cpp:164
 msgid "When checked the bevel is circular"
 msgstr ""
 
@@ -100,39 +100,39 @@ msgstr ""
 msgid "Metaballs"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:135
+#: src/modules/mod_example/metaballs.cpp:129
 #: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:552
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:194
 #: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:112
-#: src/modules/mod_noise/noise.cpp:259 src/modules/mod_particle/plant.cpp:403
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
 #: src/synfig/valuenode_gradientrotate.cpp:164
 #: src/synfig/valuenode_repeat_gradient.cpp:203
 msgid "Gradient"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:139
+#: src/modules/mod_example/metaballs.cpp:133
 msgid "Balls"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:143
+#: src/modules/mod_example/metaballs.cpp:137
 msgid "Radii"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:147
+#: src/modules/mod_example/metaballs.cpp:141
 msgid "Weights"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:151
+#: src/modules/mod_example/metaballs.cpp:145
 msgid "Gradient Left"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:155
+#: src/modules/mod_example/metaballs.cpp:149
 msgid "Gradient Right"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:159
+#: src/modules/mod_example/metaballs.cpp:153
 msgid "Positive Only"
 msgstr ""
 
@@ -144,288 +144,288 @@ msgstr ""
 #: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
 #: src/modules/mod_gradient/conicalgradient.cpp:114
 #: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:117
+#: src/modules/mod_gradient/spiralgradient.cpp:118
 msgid "Center"
-msgstr "Κέντρο"
+msgstr ""
 
 #: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:144
+#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
 msgid "Center of the circle"
-msgstr "Κέντρο του κύκλου"
+msgstr ""
 
 #: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:151
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:132
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
 #: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:122
-#: src/modules/mod_noise/valuenode_random.cpp:269
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/valuenode_radialcomposite.cpp:272
 msgid "Radius"
-msgstr "Ακτίνα"
+msgstr ""
 
 #: src/modules/mod_example/simplecircle.cpp:118
 #: src/modules/lyr_std/twirl.cpp:118
 #: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:124
 msgid "This is the radius of the circle"
-msgstr "Αυτή είναι η ακτίνα του κύκλου"
+msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
-#: src/modules/lyr_freetype/lyr_freetype.cpp:517
+#: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
-msgstr "Κείμενο"
+msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
 #: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
-#: src/modules/lyr_std/supersample.cpp:57 src/modules/lyr_std/timeloop.cpp:60
-#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:70
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:79
+#: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
+#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
 msgid "Other"
-msgstr "Άλλο"
+msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:97
 msgid "Text Layer"
-msgstr "Στρώση κειμένου"
+msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:390
+#: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
-msgstr "αδυναμία αρχικοποίησης"
+msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:409
+#: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:518
+#: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:524
+#: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:528
+#: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:533
+#: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
-msgstr "Στυλ"
+msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:535
-#: src/modules/lyr_freetype/lyr_freetype.cpp:545
+#: src/modules/lyr_freetype/lyr_freetype.cpp:587
+#: src/modules/lyr_freetype/lyr_freetype.cpp:597
 msgid "Normal"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:536
+#: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:537
+#: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:541
+#: src/modules/lyr_freetype/lyr_freetype.cpp:593
 msgid "Weight"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:543
+#: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:544
+#: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:546
+#: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:547
+#: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:548
+#: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:551
+#: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:552
+#: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:556
+#: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:557
+#: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:561
-#: src/modules/lyr_std/shade.cpp:570 src/modules/lyr_std/xorpattern.cpp:129
-#: src/modules/mod_filter/blur.cpp:372
+#: src/modules/lyr_freetype/lyr_freetype.cpp:613
+#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:413
 #: src/modules/mod_filter/radialblur.cpp:115
-#: src/modules/mod_geometry/checkerboard.cpp:130
-#: src/modules/mod_noise/distort.cpp:222 src/modules/mod_noise/noise.cpp:267
+#: src/modules/mod_geometry/checkerboard.cpp:154
+#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:562
+#: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:569
+#: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:570
+#: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/insideout.cpp:143 src/modules/lyr_std/rotate.cpp:116
-#: src/modules/lyr_std/shade.cpp:567 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:389
-#: src/modules/lyr_std/xorpattern.cpp:125 src/modules/lyr_std/zoom.cpp:104
+#: src/modules/lyr_freetype/lyr_freetype.cpp:627
+#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
+#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
+#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
-#: src/modules/mod_geometry/checkerboard.cpp:126
-#: src/modules/mod_geometry/circle.cpp:143
-#: src/modules/mod_gradient/curvegradient.cpp:537
-#: src/modules/mod_particle/plant.cpp:398 src/synfig/layer_pastecanvas.cpp:133
-#: src/synfig/layer_shape.cpp:1197 src/synfig/valuenode_composite.cpp:518
+#: src/modules/mod_geometry/checkerboard.cpp:150
+#: src/modules/mod_geometry/circle.cpp:161
+#: src/modules/mod_gradient/curvegradient.cpp:550
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
+#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
 msgid "Origin"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:576
+#: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:580
+#: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:581
+#: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:588
+#: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:589
+#: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:594
+#: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:597
-#: src/modules/lyr_std/shade.cpp:587 src/modules/mod_geometry/circle.cpp:147
-#: src/synfig/layer_shape.cpp:1200
+#: src/modules/lyr_freetype/lyr_freetype.cpp:649
+#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1228
 msgid "Invert"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:654
+#: src/modules/lyr_freetype/lyr_freetype.cpp:714
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:680
+#: src/modules/lyr_freetype/lyr_freetype.cpp:740
 msgid "Text too small, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:704
+#: src/modules/lyr_freetype/lyr_freetype.cpp:764
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:747
+#: src/modules/lyr_freetype/lyr_freetype.cpp:807
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:754
+#: src/modules/lyr_freetype/lyr_freetype.cpp:814
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:69 src/modules/lyr_std/shade.cpp:68
+#: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:570 src/modules/lyr_std/shade.cpp:576
-#: src/modules/mod_filter/blur.cpp:376
-#: src/modules/mod_filter/halftone2.cpp:170
+#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
+#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:571 src/modules/lyr_std/shade.cpp:577
-#: src/modules/mod_filter/blur.cpp:377
+#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
+#: src/modules/mod_filter/blur.cpp:418
 msgid "Type of blur to use"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:573 src/modules/lyr_std/shade.cpp:579
-#: src/modules/mod_filter/blur.cpp:379 src/synfig/layer_shape.cpp:1213
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:574 src/modules/lyr_std/shade.cpp:580
-#: src/modules/mod_filter/blur.cpp:380 src/synfig/layer_shape.cpp:1214
+#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
+#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
 msgid "Fast Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:575 src/modules/lyr_std/shade.cpp:581
-#: src/modules/mod_filter/blur.cpp:381 src/synfig/layer_shape.cpp:1215
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
 msgid "Cross-Hatch Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:576 src/modules/lyr_std/shade.cpp:582
-#: src/modules/mod_filter/blur.cpp:382 src/synfig/layer_shape.cpp:1216
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
 msgid "Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:577 src/modules/lyr_std/shade.cpp:583
-#: src/modules/mod_filter/blur.cpp:383 src/synfig/layer_shape.cpp:1217
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:581
+#: src/modules/lyr_std/bevel.cpp:635
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:584
+#: src/modules/lyr_std/bevel.cpp:638
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:587
+#: src/modules/lyr_std/bevel.cpp:641
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:591
+#: src/modules/lyr_std/bevel.cpp:645
 msgid "Depth of Bevel"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:595
+#: src/modules/lyr_std/bevel.cpp:649
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:598
+#: src/modules/lyr_std/bevel.cpp:652
 msgid "Use Luma"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:601
+#: src/modules/lyr_std/bevel.cpp:655
 msgid "Solid"
 msgstr ""
 
-#: src/modules/lyr_std/booleancurve.cpp:104
+#: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
 msgstr ""
 
-#: src/modules/lyr_std/booleancurve.cpp:105
+#: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
 msgstr ""
 
@@ -433,38 +433,38 @@ msgstr ""
 msgid "Clamp"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:56
-#: src/modules/mod_filter/halftone2.cpp:59
-#: src/modules/mod_filter/halftone3.cpp:59
-#: src/modules/mod_filter/lumakey.cpp:59
+#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:57
+#: src/modules/mod_filter/halftone2.cpp:60
+#: src/modules/mod_filter/halftone3.cpp:60
+#: src/modules/mod_filter/lumakey.cpp:60
 msgid "Filters"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:158
+#: src/modules/lyr_std/clamp.cpp:162
 msgid "Invert Negative"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:162
+#: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:163
+#: src/modules/lyr_std/clamp.cpp:167
 msgid "When checked the Ceiling value is used"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:167
+#: src/modules/lyr_std/clamp.cpp:171
 msgid "Ceiling"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:168
+#: src/modules/lyr_std/clamp.cpp:172
 msgid "Upper boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:172
+#: src/modules/lyr_std/clamp.cpp:176
 msgid "Floor"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:173
+#: src/modules/lyr_std/clamp.cpp:177
 msgid "Lower boundary of the clamping"
 msgstr ""
 
@@ -472,24 +472,24 @@ msgstr ""
 msgid "Import Image"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:151 src/modules/lyr_std/import.cpp:201
+#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:283
+#: src/modules/lyr_std/import.cpp:293
 msgid "Filename"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:284
+#: src/modules/lyr_std/import.cpp:294
 msgid "File to import"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:288 src/synfig/layer_pastecanvas.cpp:146
+#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:289
+#: src/modules/lyr_std/import.cpp:299
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -498,14 +498,14 @@ msgid "Inside Out"
 msgstr ""
 
 #: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:75
 #: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:57 src/modules/lyr_std/curvewarp.cpp:56
-#: src/modules/mod_noise/distort.cpp:58
+#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
+#: src/modules/mod_noise/distort.cpp:59
 msgid "Distortions"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:144
+#: src/modules/lyr_std/insideout.cpp:163
 msgid "Defines the where the center will be"
 msgstr ""
 
@@ -517,97 +517,97 @@ msgstr ""
 msgid "Fractals"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:309
+#: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:310
+#: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:313
+#: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:314
+#: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:317
+#: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:320 src/modules/lyr_std/mandelbrot.cpp:223
+#: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:323
+#: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:326 src/modules/lyr_std/mandelbrot.cpp:226
+#: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:330 src/modules/lyr_std/mandelbrot.cpp:236
+#: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:333 src/modules/lyr_std/mandelbrot.cpp:240
+#: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:336 src/modules/lyr_std/mandelbrot.cpp:244
+#: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:339 src/modules/lyr_std/mandelbrot.cpp:248
+#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:342
+#: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:345 src/modules/lyr_std/mandelbrot.cpp:265
+#: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:348 src/modules/lyr_std/mandelbrot.cpp:269
+#: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:351 src/modules/lyr_std/mandelbrot.cpp:273
+#: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:354 src/modules/lyr_std/mandelbrot.cpp:277
+#: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:357
+#: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:361
+#: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:364 src/modules/lyr_std/mandelbrot.cpp:285
+#: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:286
+#: src/modules/lyr_std/julia.cpp:391 src/modules/lyr_std/mandelbrot.cpp:282
 msgid "Smooth the coloration outside the set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:368 src/modules/lyr_std/mandelbrot.cpp:230
+#: src/modules/lyr_std/julia.cpp:394 src/modules/lyr_std/mandelbrot.cpp:226
 msgid "Break Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:369 src/modules/lyr_std/mandelbrot.cpp:231
+#: src/modules/lyr_std/julia.cpp:395 src/modules/lyr_std/mandelbrot.cpp:227
 msgid "Modify equation to achieve interesting results"
 msgstr ""
 
@@ -615,48 +615,48 @@ msgstr ""
 msgid "Mandelbrot Set"
 msgstr ""
 
+#: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
 #: src/modules/lyr_std/mandelbrot.cpp:241
 #: src/modules/lyr_std/mandelbrot.cpp:245
 #: src/modules/lyr_std/mandelbrot.cpp:249
 #: src/modules/lyr_std/mandelbrot.cpp:253
 #: src/modules/lyr_std/mandelbrot.cpp:257
-#: src/modules/lyr_std/mandelbrot.cpp:261
 msgid "Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:252
+#: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:256
+#: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:260
+#: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
 msgstr ""
 
+#: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
 #: src/modules/lyr_std/mandelbrot.cpp:270
 #: src/modules/lyr_std/mandelbrot.cpp:274
 #: src/modules/lyr_std/mandelbrot.cpp:278
-#: src/modules/lyr_std/mandelbrot.cpp:282
+#: src/modules/lyr_std/mandelbrot.cpp:283
 #: src/modules/lyr_std/mandelbrot.cpp:287
 #: src/modules/lyr_std/mandelbrot.cpp:291
-#: src/modules/lyr_std/mandelbrot.cpp:295
 msgid "Outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:281
+#: src/modules/lyr_std/mandelbrot.cpp:277
 msgid "Gradient outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:290
+#: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:294
+#: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
 msgstr ""
 
@@ -669,16 +669,16 @@ msgstr ""
 msgid "Transform"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/translate.cpp:101
+#: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:134
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:121
-#: src/modules/lyr_std/sphere_distort.cpp:158
+#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:217
+#: src/synfig/layer_composite.cpp:249
 #: src/synfig/valuenode_blinecalctangent.cpp:251
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
@@ -687,61 +687,61 @@ msgstr ""
 msgid "Amount"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:67
+#: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:571
+#: src/modules/lyr_std/shade.cpp:627
 msgid "Size of Shade"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:73
-#: src/modules/lyr_std/sphere_distort.cpp:172
+#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:167
 msgid "Spherize"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/synfig/valuenode_composite.cpp:536
+#: src/modules/lyr_std/sphere_distort.cpp:141
+#: src/synfig/valuenode_composite.cpp:546
 msgid "Position"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:147
+#: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:154
+#: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:160
+#: src/modules/lyr_std/sphere_distort.cpp:155
 msgid "The distortion intensity (negative values inverts effect)"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:164 src/modules/lyr_std/warp.cpp:409
+#: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:165
+#: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:169
+#: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:170
+#: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:173
+#: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:174
+#: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
 msgstr ""
 
@@ -761,104 +761,104 @@ msgstr ""
 msgid "Stroboscope"
 msgstr ""
 
-#: src/modules/lyr_std/stroboscope.cpp:102
+#: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
 msgstr ""
 
-#: src/modules/lyr_std/stroboscope.cpp:103
+#: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:56
+#: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:129
+#: src/modules/lyr_std/supersample.cpp:146
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:290
-#: src/modules/lyr_std/curvewarp.cpp:393
-#: src/modules/mod_gradient/curvegradient.cpp:542
-#: src/synfig/valuenode_composite.cpp:514
-#: src/synfig/valuenode_composite.cpp:540
+#: src/modules/lyr_std/supersample.cpp:337
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_composite.cpp:524
+#: src/synfig/valuenode_composite.cpp:550
 #: src/synfig/valuenode_realstring.cpp:180
 #: src/synfig/valuenode_repeat_gradient.cpp:213
 #: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
 msgid "Width"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:291
+#: src/modules/lyr_std/supersample.cpp:338
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:294 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
 msgid "Height"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:295
+#: src/modules/lyr_std/supersample.cpp:342
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:298
+#: src/modules/lyr_std/supersample.cpp:345
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:299
+#: src/modules/lyr_std/supersample.cpp:346
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:302
+#: src/modules/lyr_std/supersample.cpp:349
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:303
+#: src/modules/lyr_std/supersample.cpp:350
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:166
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:124 src/synfig/valuenode_timeloop.cpp:179
+#: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:125
+#: src/modules/lyr_std/timeloop.cpp:134
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:129 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:130 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:134 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:135 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139
+#: src/modules/lyr_std/timeloop.cpp:148
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:140
+#: src/modules/lyr_std/timeloop.cpp:149
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144
+#: src/modules/lyr_std/timeloop.cpp:153
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:145
+#: src/modules/lyr_std/timeloop.cpp:154
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
@@ -886,115 +886,115 @@ msgstr ""
 msgid "When checked, distorts outside the circle"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:56
+#: src/modules/lyr_std/warp.cpp:57
 msgid "Warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:374
+#: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:376
+#: src/modules/lyr_std/warp.cpp:382
 msgid "Top Left corner of the source to warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:380
+#: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:381
+#: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:385
+#: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:387
+#: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:391
+#: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:393
+#: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:397
+#: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:399
+#: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:403
+#: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:405
+#: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:413
+#: src/modules/lyr_std/warp.cpp:419
 msgid "Horizon"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:414
+#: src/modules/lyr_std/warp.cpp:420
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:55
+#: src/modules/lyr_std/curvewarp.cpp:56
 msgid "Curve Warp"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:390
-msgid "Position of the source line"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:395
+#: src/modules/lyr_std/curvewarp.cpp:404
 msgid "How much is expanded the result perpendicular to the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:407
 msgid "Start Point"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:400
+#: src/modules/lyr_std/curvewarp.cpp:409
 msgid "First point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:403
+#: src/modules/lyr_std/curvewarp.cpp:412
 msgid "End Point"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:404
+#: src/modules/lyr_std/curvewarp.cpp:413
 msgid "Final point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:407
-#: src/modules/mod_geometry/advanced_outline.cpp:1123
-#: src/modules/mod_geometry/outline.cpp:814
-#: src/modules/mod_geometry/region.cpp:233
-#: src/modules/mod_gradient/curvegradient.cpp:546
-#: src/modules/mod_particle/plant.cpp:391
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
 msgid "Vertices"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:410
+#: src/modules/lyr_std/curvewarp.cpp:419
 msgid "List of Spline Points where the source line is curved to"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:413
-#: src/modules/mod_geometry/advanced_outline.cpp:1178
-#: src/modules/mod_gradient/curvegradient.cpp:567
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
 msgid "Fast"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:414
-#: src/modules/mod_gradient/curvegradient.cpp:568
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
 msgid "When checked, renders quickly but with artifacts"
 msgstr ""
 
@@ -1002,15 +1002,15 @@ msgstr ""
 msgid "XOR Pattern"
 msgstr ""
 
-#: src/modules/lyr_std/xorpattern.cpp:126
+#: src/modules/lyr_std/xorpattern.cpp:130
 msgid "Center of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/xorpattern.cpp:130
+#: src/modules/lyr_std/xorpattern.cpp:134
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:143
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
 #: src/synfig/valuenode_blinecalctangent.cpp:261
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
 #: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
@@ -1021,7 +1021,7 @@ msgstr ""
 msgid "Amount to scale to"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:105
+#: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
 msgstr ""
 
@@ -1089,126 +1089,138 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:201
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:208
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:218
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:272
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-msgid "Unable to open pipe to ffmpeg"
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:214
+msgid "Unable to open pipe to ffmpeg (no pipe)"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:68
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:221
+msgid "Unable to open pipe to ffmpeg (pid == -1)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:231
+msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:285
+msgid "Unable to open pipe to ffmpeg (exec failed)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:303
+msgid "Unable to open pipe to ffmpeg (no file)"
+msgstr ""
+
+#: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:69 src/modules/mod_filter/radialblur.cpp:56
+#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
 #: src/synfig/layer_motionblur.cpp:57
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:373
+#: src/modules/mod_filter/blur.cpp:414
 msgid "Size of Blur"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:55
+#: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:211
+#: src/modules/mod_filter/colorcorrect.cpp:217
 msgid "Hue Adjust"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:215
+#: src/modules/mod_filter/colorcorrect.cpp:221
 msgid "Brightness"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:219
+#: src/modules/mod_filter/colorcorrect.cpp:225
 msgid "Contrast"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:223
+#: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:227 src/synfig/layer_bitmap.cpp:179
+#: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:58
+#: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:151
+#: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:155
+#: src/modules/mod_filter/halftone2.cpp:159
 msgid "Mask Angle"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:159
-#: src/modules/mod_filter/halftone3.cpp:309
+#: src/modules/mod_filter/halftone2.cpp:163
+#: src/modules/mod_filter/halftone3.cpp:328
 msgid "Mask Size"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:164
+#: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:167
+#: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:172
-#: src/modules/mod_filter/halftone3.cpp:314
+#: src/modules/mod_filter/halftone2.cpp:176
+#: src/modules/mod_filter/halftone3.cpp:333
 #: src/modules/mod_gradient/conicalgradient.cpp:125
 msgid "Symmetric"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:173
-#: src/modules/mod_filter/halftone3.cpp:315
+#: src/modules/mod_filter/halftone2.cpp:177
+#: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:175
-#: src/modules/mod_filter/halftone3.cpp:317
+#: src/modules/mod_filter/halftone2.cpp:179
+#: src/modules/mod_filter/halftone3.cpp:336
 msgid "Diamond"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:176
-#: src/modules/mod_filter/halftone3.cpp:318
+#: src/modules/mod_filter/halftone2.cpp:180
+#: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:58
+#: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:312
+#: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:321
+#: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:329
+#: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:333
+#: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:337
+#: src/modules/mod_filter/halftone3.cpp:356
 msgid " Mask Angle"
 msgstr ""
 
-#: src/modules/mod_filter/lumakey.cpp:58
+#: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
 msgstr ""
 
-#: src/modules/mod_filter/radialblur.cpp:55
+#: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
 msgstr ""
 
@@ -1230,19 +1242,19 @@ msgstr ""
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:62 src/synfig/layer_solidcolor.cpp:57
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:123
+#: src/modules/mod_geometry/checkerboard.cpp:147
 msgid "Color of checkers"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:127
+#: src/modules/mod_geometry/checkerboard.cpp:151
 msgid "Center of the checkers"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:131
+#: src/modules/mod_geometry/checkerboard.cpp:155
 msgid "Size of checkers"
 msgstr ""
 
@@ -1250,54 +1262,54 @@ msgstr ""
 msgid "Circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:134
+#: src/modules/mod_geometry/circle.cpp:152
 msgid "Radius of the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:138 src/synfig/layer_shape.cpp:1206
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
 msgid "Feather"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:140
+#: src/modules/mod_geometry/circle.cpp:158
 msgid "Amount of feather of the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:148
+#: src/modules/mod_geometry/circle.cpp:166
 msgid "Invert the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:152
+#: src/modules/mod_geometry/circle.cpp:170
 msgid "Falloff"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:153
+#: src/modules/mod_geometry/circle.cpp:171
 msgid "Determines the falloff function for the feather"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:155
-#: src/modules/mod_noise/distort.cpp:234 src/modules/mod_noise/noise.cpp:275
-#: src/modules/mod_noise/valuenode_random.cpp:288
-#: src/synfig/layer_bitmap.cpp:173 src/synfig/layer_motionblur.cpp:150
-#: src/synfig/valuenode.cpp:139 src/synfig/valuenode_linear.cpp:146
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:289
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
 msgid "Linear"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:156
+#: src/modules/mod_geometry/circle.cpp:174
 msgid "Squared"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:157
+#: src/modules/mod_geometry/circle.cpp:175
 msgid "Square Root"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:158
+#: src/modules/mod_geometry/circle.cpp:176
 msgid "Sigmond"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:159
-#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:276
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:174
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:290
+#: src/synfig/layer_bitmap.cpp:170
 msgid "Cosine"
 msgstr ""
 
@@ -1305,160 +1317,160 @@ msgstr ""
 msgid "Advanced Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:133
+#: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1125
-#: src/modules/mod_geometry/outline.cpp:817
-#: src/modules/mod_geometry/region.cpp:235
-#: src/modules/mod_gradient/curvegradient.cpp:549
-#: src/modules/mod_particle/plant.cpp:392
+#: src/modules/mod_geometry/advanced_outline.cpp:1136
+#: src/modules/mod_geometry/outline.cpp:826
+#: src/modules/mod_geometry/region.cpp:240
+#: src/modules/mod_gradient/curvegradient.cpp:562
+#: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1129
-#: src/modules/mod_geometry/outline.cpp:831
+#: src/modules/mod_geometry/advanced_outline.cpp:1140
+#: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1130
-#: src/modules/mod_geometry/outline.cpp:832
+#: src/modules/mod_geometry/advanced_outline.cpp:1141
+#: src/modules/mod_geometry/outline.cpp:841
 msgid "Global width of the outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:837
+#: src/modules/mod_geometry/advanced_outline.cpp:1145
+#: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1135
-#: src/modules/mod_geometry/outline.cpp:838
+#: src/modules/mod_geometry/advanced_outline.cpp:1146
+#: src/modules/mod_geometry/outline.cpp:847
 msgid "Value to add to the global width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1138
+#: src/modules/mod_geometry/advanced_outline.cpp:1149
 msgid "Tip Type at Start"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1139
+#: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1141
-#: src/modules/mod_geometry/advanced_outline.cpp:1150
-#: src/synfig/valuenode_composite.cpp:548
+#: src/modules/mod_geometry/advanced_outline.cpp:1152
+#: src/modules/mod_geometry/advanced_outline.cpp:1161
 #: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:587
-#: src/synfig/valuenode_composite.cpp:596
+#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:606
 msgid "Rounded Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1142
-#: src/modules/mod_geometry/advanced_outline.cpp:1151
-#: src/synfig/valuenode_composite.cpp:549
+#: src/modules/mod_geometry/advanced_outline.cpp:1153
+#: src/modules/mod_geometry/advanced_outline.cpp:1162
 #: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:588
-#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:607
 msgid "Squared Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1143
-#: src/modules/mod_geometry/advanced_outline.cpp:1152
-#: src/synfig/valuenode_composite.cpp:550
+#: src/modules/mod_geometry/advanced_outline.cpp:1154
+#: src/modules/mod_geometry/advanced_outline.cpp:1163
 #: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:570
+#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:608
 msgid "Peak Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1144
-#: src/modules/mod_geometry/advanced_outline.cpp:1153
-#: src/synfig/valuenode_composite.cpp:551
+#: src/modules/mod_geometry/advanced_outline.cpp:1155
+#: src/modules/mod_geometry/advanced_outline.cpp:1164
 #: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:590
-#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:571
+#: src/synfig/valuenode_composite.cpp:600
+#: src/synfig/valuenode_composite.cpp:609
 msgid "Flat Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1147
+#: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1148
+#: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1156
+#: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1157
-#: src/modules/mod_geometry/outline.cpp:843
+#: src/modules/mod_geometry/advanced_outline.cpp:1168
+#: src/modules/mod_geometry/outline.cpp:852
 msgid "Determines cusp type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1159
+#: src/modules/mod_geometry/advanced_outline.cpp:1170
 msgid "Sharp"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1160
+#: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1164
+#: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1165
+#: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1168
-#: src/modules/mod_geometry/outline.cpp:859
+#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/outline.cpp:869
 #: src/synfig/valuenode_blinecalctangent.cpp:271
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1169
+#: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
+#: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1175
+#: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1182
+#: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1184
+#: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1187
+#: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1190
+#: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1193
+#: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1196
+#: src/modules/mod_geometry/advanced_outline.cpp:1207
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
@@ -1466,32 +1478,36 @@ msgstr ""
 msgid "Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:183
+#: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:842
+#: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:847
+#: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:848
-#: src/modules/mod_geometry/outline.cpp:853
+#: src/modules/mod_geometry/outline.cpp:857
+#: src/modules/mod_geometry/outline.cpp:862
 msgid "Round off the tip"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:852
+#: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:856
+#: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:860
+#: src/modules/mod_geometry/outline.cpp:866
+msgid "(Currently not used)"
+msgstr ""
+
+#: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
 msgstr ""
 
@@ -1499,11 +1515,11 @@ msgstr ""
 msgid "Rectangle"
 msgstr ""
 
-#: src/modules/mod_geometry/rectangle.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
 msgstr ""
 
-#: src/modules/mod_geometry/rectangle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
 msgstr ""
 
@@ -1515,46 +1531,46 @@ msgstr ""
 msgid "Star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:183
+#: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:184
+#: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190
+#: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:191
+#: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:197
+#: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:129
+#: src/modules/mod_gradient/spiralgradient.cpp:130
 #: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:198
+#: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:203 src/synfig/distance.cpp:251
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
 msgid "Points"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:204
+#: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:208
+#: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:209
+#: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
@@ -1572,20 +1588,20 @@ msgid "Conical Gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
-#: src/modules/mod_gradient/curvegradient.cpp:61
+#: src/modules/mod_gradient/curvegradient.cpp:62
 #: src/modules/mod_gradient/lineargradient.cpp:55
 #: src/modules/mod_gradient/radialgradient.cpp:58
-#: src/modules/mod_gradient/spiralgradient.cpp:57
-#: src/modules/mod_noise/noise.cpp:58
+#: src/modules/mod_gradient/spiralgradient.cpp:58
+#: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
-#: src/modules/mod_gradient/curvegradient.cpp:553
-#: src/modules/mod_gradient/lineargradient.cpp:200
+#: src/modules/mod_gradient/curvegradient.cpp:566
+#: src/modules/mod_gradient/lineargradient.cpp:195
 #: src/modules/mod_gradient/radialgradient.cpp:114
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:260
+#: src/modules/mod_gradient/spiralgradient.cpp:114
+#: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
 msgstr ""
 
@@ -1598,27 +1614,27 @@ msgid "Rotation of the gradient around the center"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
-#: src/modules/mod_gradient/curvegradient.cpp:557
-#: src/modules/mod_gradient/lineargradient.cpp:204
+#: src/modules/mod_gradient/curvegradient.cpp:570
+#: src/modules/mod_gradient/lineargradient.cpp:199
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:60
+#: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:538
-#: src/modules/mod_particle/plant.cpp:399
+#: src/modules/mod_gradient/curvegradient.cpp:551
+#: src/modules/mod_particle/plant.cpp:432
 msgid "Offset for the Vertices List"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:543
+#: src/modules/mod_gradient/curvegradient.cpp:556
 msgid "Global width of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:556
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/curvegradient.cpp:569
+#: src/modules/mod_gradient/lineargradient.cpp:198
 #: src/modules/mod_gradient/radialgradient.cpp:130
 #: src/synfig/valuenode_blinecalctangent.cpp:246
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
@@ -1626,19 +1642,19 @@ msgstr ""
 msgid "Loop"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:560
-#: src/modules/mod_gradient/lineargradient.cpp:207
+#: src/modules/mod_gradient/curvegradient.cpp:573
+#: src/modules/mod_gradient/lineargradient.cpp:202
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:561
-#: src/modules/mod_gradient/lineargradient.cpp:208
+#: src/modules/mod_gradient/curvegradient.cpp:574
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:136
 msgid "When checked the gradient is summetrical at the center"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:564
+#: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
 msgstr ""
 
@@ -1646,11 +1662,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:192
+#: src/modules/mod_gradient/lineargradient.cpp:187
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:196
+#: src/modules/mod_gradient/lineargradient.cpp:191
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1659,23 +1675,23 @@ msgid "Radial Gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:119
 msgid "Center of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:56
+#: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:130
+#: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:135
+#: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:136
+#: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
@@ -1688,13 +1704,15 @@ msgstr ""
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/listimporter.cpp:184 src/synfig/listimporter.cpp:185
+#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
+#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
 msgid "Unable to open "
 msgstr ""
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/listimporter.cpp:191 src/synfig/listimporter.cpp:192
+#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
+#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
 msgid "Unable to get frame from "
 msgstr ""
 
@@ -1732,115 +1750,115 @@ msgstr ""
 msgid "Unable to open pipe to imagemagick's convert utility"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:57
+#: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:217
+#: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:218
+#: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:223
+#: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:226 src/modules/mod_noise/noise.cpp:263
+#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:264
+#: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:230 src/modules/mod_noise/noise.cpp:271
-#: src/modules/mod_noise/valuenode_random.cpp:284
-#: src/synfig/layer_bitmap.cpp:169
+#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
-#: src/synfig/layer_bitmap.cpp:170
+#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
+#: src/synfig/layer_bitmap.cpp:166
 msgid "What type of interpolation to use"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:233 src/modules/mod_noise/noise.cpp:274
-#: src/synfig/layer_bitmap.cpp:172
+#: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
+#: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:277
-#: src/modules/mod_noise/valuenode_random.cpp:290 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_bline.cpp:1001
+#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
+#: src/synfig/valuenode_bline.cpp:1006
 #: src/synfig/valuenode_blinecalctangent.cpp:241
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:237 src/modules/mod_noise/noise.cpp:278
-#: src/modules/mod_noise/valuenode_random.cpp:291
-#: src/synfig/layer_bitmap.cpp:175
+#: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:281
+#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:282
+#: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:244 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:248 src/modules/mod_noise/noise.cpp:289
+#: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:290
+#: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:183
+#: src/modules/mod_noise/valuenode_random.cpp:184
 msgid "Random"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:57
+#: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:268
+#: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:293
+#: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:294
+#: src/modules/mod_noise/noise.cpp:303
 msgid "Uses transparency"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:297
+#: src/modules/mod_noise/noise.cpp:306
 msgid "Super Sampling"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:298
+#: src/modules/mod_noise/noise.cpp:307
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:264
+#: src/modules/mod_noise/valuenode_random.cpp:265
 #: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
 #: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
 #: src/synfig/valuenode_reciprocal.cpp:165
@@ -1849,167 +1867,167 @@ msgstr ""
 msgid "Link"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:270
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:274
-#: src/modules/mod_particle/plant.cpp:450
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:276
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:279
+#: src/modules/mod_noise/valuenode_random.cpp:280
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:281
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:286
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:288
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:296
+#: src/modules/mod_noise/valuenode_random.cpp:297
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:298
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:69
+#: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:404
+#: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:408
+#: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:409
+#: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:413
+#: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:414
+#: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:419
+#: src/modules/mod_particle/plant.cpp:452
 msgid "Tangential Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:420
+#: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:424
+#: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:425
+#: src/modules/mod_particle/plant.cpp:458
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:429
+#: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:430
+#: src/modules/mod_particle/plant.cpp:463
 msgid "Size of the stem"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:435
+#: src/modules/mod_particle/plant.cpp:468
 msgid "Size As Alpha"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:436
+#: src/modules/mod_particle/plant.cpp:469
 msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:440
+#: src/modules/mod_particle/plant.cpp:473
 msgid "Reverse"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:441
+#: src/modules/mod_particle/plant.cpp:474
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:445 src/synfig/valuenode.cpp:170
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
 #: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
 msgid "Step"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:446
+#: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:451
+#: src/modules/mod_particle/plant.cpp:484
 msgid "Used to seed the pseudo-random number generator"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:455
+#: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:456
+#: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:460
+#: src/modules/mod_particle/plant.cpp:493
 msgid "Sprouts"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:461
+#: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:465
+#: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:466
+#: src/modules/mod_particle/plant.cpp:499
 msgid ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:470
+#: src/modules/mod_particle/plant.cpp:503
 msgid "Drag"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:471
+#: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:475
+#: src/modules/mod_particle/plant.cpp:508
 msgid "Use Width"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:476
+#: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
@@ -2018,97 +2036,102 @@ msgstr ""
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:87 src/synfig/importer.cpp:87
+#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
 msgid "Importer::open(): Cannot open empty filename"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:101 src/synfig/importer.cpp:101
+#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
 msgid "Importer::open(): Couldn't find extension"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:112 src/synfig/importer.cpp:112
+#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
 msgid "Importer::open(): Unknown file type -- "
 msgstr ""
 
-#: src/synfig/canvas.cpp:798 src/synfig/canvas.cpp:863
-#: src/synfig/canvas.cpp:886
+#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
+#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+msgid "No images in list"
+msgstr ""
+
+#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
+#: src/synfig/canvas.cpp:927
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:249
+#: src/synfig/distance.cpp:251
 msgid "Units"
 msgstr ""
 
-#: src/synfig/distance.cpp:250
+#: src/synfig/distance.cpp:252
 msgid "Pixels"
 msgstr ""
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:254
 msgid "Inches"
 msgstr ""
 
-#: src/synfig/distance.cpp:253
+#: src/synfig/distance.cpp:255
 msgid "Meters"
 msgstr ""
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:256
 msgid "Millimeters"
 msgstr ""
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:257
 msgid "Centimeters"
 msgstr ""
 
-#: src/synfig/layer.cpp:565 src/synfig/layer_composite.cpp:128
+#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:619
+#: src/synfig/layer.cpp:605
 msgid "Z Depth"
 msgstr ""
 
-#: src/synfig/layer.cpp:621
+#: src/synfig/layer.cpp:607
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:159
+#: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:160
+#: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:164
+#: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:165
+#: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:218
+#: src/synfig/layer_composite.cpp:250
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:221 src/synfig/paramdesc.cpp:62
+#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:222
+#: src/synfig/layer_composite.cpp:254
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:168
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
 #: src/synfig/valuenode_duplicate.cpp:174
 msgid "Duplicate"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:148
+#: src/synfig/layer_duplicate.cpp:151
 msgid "Index"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:149
+#: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
 msgstr ""
 
@@ -2120,156 +2143,156 @@ msgstr ""
 msgid "Motion Blur"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:136
+#: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:137
+#: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:141
+#: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:142
+#: src/synfig/layer_motionblur.cpp:141
 msgid "Multiplies The Number Of Subsamples Rendered"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:146
+#: src/synfig/layer_motionblur.cpp:145
 msgid "Subsampling Type"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:147
+#: src/synfig/layer_motionblur.cpp:146
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:149 src/synfig/valuenode_const.cpp:127
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
 msgid "Constant"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:151
+#: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:155
+#: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:156
+#: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:160
+#: src/synfig/layer_motionblur.cpp:159
 msgid "Subsample End Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:161
+#: src/synfig/layer_motionblur.cpp:160
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:78 src/synfig/layer_pastecanvas.cpp:120
-#: src/synfig/layer_pastecanvas.cpp:121
+#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
+#: src/synfig/layer_pastecanvas.cpp:124
 msgid "Group"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:137
+#: src/synfig/layer_pastecanvas.cpp:140
 msgid "Canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:138
+#: src/synfig/layer_pastecanvas.cpp:141
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:144
 msgid "Zoom"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:142
+#: src/synfig/layer_pastecanvas.cpp:145
 msgid "Size of canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:147
+#: src/synfig/layer_pastecanvas.cpp:152
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:151
+#: src/synfig/layer_pastecanvas.cpp:156
 msgid "Children Lock"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:157
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
+#: src/synfig/layer_pastecanvas.cpp:162
 msgid "Focus Point"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:159
+#: src/synfig/layer_pastecanvas.cpp:165
 msgid "Point to remain fixed when zooming"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:164
+#: src/synfig/layer_pastecanvas.cpp:170
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:165
+#: src/synfig/layer_pastecanvas.cpp:171
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:180
+#: src/synfig/layer_pastecanvas.cpp:186
 msgid "Current Time"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:61
+#: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:187
+#: src/synfig/layer_polygon.cpp:194
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:188
+#: src/synfig/layer_polygon.cpp:195
 msgid "Define the corners of the polygon"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:64
+#: src/synfig/layer_shape.cpp:66
 msgid "Shape"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:65
+#: src/synfig/layer_shape.cpp:67
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1194
+#: src/synfig/layer_shape.cpp:1222
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1203
+#: src/synfig/layer_shape.cpp:1231
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1210
+#: src/synfig/layer_shape.cpp:1238
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1211
+#: src/synfig/layer_shape.cpp:1239
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1220
+#: src/synfig/layer_shape.cpp:1248
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_shape.cpp:1249
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1223
+#: src/synfig/layer_shape.cpp:1251
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1224
+#: src/synfig/layer_shape.cpp:1252
 msgid "Even/Odd"
 msgstr ""
 
@@ -2277,406 +2300,406 @@ msgstr ""
 msgid "Solid Color"
 msgstr ""
 
-#: src/synfig/listimporter.cpp:161 src/synfig/listimporter.cpp:162
-msgid "No images in list"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:142
+#: src/synfig/loadcanvas.cpp:143
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:185
+#: src/synfig/loadcanvas.cpp:186
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:191
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:205
+#: src/synfig/loadcanvas.cpp:206
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:236
+#: src/synfig/loadcanvas.cpp:237
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:469
-#: src/synfig/loadcanvas.cpp:1118
+#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
+#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:473
-#: src/synfig/loadcanvas.cpp:1122
+#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
+#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:484 src/synfig/loadcanvas.cpp:1144
+#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
+#: src/synfig/loadcanvas.cpp:1200
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:508
+#: src/synfig/loadcanvas.cpp:533
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1284
+#: src/synfig/loadcanvas.cpp:1353
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1301
+#: src/synfig/loadcanvas.cpp:1375
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1314
+#: src/synfig/loadcanvas.cpp:1388
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1330
+#: src/synfig/loadcanvas.cpp:1404
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1336 src/synfig/loadcanvas.cpp:1348
+#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1365
+#: src/synfig/loadcanvas.cpp:1439
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1380
+#: src/synfig/loadcanvas.cpp:1455
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1424 src/synfig/loadcanvas.cpp:1443
-#, c-format
-msgid "\"%s\" not a valid value for attribute \"%s\" in <%s>"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:1504
+#: src/synfig/loadcanvas.cpp:1556
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1512
+#: src/synfig/loadcanvas.cpp:1565
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1522
+#: src/synfig/loadcanvas.cpp:1577
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1531
+#: src/synfig/loadcanvas.cpp:1587
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1557 src/synfig/loadcanvas.cpp:1628
+#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1570
+#: src/synfig/loadcanvas.cpp:1625
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1579
+#: src/synfig/loadcanvas.cpp:1634
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1603
+#: src/synfig/loadcanvas.cpp:1658
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1643
+#: src/synfig/loadcanvas.cpp:1698
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1652
+#: src/synfig/loadcanvas.cpp:1707
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1659
+#: src/synfig/loadcanvas.cpp:1714
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1677
+#: src/synfig/loadcanvas.cpp:1732
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1747
+#: src/synfig/loadcanvas.cpp:1811
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1841
-msgid "Unable to create <dynamic_list>"
+#: src/synfig/loadcanvas.cpp:1861
+msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1993
+#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2038
+#: src/synfig/loadcanvas.cpp:1998
+msgid "Unable to create <dynamic_list>"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2220
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2076
+#: src/synfig/loadcanvas.cpp:2283
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2097
+#: src/synfig/loadcanvas.cpp:2304
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2102
+#: src/synfig/loadcanvas.cpp:2310
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2107
+#: src/synfig/loadcanvas.cpp:2316
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2142
+#: src/synfig/loadcanvas.cpp:2373
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2161
+#: src/synfig/loadcanvas.cpp:2392
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2181
+#: src/synfig/loadcanvas.cpp:2415
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2184
+#: src/synfig/loadcanvas.cpp:2418
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2192
+#: src/synfig/loadcanvas.cpp:2426
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2209
+#: src/synfig/loadcanvas.cpp:2443
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2214
+#: src/synfig/loadcanvas.cpp:2448
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2454
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2222
+#: src/synfig/loadcanvas.cpp:2456
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2244
+#: src/synfig/loadcanvas.cpp:2480
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2260
+#: src/synfig/loadcanvas.cpp:2496
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2272 src/synfig/loadcanvas.cpp:2292
+#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2280
+#: src/synfig/loadcanvas.cpp:2516
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2303
+#: src/synfig/loadcanvas.cpp:2539
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2376 src/synfig/loadcanvas.cpp:2384
+#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2470
+#: src/synfig/loadcanvas.cpp:2710
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2478
+#: src/synfig/loadcanvas.cpp:2717
+msgid "Inline canvas cannot have a <bones> section"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2725
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2490
+#: src/synfig/loadcanvas.cpp:2737
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2498
+#: src/synfig/loadcanvas.cpp:2745
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2504
+#: src/synfig/loadcanvas.cpp:2751
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:2763
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2531
+#: src/synfig/loadcanvas.cpp:2778
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2546
+#: src/synfig/loadcanvas.cpp:2793
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2578
+#: src/synfig/loadcanvas.cpp:2828
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580 src/synfig/valuenode.cpp:353
+#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580
+#: src/synfig/loadcanvas.cpp:2830
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2660 src/synfig/loadcanvas.cpp:2716
+#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:102
+#: src/synfig/main.cpp:118
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:107
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:112
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:117
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:122
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:184
+#: src/synfig/main.cpp:207
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:186
+#: src/synfig/main.cpp:209
 msgid "Unable to initialize subsystem \"Module\""
 msgstr ""
 
-#: src/synfig/main.cpp:188
+#: src/synfig/main.cpp:211
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:192
+#: src/synfig/main.cpp:215
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:195
+#: src/synfig/main.cpp:218
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:200
+#: src/synfig/main.cpp:223
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:203
+#: src/synfig/main.cpp:226
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
+#: src/synfig/main.cpp:232
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:212
+#: src/synfig/main.cpp:235
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:219
+#: src/synfig/main.cpp:242
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:222
+#: src/synfig/main.cpp:245
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:230
+#: src/synfig/main.cpp:253
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:267 src/synfig/main.cpp:268
+#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:279
+#: src/synfig/main.cpp:302
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:293 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:360 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:375 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:390
+#: src/synfig/main.cpp:413
 msgid "info"
 msgstr ""
 
@@ -2751,145 +2774,145 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:64 src/synfig/valuenode.cpp:140
-#: src/synfig/valuenode_composite.cpp:437
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
+#: src/synfig/valuenode_composite.cpp:447
 msgid "Composite"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:65
+#: src/synfig/paramdesc.cpp:69
 msgid "Straight"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:66
+#: src/synfig/paramdesc.cpp:70
 msgid "Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:67
+#: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68
+#: src/synfig/paramdesc.cpp:72
 msgid "Behind"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:69
+#: src/synfig/paramdesc.cpp:73
 msgid "Screen"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:70
+#: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:71
+#: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:72
+#: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:73
+#: src/synfig/paramdesc.cpp:77
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:74 src/synfig/valuenode.cpp:157
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
 #: src/synfig/valuenode_add.cpp:190
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:75 src/synfig/valuenode.cpp:147
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
 #: src/synfig/valuenode_subtract.cpp:194
 msgid "Subtract"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:76
+#: src/synfig/paramdesc.cpp:80
 msgid "Difference"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:77
+#: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78
+#: src/synfig/paramdesc.cpp:82
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:80 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
 msgid "Hue"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:81 src/synfig/valuenode_radialcomposite.cpp:260
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
 #: src/synfig/valuenode_radialcomposite.cpp:266
 msgid "Saturation"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:82
+#: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:83
+#: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84
+#: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85
+#: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
 msgstr ""
 
-#: src/synfig/render.cpp:246 src/synfig/render.cpp:247
-#: src/synfig/render.cpp:301 src/synfig/render.cpp:302
-#: src/synfig/render.cpp:536 src/synfig/render.cpp:537
-#: src/synfig/render.cpp:563 src/synfig/render.cpp:564
+#: src/synfig/render.cpp:248 src/synfig/render.cpp:249
+#: src/synfig/render.cpp:303 src/synfig/render.cpp:304
+#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
+#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:290
+#: src/synfig/savecanvas.cpp:359
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:543
+#: src/synfig/savecanvas.cpp:674 src/synfig/savecanvas.cpp:699
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:185
+#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
 #: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:281
 msgid "Target initialization failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:146
+#: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:155 src/synfig/target_scanline.cpp:258
-#: src/synfig/target_scanline.cpp:405
+#: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:260
+#: src/synfig/target_scanline.cpp:407
 msgid "Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:162
+#: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:169 src/synfig/target_cairo_tile.cpp:248
-#: src/synfig/target_scanline.cpp:418 src/synfig/target_tile.cpp:396
+#: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
+#: src/synfig/target_scanline.cpp:420 src/synfig/target_tile.cpp:398
 msgid "Caught string :"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:174 src/synfig/target_cairo_tile.cpp:253
-#: src/synfig/target_scanline.cpp:423 src/synfig/target_tile.cpp:401
+#: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
+#: src/synfig/target_scanline.cpp:425 src/synfig/target_tile.cpp:403
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:179 src/synfig/target_cairo_tile.cpp:258
-#: src/synfig/target_scanline.cpp:428 src/synfig/target_tile.cpp:406
+#: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
+#: src/synfig/target_scanline.cpp:430 src/synfig/target_tile.cpp:408
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:190
+#: src/synfig/target_cairo.cpp:201
 msgid "Cairo Surface bad status"
 msgstr ""
 
@@ -2897,24 +2920,24 @@ msgstr ""
 msgid "Bad Tile Size"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:142 src/synfig/target_cairo_tile.cpp:240
-#: src/synfig/target_scanline.cpp:203 src/synfig/target_scanline.cpp:249
-#: src/synfig/target_scanline.cpp:348 src/synfig/target_scanline.cpp:396
+#: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
+#: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:251
+#: src/synfig/target_scanline.cpp:350 src/synfig/target_scanline.cpp:398
 #: src/synfig/target_tile.cpp:225
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:150
+#: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:156 src/synfig/target_tile.cpp:179
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:179
 #: src/synfig/target_tile.cpp:245
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:211
+#: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
 msgstr ""
 
@@ -2938,277 +2961,317 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:276 src/synfig/value.cpp:308 src/synfig/value.cpp:360
+#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
 msgid "bool"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:277 src/synfig/value.cpp:310 src/synfig/value.cpp:358
+#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
 msgid "integer"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:278 src/synfig/value.cpp:312
+#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
 msgid "angle"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:279 src/synfig/value.cpp:314 src/synfig/value.cpp:352
+#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
 msgid "time"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:280 src/synfig/value.cpp:316 src/synfig/value.cpp:355
+#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
 msgid "real"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:281 src/synfig/value.cpp:318
+#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
 msgid "vector"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:282 src/synfig/value.cpp:320
+#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
 msgid "color"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:283 src/synfig/value.cpp:322
+#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
 msgid "segment"
 msgstr ""
 
-#: src/synfig/value.cpp:284
+#: src/synfig/value.cpp:378
 msgid "bline_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:285 src/synfig/value.cpp:326
+#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
+msgid "matrix"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
+msgid "bone_weight_pair"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
 msgid "width_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:286 src/synfig/value.cpp:328
+#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
 msgid "dash_item"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:287 src/synfig/value.cpp:330
+#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
 msgid "list"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:288 src/synfig/value.cpp:332
+#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
 msgid "canvas"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:289 src/synfig/value.cpp:334
+#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
 msgid "string"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:290 src/synfig/value.cpp:336
+#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
 msgid "gradient"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:291 src/synfig/value.cpp:338
+#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
+msgid "bone_object"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
+msgid "bone_valuenode"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
 msgid "nil"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:324
+#: src/synfig/value.cpp:422
 msgid "spline_point"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:141 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:142 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:144 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:146 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_dynamiclist.cpp:755
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
 #: src/synfig/valuenode_switch.cpp:163
 msgid "Switch"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164
+#: src/synfig/valuenode.cpp:170
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165
+#: src/synfig/valuenode.cpp:171
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
 msgid "Integer"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:176 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177
+#: src/synfig/valuenode.cpp:183
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:178
+#: src/synfig/valuenode.cpp:184
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_real.cpp:161
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
 #: src/synfig/valuenode_realstring.cpp:175
 msgid "Real"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:189
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:190
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185
+#: src/synfig/valuenode.cpp:191
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187
+#: src/synfig/valuenode.cpp:192
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:199
+msgid "Bone Influence"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:200
+msgid "Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:201
+msgid "Root Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:202
+msgid "Static List"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:203
+msgid "Bone Weight Pair"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:206
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:233
+#: src/synfig/valuenode.cpp:241
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:513
+#: src/synfig/valuenode.cpp:540
 msgid "Placeholder"
 msgstr ""
 
-#: src/synfig/valuenode.h:61
+#: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
@@ -3275,32 +3338,32 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:355 src/synfig/valuenode_animated.cpp:379
-#: src/synfig/valuenode_animated.cpp:703 src/synfig/valuenode_animated.cpp:721
-#: src/synfig/valuenode_animated.cpp:801 src/synfig/valuenode_animated.cpp:820
+#: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
+#: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
+#: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1134
+#: src/synfig/valuenode_animated.cpp:1173
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1169
+#: src/synfig/valuenode_animated.cpp:1208
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:977 src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
 #: src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:980 src/synfig/valuenode_dynamiclist.cpp:664
+#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
 #: src/synfig/valuenode_wplist.cpp:339
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_bline.cpp:1023
+#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
@@ -3320,7 +3383,7 @@ msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:584
 #: src/synfig/valuenode_gradientrotate.cpp:169
 #: src/synfig/valuenode_linear.cpp:213
 msgid "Offset"
@@ -3374,190 +3437,186 @@ msgstr ""
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:219
+#: src/synfig/valuenode_composite.cpp:229
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:464
+#: src/synfig/valuenode_composite.cpp:474
 msgid "Red"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:465
+#: src/synfig/valuenode_composite.cpp:475
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:468
+#: src/synfig/valuenode_composite.cpp:478
 msgid "Green"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:469
+#: src/synfig/valuenode_composite.cpp:479
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:472
+#: src/synfig/valuenode_composite.cpp:482
 msgid "Blue"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:473
+#: src/synfig/valuenode_composite.cpp:483
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:476
+#: src/synfig/valuenode_composite.cpp:486
 msgid "Alpha"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:477
+#: src/synfig/valuenode_composite.cpp:487
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:492
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:493
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
-#: src/synfig/valuenode_composite.cpp:526
+#: src/synfig/valuenode_composite.cpp:496
+#: src/synfig/valuenode_composite.cpp:536
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:497
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:490
+#: src/synfig/valuenode_composite.cpp:500
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:491
+#: src/synfig/valuenode_composite.cpp:501
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:494
-#: src/synfig/valuenode_composite.cpp:530
+#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:540
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:495
+#: src/synfig/valuenode_composite.cpp:505
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:510
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:511
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:514
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:515
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:520
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:521
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:525
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:519
+#: src/synfig/valuenode_composite.cpp:529
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:522
+#: src/synfig/valuenode_composite.cpp:532
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:523
+#: src/synfig/valuenode_composite.cpp:533
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:527
+#: src/synfig/valuenode_composite.cpp:537
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:531
+#: src/synfig/valuenode_composite.cpp:541
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:547
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:551
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:544
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_composite.cpp:554
+#: src/synfig/valuenode_composite.cpp:594
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:545
 #: src/synfig/valuenode_composite.cpp:555
+#: src/synfig/valuenode_composite.cpp:565
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
 #: src/synfig/valuenode_composite.cpp:557
+#: src/synfig/valuenode_composite.cpp:567
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:593
+#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:603
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:574
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:575
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:578
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:579
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:585
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:589
 #: src/synfig/valuenode_timedswap.cpp:260
 msgid "Length"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:580
+#: src/synfig/valuenode_composite.cpp:590
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:595
+#: src/synfig/valuenode_composite.cpp:604
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_const.cpp:127
-msgid "Static"
-msgstr ""
-
 #: src/synfig/valuenode_compare.cpp:168
 msgid "The left side of the comparison"
 msgstr ""
@@ -3622,12 +3681,12 @@ msgstr ""
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:655
+#: src/synfig/valuenode_dynamiclist.cpp:661
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:703
-#: src/synfig/valuenode_dynamiclist.cpp:957
+#: src/synfig/valuenode_dynamiclist.cpp:709
+#: src/synfig/valuenode_dynamiclist.cpp:964
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3951,7 +4010,7 @@ msgid "Intersection"
 msgstr ""
 
 #: src/synfig/valuenode_step.cpp:213
-msgid "Value that define whether the step is centerd on the value [0,1]"
+msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
@@ -4084,195 +4143,195 @@ msgstr ""
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:133
+#: src/tool/main.cpp:140
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:169
+#: src/tool/main.cpp:176
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:171
+#: src/tool/main.cpp:178
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:172
+#: src/tool/main.cpp:179
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:173
+#: src/tool/main.cpp:180
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:174
+#: src/tool/main.cpp:181
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:175
+#: src/tool/main.cpp:182
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:176
+#: src/tool/main.cpp:183
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:184
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:178
+#: src/tool/main.cpp:185
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:186
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:187
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:188
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:189
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:190
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:191
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:185 src/tool/main.cpp:186
+#: src/tool/main.cpp:192 src/tool/main.cpp:193
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:194
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:195
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:196
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:197
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:193
+#: src/tool/main.cpp:200
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:202
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:203
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:204
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:200
+#: src/tool/main.cpp:207
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:202
+#: src/tool/main.cpp:209
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:210
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:204 src/tool/main.cpp:230
+#: src/tool/main.cpp:211 src/tool/main.cpp:237
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:207
+#: src/tool/main.cpp:214
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:216
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:210
+#: src/tool/main.cpp:217
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:213
+#: src/tool/main.cpp:220
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:215
+#: src/tool/main.cpp:222
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:223
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:217
+#: src/tool/main.cpp:224
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:225
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:226
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:220
+#: src/tool/main.cpp:227
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:221
+#: src/tool/main.cpp:228
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:229
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:223
+#: src/tool/main.cpp:230
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:231
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:232
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:241
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:236
+#: src/tool/main.cpp:243
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:237
+#: src/tool/main.cpp:244
 msgid "Test signal implementation"
 msgstr ""
 
@@ -4336,157 +4395,157 @@ msgstr ""
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:113
+#: src/tool/optionsprocessor.cpp:114
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:115
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:131
+#: src/tool/optionsprocessor.cpp:132
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:146
+#: src/tool/optionsprocessor.cpp:147
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:224
+#: src/tool/optionsprocessor.cpp:225
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:226
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:227
+#: src/tool/optionsprocessor.cpp:228
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:232
+#: src/tool/optionsprocessor.cpp:233
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:234
+#: src/tool/optionsprocessor.cpp:235
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:236
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:239
+#: src/tool/optionsprocessor.cpp:240
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:243
+#: src/tool/optionsprocessor.cpp:244
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:309
+#: src/tool/optionsprocessor.cpp:310
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:316
+#: src/tool/optionsprocessor.cpp:317
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:324
+#: src/tool/optionsprocessor.cpp:325
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:334
+#: src/tool/optionsprocessor.cpp:335
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:343
+#: src/tool/optionsprocessor.cpp:344
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:352
+#: src/tool/optionsprocessor.cpp:353
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:379
+#: src/tool/optionsprocessor.cpp:380
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:385
+#: src/tool/optionsprocessor.cpp:386
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:400
+#: src/tool/optionsprocessor.cpp:401
 #, c-format
 msgid "Resolution set to %dx%d"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:417
+#: src/tool/optionsprocessor.cpp:418
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:437
+#: src/tool/optionsprocessor.cpp:438
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:440
+#: src/tool/optionsprocessor.cpp:441
 #, c-format
 msgid "Target video codec set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:446
+#: src/tool/optionsprocessor.cpp:447
 #, c-format
 msgid "Target bitrate set to %dk"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:452
+#: src/tool/optionsprocessor.cpp:453
 #, c-format
 msgid "Output file sequence separator set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:487
+#: src/tool/optionsprocessor.cpp:488
 #, c-format
 msgid "Unable to load '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:494
+#: src/tool/optionsprocessor.cpp:495
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:499
+#: src/tool/optionsprocessor.cpp:500
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:513
+#: src/tool/optionsprocessor.cpp:514
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:532
+#: src/tool/optionsprocessor.cpp:533
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:539
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:557
+#: src/tool/optionsprocessor.cpp:558
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:571
+#: src/tool/optionsprocessor.cpp:572
 msgid "Appended contents of "
 msgstr ""
 
@@ -4600,4 +4659,4 @@ msgstr ""
 
 #: src/tool/renderprogress.h:136
 msgid "s "
-msgstr ""
+msgstr "s "
diff --git a/po/sk_SK.gmo b/po/sk_SK.gmo
index 15f4cf2..d41267d 100644
Binary files a/po/sk_SK.gmo and b/po/sk_SK.gmo differ
diff --git a/po/sk_SK.po b/po/sk_SK.po
index a23d521..6263e2e 100644
--- a/po/sk_SK.po
+++ b/po/sk_SK.po
@@ -1,7 +1,6 @@
-# Translation of sk_SK.po to Slovak (Slovakia)
-# Slovakian translations for Synfig Core package
-# Copyright (C) 2012 Synfig Contributors
-# This file is distributed under the same license as the Synfig package.
+# Translation file for Synfig Core package.
+# Copyright (C) 2013 Synfig Contributors
+# This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
 # Marek Lach <marek.brohatwack.lach at gmail.com>, 2011
@@ -9,89 +8,90 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2013-05-09 18:34+0200\n"
-"PO-Revision-Date: 2013-05-02 12:39+0000\n"
-"Last-Translator: genete <genetita at gmail.com>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
+"POT-Creation-Date: 2013-10-25 17:57+0700\n"
+"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
+"Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/synfig/"
+"language/sk_SK/)\n"
 "Language: sk_SK\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
 
-#: src/modules/mod_example/filledrect.cpp:58
+#: src/modules/mod_example/filledrect.cpp:59
 msgid "Filled Rectangle"
 msgstr "Vyplnený obdĺžnik"
 
-#: src/modules/mod_example/filledrect.cpp:59
+#: src/modules/mod_example/filledrect.cpp:60
 #: src/modules/mod_example/metaballs.cpp:58
 #: src/modules/mod_example/simplecircle.cpp:58
 msgid "Example"
 msgstr "Príklad"
 
-#: src/modules/mod_example/filledrect.cpp:120
+#: src/modules/mod_example/filledrect.cpp:131
 #: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:523
-#: src/modules/lyr_std/shade.cpp:564
-#: src/modules/mod_geometry/checkerboard.cpp:122
-#: src/modules/mod_geometry/circle.cpp:128
-#: src/modules/mod_geometry/rectangle.cpp:125 src/synfig/layer_shape.cpp:1193
-#: src/synfig/layer_solidcolor.cpp:102 src/synfig/paramdesc.cpp:79
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:620
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
 msgid "Color"
 msgstr "Farba"
 
-#: src/modules/mod_example/filledrect.cpp:121
+#: src/modules/mod_example/filledrect.cpp:132
 #: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:129
-#: src/modules/mod_geometry/rectangle.cpp:126
-#: src/synfig/layer_solidcolor.cpp:103
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
 msgid "Fill color of the layer"
 msgstr "Vyplň farbu vrstvy"
 
-#: src/modules/mod_example/filledrect.cpp:125
-#: src/modules/mod_geometry/rectangle.cpp:130
-#: src/modules/mod_gradient/lineargradient.cpp:190
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:185
 msgid "Point 1"
 msgstr "Bod 1"
 
-#: src/modules/mod_example/filledrect.cpp:126
-#: src/modules/mod_geometry/rectangle.cpp:132
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
 msgid "First corner of the rectangle"
 msgstr "Prvý kút obdlžníka"
 
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_geometry/rectangle.cpp:136
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:190
 msgid "Point 2"
 msgstr "Bod 2"
 
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_geometry/rectangle.cpp:137
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
 msgid "Second corner of the rectangle"
 msgstr "Druhý kút obdlžníka"
 
-#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_example/filledrect.cpp:147
 msgid "Feather X"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:140
+#: src/modules/mod_example/filledrect.cpp:152
 msgid "Feather Y"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:144 src/modules/lyr_std/bevel.cpp:68
-#: src/modules/mod_geometry/advanced_outline.cpp:1161
+#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
 msgid "Bevel"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:145
+#: src/modules/mod_example/filledrect.cpp:158
 msgid "Use Bevel for the corners"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:149
+#: src/modules/mod_example/filledrect.cpp:163
 msgid "Keep Bevel Circular"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:150
+#: src/modules/mod_example/filledrect.cpp:164
 msgid "When checked the bevel is circular"
 msgstr ""
 
@@ -99,39 +99,39 @@ msgstr ""
 msgid "Metaballs"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:135
+#: src/modules/mod_example/metaballs.cpp:129
 #: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:552
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:194
 #: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:112
-#: src/modules/mod_noise/noise.cpp:259 src/modules/mod_particle/plant.cpp:403
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
 #: src/synfig/valuenode_gradientrotate.cpp:164
 #: src/synfig/valuenode_repeat_gradient.cpp:203
 msgid "Gradient"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:139
+#: src/modules/mod_example/metaballs.cpp:133
 msgid "Balls"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:143
+#: src/modules/mod_example/metaballs.cpp:137
 msgid "Radii"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:147
+#: src/modules/mod_example/metaballs.cpp:141
 msgid "Weights"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:151
+#: src/modules/mod_example/metaballs.cpp:145
 msgid "Gradient Left"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:155
+#: src/modules/mod_example/metaballs.cpp:149
 msgid "Gradient Right"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:159
+#: src/modules/mod_example/metaballs.cpp:153
 msgid "Positive Only"
 msgstr ""
 
@@ -143,21 +143,21 @@ msgstr "Jednoduchý kruh"
 #: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
 #: src/modules/mod_gradient/conicalgradient.cpp:114
 #: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:117
+#: src/modules/mod_gradient/spiralgradient.cpp:118
 msgid "Center"
 msgstr "Centrum"
 
 #: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:144
+#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
 msgid "Center of the circle"
 msgstr "Centrum kruhu"
 
 #: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:151
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:132
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
 #: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:122
-#: src/modules/mod_noise/valuenode_random.cpp:269
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/valuenode_radialcomposite.cpp:272
 msgid "Radius"
 msgstr ""
@@ -165,20 +165,20 @@ msgstr ""
 #: src/modules/mod_example/simplecircle.cpp:118
 #: src/modules/lyr_std/twirl.cpp:118
 #: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:124
 msgid "This is the radius of the circle"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
-#: src/modules/lyr_freetype/lyr_freetype.cpp:517
+#: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Text"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
 #: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
-#: src/modules/lyr_std/supersample.cpp:57 src/modules/lyr_std/timeloop.cpp:60
-#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:70
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:79
+#: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
+#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
 msgid "Other"
 msgstr "Ostatné/Iné"
 
@@ -186,245 +186,245 @@ msgstr "Ostatné/Iné"
 msgid "Text Layer"
 msgstr "Textová vrstva"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:390
+#: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:409
+#: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:518
+#: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
 msgstr "Text na renderovanie"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:524
+#: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "Farba textu"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:528
+#: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
 msgstr "Typ písma"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:533
+#: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
 msgstr "Štýl"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:535
-#: src/modules/lyr_freetype/lyr_freetype.cpp:545
+#: src/modules/lyr_freetype/lyr_freetype.cpp:587
+#: src/modules/lyr_freetype/lyr_freetype.cpp:597
 msgid "Normal"
 msgstr "Normálne"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:536
+#: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:537
+#: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
 msgstr "Krivé"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:541
+#: src/modules/lyr_freetype/lyr_freetype.cpp:593
 msgid "Weight"
 msgstr "Váha"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:543
+#: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
 msgstr "Veľmi ľahké"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:544
+#: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
 msgstr "svetlo"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:546
+#: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
 msgstr "Hrubé"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:547
+#: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
 msgstr "Veľmi hrubé"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:548
+#: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
 msgstr "Ťažké"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:551
+#: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:552
+#: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
 msgstr " Popisuje ako blízko sú riadky textu vodorovne"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:556
+#: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:557
+#: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
 msgstr "Popisuje ako blízko sú riadky textu zvisle"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:561
-#: src/modules/lyr_std/shade.cpp:570 src/modules/lyr_std/xorpattern.cpp:129
-#: src/modules/mod_filter/blur.cpp:372
+#: src/modules/lyr_freetype/lyr_freetype.cpp:613
+#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:413
 #: src/modules/mod_filter/radialblur.cpp:115
-#: src/modules/mod_geometry/checkerboard.cpp:130
-#: src/modules/mod_noise/distort.cpp:222 src/modules/mod_noise/noise.cpp:267
+#: src/modules/mod_geometry/checkerboard.cpp:154
+#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
 msgstr "Veľkosť"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:562
+#: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
 msgstr "Veľkosť textu"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:569
+#: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
 msgstr "Orientácia"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:570
+#: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
 msgstr "Orientácia textu"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/insideout.cpp:143 src/modules/lyr_std/rotate.cpp:116
-#: src/modules/lyr_std/shade.cpp:567 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:389
-#: src/modules/lyr_std/xorpattern.cpp:125 src/modules/lyr_std/zoom.cpp:104
+#: src/modules/lyr_freetype/lyr_freetype.cpp:627
+#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
+#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
+#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
-#: src/modules/mod_geometry/checkerboard.cpp:126
-#: src/modules/mod_geometry/circle.cpp:143
-#: src/modules/mod_gradient/curvegradient.cpp:537
-#: src/modules/mod_particle/plant.cpp:398 src/synfig/layer_pastecanvas.cpp:133
-#: src/synfig/layer_shape.cpp:1197 src/synfig/valuenode_composite.cpp:518
+#: src/modules/mod_geometry/checkerboard.cpp:150
+#: src/modules/mod_geometry/circle.cpp:161
+#: src/modules/mod_gradient/curvegradient.cpp:550
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
+#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
 msgid "Origin"
 msgstr "Pôvod"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:576
+#: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
 msgstr "Pozícia textu"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:580
+#: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
 msgstr "Písmo"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:581
+#: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
 msgstr "Názov súboru pre písmo, ktoré treba použiť"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:588
+#: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:589
+#: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
 msgstr "Obrúsené hrany"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:594
+#: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
 msgstr "Toto vypnite ak idete animovať text"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:597
-#: src/modules/lyr_std/shade.cpp:587 src/modules/mod_geometry/circle.cpp:147
-#: src/synfig/layer_shape.cpp:1200
+#: src/modules/lyr_freetype/lyr_freetype.cpp:649
+#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1228
 msgid "Invert"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:654
+#: src/modules/lyr_freetype/lyr_freetype.cpp:714
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:680
+#: src/modules/lyr_freetype/lyr_freetype.cpp:740
 msgid "Text too small, no text will be rendered."
 msgstr "Text je príliš malý, preto žiadny nebude vyrenderovaný/vykreslený"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:704
+#: src/modules/lyr_freetype/lyr_freetype.cpp:764
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:747
+#: src/modules/lyr_freetype/lyr_freetype.cpp:807
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:754
+#: src/modules/lyr_freetype/lyr_freetype.cpp:814
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:69 src/modules/lyr_std/shade.cpp:68
+#: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:570 src/modules/lyr_std/shade.cpp:576
-#: src/modules/mod_filter/blur.cpp:376
-#: src/modules/mod_filter/halftone2.cpp:170
+#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
+#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "Typ"
 
-#: src/modules/lyr_std/bevel.cpp:571 src/modules/lyr_std/shade.cpp:577
-#: src/modules/mod_filter/blur.cpp:377
+#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
+#: src/modules/mod_filter/blur.cpp:418
 msgid "Type of blur to use"
 msgstr "Typ rozmazania, ktorý použiť"
 
-#: src/modules/lyr_std/bevel.cpp:573 src/modules/lyr_std/shade.cpp:579
-#: src/modules/mod_filter/blur.cpp:379 src/synfig/layer_shape.cpp:1213
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:574 src/modules/lyr_std/shade.cpp:580
-#: src/modules/mod_filter/blur.cpp:380 src/synfig/layer_shape.cpp:1214
+#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
+#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
 msgid "Fast Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:575 src/modules/lyr_std/shade.cpp:581
-#: src/modules/mod_filter/blur.cpp:381 src/synfig/layer_shape.cpp:1215
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
 msgid "Cross-Hatch Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:576 src/modules/lyr_std/shade.cpp:582
-#: src/modules/mod_filter/blur.cpp:382 src/synfig/layer_shape.cpp:1216
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
 msgid "Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:577 src/modules/lyr_std/shade.cpp:583
-#: src/modules/mod_filter/blur.cpp:383 src/synfig/layer_shape.cpp:1217
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:581
+#: src/modules/lyr_std/bevel.cpp:635
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:584
+#: src/modules/lyr_std/bevel.cpp:638
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:587
+#: src/modules/lyr_std/bevel.cpp:641
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:591
+#: src/modules/lyr_std/bevel.cpp:645
 msgid "Depth of Bevel"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:595
+#: src/modules/lyr_std/bevel.cpp:649
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:598
+#: src/modules/lyr_std/bevel.cpp:652
 msgid "Use Luma"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:601
+#: src/modules/lyr_std/bevel.cpp:655
 msgid "Solid"
 msgstr ""
 
-#: src/modules/lyr_std/booleancurve.cpp:104
+#: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
 msgstr ""
 
-#: src/modules/lyr_std/booleancurve.cpp:105
+#: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
 msgstr ""
 
@@ -432,38 +432,38 @@ msgstr ""
 msgid "Clamp"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:56
-#: src/modules/mod_filter/halftone2.cpp:59
-#: src/modules/mod_filter/halftone3.cpp:59
-#: src/modules/mod_filter/lumakey.cpp:59
+#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:57
+#: src/modules/mod_filter/halftone2.cpp:60
+#: src/modules/mod_filter/halftone3.cpp:60
+#: src/modules/mod_filter/lumakey.cpp:60
 msgid "Filters"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:158
+#: src/modules/lyr_std/clamp.cpp:162
 msgid "Invert Negative"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:162
+#: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:163
+#: src/modules/lyr_std/clamp.cpp:167
 msgid "When checked the Ceiling value is used"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:167
+#: src/modules/lyr_std/clamp.cpp:171
 msgid "Ceiling"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:168
+#: src/modules/lyr_std/clamp.cpp:172
 msgid "Upper boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:172
+#: src/modules/lyr_std/clamp.cpp:176
 msgid "Floor"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:173
+#: src/modules/lyr_std/clamp.cpp:177
 msgid "Lower boundary of the clamping"
 msgstr ""
 
@@ -471,24 +471,24 @@ msgstr ""
 msgid "Import Image"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:151 src/modules/lyr_std/import.cpp:201
+#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:283
+#: src/modules/lyr_std/import.cpp:293
 msgid "Filename"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:284
+#: src/modules/lyr_std/import.cpp:294
 msgid "File to import"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:288 src/synfig/layer_pastecanvas.cpp:146
+#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:289
+#: src/modules/lyr_std/import.cpp:299
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -497,14 +497,14 @@ msgid "Inside Out"
 msgstr ""
 
 #: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:75
 #: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:57 src/modules/lyr_std/curvewarp.cpp:56
-#: src/modules/mod_noise/distort.cpp:58
+#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
+#: src/modules/mod_noise/distort.cpp:59
 msgid "Distortions"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:144
+#: src/modules/lyr_std/insideout.cpp:163
 msgid "Defines the where the center will be"
 msgstr ""
 
@@ -516,97 +516,97 @@ msgstr ""
 msgid "Fractals"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:309
+#: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:310
+#: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:313
+#: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:314
+#: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:317
+#: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:320 src/modules/lyr_std/mandelbrot.cpp:223
+#: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:323
+#: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:326 src/modules/lyr_std/mandelbrot.cpp:226
+#: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:330 src/modules/lyr_std/mandelbrot.cpp:236
+#: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:333 src/modules/lyr_std/mandelbrot.cpp:240
+#: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:336 src/modules/lyr_std/mandelbrot.cpp:244
+#: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:339 src/modules/lyr_std/mandelbrot.cpp:248
+#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:342
+#: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:345 src/modules/lyr_std/mandelbrot.cpp:265
+#: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:348 src/modules/lyr_std/mandelbrot.cpp:269
+#: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:351 src/modules/lyr_std/mandelbrot.cpp:273
+#: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:354 src/modules/lyr_std/mandelbrot.cpp:277
+#: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:357
+#: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:361
+#: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:364 src/modules/lyr_std/mandelbrot.cpp:285
+#: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:286
+#: src/modules/lyr_std/julia.cpp:391 src/modules/lyr_std/mandelbrot.cpp:282
 msgid "Smooth the coloration outside the set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:368 src/modules/lyr_std/mandelbrot.cpp:230
+#: src/modules/lyr_std/julia.cpp:394 src/modules/lyr_std/mandelbrot.cpp:226
 msgid "Break Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:369 src/modules/lyr_std/mandelbrot.cpp:231
+#: src/modules/lyr_std/julia.cpp:395 src/modules/lyr_std/mandelbrot.cpp:227
 msgid "Modify equation to achieve interesting results"
 msgstr ""
 
@@ -614,48 +614,48 @@ msgstr ""
 msgid "Mandelbrot Set"
 msgstr ""
 
+#: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
 #: src/modules/lyr_std/mandelbrot.cpp:241
 #: src/modules/lyr_std/mandelbrot.cpp:245
 #: src/modules/lyr_std/mandelbrot.cpp:249
 #: src/modules/lyr_std/mandelbrot.cpp:253
 #: src/modules/lyr_std/mandelbrot.cpp:257
-#: src/modules/lyr_std/mandelbrot.cpp:261
 msgid "Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:252
+#: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:256
+#: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:260
+#: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
 msgstr ""
 
+#: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
 #: src/modules/lyr_std/mandelbrot.cpp:270
 #: src/modules/lyr_std/mandelbrot.cpp:274
 #: src/modules/lyr_std/mandelbrot.cpp:278
-#: src/modules/lyr_std/mandelbrot.cpp:282
+#: src/modules/lyr_std/mandelbrot.cpp:283
 #: src/modules/lyr_std/mandelbrot.cpp:287
 #: src/modules/lyr_std/mandelbrot.cpp:291
-#: src/modules/lyr_std/mandelbrot.cpp:295
 msgid "Outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:281
+#: src/modules/lyr_std/mandelbrot.cpp:277
 msgid "Gradient outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:290
+#: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:294
+#: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
 msgstr ""
 
@@ -668,16 +668,16 @@ msgstr ""
 msgid "Transform"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/translate.cpp:101
+#: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:134
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:121
-#: src/modules/lyr_std/sphere_distort.cpp:158
+#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:217
+#: src/synfig/layer_composite.cpp:249
 #: src/synfig/valuenode_blinecalctangent.cpp:251
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
@@ -686,61 +686,61 @@ msgstr ""
 msgid "Amount"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:67
+#: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:571
+#: src/modules/lyr_std/shade.cpp:627
 msgid "Size of Shade"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:73
-#: src/modules/lyr_std/sphere_distort.cpp:172
+#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:167
 msgid "Spherize"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/synfig/valuenode_composite.cpp:536
+#: src/modules/lyr_std/sphere_distort.cpp:141
+#: src/synfig/valuenode_composite.cpp:546
 msgid "Position"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:147
+#: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:154
+#: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:160
+#: src/modules/lyr_std/sphere_distort.cpp:155
 msgid "The distortion intensity (negative values inverts effect)"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:164 src/modules/lyr_std/warp.cpp:409
+#: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:165
+#: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:169
+#: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:170
+#: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:173
+#: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:174
+#: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
 msgstr ""
 
@@ -760,104 +760,104 @@ msgstr ""
 msgid "Stroboscope"
 msgstr ""
 
-#: src/modules/lyr_std/stroboscope.cpp:102
+#: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
 msgstr ""
 
-#: src/modules/lyr_std/stroboscope.cpp:103
+#: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:56
+#: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:129
+#: src/modules/lyr_std/supersample.cpp:146
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:290
-#: src/modules/lyr_std/curvewarp.cpp:393
-#: src/modules/mod_gradient/curvegradient.cpp:542
-#: src/synfig/valuenode_composite.cpp:514
-#: src/synfig/valuenode_composite.cpp:540
+#: src/modules/lyr_std/supersample.cpp:337
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_composite.cpp:524
+#: src/synfig/valuenode_composite.cpp:550
 #: src/synfig/valuenode_realstring.cpp:180
 #: src/synfig/valuenode_repeat_gradient.cpp:213
 #: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
 msgid "Width"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:291
+#: src/modules/lyr_std/supersample.cpp:338
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:294 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
 msgid "Height"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:295
+#: src/modules/lyr_std/supersample.cpp:342
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:298
+#: src/modules/lyr_std/supersample.cpp:345
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:299
+#: src/modules/lyr_std/supersample.cpp:346
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:302
+#: src/modules/lyr_std/supersample.cpp:349
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:303
+#: src/modules/lyr_std/supersample.cpp:350
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:166
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:124 src/synfig/valuenode_timeloop.cpp:179
+#: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:125
+#: src/modules/lyr_std/timeloop.cpp:134
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:129 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:130 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:134 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:135 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139
+#: src/modules/lyr_std/timeloop.cpp:148
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:140
+#: src/modules/lyr_std/timeloop.cpp:149
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144
+#: src/modules/lyr_std/timeloop.cpp:153
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:145
+#: src/modules/lyr_std/timeloop.cpp:154
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
@@ -885,115 +885,115 @@ msgstr ""
 msgid "When checked, distorts outside the circle"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:56
+#: src/modules/lyr_std/warp.cpp:57
 msgid "Warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:374
+#: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:376
+#: src/modules/lyr_std/warp.cpp:382
 msgid "Top Left corner of the source to warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:380
+#: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:381
+#: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:385
+#: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:387
+#: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:391
+#: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:393
+#: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:397
+#: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:399
+#: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:403
+#: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:405
+#: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:413
+#: src/modules/lyr_std/warp.cpp:419
 msgid "Horizon"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:414
+#: src/modules/lyr_std/warp.cpp:420
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:55
+#: src/modules/lyr_std/curvewarp.cpp:56
 msgid "Curve Warp"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:390
-msgid "Position of the source line"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:395
+#: src/modules/lyr_std/curvewarp.cpp:404
 msgid "How much is expanded the result perpendicular to the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:407
 msgid "Start Point"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:400
+#: src/modules/lyr_std/curvewarp.cpp:409
 msgid "First point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:403
+#: src/modules/lyr_std/curvewarp.cpp:412
 msgid "End Point"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:404
+#: src/modules/lyr_std/curvewarp.cpp:413
 msgid "Final point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:407
-#: src/modules/mod_geometry/advanced_outline.cpp:1123
-#: src/modules/mod_geometry/outline.cpp:814
-#: src/modules/mod_geometry/region.cpp:233
-#: src/modules/mod_gradient/curvegradient.cpp:546
-#: src/modules/mod_particle/plant.cpp:391
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
 msgid "Vertices"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:410
+#: src/modules/lyr_std/curvewarp.cpp:419
 msgid "List of Spline Points where the source line is curved to"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:413
-#: src/modules/mod_geometry/advanced_outline.cpp:1178
-#: src/modules/mod_gradient/curvegradient.cpp:567
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
 msgid "Fast"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:414
-#: src/modules/mod_gradient/curvegradient.cpp:568
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
 msgid "When checked, renders quickly but with artifacts"
 msgstr ""
 
@@ -1001,15 +1001,15 @@ msgstr ""
 msgid "XOR Pattern"
 msgstr ""
 
-#: src/modules/lyr_std/xorpattern.cpp:126
+#: src/modules/lyr_std/xorpattern.cpp:130
 msgid "Center of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/xorpattern.cpp:130
+#: src/modules/lyr_std/xorpattern.cpp:134
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:143
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
 #: src/synfig/valuenode_blinecalctangent.cpp:261
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
 #: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
@@ -1020,7 +1020,7 @@ msgstr ""
 msgid "Amount to scale to"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:105
+#: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
 msgstr ""
 
@@ -1088,126 +1088,138 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:201
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:208
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:218
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:272
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-msgid "Unable to open pipe to ffmpeg"
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:214
+msgid "Unable to open pipe to ffmpeg (no pipe)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:221
+msgid "Unable to open pipe to ffmpeg (pid == -1)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:231
+msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:285
+msgid "Unable to open pipe to ffmpeg (exec failed)"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:68
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:303
+msgid "Unable to open pipe to ffmpeg (no file)"
+msgstr ""
+
+#: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:69 src/modules/mod_filter/radialblur.cpp:56
+#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
 #: src/synfig/layer_motionblur.cpp:57
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:373
+#: src/modules/mod_filter/blur.cpp:414
 msgid "Size of Blur"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:55
+#: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:211
+#: src/modules/mod_filter/colorcorrect.cpp:217
 msgid "Hue Adjust"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:215
+#: src/modules/mod_filter/colorcorrect.cpp:221
 msgid "Brightness"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:219
+#: src/modules/mod_filter/colorcorrect.cpp:225
 msgid "Contrast"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:223
+#: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:227 src/synfig/layer_bitmap.cpp:179
+#: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:58
+#: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:151
+#: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:155
+#: src/modules/mod_filter/halftone2.cpp:159
 msgid "Mask Angle"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:159
-#: src/modules/mod_filter/halftone3.cpp:309
+#: src/modules/mod_filter/halftone2.cpp:163
+#: src/modules/mod_filter/halftone3.cpp:328
 msgid "Mask Size"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:164
+#: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:167
+#: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:172
-#: src/modules/mod_filter/halftone3.cpp:314
+#: src/modules/mod_filter/halftone2.cpp:176
+#: src/modules/mod_filter/halftone3.cpp:333
 #: src/modules/mod_gradient/conicalgradient.cpp:125
 msgid "Symmetric"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:173
-#: src/modules/mod_filter/halftone3.cpp:315
+#: src/modules/mod_filter/halftone2.cpp:177
+#: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:175
-#: src/modules/mod_filter/halftone3.cpp:317
+#: src/modules/mod_filter/halftone2.cpp:179
+#: src/modules/mod_filter/halftone3.cpp:336
 msgid "Diamond"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:176
-#: src/modules/mod_filter/halftone3.cpp:318
+#: src/modules/mod_filter/halftone2.cpp:180
+#: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:58
+#: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:312
+#: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:321
+#: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:329
+#: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:333
+#: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:337
+#: src/modules/mod_filter/halftone3.cpp:356
 msgid " Mask Angle"
 msgstr ""
 
-#: src/modules/mod_filter/lumakey.cpp:58
+#: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
 msgstr ""
 
-#: src/modules/mod_filter/radialblur.cpp:55
+#: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
 msgstr ""
 
@@ -1229,19 +1241,19 @@ msgstr ""
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:62 src/synfig/layer_solidcolor.cpp:57
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:123
+#: src/modules/mod_geometry/checkerboard.cpp:147
 msgid "Color of checkers"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:127
+#: src/modules/mod_geometry/checkerboard.cpp:151
 msgid "Center of the checkers"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:131
+#: src/modules/mod_geometry/checkerboard.cpp:155
 msgid "Size of checkers"
 msgstr ""
 
@@ -1249,54 +1261,54 @@ msgstr ""
 msgid "Circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:134
+#: src/modules/mod_geometry/circle.cpp:152
 msgid "Radius of the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:138 src/synfig/layer_shape.cpp:1206
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
 msgid "Feather"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:140
+#: src/modules/mod_geometry/circle.cpp:158
 msgid "Amount of feather of the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:148
+#: src/modules/mod_geometry/circle.cpp:166
 msgid "Invert the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:152
+#: src/modules/mod_geometry/circle.cpp:170
 msgid "Falloff"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:153
+#: src/modules/mod_geometry/circle.cpp:171
 msgid "Determines the falloff function for the feather"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:155
-#: src/modules/mod_noise/distort.cpp:234 src/modules/mod_noise/noise.cpp:275
-#: src/modules/mod_noise/valuenode_random.cpp:288
-#: src/synfig/layer_bitmap.cpp:173 src/synfig/layer_motionblur.cpp:150
-#: src/synfig/valuenode.cpp:139 src/synfig/valuenode_linear.cpp:146
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:289
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
 msgid "Linear"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:156
+#: src/modules/mod_geometry/circle.cpp:174
 msgid "Squared"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:157
+#: src/modules/mod_geometry/circle.cpp:175
 msgid "Square Root"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:158
+#: src/modules/mod_geometry/circle.cpp:176
 msgid "Sigmond"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:159
-#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:276
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:174
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:290
+#: src/synfig/layer_bitmap.cpp:170
 msgid "Cosine"
 msgstr ""
 
@@ -1304,160 +1316,160 @@ msgstr ""
 msgid "Advanced Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:133
+#: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1125
-#: src/modules/mod_geometry/outline.cpp:817
-#: src/modules/mod_geometry/region.cpp:235
-#: src/modules/mod_gradient/curvegradient.cpp:549
-#: src/modules/mod_particle/plant.cpp:392
+#: src/modules/mod_geometry/advanced_outline.cpp:1136
+#: src/modules/mod_geometry/outline.cpp:826
+#: src/modules/mod_geometry/region.cpp:240
+#: src/modules/mod_gradient/curvegradient.cpp:562
+#: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1129
-#: src/modules/mod_geometry/outline.cpp:831
+#: src/modules/mod_geometry/advanced_outline.cpp:1140
+#: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1130
-#: src/modules/mod_geometry/outline.cpp:832
+#: src/modules/mod_geometry/advanced_outline.cpp:1141
+#: src/modules/mod_geometry/outline.cpp:841
 msgid "Global width of the outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:837
+#: src/modules/mod_geometry/advanced_outline.cpp:1145
+#: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1135
-#: src/modules/mod_geometry/outline.cpp:838
+#: src/modules/mod_geometry/advanced_outline.cpp:1146
+#: src/modules/mod_geometry/outline.cpp:847
 msgid "Value to add to the global width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1138
+#: src/modules/mod_geometry/advanced_outline.cpp:1149
 msgid "Tip Type at Start"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1139
+#: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1141
-#: src/modules/mod_geometry/advanced_outline.cpp:1150
-#: src/synfig/valuenode_composite.cpp:548
+#: src/modules/mod_geometry/advanced_outline.cpp:1152
+#: src/modules/mod_geometry/advanced_outline.cpp:1161
 #: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:587
-#: src/synfig/valuenode_composite.cpp:596
+#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:606
 msgid "Rounded Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1142
-#: src/modules/mod_geometry/advanced_outline.cpp:1151
-#: src/synfig/valuenode_composite.cpp:549
+#: src/modules/mod_geometry/advanced_outline.cpp:1153
+#: src/modules/mod_geometry/advanced_outline.cpp:1162
 #: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:588
-#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:607
 msgid "Squared Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1143
-#: src/modules/mod_geometry/advanced_outline.cpp:1152
-#: src/synfig/valuenode_composite.cpp:550
+#: src/modules/mod_geometry/advanced_outline.cpp:1154
+#: src/modules/mod_geometry/advanced_outline.cpp:1163
 #: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:570
+#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:608
 msgid "Peak Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1144
-#: src/modules/mod_geometry/advanced_outline.cpp:1153
-#: src/synfig/valuenode_composite.cpp:551
+#: src/modules/mod_geometry/advanced_outline.cpp:1155
+#: src/modules/mod_geometry/advanced_outline.cpp:1164
 #: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:590
-#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:571
+#: src/synfig/valuenode_composite.cpp:600
+#: src/synfig/valuenode_composite.cpp:609
 msgid "Flat Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1147
+#: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1148
+#: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1156
+#: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1157
-#: src/modules/mod_geometry/outline.cpp:843
+#: src/modules/mod_geometry/advanced_outline.cpp:1168
+#: src/modules/mod_geometry/outline.cpp:852
 msgid "Determines cusp type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1159
+#: src/modules/mod_geometry/advanced_outline.cpp:1170
 msgid "Sharp"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1160
+#: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1164
+#: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1165
+#: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1168
-#: src/modules/mod_geometry/outline.cpp:859
+#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/outline.cpp:869
 #: src/synfig/valuenode_blinecalctangent.cpp:271
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1169
+#: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
+#: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1175
+#: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1182
+#: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1184
+#: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1187
+#: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1190
+#: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1193
+#: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1196
+#: src/modules/mod_geometry/advanced_outline.cpp:1207
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
@@ -1465,32 +1477,36 @@ msgstr ""
 msgid "Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:183
+#: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:842
+#: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:847
+#: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:848
-#: src/modules/mod_geometry/outline.cpp:853
+#: src/modules/mod_geometry/outline.cpp:857
+#: src/modules/mod_geometry/outline.cpp:862
 msgid "Round off the tip"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:852
+#: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:856
+#: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:860
+#: src/modules/mod_geometry/outline.cpp:866
+msgid "(Currently not used)"
+msgstr ""
+
+#: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
 msgstr ""
 
@@ -1498,11 +1514,11 @@ msgstr ""
 msgid "Rectangle"
 msgstr ""
 
-#: src/modules/mod_geometry/rectangle.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
 msgstr ""
 
-#: src/modules/mod_geometry/rectangle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
 msgstr ""
 
@@ -1514,46 +1530,46 @@ msgstr ""
 msgid "Star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:183
+#: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:184
+#: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190
+#: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:191
+#: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:197
+#: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:129
+#: src/modules/mod_gradient/spiralgradient.cpp:130
 #: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:198
+#: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:203 src/synfig/distance.cpp:251
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
 msgid "Points"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:204
+#: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:208
+#: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:209
+#: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
@@ -1571,20 +1587,20 @@ msgid "Conical Gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
-#: src/modules/mod_gradient/curvegradient.cpp:61
+#: src/modules/mod_gradient/curvegradient.cpp:62
 #: src/modules/mod_gradient/lineargradient.cpp:55
 #: src/modules/mod_gradient/radialgradient.cpp:58
-#: src/modules/mod_gradient/spiralgradient.cpp:57
-#: src/modules/mod_noise/noise.cpp:58
+#: src/modules/mod_gradient/spiralgradient.cpp:58
+#: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
-#: src/modules/mod_gradient/curvegradient.cpp:553
-#: src/modules/mod_gradient/lineargradient.cpp:200
+#: src/modules/mod_gradient/curvegradient.cpp:566
+#: src/modules/mod_gradient/lineargradient.cpp:195
 #: src/modules/mod_gradient/radialgradient.cpp:114
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:260
+#: src/modules/mod_gradient/spiralgradient.cpp:114
+#: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
 msgstr ""
 
@@ -1597,27 +1613,27 @@ msgid "Rotation of the gradient around the center"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
-#: src/modules/mod_gradient/curvegradient.cpp:557
-#: src/modules/mod_gradient/lineargradient.cpp:204
+#: src/modules/mod_gradient/curvegradient.cpp:570
+#: src/modules/mod_gradient/lineargradient.cpp:199
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:60
+#: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:538
-#: src/modules/mod_particle/plant.cpp:399
+#: src/modules/mod_gradient/curvegradient.cpp:551
+#: src/modules/mod_particle/plant.cpp:432
 msgid "Offset for the Vertices List"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:543
+#: src/modules/mod_gradient/curvegradient.cpp:556
 msgid "Global width of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:556
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/curvegradient.cpp:569
+#: src/modules/mod_gradient/lineargradient.cpp:198
 #: src/modules/mod_gradient/radialgradient.cpp:130
 #: src/synfig/valuenode_blinecalctangent.cpp:246
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
@@ -1625,19 +1641,19 @@ msgstr ""
 msgid "Loop"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:560
-#: src/modules/mod_gradient/lineargradient.cpp:207
+#: src/modules/mod_gradient/curvegradient.cpp:573
+#: src/modules/mod_gradient/lineargradient.cpp:202
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:561
-#: src/modules/mod_gradient/lineargradient.cpp:208
+#: src/modules/mod_gradient/curvegradient.cpp:574
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:136
 msgid "When checked the gradient is summetrical at the center"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:564
+#: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
 msgstr ""
 
@@ -1645,11 +1661,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:192
+#: src/modules/mod_gradient/lineargradient.cpp:187
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:196
+#: src/modules/mod_gradient/lineargradient.cpp:191
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1658,23 +1674,23 @@ msgid "Radial Gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:119
 msgid "Center of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:56
+#: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:130
+#: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:135
+#: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:136
+#: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
@@ -1687,13 +1703,15 @@ msgstr ""
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/listimporter.cpp:184 src/synfig/listimporter.cpp:185
+#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
+#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
 msgid "Unable to open "
 msgstr ""
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/listimporter.cpp:191 src/synfig/listimporter.cpp:192
+#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
+#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
 msgid "Unable to get frame from "
 msgstr ""
 
@@ -1731,115 +1749,115 @@ msgstr ""
 msgid "Unable to open pipe to imagemagick's convert utility"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:57
+#: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:217
+#: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:218
+#: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:223
+#: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:226 src/modules/mod_noise/noise.cpp:263
+#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:264
+#: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:230 src/modules/mod_noise/noise.cpp:271
-#: src/modules/mod_noise/valuenode_random.cpp:284
-#: src/synfig/layer_bitmap.cpp:169
+#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
-#: src/synfig/layer_bitmap.cpp:170
+#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
+#: src/synfig/layer_bitmap.cpp:166
 msgid "What type of interpolation to use"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:233 src/modules/mod_noise/noise.cpp:274
-#: src/synfig/layer_bitmap.cpp:172
+#: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
+#: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:277
-#: src/modules/mod_noise/valuenode_random.cpp:290 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_bline.cpp:1001
+#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
+#: src/synfig/valuenode_bline.cpp:1006
 #: src/synfig/valuenode_blinecalctangent.cpp:241
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:237 src/modules/mod_noise/noise.cpp:278
-#: src/modules/mod_noise/valuenode_random.cpp:291
-#: src/synfig/layer_bitmap.cpp:175
+#: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:281
+#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:282
+#: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:244 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:248 src/modules/mod_noise/noise.cpp:289
+#: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:290
+#: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:183
+#: src/modules/mod_noise/valuenode_random.cpp:184
 msgid "Random"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:57
+#: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:268
+#: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:293
+#: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:294
+#: src/modules/mod_noise/noise.cpp:303
 msgid "Uses transparency"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:297
+#: src/modules/mod_noise/noise.cpp:306
 msgid "Super Sampling"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:298
+#: src/modules/mod_noise/noise.cpp:307
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:264
+#: src/modules/mod_noise/valuenode_random.cpp:265
 #: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
 #: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
 #: src/synfig/valuenode_reciprocal.cpp:165
@@ -1848,167 +1866,167 @@ msgstr ""
 msgid "Link"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:270
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:274
-#: src/modules/mod_particle/plant.cpp:450
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:276
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:279
+#: src/modules/mod_noise/valuenode_random.cpp:280
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:281
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:286
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:288
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:296
+#: src/modules/mod_noise/valuenode_random.cpp:297
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:298
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:69
+#: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:404
+#: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:408
+#: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:409
+#: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:413
+#: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:414
+#: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:419
+#: src/modules/mod_particle/plant.cpp:452
 msgid "Tangential Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:420
+#: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:424
+#: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:425
+#: src/modules/mod_particle/plant.cpp:458
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:429
+#: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:430
+#: src/modules/mod_particle/plant.cpp:463
 msgid "Size of the stem"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:435
+#: src/modules/mod_particle/plant.cpp:468
 msgid "Size As Alpha"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:436
+#: src/modules/mod_particle/plant.cpp:469
 msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:440
+#: src/modules/mod_particle/plant.cpp:473
 msgid "Reverse"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:441
+#: src/modules/mod_particle/plant.cpp:474
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:445 src/synfig/valuenode.cpp:170
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
 #: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
 msgid "Step"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:446
+#: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:451
+#: src/modules/mod_particle/plant.cpp:484
 msgid "Used to seed the pseudo-random number generator"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:455
+#: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:456
+#: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:460
+#: src/modules/mod_particle/plant.cpp:493
 msgid "Sprouts"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:461
+#: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:465
+#: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:466
+#: src/modules/mod_particle/plant.cpp:499
 msgid ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:470
+#: src/modules/mod_particle/plant.cpp:503
 msgid "Drag"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:471
+#: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:475
+#: src/modules/mod_particle/plant.cpp:508
 msgid "Use Width"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:476
+#: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
@@ -2017,97 +2035,102 @@ msgstr ""
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:87 src/synfig/importer.cpp:87
+#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
 msgid "Importer::open(): Cannot open empty filename"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:101 src/synfig/importer.cpp:101
+#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
 msgid "Importer::open(): Couldn't find extension"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:112 src/synfig/importer.cpp:112
+#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
 msgid "Importer::open(): Unknown file type -- "
 msgstr ""
 
-#: src/synfig/canvas.cpp:798 src/synfig/canvas.cpp:863
-#: src/synfig/canvas.cpp:886
+#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
+#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+msgid "No images in list"
+msgstr ""
+
+#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
+#: src/synfig/canvas.cpp:927
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:249
+#: src/synfig/distance.cpp:251
 msgid "Units"
 msgstr ""
 
-#: src/synfig/distance.cpp:250
+#: src/synfig/distance.cpp:252
 msgid "Pixels"
 msgstr ""
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:254
 msgid "Inches"
 msgstr ""
 
-#: src/synfig/distance.cpp:253
+#: src/synfig/distance.cpp:255
 msgid "Meters"
 msgstr ""
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:256
 msgid "Millimeters"
 msgstr ""
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:257
 msgid "Centimeters"
 msgstr ""
 
-#: src/synfig/layer.cpp:565 src/synfig/layer_composite.cpp:128
+#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:619
+#: src/synfig/layer.cpp:605
 msgid "Z Depth"
 msgstr ""
 
-#: src/synfig/layer.cpp:621
+#: src/synfig/layer.cpp:607
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:159
+#: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:160
+#: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:164
+#: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:165
+#: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:218
+#: src/synfig/layer_composite.cpp:250
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:221 src/synfig/paramdesc.cpp:62
+#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:222
+#: src/synfig/layer_composite.cpp:254
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:168
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
 #: src/synfig/valuenode_duplicate.cpp:174
 msgid "Duplicate"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:148
+#: src/synfig/layer_duplicate.cpp:151
 msgid "Index"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:149
+#: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
 msgstr ""
 
@@ -2119,156 +2142,156 @@ msgstr ""
 msgid "Motion Blur"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:136
+#: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:137
+#: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:141
+#: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:142
+#: src/synfig/layer_motionblur.cpp:141
 msgid "Multiplies The Number Of Subsamples Rendered"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:146
+#: src/synfig/layer_motionblur.cpp:145
 msgid "Subsampling Type"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:147
+#: src/synfig/layer_motionblur.cpp:146
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:149 src/synfig/valuenode_const.cpp:127
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
 msgid "Constant"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:151
+#: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:155
+#: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:156
+#: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:160
+#: src/synfig/layer_motionblur.cpp:159
 msgid "Subsample End Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:161
+#: src/synfig/layer_motionblur.cpp:160
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:78 src/synfig/layer_pastecanvas.cpp:120
-#: src/synfig/layer_pastecanvas.cpp:121
+#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
+#: src/synfig/layer_pastecanvas.cpp:124
 msgid "Group"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:137
+#: src/synfig/layer_pastecanvas.cpp:140
 msgid "Canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:138
+#: src/synfig/layer_pastecanvas.cpp:141
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:144
 msgid "Zoom"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:142
+#: src/synfig/layer_pastecanvas.cpp:145
 msgid "Size of canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:147
+#: src/synfig/layer_pastecanvas.cpp:152
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:151
+#: src/synfig/layer_pastecanvas.cpp:156
 msgid "Children Lock"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:157
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
+#: src/synfig/layer_pastecanvas.cpp:162
 msgid "Focus Point"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:159
+#: src/synfig/layer_pastecanvas.cpp:165
 msgid "Point to remain fixed when zooming"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:164
+#: src/synfig/layer_pastecanvas.cpp:170
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:165
+#: src/synfig/layer_pastecanvas.cpp:171
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:180
+#: src/synfig/layer_pastecanvas.cpp:186
 msgid "Current Time"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:61
+#: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:187
+#: src/synfig/layer_polygon.cpp:194
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:188
+#: src/synfig/layer_polygon.cpp:195
 msgid "Define the corners of the polygon"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:64
+#: src/synfig/layer_shape.cpp:66
 msgid "Shape"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:65
+#: src/synfig/layer_shape.cpp:67
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1194
+#: src/synfig/layer_shape.cpp:1222
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1203
+#: src/synfig/layer_shape.cpp:1231
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1210
+#: src/synfig/layer_shape.cpp:1238
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1211
+#: src/synfig/layer_shape.cpp:1239
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1220
+#: src/synfig/layer_shape.cpp:1248
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_shape.cpp:1249
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1223
+#: src/synfig/layer_shape.cpp:1251
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1224
+#: src/synfig/layer_shape.cpp:1252
 msgid "Even/Odd"
 msgstr ""
 
@@ -2276,406 +2299,406 @@ msgstr ""
 msgid "Solid Color"
 msgstr ""
 
-#: src/synfig/listimporter.cpp:161 src/synfig/listimporter.cpp:162
-msgid "No images in list"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:142
+#: src/synfig/loadcanvas.cpp:143
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:185
+#: src/synfig/loadcanvas.cpp:186
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:191
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:205
+#: src/synfig/loadcanvas.cpp:206
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:236
+#: src/synfig/loadcanvas.cpp:237
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:469
-#: src/synfig/loadcanvas.cpp:1118
+#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
+#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:473
-#: src/synfig/loadcanvas.cpp:1122
+#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
+#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:484 src/synfig/loadcanvas.cpp:1144
+#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
+#: src/synfig/loadcanvas.cpp:1200
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:508
+#: src/synfig/loadcanvas.cpp:533
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1284
+#: src/synfig/loadcanvas.cpp:1353
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1301
+#: src/synfig/loadcanvas.cpp:1375
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1314
+#: src/synfig/loadcanvas.cpp:1388
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1330
+#: src/synfig/loadcanvas.cpp:1404
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1336 src/synfig/loadcanvas.cpp:1348
+#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1365
+#: src/synfig/loadcanvas.cpp:1439
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1380
+#: src/synfig/loadcanvas.cpp:1455
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1424 src/synfig/loadcanvas.cpp:1443
-#, c-format
-msgid "\"%s\" not a valid value for attribute \"%s\" in <%s>"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:1504
+#: src/synfig/loadcanvas.cpp:1556
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1512
+#: src/synfig/loadcanvas.cpp:1565
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1522
+#: src/synfig/loadcanvas.cpp:1577
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1531
+#: src/synfig/loadcanvas.cpp:1587
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1557 src/synfig/loadcanvas.cpp:1628
+#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1570
+#: src/synfig/loadcanvas.cpp:1625
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1579
+#: src/synfig/loadcanvas.cpp:1634
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1603
+#: src/synfig/loadcanvas.cpp:1658
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1643
+#: src/synfig/loadcanvas.cpp:1698
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1652
+#: src/synfig/loadcanvas.cpp:1707
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1659
+#: src/synfig/loadcanvas.cpp:1714
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1677
+#: src/synfig/loadcanvas.cpp:1732
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1747
+#: src/synfig/loadcanvas.cpp:1811
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1841
-msgid "Unable to create <dynamic_list>"
+#: src/synfig/loadcanvas.cpp:1861
+msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1993
+#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2038
+#: src/synfig/loadcanvas.cpp:1998
+msgid "Unable to create <dynamic_list>"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2220
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2076
+#: src/synfig/loadcanvas.cpp:2283
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2097
+#: src/synfig/loadcanvas.cpp:2304
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2102
+#: src/synfig/loadcanvas.cpp:2310
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2107
+#: src/synfig/loadcanvas.cpp:2316
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2142
+#: src/synfig/loadcanvas.cpp:2373
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2161
+#: src/synfig/loadcanvas.cpp:2392
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2181
+#: src/synfig/loadcanvas.cpp:2415
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2184
+#: src/synfig/loadcanvas.cpp:2418
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2192
+#: src/synfig/loadcanvas.cpp:2426
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2209
+#: src/synfig/loadcanvas.cpp:2443
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2214
+#: src/synfig/loadcanvas.cpp:2448
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2454
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2222
+#: src/synfig/loadcanvas.cpp:2456
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2244
+#: src/synfig/loadcanvas.cpp:2480
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2260
+#: src/synfig/loadcanvas.cpp:2496
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2272 src/synfig/loadcanvas.cpp:2292
+#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2280
+#: src/synfig/loadcanvas.cpp:2516
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2303
+#: src/synfig/loadcanvas.cpp:2539
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2376 src/synfig/loadcanvas.cpp:2384
+#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2470
+#: src/synfig/loadcanvas.cpp:2710
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2478
+#: src/synfig/loadcanvas.cpp:2717
+msgid "Inline canvas cannot have a <bones> section"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2725
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2490
+#: src/synfig/loadcanvas.cpp:2737
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2498
+#: src/synfig/loadcanvas.cpp:2745
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2504
+#: src/synfig/loadcanvas.cpp:2751
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:2763
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2531
+#: src/synfig/loadcanvas.cpp:2778
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2546
+#: src/synfig/loadcanvas.cpp:2793
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2578
+#: src/synfig/loadcanvas.cpp:2828
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580 src/synfig/valuenode.cpp:353
+#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580
+#: src/synfig/loadcanvas.cpp:2830
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2660 src/synfig/loadcanvas.cpp:2716
+#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:102
+#: src/synfig/main.cpp:118
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:107
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:112
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:117
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:122
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:184
+#: src/synfig/main.cpp:207
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:186
+#: src/synfig/main.cpp:209
 msgid "Unable to initialize subsystem \"Module\""
 msgstr ""
 
-#: src/synfig/main.cpp:188
+#: src/synfig/main.cpp:211
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:192
+#: src/synfig/main.cpp:215
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:195
+#: src/synfig/main.cpp:218
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:200
+#: src/synfig/main.cpp:223
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:203
+#: src/synfig/main.cpp:226
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
+#: src/synfig/main.cpp:232
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:212
+#: src/synfig/main.cpp:235
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:219
+#: src/synfig/main.cpp:242
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:222
+#: src/synfig/main.cpp:245
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:230
+#: src/synfig/main.cpp:253
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:267 src/synfig/main.cpp:268
+#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:279
+#: src/synfig/main.cpp:302
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:293 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:360 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:375 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:390
+#: src/synfig/main.cpp:413
 msgid "info"
 msgstr ""
 
@@ -2750,145 +2773,145 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:64 src/synfig/valuenode.cpp:140
-#: src/synfig/valuenode_composite.cpp:437
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
+#: src/synfig/valuenode_composite.cpp:447
 msgid "Composite"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:65
+#: src/synfig/paramdesc.cpp:69
 msgid "Straight"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:66
+#: src/synfig/paramdesc.cpp:70
 msgid "Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:67
+#: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68
+#: src/synfig/paramdesc.cpp:72
 msgid "Behind"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:69
+#: src/synfig/paramdesc.cpp:73
 msgid "Screen"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:70
+#: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:71
+#: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:72
+#: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:73
+#: src/synfig/paramdesc.cpp:77
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:74 src/synfig/valuenode.cpp:157
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
 #: src/synfig/valuenode_add.cpp:190
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:75 src/synfig/valuenode.cpp:147
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
 #: src/synfig/valuenode_subtract.cpp:194
 msgid "Subtract"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:76
+#: src/synfig/paramdesc.cpp:80
 msgid "Difference"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:77
+#: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78
+#: src/synfig/paramdesc.cpp:82
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:80 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
 msgid "Hue"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:81 src/synfig/valuenode_radialcomposite.cpp:260
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
 #: src/synfig/valuenode_radialcomposite.cpp:266
 msgid "Saturation"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:82
+#: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:83
+#: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84
+#: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85
+#: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
 msgstr ""
 
-#: src/synfig/render.cpp:246 src/synfig/render.cpp:247
-#: src/synfig/render.cpp:301 src/synfig/render.cpp:302
-#: src/synfig/render.cpp:536 src/synfig/render.cpp:537
-#: src/synfig/render.cpp:563 src/synfig/render.cpp:564
+#: src/synfig/render.cpp:248 src/synfig/render.cpp:249
+#: src/synfig/render.cpp:303 src/synfig/render.cpp:304
+#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
+#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:290
+#: src/synfig/savecanvas.cpp:359
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:543
+#: src/synfig/savecanvas.cpp:674 src/synfig/savecanvas.cpp:699
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:185
+#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
 #: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:281
 msgid "Target initialization failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:146
+#: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:155 src/synfig/target_scanline.cpp:258
-#: src/synfig/target_scanline.cpp:405
+#: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:260
+#: src/synfig/target_scanline.cpp:407
 msgid "Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:162
+#: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:169 src/synfig/target_cairo_tile.cpp:248
-#: src/synfig/target_scanline.cpp:418 src/synfig/target_tile.cpp:396
+#: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
+#: src/synfig/target_scanline.cpp:420 src/synfig/target_tile.cpp:398
 msgid "Caught string :"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:174 src/synfig/target_cairo_tile.cpp:253
-#: src/synfig/target_scanline.cpp:423 src/synfig/target_tile.cpp:401
+#: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
+#: src/synfig/target_scanline.cpp:425 src/synfig/target_tile.cpp:403
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:179 src/synfig/target_cairo_tile.cpp:258
-#: src/synfig/target_scanline.cpp:428 src/synfig/target_tile.cpp:406
+#: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
+#: src/synfig/target_scanline.cpp:430 src/synfig/target_tile.cpp:408
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:190
+#: src/synfig/target_cairo.cpp:201
 msgid "Cairo Surface bad status"
 msgstr ""
 
@@ -2896,24 +2919,24 @@ msgstr ""
 msgid "Bad Tile Size"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:142 src/synfig/target_cairo_tile.cpp:240
-#: src/synfig/target_scanline.cpp:203 src/synfig/target_scanline.cpp:249
-#: src/synfig/target_scanline.cpp:348 src/synfig/target_scanline.cpp:396
+#: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
+#: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:251
+#: src/synfig/target_scanline.cpp:350 src/synfig/target_scanline.cpp:398
 #: src/synfig/target_tile.cpp:225
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:150
+#: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:156 src/synfig/target_tile.cpp:179
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:179
 #: src/synfig/target_tile.cpp:245
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:211
+#: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
 msgstr ""
 
@@ -2937,277 +2960,317 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:276 src/synfig/value.cpp:308 src/synfig/value.cpp:360
+#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
 msgid "bool"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:277 src/synfig/value.cpp:310 src/synfig/value.cpp:358
+#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
 msgid "integer"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:278 src/synfig/value.cpp:312
+#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
 msgid "angle"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:279 src/synfig/value.cpp:314 src/synfig/value.cpp:352
+#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
 msgid "time"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:280 src/synfig/value.cpp:316 src/synfig/value.cpp:355
+#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
 msgid "real"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:281 src/synfig/value.cpp:318
+#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
 msgid "vector"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:282 src/synfig/value.cpp:320
+#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
 msgid "color"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:283 src/synfig/value.cpp:322
+#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
 msgid "segment"
 msgstr ""
 
-#: src/synfig/value.cpp:284
+#: src/synfig/value.cpp:378
 msgid "bline_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:285 src/synfig/value.cpp:326
+#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
+msgid "matrix"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
+msgid "bone_weight_pair"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
 msgid "width_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:286 src/synfig/value.cpp:328
+#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
 msgid "dash_item"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:287 src/synfig/value.cpp:330
+#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
 msgid "list"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:288 src/synfig/value.cpp:332
+#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
 msgid "canvas"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:289 src/synfig/value.cpp:334
+#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
 msgid "string"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:290 src/synfig/value.cpp:336
+#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
 msgid "gradient"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:291 src/synfig/value.cpp:338
+#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
+msgid "bone_object"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
+msgid "bone_valuenode"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
 msgid "nil"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:324
+#: src/synfig/value.cpp:422
 msgid "spline_point"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:141 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:142 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:144 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:146 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_dynamiclist.cpp:755
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
 #: src/synfig/valuenode_switch.cpp:163
 msgid "Switch"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164
+#: src/synfig/valuenode.cpp:170
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165
+#: src/synfig/valuenode.cpp:171
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
 msgid "Integer"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:176 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177
+#: src/synfig/valuenode.cpp:183
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:178
+#: src/synfig/valuenode.cpp:184
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_real.cpp:161
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
 #: src/synfig/valuenode_realstring.cpp:175
 msgid "Real"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:189
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:190
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185
+#: src/synfig/valuenode.cpp:191
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187
+#: src/synfig/valuenode.cpp:192
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:199
+msgid "Bone Influence"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:200
+msgid "Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:201
+msgid "Root Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:202
+msgid "Static List"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:203
+msgid "Bone Weight Pair"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:206
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:233
+#: src/synfig/valuenode.cpp:241
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:513
+#: src/synfig/valuenode.cpp:540
 msgid "Placeholder"
 msgstr ""
 
-#: src/synfig/valuenode.h:61
+#: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
@@ -3274,32 +3337,32 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:355 src/synfig/valuenode_animated.cpp:379
-#: src/synfig/valuenode_animated.cpp:703 src/synfig/valuenode_animated.cpp:721
-#: src/synfig/valuenode_animated.cpp:801 src/synfig/valuenode_animated.cpp:820
+#: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
+#: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
+#: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1134
+#: src/synfig/valuenode_animated.cpp:1173
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1169
+#: src/synfig/valuenode_animated.cpp:1208
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:977 src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
 #: src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:980 src/synfig/valuenode_dynamiclist.cpp:664
+#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
 #: src/synfig/valuenode_wplist.cpp:339
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_bline.cpp:1023
+#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
@@ -3319,7 +3382,7 @@ msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:584
 #: src/synfig/valuenode_gradientrotate.cpp:169
 #: src/synfig/valuenode_linear.cpp:213
 msgid "Offset"
@@ -3373,190 +3436,186 @@ msgstr ""
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:219
+#: src/synfig/valuenode_composite.cpp:229
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:464
+#: src/synfig/valuenode_composite.cpp:474
 msgid "Red"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:465
+#: src/synfig/valuenode_composite.cpp:475
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:468
+#: src/synfig/valuenode_composite.cpp:478
 msgid "Green"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:469
+#: src/synfig/valuenode_composite.cpp:479
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:472
+#: src/synfig/valuenode_composite.cpp:482
 msgid "Blue"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:473
+#: src/synfig/valuenode_composite.cpp:483
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:476
+#: src/synfig/valuenode_composite.cpp:486
 msgid "Alpha"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:477
+#: src/synfig/valuenode_composite.cpp:487
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:492
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:493
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
-#: src/synfig/valuenode_composite.cpp:526
+#: src/synfig/valuenode_composite.cpp:496
+#: src/synfig/valuenode_composite.cpp:536
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:497
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:490
+#: src/synfig/valuenode_composite.cpp:500
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:491
+#: src/synfig/valuenode_composite.cpp:501
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:494
-#: src/synfig/valuenode_composite.cpp:530
+#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:540
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:495
+#: src/synfig/valuenode_composite.cpp:505
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:510
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:511
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:514
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:515
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:520
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:521
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:525
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:519
+#: src/synfig/valuenode_composite.cpp:529
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:522
+#: src/synfig/valuenode_composite.cpp:532
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:523
+#: src/synfig/valuenode_composite.cpp:533
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:527
+#: src/synfig/valuenode_composite.cpp:537
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:531
+#: src/synfig/valuenode_composite.cpp:541
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:547
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:551
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:544
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_composite.cpp:554
+#: src/synfig/valuenode_composite.cpp:594
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:545
 #: src/synfig/valuenode_composite.cpp:555
+#: src/synfig/valuenode_composite.cpp:565
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
 #: src/synfig/valuenode_composite.cpp:557
+#: src/synfig/valuenode_composite.cpp:567
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:593
+#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:603
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:574
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:575
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:578
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:579
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:585
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:589
 #: src/synfig/valuenode_timedswap.cpp:260
 msgid "Length"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:580
+#: src/synfig/valuenode_composite.cpp:590
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:595
+#: src/synfig/valuenode_composite.cpp:604
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_const.cpp:127
-msgid "Static"
-msgstr ""
-
 #: src/synfig/valuenode_compare.cpp:168
 msgid "The left side of the comparison"
 msgstr ""
@@ -3621,12 +3680,12 @@ msgstr ""
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:655
+#: src/synfig/valuenode_dynamiclist.cpp:661
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:703
-#: src/synfig/valuenode_dynamiclist.cpp:957
+#: src/synfig/valuenode_dynamiclist.cpp:709
+#: src/synfig/valuenode_dynamiclist.cpp:964
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3950,7 +4009,7 @@ msgid "Intersection"
 msgstr ""
 
 #: src/synfig/valuenode_step.cpp:213
-msgid "Value that define whether the step is centerd on the value [0,1]"
+msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
@@ -4083,195 +4142,195 @@ msgstr ""
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:133
+#: src/tool/main.cpp:140
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:169
+#: src/tool/main.cpp:176
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:171
+#: src/tool/main.cpp:178
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:172
+#: src/tool/main.cpp:179
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:173
+#: src/tool/main.cpp:180
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:174
+#: src/tool/main.cpp:181
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:175
+#: src/tool/main.cpp:182
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:176
+#: src/tool/main.cpp:183
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:184
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:178
+#: src/tool/main.cpp:185
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:186
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:187
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:188
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:189
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:190
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:191
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:185 src/tool/main.cpp:186
+#: src/tool/main.cpp:192 src/tool/main.cpp:193
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:194
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:195
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:196
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:197
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:193
+#: src/tool/main.cpp:200
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:202
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:203
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:204
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:200
+#: src/tool/main.cpp:207
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:202
+#: src/tool/main.cpp:209
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:210
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:204 src/tool/main.cpp:230
+#: src/tool/main.cpp:211 src/tool/main.cpp:237
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:207
+#: src/tool/main.cpp:214
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:216
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:210
+#: src/tool/main.cpp:217
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:213
+#: src/tool/main.cpp:220
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:215
+#: src/tool/main.cpp:222
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:223
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:217
+#: src/tool/main.cpp:224
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:225
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:226
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:220
+#: src/tool/main.cpp:227
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:221
+#: src/tool/main.cpp:228
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:229
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:223
+#: src/tool/main.cpp:230
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:231
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:232
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:241
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:236
+#: src/tool/main.cpp:243
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:237
+#: src/tool/main.cpp:244
 msgid "Test signal implementation"
 msgstr ""
 
@@ -4335,157 +4394,157 @@ msgstr ""
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:113
+#: src/tool/optionsprocessor.cpp:114
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:115
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:131
+#: src/tool/optionsprocessor.cpp:132
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:146
+#: src/tool/optionsprocessor.cpp:147
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:224
+#: src/tool/optionsprocessor.cpp:225
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:226
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:227
+#: src/tool/optionsprocessor.cpp:228
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:232
+#: src/tool/optionsprocessor.cpp:233
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:234
+#: src/tool/optionsprocessor.cpp:235
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:236
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:239
+#: src/tool/optionsprocessor.cpp:240
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:243
+#: src/tool/optionsprocessor.cpp:244
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:309
+#: src/tool/optionsprocessor.cpp:310
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:316
+#: src/tool/optionsprocessor.cpp:317
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:324
+#: src/tool/optionsprocessor.cpp:325
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:334
+#: src/tool/optionsprocessor.cpp:335
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:343
+#: src/tool/optionsprocessor.cpp:344
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:352
+#: src/tool/optionsprocessor.cpp:353
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:379
+#: src/tool/optionsprocessor.cpp:380
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:385
+#: src/tool/optionsprocessor.cpp:386
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:400
+#: src/tool/optionsprocessor.cpp:401
 #, c-format
 msgid "Resolution set to %dx%d"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:417
+#: src/tool/optionsprocessor.cpp:418
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:437
+#: src/tool/optionsprocessor.cpp:438
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:440
+#: src/tool/optionsprocessor.cpp:441
 #, c-format
 msgid "Target video codec set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:446
+#: src/tool/optionsprocessor.cpp:447
 #, c-format
 msgid "Target bitrate set to %dk"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:452
+#: src/tool/optionsprocessor.cpp:453
 #, c-format
 msgid "Output file sequence separator set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:487
+#: src/tool/optionsprocessor.cpp:488
 #, c-format
 msgid "Unable to load '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:494
+#: src/tool/optionsprocessor.cpp:495
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:499
+#: src/tool/optionsprocessor.cpp:500
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:513
+#: src/tool/optionsprocessor.cpp:514
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:532
+#: src/tool/optionsprocessor.cpp:533
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:539
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:557
+#: src/tool/optionsprocessor.cpp:558
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:571
+#: src/tool/optionsprocessor.cpp:572
 msgid "Appended contents of "
 msgstr ""
 
diff --git a/po/sv_SE.gmo b/po/sv_SE.gmo
new file mode 100644
index 0000000..4e61932
Binary files /dev/null and b/po/sv_SE.gmo differ
diff --git a/po/en_GB.po b/po/sv_SE.po
similarity index 53%
copy from po/en_GB.po
copy to po/sv_SE.po
index 07e928b..ce78b07 100644
--- a/po/en_GB.po
+++ b/po/sv_SE.po
@@ -1,515 +1,512 @@
-# English (United Kingdom) translation for Synfig Core.
-# Copyright (C) 2012 Synfig Contributors
+# Translation file for Synfig Core package.
+# Copyright (C) 2013 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
-# berteh <berteh at hotmail.com>, 2012
-# d.j.a.y <d.j.a.y at free.fr>, 2012
-# morevnaproject <ksee.zelgadis at gmail.com>, 2011
-# pixelgeek <pxe.geek at gmail.com>, 2012
-# readmanr <robert_readman at hotmail.com>, 2011
+# Benjamin Larsson <mafortion.benjamin at gmail.com>, 2013
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2013-05-09 18:34+0200\n"
-"PO-Revision-Date: 2013-05-02 12:39+0000\n"
-"Last-Translator: genete <genetita at gmail.com>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
-"Language: en_GB\n"
+"POT-Creation-Date: 2013-10-25 17:57+0700\n"
+"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
+"Language-Team: Swedish (Sweden) (http://www.transifex.com/projects/p/synfig/"
+"language/sv_SE/)\n"
+"Language: sv_SE\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:58
+#: src/modules/mod_example/filledrect.cpp:59
 msgid "Filled Rectangle"
-msgstr "Filled Rectangle"
+msgstr "Fylld rektangel"
 
-#: src/modules/mod_example/filledrect.cpp:59
+#: src/modules/mod_example/filledrect.cpp:60
 #: src/modules/mod_example/metaballs.cpp:58
 #: src/modules/mod_example/simplecircle.cpp:58
 msgid "Example"
-msgstr "Example"
+msgstr "Exempel"
 
-#: src/modules/mod_example/filledrect.cpp:120
+#: src/modules/mod_example/filledrect.cpp:131
 #: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:523
-#: src/modules/lyr_std/shade.cpp:564
-#: src/modules/mod_geometry/checkerboard.cpp:122
-#: src/modules/mod_geometry/circle.cpp:128
-#: src/modules/mod_geometry/rectangle.cpp:125 src/synfig/layer_shape.cpp:1193
-#: src/synfig/layer_solidcolor.cpp:102 src/synfig/paramdesc.cpp:79
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:620
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
 msgid "Color"
-msgstr "Colour"
+msgstr "Färg"
 
-#: src/modules/mod_example/filledrect.cpp:121
+#: src/modules/mod_example/filledrect.cpp:132
 #: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:129
-#: src/modules/mod_geometry/rectangle.cpp:126
-#: src/synfig/layer_solidcolor.cpp:103
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
 msgid "Fill color of the layer"
-msgstr "Fill colour of the layer"
+msgstr "Fyllnadsfärg för lagret"
 
-#: src/modules/mod_example/filledrect.cpp:125
-#: src/modules/mod_geometry/rectangle.cpp:130
-#: src/modules/mod_gradient/lineargradient.cpp:190
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:185
 msgid "Point 1"
-msgstr "Point 1"
+msgstr "Punkt 1"
 
-#: src/modules/mod_example/filledrect.cpp:126
-#: src/modules/mod_geometry/rectangle.cpp:132
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
 msgid "First corner of the rectangle"
-msgstr "First corner of the rectangle"
+msgstr "Första hörnet i rektangeln"
 
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_geometry/rectangle.cpp:136
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:190
 msgid "Point 2"
-msgstr "Point 2"
+msgstr "Punkt 2"
 
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_geometry/rectangle.cpp:137
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
 msgid "Second corner of the rectangle"
-msgstr "Second corner of the rectangle"
+msgstr "Andra hörnet i rektangeln"
 
-#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_example/filledrect.cpp:147
 msgid "Feather X"
-msgstr "Feather X"
+msgstr "X-fjädring"
 
-#: src/modules/mod_example/filledrect.cpp:140
+#: src/modules/mod_example/filledrect.cpp:152
 msgid "Feather Y"
-msgstr "Feather Y"
+msgstr "Y-fjädring"
 
-#: src/modules/mod_example/filledrect.cpp:144 src/modules/lyr_std/bevel.cpp:68
-#: src/modules/mod_geometry/advanced_outline.cpp:1161
+#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
 msgid "Bevel"
-msgstr "Bevel"
+msgstr "Fas"
 
-#: src/modules/mod_example/filledrect.cpp:145
+#: src/modules/mod_example/filledrect.cpp:158
 msgid "Use Bevel for the corners"
-msgstr "Use Bevel for the corners"
+msgstr "Använd Fas i hörnen"
 
-#: src/modules/mod_example/filledrect.cpp:149
+#: src/modules/mod_example/filledrect.cpp:163
 msgid "Keep Bevel Circular"
-msgstr "Keep Bevel Circular"
+msgstr "Behåll Fas rund"
 
-#: src/modules/mod_example/filledrect.cpp:150
+#: src/modules/mod_example/filledrect.cpp:164
 msgid "When checked the bevel is circular"
-msgstr "When checked the bevel is circular"
+msgstr "När detta är på blir faskanten cirkulär"
 
 #: src/modules/mod_example/metaballs.cpp:57
 msgid "Metaballs"
 msgstr "Metaballs"
 
-#: src/modules/mod_example/metaballs.cpp:135
+#: src/modules/mod_example/metaballs.cpp:129
 #: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:552
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:194
 #: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:112
-#: src/modules/mod_noise/noise.cpp:259 src/modules/mod_particle/plant.cpp:403
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
 #: src/synfig/valuenode_gradientrotate.cpp:164
 #: src/synfig/valuenode_repeat_gradient.cpp:203
 msgid "Gradient"
 msgstr "Gradient"
 
-#: src/modules/mod_example/metaballs.cpp:139
+#: src/modules/mod_example/metaballs.cpp:133
 msgid "Balls"
-msgstr "Balls"
+msgstr "Bollar"
 
-#: src/modules/mod_example/metaballs.cpp:143
+#: src/modules/mod_example/metaballs.cpp:137
 msgid "Radii"
-msgstr "Radii"
+msgstr "Radier"
 
-#: src/modules/mod_example/metaballs.cpp:147
+#: src/modules/mod_example/metaballs.cpp:141
 msgid "Weights"
-msgstr "Weights"
+msgstr "Tjocklekar"
 
-#: src/modules/mod_example/metaballs.cpp:151
+#: src/modules/mod_example/metaballs.cpp:145
 msgid "Gradient Left"
-msgstr "Gradient Left"
+msgstr "Gradient åt vänster"
 
-#: src/modules/mod_example/metaballs.cpp:155
+#: src/modules/mod_example/metaballs.cpp:149
 msgid "Gradient Right"
-msgstr "Gradient Right"
+msgstr "Gradient åt höger"
 
-#: src/modules/mod_example/metaballs.cpp:159
+#: src/modules/mod_example/metaballs.cpp:153
 msgid "Positive Only"
-msgstr "Positive Only"
+msgstr "Endast positiva"
 
 #: src/modules/mod_example/simplecircle.cpp:57
 msgid "Simple Circle"
-msgstr "Simple Circle"
+msgstr "Enkel cirkel"
 
 #: src/modules/mod_example/simplecircle.cpp:112
 #: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
 #: src/modules/mod_gradient/conicalgradient.cpp:114
 #: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:117
+#: src/modules/mod_gradient/spiralgradient.cpp:118
 msgid "Center"
-msgstr "Centre"
+msgstr "Mitt"
 
 #: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:144
+#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
 msgid "Center of the circle"
-msgstr "Centre of the circle"
+msgstr "Cirkelns mitt"
 
 #: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:151
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:132
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
 #: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:122
-#: src/modules/mod_noise/valuenode_random.cpp:269
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/valuenode_radialcomposite.cpp:272
 msgid "Radius"
-msgstr "Radius"
+msgstr "Radie"
 
 #: src/modules/mod_example/simplecircle.cpp:118
 #: src/modules/lyr_std/twirl.cpp:118
 #: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:124
 msgid "This is the radius of the circle"
-msgstr "This is the radius of the circle"
+msgstr "Detta är cirkelns radie"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
-#: src/modules/lyr_freetype/lyr_freetype.cpp:517
+#: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "Text"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
 #: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
-#: src/modules/lyr_std/supersample.cpp:57 src/modules/lyr_std/timeloop.cpp:60
-#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:70
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:79
+#: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
+#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
 msgid "Other"
-msgstr "Other"
+msgstr "Övriga"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:97
 msgid "Text Layer"
-msgstr "Text Layer"
+msgstr "Textlager"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:390
+#: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
-msgstr "unable to initialise"
+msgstr "oförmögen att initisalisera"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:409
+#: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
-msgstr "empty font set"
+msgstr "tomt typsnittssats"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:518
+#: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
-msgstr "Text to Render"
+msgstr "Text att Rendera"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:524
+#: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
-msgstr "Colour of the text"
+msgstr "Textens färg"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:528
+#: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
-msgstr "Font Family"
+msgstr "Teckensnitt"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:533
+#: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
-msgstr "Style"
+msgstr "Stil"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:535
-#: src/modules/lyr_freetype/lyr_freetype.cpp:545
+#: src/modules/lyr_freetype/lyr_freetype.cpp:587
+#: src/modules/lyr_freetype/lyr_freetype.cpp:597
 msgid "Normal"
 msgstr "Normal"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:536
+#: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
-msgstr "Oblique"
+msgstr "Oblik"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:537
+#: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
-msgstr "Italic"
+msgstr "Kursiv"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:541
+#: src/modules/lyr_freetype/lyr_freetype.cpp:593
 msgid "Weight"
-msgstr "Weight"
+msgstr "Tjocklek"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:543
+#: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
-msgstr "Ultralight"
+msgstr "Ultramager"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:544
+#: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
-msgstr "light"
+msgstr "mager"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:546
+#: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
-msgstr "Bold"
+msgstr "Halvfet"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:547
+#: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
-msgstr "Ultrabold"
+msgstr "Fet"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:548
+#: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
-msgstr "Heavy"
+msgstr "Ultrafet"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:551
+#: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
-msgstr "Horizontal Spacing"
+msgstr "Vågrät mellanrum"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:552
+#: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
-msgstr "Describes how close glyphs are horizontally"
+msgstr "Bestämmer hur nära varandra tecken är vågrätt"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:556
+#: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
-msgstr "Vertical Spacing"
+msgstr "Radvastånd"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:557
+#: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
-msgstr "Describes how close lines of text are vertically"
+msgstr "Bestämmer hur nära varandra raderna av text är lodrätt"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:561
-#: src/modules/lyr_std/shade.cpp:570 src/modules/lyr_std/xorpattern.cpp:129
-#: src/modules/mod_filter/blur.cpp:372
+#: src/modules/lyr_freetype/lyr_freetype.cpp:613
+#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:413
 #: src/modules/mod_filter/radialblur.cpp:115
-#: src/modules/mod_geometry/checkerboard.cpp:130
-#: src/modules/mod_noise/distort.cpp:222 src/modules/mod_noise/noise.cpp:267
+#: src/modules/mod_geometry/checkerboard.cpp:154
+#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
-msgstr "Size"
+msgstr "Storlek"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:562
+#: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
-msgstr "Size of the text"
+msgstr "Textens storlek"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:569
+#: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
-msgstr "Orientation"
+msgstr "Orientering"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:570
+#: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
-msgstr "Text Orientation"
+msgstr "Textens orientering"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/insideout.cpp:143 src/modules/lyr_std/rotate.cpp:116
-#: src/modules/lyr_std/shade.cpp:567 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:389
-#: src/modules/lyr_std/xorpattern.cpp:125 src/modules/lyr_std/zoom.cpp:104
+#: src/modules/lyr_freetype/lyr_freetype.cpp:627
+#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
+#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
+#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
-#: src/modules/mod_geometry/checkerboard.cpp:126
-#: src/modules/mod_geometry/circle.cpp:143
-#: src/modules/mod_gradient/curvegradient.cpp:537
-#: src/modules/mod_particle/plant.cpp:398 src/synfig/layer_pastecanvas.cpp:133
-#: src/synfig/layer_shape.cpp:1197 src/synfig/valuenode_composite.cpp:518
+#: src/modules/mod_geometry/checkerboard.cpp:150
+#: src/modules/mod_geometry/circle.cpp:161
+#: src/modules/mod_gradient/curvegradient.cpp:550
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
+#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
 msgid "Origin"
-msgstr "Origin"
+msgstr "Utgångspunkt"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:576
+#: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
-msgstr "Text Position"
+msgstr "Textens position"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:580
+#: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
-msgstr "Font"
+msgstr "Typsnitt"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:581
+#: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
-msgstr "Filename of the font to use"
+msgstr "Filnamnet på typsnittet du vill använda"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:588
+#: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
 msgstr "Kerning"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:589
+#: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
-msgstr "Enables/Disables font kerning (If the font supports it)"
+msgstr "Slår på/av typsnittskerning (om typsnittet stödjer det)"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
-msgstr "Sharpen Edges"
+msgstr "Öka kanternas skärpa"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:594
+#: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
-msgstr "Turn this off if you are going to be animating the text"
+msgstr "Slå av detta om du ska animera texten"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:597
-#: src/modules/lyr_std/shade.cpp:587 src/modules/mod_geometry/circle.cpp:147
-#: src/synfig/layer_shape.cpp:1200
+#: src/modules/lyr_freetype/lyr_freetype.cpp:649
+#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1228
 msgid "Invert"
-msgstr "Invert"
+msgstr "Invertera"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:654
+#: src/modules/lyr_freetype/lyr_freetype.cpp:714
 msgid "No face loaded, no text will be rendered."
-msgstr "No face loaded, no text will be rendered."
+msgstr "Inget typsnitt laddades, ingen text kommer att renderas"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:680
+#: src/modules/lyr_freetype/lyr_freetype.cpp:740
 msgid "Text too small, no text will be rendered."
-msgstr "Text too small, no text will be rendered."
+msgstr "Texten är för liten, ingen text kommer att renderas"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:704
+#: src/modules/lyr_freetype/lyr_freetype.cpp:764
 msgid "Unable to set face size."
-msgstr "Unable to set face size."
+msgstr "Kan inte ställa in storlek på typsnitt"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:747
+#: src/modules/lyr_freetype/lyr_freetype.cpp:807
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr "Invalid multibyte sequence - is the locale set?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:754
+#: src/modules/lyr_freetype/lyr_freetype.cpp:814
 msgid "Can't parse multibyte character.\n"
 msgstr "Can't parse multibyte character.\n"
 
-#: src/modules/lyr_std/bevel.cpp:69 src/modules/lyr_std/shade.cpp:68
+#: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
-msgstr "Stylise"
+msgstr "Stilisera"
 
-#: src/modules/lyr_std/bevel.cpp:570 src/modules/lyr_std/shade.cpp:576
-#: src/modules/mod_filter/blur.cpp:376
-#: src/modules/mod_filter/halftone2.cpp:170
+#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
+#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
-msgstr "Type"
+msgstr "Typ"
 
-#: src/modules/lyr_std/bevel.cpp:571 src/modules/lyr_std/shade.cpp:577
-#: src/modules/mod_filter/blur.cpp:377
+#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
+#: src/modules/mod_filter/blur.cpp:418
 msgid "Type of blur to use"
-msgstr "Type of blur to use"
+msgstr "Typ av oskärpa att använda"
 
-#: src/modules/lyr_std/bevel.cpp:573 src/modules/lyr_std/shade.cpp:579
-#: src/modules/mod_filter/blur.cpp:379 src/synfig/layer_shape.cpp:1213
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
 msgid "Box Blur"
-msgstr "Box Blur"
+msgstr "Box-oskärpa"
 
-#: src/modules/lyr_std/bevel.cpp:574 src/modules/lyr_std/shade.cpp:580
-#: src/modules/mod_filter/blur.cpp:380 src/synfig/layer_shape.cpp:1214
+#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
+#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
 msgid "Fast Gaussian Blur"
-msgstr "Fast Gaussian Blur"
+msgstr "Snabb gaussisk oskärpa"
 
-#: src/modules/lyr_std/bevel.cpp:575 src/modules/lyr_std/shade.cpp:581
-#: src/modules/mod_filter/blur.cpp:381 src/synfig/layer_shape.cpp:1215
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
 msgid "Cross-Hatch Blur"
-msgstr "Cross-Hatch Blur"
+msgstr "Korsskuggnings-oskärpa"
 
-#: src/modules/lyr_std/bevel.cpp:576 src/modules/lyr_std/shade.cpp:582
-#: src/modules/mod_filter/blur.cpp:382 src/synfig/layer_shape.cpp:1216
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
 msgid "Gaussian Blur"
-msgstr "Gaussian Blur"
+msgstr "Gaussisk oskärpa"
 
-#: src/modules/lyr_std/bevel.cpp:577 src/modules/lyr_std/shade.cpp:583
-#: src/modules/mod_filter/blur.cpp:383 src/synfig/layer_shape.cpp:1217
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
 msgid "Disc Blur"
-msgstr "Disc Blur"
+msgstr "Disk-oskärpa"
 
-#: src/modules/lyr_std/bevel.cpp:581
+#: src/modules/lyr_std/bevel.cpp:635
 msgid "Hi-Color"
-msgstr "Hi-Colour"
+msgstr "Hög-färg"
 
-#: src/modules/lyr_std/bevel.cpp:584
+#: src/modules/lyr_std/bevel.cpp:638
 msgid "Lo-Color"
-msgstr "Lo-Colour"
+msgstr "Låg-färg"
 
-#: src/modules/lyr_std/bevel.cpp:587
+#: src/modules/lyr_std/bevel.cpp:641
 msgid "Light Angle"
-msgstr "Light Angle"
+msgstr "Ljusets vinkel"
 
-#: src/modules/lyr_std/bevel.cpp:591
+#: src/modules/lyr_std/bevel.cpp:645
 msgid "Depth of Bevel"
-msgstr "Depth of Bevel"
+msgstr "Fasens djup"
 
-#: src/modules/lyr_std/bevel.cpp:595
+#: src/modules/lyr_std/bevel.cpp:649
 msgid "Softness"
-msgstr "Softness"
+msgstr "Mjukhet"
 
-#: src/modules/lyr_std/bevel.cpp:598
+#: src/modules/lyr_std/bevel.cpp:652
 msgid "Use Luma"
-msgstr "Use Luma"
+msgstr "Använda luma"
 
-#: src/modules/lyr_std/bevel.cpp:601
+#: src/modules/lyr_std/bevel.cpp:655
 msgid "Solid"
 msgstr "Solid"
 
-#: src/modules/lyr_std/booleancurve.cpp:104
+#: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
-msgstr "Region Set"
+msgstr "Regionssats"
 
-#: src/modules/lyr_std/booleancurve.cpp:105
+#: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
-msgstr "Set of regions to combine"
+msgstr "Grupp av regioner att kombinera"
 
 #: src/modules/lyr_std/clamp.cpp:55 src/tool/printing_functions.cpp:226
 msgid "Clamp"
-msgstr "Clamp"
+msgstr "Clampa"
 
-#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:56
-#: src/modules/mod_filter/halftone2.cpp:59
-#: src/modules/mod_filter/halftone3.cpp:59
-#: src/modules/mod_filter/lumakey.cpp:59
+#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:57
+#: src/modules/mod_filter/halftone2.cpp:60
+#: src/modules/mod_filter/halftone3.cpp:60
+#: src/modules/mod_filter/lumakey.cpp:60
 msgid "Filters"
-msgstr "Filters"
+msgstr "Filter"
 
-#: src/modules/lyr_std/clamp.cpp:158
+#: src/modules/lyr_std/clamp.cpp:162
 msgid "Invert Negative"
-msgstr "Invert Negative"
+msgstr "Invertera negativ"
 
-#: src/modules/lyr_std/clamp.cpp:162
+#: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
-msgstr "Clamp Ceiling"
+msgstr "Clamp tak"
 
-#: src/modules/lyr_std/clamp.cpp:163
+#: src/modules/lyr_std/clamp.cpp:167
 msgid "When checked the Ceiling value is used"
-msgstr "When checked the Ceiling value is used"
+msgstr "När detta är på används takvärdet"
 
-#: src/modules/lyr_std/clamp.cpp:167
+#: src/modules/lyr_std/clamp.cpp:171
 msgid "Ceiling"
-msgstr "Ceiling"
+msgstr "Tak"
 
-#: src/modules/lyr_std/clamp.cpp:168
+#: src/modules/lyr_std/clamp.cpp:172
 msgid "Upper boundary of the clamping"
-msgstr "Upper boundary of the clamping"
+msgstr "Övre gräns för clampningen"
 
-#: src/modules/lyr_std/clamp.cpp:172
+#: src/modules/lyr_std/clamp.cpp:176
 msgid "Floor"
-msgstr "Floor"
+msgstr "Botten"
 
-#: src/modules/lyr_std/clamp.cpp:173
+#: src/modules/lyr_std/clamp.cpp:177
 msgid "Lower boundary of the clamping"
-msgstr "Lower boundary of the clamping"
+msgstr "Nedre gränsen för clampningen"
 
 #: src/modules/lyr_std/import.cpp:59
 msgid "Import Image"
-msgstr "Import Image"
+msgstr "Importera bild"
 
-#: src/modules/lyr_std/import.cpp:151 src/modules/lyr_std/import.cpp:201
+#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
-msgstr "Filename seems to already be set to \"%s\" (%s)"
+msgstr "Filnamnet ser ut att redan vara inställt på \"%s\" (%s)"
 
-#: src/modules/lyr_std/import.cpp:283
+#: src/modules/lyr_std/import.cpp:293
 msgid "Filename"
-msgstr "Filename"
+msgstr "Filnamn"
 
-#: src/modules/lyr_std/import.cpp:284
+#: src/modules/lyr_std/import.cpp:294
 msgid "File to import"
-msgstr "File to import"
+msgstr "Fil att importera"
 
-#: src/modules/lyr_std/import.cpp:288 src/synfig/layer_pastecanvas.cpp:146
+#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
 msgid "Time Offset"
-msgstr "Time Offset"
+msgstr "Tidsförskjutning"
 
-#: src/modules/lyr_std/import.cpp:289
+#: src/modules/lyr_std/import.cpp:299
 msgid "Time Offset to apply to the imported file"
-msgstr "Time Offset to apply to the imported file"
+msgstr "Förskjutning i tid att tillämpa på den importerade filen"
 
 #: src/modules/lyr_std/insideout.cpp:55
 msgid "Inside Out"
-msgstr "Inside Out"
+msgstr "Insidan ut"
 
 #: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:75
 #: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:57 src/modules/lyr_std/curvewarp.cpp:56
-#: src/modules/mod_noise/distort.cpp:58
+#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
+#: src/modules/mod_noise/distort.cpp:59
 msgid "Distortions"
-msgstr "Distortions"
+msgstr "Förvrängning"
 
-#: src/modules/lyr_std/insideout.cpp:144
+#: src/modules/lyr_std/insideout.cpp:163
 msgid "Defines the where the center will be"
-msgstr "Defines the where the centre will be"
+msgstr "Bestämmer var mitten ska vara"
 
 #: src/modules/lyr_std/julia.cpp:56
 msgid "Julia Set"
@@ -517,571 +514,573 @@ msgstr "Julia Set"
 
 #: src/modules/lyr_std/julia.cpp:57 src/modules/lyr_std/mandelbrot.cpp:57
 msgid "Fractals"
-msgstr "Fractals"
+msgstr "Fraktaler"
 
-#: src/modules/lyr_std/julia.cpp:309
+#: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
-msgstr "Inside Colour"
+msgstr "Insidans färg"
 
-#: src/modules/lyr_std/julia.cpp:310
+#: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
-msgstr "Colour of the Set"
+msgstr "Settets färg"
 
-#: src/modules/lyr_std/julia.cpp:313
+#: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
-msgstr "Outside Colour"
+msgstr "Utsidans färg"
 
-#: src/modules/lyr_std/julia.cpp:314
+#: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
-msgstr "Colour outside the Set"
+msgstr "Färg utanför settet"
 
-#: src/modules/lyr_std/julia.cpp:317
+#: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
-msgstr "Colour Shift"
+msgstr "Färg-skiftning"
 
-#: src/modules/lyr_std/julia.cpp:320 src/modules/lyr_std/mandelbrot.cpp:223
+#: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
-msgstr "Iterations"
+msgstr "Upprepningar"
 
-#: src/modules/lyr_std/julia.cpp:323
+#: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
 msgstr "Seed Point"
 
-#: src/modules/lyr_std/julia.cpp:326 src/modules/lyr_std/mandelbrot.cpp:226
+#: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
 msgstr "Bailout ValueBase"
 
-#: src/modules/lyr_std/julia.cpp:330 src/modules/lyr_std/mandelbrot.cpp:236
+#: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
-msgstr "Distort Inside"
+msgstr "Förvräng insidan"
 
-#: src/modules/lyr_std/julia.cpp:333 src/modules/lyr_std/mandelbrot.cpp:240
+#: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
-msgstr "Shade Inside"
+msgstr "Skugga insidan"
 
-#: src/modules/lyr_std/julia.cpp:336 src/modules/lyr_std/mandelbrot.cpp:244
+#: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
-msgstr "Solid Inside"
+msgstr "Solid insida"
 
-#: src/modules/lyr_std/julia.cpp:339 src/modules/lyr_std/mandelbrot.cpp:248
+#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
-msgstr "Invert Inside"
+msgstr "Invertera insida"
 
-#: src/modules/lyr_std/julia.cpp:342
+#: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
-msgstr "Colour Inside"
+msgstr "Insidans färg"
 
-#: src/modules/lyr_std/julia.cpp:345 src/modules/lyr_std/mandelbrot.cpp:265
+#: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
-msgstr "Distort Outside"
+msgstr "Förvräng utsida"
 
-#: src/modules/lyr_std/julia.cpp:348 src/modules/lyr_std/mandelbrot.cpp:269
+#: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
-msgstr "Shade Outside"
+msgstr "Skugga utsida"
 
-#: src/modules/lyr_std/julia.cpp:351 src/modules/lyr_std/mandelbrot.cpp:273
+#: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
-msgstr "Solid Outside"
+msgstr "Solid utsida"
 
-#: src/modules/lyr_std/julia.cpp:354 src/modules/lyr_std/mandelbrot.cpp:277
+#: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
-msgstr "Invert Outside"
+msgstr "Invertera utsida"
 
-#: src/modules/lyr_std/julia.cpp:357
+#: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
-msgstr "Colour Outside"
+msgstr "Utsidans färg"
 
-#: src/modules/lyr_std/julia.cpp:361
+#: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
-msgstr "Colour Cycle"
+msgstr "Färgserie"
 
-#: src/modules/lyr_std/julia.cpp:364 src/modules/lyr_std/mandelbrot.cpp:285
+#: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
-msgstr "Smooth Outside"
+msgstr "Mjuk utsida"
 
-#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:286
+#: src/modules/lyr_std/julia.cpp:391 src/modules/lyr_std/mandelbrot.cpp:282
 msgid "Smooth the coloration outside the set"
-msgstr "Smooth the colouration outside the set"
+msgstr "Gör färgningen utanför settet mjukare"
 
-#: src/modules/lyr_std/julia.cpp:368 src/modules/lyr_std/mandelbrot.cpp:230
+#: src/modules/lyr_std/julia.cpp:394 src/modules/lyr_std/mandelbrot.cpp:226
 msgid "Break Set"
-msgstr "Break Set"
+msgstr "Avbryt-set"
 
-#: src/modules/lyr_std/julia.cpp:369 src/modules/lyr_std/mandelbrot.cpp:231
+#: src/modules/lyr_std/julia.cpp:395 src/modules/lyr_std/mandelbrot.cpp:227
 msgid "Modify equation to achieve interesting results"
-msgstr "Modify equation to achieve interesting results"
+msgstr "Ändra jämvikten för att få intressanta resultat"
 
 #: src/modules/lyr_std/mandelbrot.cpp:56
 msgid "Mandelbrot Set"
-msgstr "Mandelbrot Set"
+msgstr "Mandelbrotmängd"
 
+#: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
 #: src/modules/lyr_std/mandelbrot.cpp:241
 #: src/modules/lyr_std/mandelbrot.cpp:245
 #: src/modules/lyr_std/mandelbrot.cpp:249
 #: src/modules/lyr_std/mandelbrot.cpp:253
 #: src/modules/lyr_std/mandelbrot.cpp:257
-#: src/modules/lyr_std/mandelbrot.cpp:261
 msgid "Inside"
-msgstr "Inside"
+msgstr "Insida"
 
-#: src/modules/lyr_std/mandelbrot.cpp:252
+#: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
-msgstr "Gradient Inside"
+msgstr "Gradient insida"
 
-#: src/modules/lyr_std/mandelbrot.cpp:256
+#: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
-msgstr "Offset Inside"
+msgstr "Förskjutning insida"
 
-#: src/modules/lyr_std/mandelbrot.cpp:260
+#: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
-msgstr "Loop Inside"
+msgstr "Repetera på insidan"
 
+#: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
 #: src/modules/lyr_std/mandelbrot.cpp:270
 #: src/modules/lyr_std/mandelbrot.cpp:274
 #: src/modules/lyr_std/mandelbrot.cpp:278
-#: src/modules/lyr_std/mandelbrot.cpp:282
+#: src/modules/lyr_std/mandelbrot.cpp:283
 #: src/modules/lyr_std/mandelbrot.cpp:287
 #: src/modules/lyr_std/mandelbrot.cpp:291
-#: src/modules/lyr_std/mandelbrot.cpp:295
 msgid "Outside"
-msgstr "Outside"
+msgstr "Utsida"
 
-#: src/modules/lyr_std/mandelbrot.cpp:281
+#: src/modules/lyr_std/mandelbrot.cpp:277
 msgid "Gradient outside"
-msgstr "Gradient outside"
+msgstr "Gradient utsida"
 
-#: src/modules/lyr_std/mandelbrot.cpp:290
+#: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
-msgstr "Offset Outside"
+msgstr "Förskjutning utsida"
 
-#: src/modules/lyr_std/mandelbrot.cpp:294
+#: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
-msgstr "Scale Outside"
+msgstr "Storlek utsida"
 
 #: src/modules/lyr_std/rotate.cpp:56
 msgid "Rotate"
-msgstr "Rotate"
+msgstr "Rotera"
 
 #: src/modules/lyr_std/rotate.cpp:57 src/modules/lyr_std/translate.cpp:56
 #: src/modules/lyr_std/zoom.cpp:53
 msgid "Transform"
-msgstr "Transform"
+msgstr "Tranformera"
 
-#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/translate.cpp:101
+#: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:134
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
-msgstr "Point where you want the origin to be"
+msgstr "Peka där du vill att utgångspunkten ska vara"
 
-#: src/modules/lyr_std/rotate.cpp:121
-#: src/modules/lyr_std/sphere_distort.cpp:158
+#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:217
+#: src/synfig/layer_composite.cpp:249
 #: src/synfig/valuenode_blinecalctangent.cpp:251
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
 #: src/synfig/valuenode_segcalctangent.cpp:161
 #: src/synfig/valuenode_segcalcvertex.cpp:159
 msgid "Amount"
-msgstr "Amount"
+msgstr "Kvantitet"
 
-#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
-msgstr "Amount of rotation"
+msgstr "Hur mycket rotation som ska tillämpas"
 
-#: src/modules/lyr_std/shade.cpp:67
+#: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
-msgstr "Shade"
+msgstr "Skugga"
 
-#: src/modules/lyr_std/shade.cpp:571
+#: src/modules/lyr_std/shade.cpp:627
 msgid "Size of Shade"
-msgstr "Size of Shade"
+msgstr "Skuggans storlek"
 
-#: src/modules/lyr_std/sphere_distort.cpp:73
-#: src/modules/lyr_std/sphere_distort.cpp:172
+#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:167
 msgid "Spherize"
-msgstr "Spherize"
+msgstr "Sfärifisera"
 
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/synfig/valuenode_composite.cpp:536
+#: src/modules/lyr_std/sphere_distort.cpp:141
+#: src/synfig/valuenode_composite.cpp:546
 msgid "Position"
 msgstr "Position"
 
-#: src/modules/lyr_std/sphere_distort.cpp:147
+#: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
-msgstr "Where the sphere distortion is centred"
+msgstr "Var sfär-förvrängningen ska vara centrerad"
 
-#: src/modules/lyr_std/sphere_distort.cpp:154
+#: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
-msgstr "The size of the sphere distortion"
+msgstr "Storleken på sfär-förvrängningen"
 
-#: src/modules/lyr_std/sphere_distort.cpp:160
+#: src/modules/lyr_std/sphere_distort.cpp:155
 msgid "The distortion intensity (negative values inverts effect)"
-msgstr "The distortion intensity (negative values inverts effect)"
+msgstr "Förvrängnings-intensitet (negativa värden inverterar effekten)"
 
-#: src/modules/lyr_std/sphere_distort.cpp:164 src/modules/lyr_std/warp.cpp:409
+#: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
-msgstr "Clip"
+msgstr "Begränsa"
 
-#: src/modules/lyr_std/sphere_distort.cpp:165
+#: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
-msgstr "When checked, the area outside the Radius is not distorted"
+msgstr ""
+"När detta alternativ är ikryssat, så kommer området utanför radien inte att "
+"förvrängas"
 
-#: src/modules/lyr_std/sphere_distort.cpp:169
+#: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
-msgstr "Distort Type"
+msgstr "Förvrängningstyp"
 
-#: src/modules/lyr_std/sphere_distort.cpp:170
+#: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
-msgstr "The direction of the distortion"
+msgstr "Riktningen på förvrängningen"
 
-#: src/modules/lyr_std/sphere_distort.cpp:173
+#: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
-msgstr "Vertical Bar"
+msgstr "Lodrät stolpe"
 
-#: src/modules/lyr_std/sphere_distort.cpp:174
+#: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
-msgstr "Horizontal Bar"
+msgstr "Vågrät stolpe"
 
 #: src/modules/lyr_std/stretch.cpp:57
 msgid "Stretch"
-msgstr "Stretch"
+msgstr "Tänj"
 
 #: src/modules/lyr_std/stretch.cpp:106
 msgid "Size of the stretch relative to its Center"
-msgstr "Size of the stretch relative to its Centre"
+msgstr "Storleken på tänjningen relativt till dess mitt"
 
 #: src/modules/lyr_std/stretch.cpp:111
 msgid "Where the stretch distortion is centered"
-msgstr "Where the stretch distortion is centred"
+msgstr "Var tänjningsförvridningen ska vara centrerad"
 
 #: src/modules/lyr_std/stroboscope.cpp:60
 msgid "Stroboscope"
-msgstr "Stroboscope"
+msgstr "Stroboskop"
 
-#: src/modules/lyr_std/stroboscope.cpp:102
+#: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
-msgstr "Frequency"
+msgstr "Frekvens"
 
-#: src/modules/lyr_std/stroboscope.cpp:103
+#: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
-msgstr "Frequency of the Strobe in times per second"
+msgstr "Strobens frekvens i antal gånger per sekund"
 
-#: src/modules/lyr_std/supersample.cpp:56
+#: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
-msgstr "Super Sample"
+msgstr "Super-sampla"
 
-#: src/modules/lyr_std/supersample.cpp:129
+#: src/modules/lyr_std/supersample.cpp:146
 msgid "Unable to create SurfaceTarget"
-msgstr "Unable to create SurfaceTarget"
+msgstr "Kan inte skapa ytmål"
 
-#: src/modules/lyr_std/supersample.cpp:290
-#: src/modules/lyr_std/curvewarp.cpp:393
-#: src/modules/mod_gradient/curvegradient.cpp:542
-#: src/synfig/valuenode_composite.cpp:514
-#: src/synfig/valuenode_composite.cpp:540
+#: src/modules/lyr_std/supersample.cpp:337
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_composite.cpp:524
+#: src/synfig/valuenode_composite.cpp:550
 #: src/synfig/valuenode_realstring.cpp:180
 #: src/synfig/valuenode_repeat_gradient.cpp:213
 #: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
 msgid "Width"
-msgstr "Width"
+msgstr "Bredd"
 
-#: src/modules/lyr_std/supersample.cpp:291
+#: src/modules/lyr_std/supersample.cpp:338
 msgid "Width of sample area (In pixels)"
-msgstr "Width of sample area (In pixels)"
+msgstr "Bredd på samplings-området (i pixlar)"
 
-#: src/modules/lyr_std/supersample.cpp:294 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
 msgid "Height"
-msgstr "Height"
+msgstr "Höjd"
 
-#: src/modules/lyr_std/supersample.cpp:295
+#: src/modules/lyr_std/supersample.cpp:342
 msgid "Height of sample area (In pixels)"
-msgstr "Height of sample area (In pixels)"
+msgstr "Höjd på samplingsområdet (i pixlar)"
 
-#: src/modules/lyr_std/supersample.cpp:298
+#: src/modules/lyr_std/supersample.cpp:345
 msgid "Use Parametric"
-msgstr "Use Parametric"
+msgstr "Använd parametrik"
 
-#: src/modules/lyr_std/supersample.cpp:299
+#: src/modules/lyr_std/supersample.cpp:346
 msgid "Use the Parametric Renderer"
-msgstr "Use the Parametric Renderer"
+msgstr "Använd den parametriska renderaren"
 
-#: src/modules/lyr_std/supersample.cpp:302
+#: src/modules/lyr_std/supersample.cpp:349
 msgid "Be Alpha Safe"
-msgstr "Be Alpha Safe"
+msgstr "Var alfa-säker"
 
-#: src/modules/lyr_std/supersample.cpp:303
+#: src/modules/lyr_std/supersample.cpp:350
 msgid "Avoid alpha artifacts when checked"
-msgstr "Avoid alpha artifacts when checked"
+msgstr "Alfa-artefakter undviks när detta alternativ är påslaget"
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:166
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
-msgstr "Time Loop"
+msgstr "Tids-slinga"
 
-#: src/modules/lyr_std/timeloop.cpp:124 src/synfig/valuenode_timeloop.cpp:179
+#: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
-msgstr "Link Time"
+msgstr "Länka tid"
 
-#: src/modules/lyr_std/timeloop.cpp:125
+#: src/modules/lyr_std/timeloop.cpp:134
 msgid "Start time of the loop for the cycled context"
 msgstr "Start time of the loop for the cycled context"
 
-#: src/modules/lyr_std/timeloop.cpp:129 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
-msgstr "Local Time"
+msgstr "Lokal tid"
 
-#: src/modules/lyr_std/timeloop.cpp:130 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
-msgstr "The time when the resulted loop starts"
+msgstr "Tiden när den resulterande slingan startar"
 
-#: src/modules/lyr_std/timeloop.cpp:134 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
-msgstr "Duration"
+msgstr "Varaktighet"
 
-#: src/modules/lyr_std/timeloop.cpp:135 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
 msgid "Lenght of the loop"
-msgstr "Length of the loop"
+msgstr "Slingans längd"
 
-#: src/modules/lyr_std/timeloop.cpp:139
+#: src/modules/lyr_std/timeloop.cpp:148
 msgid "Only For Positive Duration"
-msgstr "Only For Positive Duration"
+msgstr "Endast för positiva längder"
 
-#: src/modules/lyr_std/timeloop.cpp:140
+#: src/modules/lyr_std/timeloop.cpp:149
 msgid "When checked will loop only positive durations"
-msgstr "When checked will loop only positive durations"
+msgstr "När detta är på kommer endast positiva varaktighetsvärden att upprepas"
 
-#: src/modules/lyr_std/timeloop.cpp:144
+#: src/modules/lyr_std/timeloop.cpp:153
 msgid "Symmetrical"
-msgstr "Symmetrical"
+msgstr "Symmetrisk"
 
-#: src/modules/lyr_std/timeloop.cpp:145
+#: src/modules/lyr_std/timeloop.cpp:154
 msgid "When checked, loops are mirrored centered at Local Time"
-msgstr "When checked, loops are mirrored centred on Local Time"
+msgstr "När detta är på, kommer slingor speglas med mitt på lokal tid"
 
 #: src/modules/lyr_std/translate.cpp:55
 msgid "Translate"
-msgstr "Translate"
+msgstr "Översätt"
 
 #: src/modules/lyr_std/twirl.cpp:56
 msgid "Twirl"
-msgstr "Twirl"
+msgstr "Virvel"
 
 #: src/modules/lyr_std/twirl.cpp:124
 msgid "Rotations"
-msgstr "Rotations"
+msgstr "Rotationer"
 
 #: src/modules/lyr_std/twirl.cpp:125
 msgid "The number of rotations of the twirl effect"
-msgstr "The number of rotations of the twirl effect"
+msgstr "Antalet roteringar i virveleffekten"
 
 #: src/modules/lyr_std/twirl.cpp:131
 msgid "When checked, distorts inside the circle"
-msgstr "When checked, distorts inside the circle"
+msgstr "När detta är på förvrängs insidan av cirkeln"
 
 #: src/modules/lyr_std/twirl.cpp:136
 msgid "When checked, distorts outside the circle"
-msgstr "When checked, distorts outside the circle"
+msgstr "När detta är på förvrängs utsidan av cirkeln"
 
-#: src/modules/lyr_std/warp.cpp:56
+#: src/modules/lyr_std/warp.cpp:57
 msgid "Warp"
-msgstr "Warp"
+msgstr "Förvrid"
 
-#: src/modules/lyr_std/warp.cpp:374
+#: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
-msgstr "Source TL"
+msgstr "Källa ÖV"
 
-#: src/modules/lyr_std/warp.cpp:376
+#: src/modules/lyr_std/warp.cpp:382
 msgid "Top Left corner of the source to warp"
-msgstr "Top Left corner of the source to warp"
+msgstr "Övre vänstra hörnet på källan att förvrida"
 
-#: src/modules/lyr_std/warp.cpp:380
+#: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
-msgstr "Source BR"
+msgstr "Källa NH"
 
-#: src/modules/lyr_std/warp.cpp:381
+#: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
-msgstr "Bottom Right corner of the source to warp"
+msgstr "Nedre högra hörnet på källan att förvrida"
 
-#: src/modules/lyr_std/warp.cpp:385
+#: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
-msgstr "Dest TL"
+msgstr "Dest ÖV"
 
-#: src/modules/lyr_std/warp.cpp:387
+#: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
-msgstr "Top Left corner of the destination"
+msgstr "Övre vänstra hörnet på destinationen"
 
-#: src/modules/lyr_std/warp.cpp:391
+#: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
-msgstr "Dest TR"
+msgstr "Dest ÖH"
 
-#: src/modules/lyr_std/warp.cpp:393
+#: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
-msgstr "Top Right corner of the destination"
+msgstr "Övre högra hörnet på destinationen"
 
-#: src/modules/lyr_std/warp.cpp:397
+#: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
-msgstr "Dest BR"
+msgstr "Dest NH"
 
-#: src/modules/lyr_std/warp.cpp:399
+#: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
-msgstr "Bottom Right corner of the destination"
+msgstr "Nedre högra hörnet på destinationen"
 
-#: src/modules/lyr_std/warp.cpp:403
+#: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
-msgstr "Dest BL"
+msgstr "Dest NV"
 
-#: src/modules/lyr_std/warp.cpp:405
+#: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
-msgstr "Bottom Left corner of the destination"
+msgstr "Nedre vänstra hörnet på destinationen"
 
-#: src/modules/lyr_std/warp.cpp:413
+#: src/modules/lyr_std/warp.cpp:419
 msgid "Horizon"
-msgstr "Horizon"
+msgstr "Horisont"
 
-#: src/modules/lyr_std/warp.cpp:414
+#: src/modules/lyr_std/warp.cpp:420
 msgid "Height that determines the horizon in perspectives"
-msgstr "Height that determines the horizon in perspectives"
+msgstr "Höjd som anger horisonten i perspektiv"
 
-#: src/modules/lyr_std/curvewarp.cpp:55
+#: src/modules/lyr_std/curvewarp.cpp:56
 msgid "Curve Warp"
-msgstr "Curve Warp"
+msgstr "Kurv-förvridning"
 
-#: src/modules/lyr_std/curvewarp.cpp:390
-msgid "Position of the source line"
-msgstr "Position of the source line"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:395
+#: src/modules/lyr_std/curvewarp.cpp:404
 msgid "How much is expanded the result perpendicular to the source line"
-msgstr "How much the result is expanded perpendicularly to the source line"
+msgstr "Hur mycket resultatet är utvidgat vinkelrätt mot källinjen"
 
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:407
 msgid "Start Point"
-msgstr "Start Point"
+msgstr "Startpunkt"
 
-#: src/modules/lyr_std/curvewarp.cpp:400
+#: src/modules/lyr_std/curvewarp.cpp:409
 msgid "First point of the source line"
-msgstr "First point of the source line"
+msgstr "Första punkten på källinjen"
 
-#: src/modules/lyr_std/curvewarp.cpp:403
+#: src/modules/lyr_std/curvewarp.cpp:412
 msgid "End Point"
-msgstr "End Point"
+msgstr "Slutpunkt"
 
-#: src/modules/lyr_std/curvewarp.cpp:404
+#: src/modules/lyr_std/curvewarp.cpp:413
 msgid "Final point of the source line"
-msgstr "Final point of the source line"
+msgstr "Sista punkten på källinjen"
 
-#: src/modules/lyr_std/curvewarp.cpp:407
-#: src/modules/mod_geometry/advanced_outline.cpp:1123
-#: src/modules/mod_geometry/outline.cpp:814
-#: src/modules/mod_geometry/region.cpp:233
-#: src/modules/mod_gradient/curvegradient.cpp:546
-#: src/modules/mod_particle/plant.cpp:391
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
 msgid "Vertices"
 msgstr "Vertices"
 
-#: src/modules/lyr_std/curvewarp.cpp:410
+#: src/modules/lyr_std/curvewarp.cpp:419
 msgid "List of Spline Points where the source line is curved to"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:413
-#: src/modules/mod_geometry/advanced_outline.cpp:1178
-#: src/modules/mod_gradient/curvegradient.cpp:567
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
 msgid "Fast"
-msgstr "Fast"
+msgstr "Snabb"
 
-#: src/modules/lyr_std/curvewarp.cpp:414
-#: src/modules/mod_gradient/curvegradient.cpp:568
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
 msgid "When checked, renders quickly but with artifacts"
-msgstr "When checked, renders quickly but with artefacts"
+msgstr "När detta är på, blir renderingen snabb men med fula detaljer"
 
 #: src/modules/lyr_std/xorpattern.cpp:55
 msgid "XOR Pattern"
-msgstr "XOR Pattern"
+msgstr "XOR-mönster"
 
-#: src/modules/lyr_std/xorpattern.cpp:126
+#: src/modules/lyr_std/xorpattern.cpp:130
 msgid "Center of the pattern"
-msgstr "Centre of the pattern"
+msgstr "Mönstrets mitt"
 
-#: src/modules/lyr_std/xorpattern.cpp:130
+#: src/modules/lyr_std/xorpattern.cpp:134
 msgid "Size of the pattern"
-msgstr "Size of the pattern"
+msgstr "Storlek på mönstret"
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:143
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
 #: src/synfig/valuenode_blinecalctangent.cpp:261
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
 #: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
 msgid "Scale"
-msgstr "Scale"
+msgstr "Skala"
 
 #: src/modules/lyr_std/zoom.cpp:100
 msgid "Amount to scale to"
-msgstr "Amount to scale to"
+msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:105
+#: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
-msgstr "Point to scale from"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:131 src/modules/mod_bmp/mptr_bmp.cpp:132
 #: src/modules/mod_ppm/mptr_ppm.cpp:78
 #, c-format
 msgid "Unable to open %s"
-msgstr "Unable to open %s"
+msgstr "Kan inte öppna %s"
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:143 src/modules/mod_bmp/mptr_bmp.cpp:144
 #, c-format
 msgid "%s is not in BMP format"
-msgstr "%s is not in BMP format"
+msgstr "%s är inte i BMP-format"
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:150
 #, c-format
 msgid "Failure while reading BITMAPFILEHEADER from %s"
-msgstr "Failure while reading BITMAPFILEHEADER from %s"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:158
 #, c-format
 msgid "Failure while reading BITMAPINFOHEADER from %s"
-msgstr "Failure while reading BITMAPINFOHEADER from %s"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:168
 #, c-format
 msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
-msgstr "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:176
 #, c-format
 msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
-msgstr "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
 msgid "Reading compressed bitmaps is not supported"
-msgstr "Reading compressed bitmaps is not supported"
+msgstr "Läsning av komprimerade bitmap-filer stöds ej"
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:201 src/modules/mod_bmp/mptr_bmp.cpp:202
 #, c-format
 msgid "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
-msgstr "Unsupported bit depth (bit_count=%d, should be 24 or 32)"
+msgstr "Bit-djupet stöds ej (bit_count=%d, bör vara 24 eller 32)"
 
 #: src/modules/mod_bmp/trgt_bmp.cpp:184
 msgid " (animated)"
-msgstr " (animated)"
+msgstr "(animerad)"
 
 #: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
 msgid "Unable to open file"
-msgstr "Unable to open file"
+msgstr "Kan inte öppna fil"
 
 #: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
 msgid "Unable to write file header to file"
-msgstr "Unable to write file header to file"
+msgstr "Kan inte skriva fil-sidhuvud till fil"
 
 #: src/modules/mod_bmp/trgt_bmp.cpp:232 src/modules/mod_bmp/trgt_bmp.cpp:233
 msgid "Unable to write info header"
-msgstr "Unable to write info header"
+msgstr "Kan inte skriva info-sidhuvud"
 
 #: src/modules/mod_dv/trgt_dv.cpp:165 src/modules/mod_dv/trgt_dv.cpp:174
 #: src/modules/mod_dv/trgt_dv.cpp:181 src/modules/mod_dv/trgt_dv.cpp:191
@@ -1089,142 +1088,159 @@ msgstr "Unable to write info header"
 #: src/modules/mod_dv/trgt_dv.cpp:208 src/modules/mod_dv/trgt_dv.cpp:217
 #: src/modules/mod_dv/trgt_dv.cpp:226
 msgid "Unable to open pipe to encodedv"
-msgstr "Unable to open pipe to encodedv"
-
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:201
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:208
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:218
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:272
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-msgid "Unable to open pipe to ffmpeg"
-msgstr "Unable to open pipe to ffmpeg"
-
-#: src/modules/mod_filter/blur.cpp:68
+msgstr "Kan inte öppna pipe till encodedv"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:214
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no pipe)"
+msgstr "Kan inte öppna pipe till ffmpeg"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:221
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (pid == -1)"
+msgstr "Kan inte öppna pipe till ffmpeg"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:231
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
+msgstr "Kan inte öppna pipe till ffmpeg"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:285
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (exec failed)"
+msgstr "Kan inte öppna pipe till ffmpeg"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:303
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no file)"
+msgstr "Kan inte öppna pipe till ffmpeg"
+
+#: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
-msgstr "Blur"
+msgstr "Oskärpa"
 
-#: src/modules/mod_filter/blur.cpp:69 src/modules/mod_filter/radialblur.cpp:56
+#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
 #: src/synfig/layer_motionblur.cpp:57
 msgid "Blurs"
-msgstr "Blurs"
+msgstr "Oskärpor"
 
-#: src/modules/mod_filter/blur.cpp:373
+#: src/modules/mod_filter/blur.cpp:414
 msgid "Size of Blur"
-msgstr "Size of Blur"
+msgstr "Storlek på oskärpa"
 
-#: src/modules/mod_filter/colorcorrect.cpp:55
+#: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
-msgstr "Colour Correct"
+msgstr "Färg-korrekt"
 
-#: src/modules/mod_filter/colorcorrect.cpp:211
+#: src/modules/mod_filter/colorcorrect.cpp:217
 msgid "Hue Adjust"
-msgstr "Hue Adjust"
+msgstr "Justera nyans"
 
-#: src/modules/mod_filter/colorcorrect.cpp:215
+#: src/modules/mod_filter/colorcorrect.cpp:221
 msgid "Brightness"
-msgstr "Brightness"
+msgstr "Klarhet"
 
-#: src/modules/mod_filter/colorcorrect.cpp:219
+#: src/modules/mod_filter/colorcorrect.cpp:225
 msgid "Contrast"
-msgstr "Contrast"
+msgstr "Kontrast"
 
-#: src/modules/mod_filter/colorcorrect.cpp:223
+#: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
-msgstr "Exposure Adjust"
+msgstr "Exponerings-justering"
 
-#: src/modules/mod_filter/colorcorrect.cpp:227 src/synfig/layer_bitmap.cpp:179
+#: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
-msgstr "Gamma Adjustment"
+msgstr "Gamma-justering"
 
-#: src/modules/mod_filter/halftone2.cpp:58
+#: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
-msgstr "Halftone 2"
+msgstr "Halvton 2"
 
-#: src/modules/mod_filter/halftone2.cpp:151
+#: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
-msgstr "Mask Origin"
+msgstr "Maskursprung"
 
-#: src/modules/mod_filter/halftone2.cpp:155
+#: src/modules/mod_filter/halftone2.cpp:159
 msgid "Mask Angle"
-msgstr "Mask Angle"
+msgstr "Maskvinkel"
 
-#: src/modules/mod_filter/halftone2.cpp:159
-#: src/modules/mod_filter/halftone3.cpp:309
+#: src/modules/mod_filter/halftone2.cpp:163
+#: src/modules/mod_filter/halftone3.cpp:328
 msgid "Mask Size"
-msgstr "Mask Size"
+msgstr "Maskstorlek"
 
-#: src/modules/mod_filter/halftone2.cpp:164
+#: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
-msgstr "Light Colour"
+msgstr "Ljus färg"
 
-#: src/modules/mod_filter/halftone2.cpp:167
+#: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
-msgstr "Dark Colour"
+msgstr "Mörk färg"
 
-#: src/modules/mod_filter/halftone2.cpp:172
-#: src/modules/mod_filter/halftone3.cpp:314
+#: src/modules/mod_filter/halftone2.cpp:176
+#: src/modules/mod_filter/halftone3.cpp:333
 #: src/modules/mod_gradient/conicalgradient.cpp:125
 msgid "Symmetric"
-msgstr "Symmetric"
+msgstr "Symmetrisk"
 
-#: src/modules/mod_filter/halftone2.cpp:173
-#: src/modules/mod_filter/halftone3.cpp:315
+#: src/modules/mod_filter/halftone2.cpp:177
+#: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
-msgstr "Light On Dark"
+msgstr "Ljust på mörkt"
 
-#: src/modules/mod_filter/halftone2.cpp:175
-#: src/modules/mod_filter/halftone3.cpp:317
+#: src/modules/mod_filter/halftone2.cpp:179
+#: src/modules/mod_filter/halftone3.cpp:336
 msgid "Diamond"
-msgstr "Diamond"
+msgstr "Diamant"
 
-#: src/modules/mod_filter/halftone2.cpp:176
-#: src/modules/mod_filter/halftone3.cpp:318
+#: src/modules/mod_filter/halftone2.cpp:180
+#: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
-msgstr "Stripe"
+msgstr "Rand"
 
-#: src/modules/mod_filter/halftone3.cpp:58
+#: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
-msgstr "Halftone 3"
+msgstr "Halvton 3"
 
-#: src/modules/mod_filter/halftone3.cpp:312
+#: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
-msgstr " Type"
+msgstr "Typ"
 
-#: src/modules/mod_filter/halftone3.cpp:321
+#: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
 msgstr "Subtractive Flag"
 
-#: src/modules/mod_filter/halftone3.cpp:329
+#: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
-msgstr " Colour"
+msgstr "Färg"
 
-#: src/modules/mod_filter/halftone3.cpp:333
+#: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
-msgstr " Mask Origin"
+msgstr "Maskursprung"
 
-#: src/modules/mod_filter/halftone3.cpp:337
+#: src/modules/mod_filter/halftone3.cpp:356
 msgid " Mask Angle"
-msgstr " Mask Angle"
+msgstr "Maskvinkel"
 
-#: src/modules/mod_filter/lumakey.cpp:58
+#: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
-msgstr "Luma Key"
+msgstr "Luma-nyckel"
 
-#: src/modules/mod_filter/radialblur.cpp:55
+#: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
-msgstr "Radial Blur"
+msgstr "Radiell oskärpa"
 
 #: src/modules/mod_filter/radialblur.cpp:116
 msgid "Size of blur"
-msgstr "Size of blur"
+msgstr "Storlek på oskärpa"
 
 #: src/modules/mod_filter/radialblur.cpp:121
 msgid "Fade Out"
-msgstr "Fade Out"
+msgstr "Tona bort"
 
 #: src/modules/mod_geometry/checkerboard.cpp:58
 msgid "Checkerboard"
-msgstr "Checkerboard"
+msgstr "Schackbräde"
 
 #: src/modules/mod_geometry/checkerboard.cpp:59
 #: src/modules/mod_geometry/circle.cpp:57
@@ -1232,283 +1248,286 @@ msgstr "Checkerboard"
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:62 src/synfig/layer_solidcolor.cpp:57
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
-msgstr "Geometry"
+msgstr "Geometri"
 
-#: src/modules/mod_geometry/checkerboard.cpp:123
+#: src/modules/mod_geometry/checkerboard.cpp:147
 msgid "Color of checkers"
-msgstr "Colour of checkers"
+msgstr "Färg på rutor"
 
-#: src/modules/mod_geometry/checkerboard.cpp:127
+#: src/modules/mod_geometry/checkerboard.cpp:151
 msgid "Center of the checkers"
-msgstr "Centre of the checkers"
+msgstr "Mitten på rutorna"
 
-#: src/modules/mod_geometry/checkerboard.cpp:131
+#: src/modules/mod_geometry/checkerboard.cpp:155
 msgid "Size of checkers"
-msgstr "Size of checkers"
+msgstr "Storlek på rutorna"
 
 #: src/modules/mod_geometry/circle.cpp:56
 msgid "Circle"
-msgstr "Circle"
+msgstr "Cirkel"
 
-#: src/modules/mod_geometry/circle.cpp:134
+#: src/modules/mod_geometry/circle.cpp:152
 msgid "Radius of the circle"
-msgstr "Radius of the circle"
+msgstr "Cirkelns radie"
 
-#: src/modules/mod_geometry/circle.cpp:138 src/synfig/layer_shape.cpp:1206
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
 msgid "Feather"
-msgstr "Feather"
+msgstr "Fjädring"
 
-#: src/modules/mod_geometry/circle.cpp:140
+#: src/modules/mod_geometry/circle.cpp:158
 msgid "Amount of feather of the circle"
-msgstr "Amount of feather of the circle"
+msgstr "Mängd fjädring runt cirkeln"
 
-#: src/modules/mod_geometry/circle.cpp:148
+#: src/modules/mod_geometry/circle.cpp:166
 msgid "Invert the circle"
-msgstr "Invert the circle"
+msgstr "Invertera cirkeln"
 
-#: src/modules/mod_geometry/circle.cpp:152
+#: src/modules/mod_geometry/circle.cpp:170
 msgid "Falloff"
-msgstr "Falloff"
+msgstr "Matta"
 
-#: src/modules/mod_geometry/circle.cpp:153
+#: src/modules/mod_geometry/circle.cpp:171
 msgid "Determines the falloff function for the feather"
-msgstr "Determines the falloff function for the feather"
+msgstr "Bestämmer mattnings-funktionen för fjädringen"
 
-#: src/modules/mod_geometry/circle.cpp:155
-#: src/modules/mod_noise/distort.cpp:234 src/modules/mod_noise/noise.cpp:275
-#: src/modules/mod_noise/valuenode_random.cpp:288
-#: src/synfig/layer_bitmap.cpp:173 src/synfig/layer_motionblur.cpp:150
-#: src/synfig/valuenode.cpp:139 src/synfig/valuenode_linear.cpp:146
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:289
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
 msgid "Linear"
-msgstr "Linear"
+msgstr "Linjär"
 
-#: src/modules/mod_geometry/circle.cpp:156
+#: src/modules/mod_geometry/circle.cpp:174
 msgid "Squared"
-msgstr "Squared"
+msgstr "Kvadratisk"
 
-#: src/modules/mod_geometry/circle.cpp:157
+#: src/modules/mod_geometry/circle.cpp:175
 msgid "Square Root"
-msgstr "Square Root"
+msgstr "Kvadratrot"
 
-#: src/modules/mod_geometry/circle.cpp:158
+#: src/modules/mod_geometry/circle.cpp:176
 msgid "Sigmond"
 msgstr "Sigmond"
 
-#: src/modules/mod_geometry/circle.cpp:159
-#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:276
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:174
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:290
+#: src/synfig/layer_bitmap.cpp:170
 msgid "Cosine"
-msgstr "Cosine"
+msgstr "Kosinus"
 
 #: src/modules/mod_geometry/advanced_outline.cpp:67
 msgid "Advanced Outline"
-msgstr "Advanced Outline"
+msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:133
+#: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
-msgstr ""
+msgstr "Inga vertices i splinen"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1125
-#: src/modules/mod_geometry/outline.cpp:817
-#: src/modules/mod_geometry/region.cpp:235
-#: src/modules/mod_gradient/curvegradient.cpp:549
-#: src/modules/mod_particle/plant.cpp:392
+#: src/modules/mod_geometry/advanced_outline.cpp:1136
+#: src/modules/mod_geometry/outline.cpp:826
+#: src/modules/mod_geometry/region.cpp:240
+#: src/modules/mod_gradient/curvegradient.cpp:562
+#: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1129
-#: src/modules/mod_geometry/outline.cpp:831
+#: src/modules/mod_geometry/advanced_outline.cpp:1140
+#: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
-msgstr "Outline Width"
+msgstr "Kontur-bredd"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1130
-#: src/modules/mod_geometry/outline.cpp:832
+#: src/modules/mod_geometry/advanced_outline.cpp:1141
+#: src/modules/mod_geometry/outline.cpp:841
 msgid "Global width of the outline"
-msgstr "Global width of the outline"
+msgstr "Global bredd på konturen"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:837
+#: src/modules/mod_geometry/advanced_outline.cpp:1145
+#: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
-msgstr "Expand"
+msgstr "Expandera"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1135
-#: src/modules/mod_geometry/outline.cpp:838
+#: src/modules/mod_geometry/advanced_outline.cpp:1146
+#: src/modules/mod_geometry/outline.cpp:847
 msgid "Value to add to the global width"
-msgstr "Value to add to the global width"
+msgstr "Värde att lägga till på den globala bredden"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1138
+#: src/modules/mod_geometry/advanced_outline.cpp:1149
 msgid "Tip Type at Start"
-msgstr "Tip Type at Start"
+msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1139
+#: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1141
-#: src/modules/mod_geometry/advanced_outline.cpp:1150
-#: src/synfig/valuenode_composite.cpp:548
+#: src/modules/mod_geometry/advanced_outline.cpp:1152
+#: src/modules/mod_geometry/advanced_outline.cpp:1161
 #: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:587
-#: src/synfig/valuenode_composite.cpp:596
+#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:606
 msgid "Rounded Stop"
-msgstr "Rounded Stop"
+msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1142
-#: src/modules/mod_geometry/advanced_outline.cpp:1151
-#: src/synfig/valuenode_composite.cpp:549
+#: src/modules/mod_geometry/advanced_outline.cpp:1153
+#: src/modules/mod_geometry/advanced_outline.cpp:1162
 #: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:588
-#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:607
 msgid "Squared Stop"
-msgstr "Squared Stop"
+msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1143
-#: src/modules/mod_geometry/advanced_outline.cpp:1152
-#: src/synfig/valuenode_composite.cpp:550
+#: src/modules/mod_geometry/advanced_outline.cpp:1154
+#: src/modules/mod_geometry/advanced_outline.cpp:1163
 #: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:570
+#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:608
 msgid "Peak Stop"
-msgstr "Peak Stop"
+msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1144
-#: src/modules/mod_geometry/advanced_outline.cpp:1153
-#: src/synfig/valuenode_composite.cpp:551
+#: src/modules/mod_geometry/advanced_outline.cpp:1155
+#: src/modules/mod_geometry/advanced_outline.cpp:1164
 #: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:590
-#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:571
+#: src/synfig/valuenode_composite.cpp:600
+#: src/synfig/valuenode_composite.cpp:609
 msgid "Flat Stop"
-msgstr "Flat Stop"
+msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1147
+#: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
-msgstr "Tip Type at End"
+msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1148
+#: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1156
+#: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
-msgstr "Cusps Type"
+msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1157
-#: src/modules/mod_geometry/outline.cpp:843
+#: src/modules/mod_geometry/advanced_outline.cpp:1168
+#: src/modules/mod_geometry/outline.cpp:852
 msgid "Determines cusp type"
-msgstr "Determines cusp type"
+msgstr "Bestämmer typen av udd"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1159
+#: src/modules/mod_geometry/advanced_outline.cpp:1170
 msgid "Sharp"
-msgstr "Sharp"
+msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1160
+#: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
-msgstr "Rounded"
+msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1164
+#: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
-msgstr "Smoothness"
+msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1165
+#: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
 msgstr ""
-"Determines the interpolation between width points. (0) Linear (1) Smooth"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1168
-#: src/modules/mod_geometry/outline.cpp:859
+#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/outline.cpp:869
 #: src/synfig/valuenode_blinecalctangent.cpp:271
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
-msgstr "Homogeneous"
+msgstr "Enhetlig"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1169
+#: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
+#: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
-msgstr "Width Point List"
+msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1175
+#: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
-msgstr "List of width Points that defines the variable width"
+msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
-msgstr "When checked outline renders faster, but less accurately"
+msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1182
+#: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
-msgstr "Dashed Outline"
+msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1184
+#: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
-msgstr "When checked outline is dashed"
+msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1187
+#: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
-msgstr "Dash Item List"
+msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1190
+#: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
-msgstr "List of dash items that defines the dashed outline"
+msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1193
+#: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
-msgstr "Dash Items Offset"
+msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1196
+#: src/modules/mod_geometry/advanced_outline.cpp:1207
 msgid "Distance to Offset the Dash Items"
-msgstr "Distance to Offset the Dash Items"
+msgstr ""
 
 #: src/modules/mod_geometry/outline.cpp:72
 msgid "Outline"
-msgstr "Outline"
+msgstr "Kontur"
 
-#: src/modules/mod_geometry/outline.cpp:183
+#: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
-msgstr "No vertices in outline "
+msgstr "Inga vertices i konturen"
 
-#: src/modules/mod_geometry/outline.cpp:842
+#: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
-msgstr "Sharp Cusps"
+msgstr "Spetsiga uddar"
 
-#: src/modules/mod_geometry/outline.cpp:847
+#: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
-msgstr "Rounded Begin"
+msgstr "Rundad start"
 
-#: src/modules/mod_geometry/outline.cpp:848
-#: src/modules/mod_geometry/outline.cpp:853
+#: src/modules/mod_geometry/outline.cpp:857
+#: src/modules/mod_geometry/outline.cpp:862
 msgid "Round off the tip"
-msgstr "Round off the tip"
+msgstr "Runda av toppen"
 
-#: src/modules/mod_geometry/outline.cpp:852
+#: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
-msgstr "Rounded End"
+msgstr "Rundat slut"
 
-#: src/modules/mod_geometry/outline.cpp:856
+#: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
-msgstr "Loopyness"
+msgstr "Repetering"
 
-#: src/modules/mod_geometry/outline.cpp:860
+#: src/modules/mod_geometry/outline.cpp:866
+msgid "(Currently not used)"
+msgstr ""
+
+#: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
-msgstr "When checked the width takes the length of the spline to interpolate"
+msgstr "När detta är på används längden på splinen för att interpolera"
 
 #: src/modules/mod_geometry/rectangle.cpp:59
 msgid "Rectangle"
-msgstr "Rectangle"
+msgstr "Rektangel"
 
-#: src/modules/mod_geometry/rectangle.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
-msgstr "Expand amount"
+msgstr "Öka värde"
 
-#: src/modules/mod_geometry/rectangle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
-msgstr "Invert the rectangle"
+msgstr "Invertera rektangeln"
 
 #: src/modules/mod_geometry/region.cpp:64
 msgid "Region"
@@ -1516,609 +1535,617 @@ msgstr "Region"
 
 #: src/modules/mod_geometry/star.cpp:63
 msgid "Star"
-msgstr "Star"
+msgstr "Stjärna"
 
-#: src/modules/mod_geometry/star.cpp:183
+#: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
-msgstr "Outer Radius"
+msgstr "Yttre radie"
 
-#: src/modules/mod_geometry/star.cpp:184
+#: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
-msgstr "The radius of the outer points in the star"
+msgstr "Radien på de yttre punkterna  stjärnan"
 
-#: src/modules/mod_geometry/star.cpp:190
+#: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
-msgstr "Inner Radius"
+msgstr "Inre radie"
 
-#: src/modules/mod_geometry/star.cpp:191
+#: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
-msgstr "The radius of the inner points in the star"
+msgstr "Radien på de inre punkterna i stjärnan"
 
-#: src/modules/mod_geometry/star.cpp:197
+#: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:129
+#: src/modules/mod_gradient/spiralgradient.cpp:130
 #: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
-msgstr "Angle"
+msgstr "Vinkel"
 
-#: src/modules/mod_geometry/star.cpp:198
+#: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
-msgstr "The orientation of the star"
+msgstr "Stjärnans orientering"
 
-#: src/modules/mod_geometry/star.cpp:203 src/synfig/distance.cpp:251
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
 msgid "Points"
-msgstr "Points"
+msgstr "Punkter"
 
-#: src/modules/mod_geometry/star.cpp:204
+#: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
-msgstr "The number of points in the star"
+msgstr "Antalet punkter i stjärnan"
 
-#: src/modules/mod_geometry/star.cpp:208
+#: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
-msgstr "Regular Polygon"
+msgstr "Vanlig Polygon"
 
-#: src/modules/mod_geometry/star.cpp:209
+#: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
-msgstr "Whether to draw a star or a regular polygon"
+msgstr "Anger vad som ska ritas - en stjärna eller en vanlig polygon"
 
 #: src/modules/mod_gif/trgt_gif.cpp:105
 #, c-format
 msgid "Unable to open \"%s\" for write access!"
-msgstr "Unable to open \"%s\" for write access!"
+msgstr "Kan inte öppna \"%s\" för skrivåtkomst!"
 
 #: src/modules/mod_gif/trgt_gif.cpp:193
 msgid "Description not set!"
-msgstr "Description not set!"
+msgstr "Beskrivning ej angiven!"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:57
 msgid "Conical Gradient"
-msgstr "Conical Gradient"
+msgstr "Konisk gradient"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
-#: src/modules/mod_gradient/curvegradient.cpp:61
+#: src/modules/mod_gradient/curvegradient.cpp:62
 #: src/modules/mod_gradient/lineargradient.cpp:55
 #: src/modules/mod_gradient/radialgradient.cpp:58
-#: src/modules/mod_gradient/spiralgradient.cpp:57
-#: src/modules/mod_noise/noise.cpp:58
+#: src/modules/mod_gradient/spiralgradient.cpp:58
+#: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
-msgstr "Gradients"
+msgstr "Gradienter"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
-#: src/modules/mod_gradient/curvegradient.cpp:553
-#: src/modules/mod_gradient/lineargradient.cpp:200
+#: src/modules/mod_gradient/curvegradient.cpp:566
+#: src/modules/mod_gradient/lineargradient.cpp:195
 #: src/modules/mod_gradient/radialgradient.cpp:114
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:260
+#: src/modules/mod_gradient/spiralgradient.cpp:114
+#: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
-msgstr "Gradient to apply"
+msgstr "Gradient att använda"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:115
 msgid "Center of the cone"
-msgstr "Centre of the cone"
+msgstr "Konens mitt"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:121
 msgid "Rotation of the gradient around the center"
-msgstr "Rotation of the gradient around the centre"
+msgstr "Rotation på gradienten runt mitten"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
-#: src/modules/mod_gradient/curvegradient.cpp:557
-#: src/modules/mod_gradient/lineargradient.cpp:204
+#: src/modules/mod_gradient/curvegradient.cpp:570
+#: src/modules/mod_gradient/lineargradient.cpp:199
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
-msgstr "When checked the gradient is looped"
+msgstr "När detta alternativ är ikryssat repeteras gradienten"
 
-#: src/modules/mod_gradient/curvegradient.cpp:60
+#: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
-msgstr "Curve Gradient"
+msgstr "Kurvgradient"
 
-#: src/modules/mod_gradient/curvegradient.cpp:538
-#: src/modules/mod_particle/plant.cpp:399
+#: src/modules/mod_gradient/curvegradient.cpp:551
+#: src/modules/mod_particle/plant.cpp:432
 msgid "Offset for the Vertices List"
-msgstr "Offset for the Vertices List"
+msgstr "Förskjutning av vertexlistan"
 
-#: src/modules/mod_gradient/curvegradient.cpp:543
+#: src/modules/mod_gradient/curvegradient.cpp:556
 msgid "Global width of the gradient"
-msgstr "Global width of the gradient"
+msgstr "Global bredd på gradienten"
 
-#: src/modules/mod_gradient/curvegradient.cpp:556
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/curvegradient.cpp:569
+#: src/modules/mod_gradient/lineargradient.cpp:198
 #: src/modules/mod_gradient/radialgradient.cpp:130
 #: src/synfig/valuenode_blinecalctangent.cpp:246
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
 #: src/synfig/valuenode_blinecalcwidth.cpp:211
 msgid "Loop"
-msgstr "Loop"
+msgstr "Repetera"
 
-#: src/modules/mod_gradient/curvegradient.cpp:560
-#: src/modules/mod_gradient/lineargradient.cpp:207
+#: src/modules/mod_gradient/curvegradient.cpp:573
+#: src/modules/mod_gradient/lineargradient.cpp:202
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
-msgstr "ZigZag"
+msgstr "Sick-sack"
 
-#: src/modules/mod_gradient/curvegradient.cpp:561
-#: src/modules/mod_gradient/lineargradient.cpp:208
+#: src/modules/mod_gradient/curvegradient.cpp:574
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:136
 msgid "When checked the gradient is summetrical at the center"
-msgstr "When checked the gradient is symmetrical at the centre"
+msgstr "När detta alternativ är ikryssat, är gradienten symmetrisk vid mitten"
 
-#: src/modules/mod_gradient/curvegradient.cpp:564
+#: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
-msgstr "Perpendicular"
+msgstr "Vinkelrät"
 
 #: src/modules/mod_gradient/lineargradient.cpp:54
 msgid "Linear Gradient"
-msgstr "Linear Gradient"
+msgstr "Linjär gradient"
 
-#: src/modules/mod_gradient/lineargradient.cpp:192
+#: src/modules/mod_gradient/lineargradient.cpp:187
 msgid "Start point of the gradient"
-msgstr "Start point of the gradient"
+msgstr "Startpunkt för gradient"
 
-#: src/modules/mod_gradient/lineargradient.cpp:196
+#: src/modules/mod_gradient/lineargradient.cpp:191
 msgid "End point of the gradient"
-msgstr "End point of the gradient"
+msgstr "Slutpunkt för gradient"
 
 #: src/modules/mod_gradient/radialgradient.cpp:57
 msgid "Radial Gradient"
-msgstr "Radial Gradient"
+msgstr "Radiell gradient"
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:119
 msgid "Center of the gradient"
-msgstr "Centre of the gradient"
+msgstr "Gradientens mitt"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:56
+#: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
-msgstr "Spiral Gradient"
+msgstr "Spiralgradient"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:130
+#: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
-msgstr "Rotation of the spiral"
+msgstr "Rotation på spiral"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:135
+#: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
-msgstr "Clockwise"
+msgstr "Medurs"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:136
+#: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
-msgstr "When checked the spiral turns clockwise"
+msgstr "När detta alternativ är ikryssat snurrar spiralen medurs"
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:103
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:104
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:216
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:217
 msgid "No file to load"
-msgstr "No file to load"
+msgstr "Ingen fil att ladda"
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/listimporter.cpp:184 src/synfig/listimporter.cpp:185
+#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
+#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
 msgid "Unable to open "
-msgstr "Unable to open "
+msgstr "Kan inte öppna"
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/listimporter.cpp:191 src/synfig/listimporter.cpp:192
+#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
+#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
 msgid "Unable to get frame from "
 msgstr "Unable to get frame from "
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:171
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:172
 msgid "Bad surface from "
-msgstr "Bad surface from "
+msgstr "Ogiltig yta från"
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:227
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:228
 msgid "Unable to open pipe to imagemagick"
-msgstr "Unable to open pipe to imagemagick"
+msgstr "Kan inte öppna pipe till imagemagick"
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:239
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:240
 msgid "Reached end of stream without finding PPM header"
-msgstr "Reached end of stream without finding PPM header"
+msgstr "Nådde slutet på strömmen utan att hitta PPM header"
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:248
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:249
 msgid "stream not in PPM format"
-msgstr "stream not in PPM format"
+msgstr "strömmen är inte i PPM-format"
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:260
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:261
 msgid "Premature end of file (after header)"
-msgstr "Premature end of file (after header)"
+msgstr "För tidigt slut på fil (efter sidhuvud)"
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:273
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:274
 msgid "Premature end of file"
-msgstr "Premature end of file"
+msgstr "För tidig slut på fil"
 
 #: src/modules/mod_imagemagick/trgt_imagemagick.cpp:157
 msgid "Unable to open pipe to imagemagick's convert utility"
-msgstr "Unable to open pipe to imagemagick's convert utility"
+msgstr "Kan inte öppna pipe till imagemagick:s konverteringsfunktion"
 
-#: src/modules/mod_noise/distort.cpp:57
+#: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
-msgstr "Noise Distort"
+msgstr "Brus-förvrängning"
 
-#: src/modules/mod_noise/distort.cpp:217
+#: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
-msgstr "Displacement"
+msgstr "Förskjutning"
 
-#: src/modules/mod_noise/distort.cpp:218
+#: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
-msgstr "How big the distortion displaces the context"
+msgstr "Hur mycket förvrängningen flyttar på omgivningarna "
 
-#: src/modules/mod_noise/distort.cpp:223
+#: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
-msgstr "The distance between distortions"
+msgstr "Avståndet mellan förvrängningar"
 
-#: src/modules/mod_noise/distort.cpp:226 src/modules/mod_noise/noise.cpp:263
+#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
-msgstr "RandomNoise Seed"
+msgstr "SlumpBrus-seed"
 
-#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:264
+#: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
-msgstr "Change to modify the random seed of the noise"
+msgstr "Ändra för att modifiera slump-seed för bruset"
 
-#: src/modules/mod_noise/distort.cpp:230 src/modules/mod_noise/noise.cpp:271
-#: src/modules/mod_noise/valuenode_random.cpp:284
-#: src/synfig/layer_bitmap.cpp:169
+#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr "Interpolation"
 
-#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
-#: src/synfig/layer_bitmap.cpp:170
+#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
+#: src/synfig/layer_bitmap.cpp:166
 msgid "What type of interpolation to use"
-msgstr "What type of interpolation to use"
+msgstr "Vilken typ av interpolation som ska användas"
 
-#: src/modules/mod_noise/distort.cpp:233 src/modules/mod_noise/noise.cpp:274
-#: src/synfig/layer_bitmap.cpp:172
+#: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
+#: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
-msgstr "Nearest Neighbor"
+msgstr "Närmaste granne"
 
-#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:277
-#: src/modules/mod_noise/valuenode_random.cpp:290 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_bline.cpp:1001
+#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
+#: src/synfig/valuenode_bline.cpp:1006
 #: src/synfig/valuenode_blinecalctangent.cpp:241
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr "Spline"
 
-#: src/modules/mod_noise/distort.cpp:237 src/modules/mod_noise/noise.cpp:278
-#: src/modules/mod_noise/valuenode_random.cpp:291
-#: src/synfig/layer_bitmap.cpp:175
+#: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
-msgstr "Cubic"
+msgstr "Kubisk"
 
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:281
+#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
-msgstr "Detail"
+msgstr "Detaljer"
 
-#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:282
+#: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
-msgstr "Increase to obtain finer details of the noise"
+msgstr "Öka för få små detaljer i bruset"
 
-#: src/modules/mod_noise/distort.cpp:244 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
-msgstr "Animation Speed"
+msgstr "Hastighet på animation"
 
-#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
-msgstr "In cycles per second"
+msgstr "I svängningar per sekund"
 
-#: src/modules/mod_noise/distort.cpp:248 src/modules/mod_noise/noise.cpp:289
+#: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
 msgstr "Turbulent"
 
-#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:290
+#: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
-msgstr "When checked produces turbulent noise"
+msgstr "När detta alternativ är ikryssat skapas häftigt, turbulent brus"
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:183
+#: src/modules/mod_noise/valuenode_random.cpp:184
 msgid "Random"
-msgstr "Random"
+msgstr "Slumpmässig"
 
-#: src/modules/mod_noise/noise.cpp:57
+#: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
-msgstr "Noise Gradient"
+msgstr "Brusgradient"
 
-#: src/modules/mod_noise/noise.cpp:268
+#: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
-msgstr "Size of the noise"
+msgstr "Storlek på brus"
 
-#: src/modules/mod_noise/noise.cpp:293
+#: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
-msgstr "Do Alpha"
+msgstr "Göt alfa"
 
-#: src/modules/mod_noise/noise.cpp:294
+#: src/modules/mod_noise/noise.cpp:303
 msgid "Uses transparency"
-msgstr "Uses transparency"
+msgstr "Använder transparans"
 
-#: src/modules/mod_noise/noise.cpp:297
+#: src/modules/mod_noise/noise.cpp:306
 msgid "Super Sampling"
-msgstr "Super Sampling"
+msgstr "Supersampla"
 
-#: src/modules/mod_noise/noise.cpp:298
+#: src/modules/mod_noise/noise.cpp:307
 msgid "When checked the gradient is supersampled"
-msgstr "When checked the gradient is supersampled"
+msgstr ""
+"När detta alternativ är ikryssat används \"supersampling\" på gradienten"
 
-#: src/modules/mod_noise/valuenode_random.cpp:264
+#: src/modules/mod_noise/valuenode_random.cpp:265
 #: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
 #: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
 #: src/synfig/valuenode_reciprocal.cpp:165
 #: src/synfig/valuenode_reference.cpp:143 src/synfig/valuenode_scale.cpp:267
 #: src/synfig/valuenode_step.cpp:197 src/synfig/valuenode_timeloop.cpp:174
 msgid "Link"
-msgstr "Link"
+msgstr "Länk"
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "The value node source that provides the central value"
-msgstr "The value node source that provides the central value"
+msgstr "Den värdenodkällan som innehar det centrala värdet "
 
-#: src/modules/mod_noise/valuenode_random.cpp:270
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid "The value of the maximum random difference"
-msgstr "The value of the maximum random difference"
+msgstr "Värdet på den högsta tillåtna slumpskillnanden"
 
-#: src/modules/mod_noise/valuenode_random.cpp:274
-#: src/modules/mod_particle/plant.cpp:450
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr "Seed"
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:276
 msgid "Seeds the random number generator"
-msgstr "Seeds the random number generator"
+msgstr "Seed för slumpgeneratorn"
 
-#: src/modules/mod_noise/valuenode_random.cpp:279
+#: src/modules/mod_noise/valuenode_random.cpp:280
 msgid "Speed"
-msgstr "Speed"
+msgstr "Hastighet"
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:281
 msgid "Defines how often a new random value is chosen (in choices per second) "
-msgstr ""
-"Defines how often a new random value is chosen (in choices per second) "
+msgstr "Anger hur ofta ett nytt slumpat värde väljs (i val per sekund)"
 
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:286
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
-msgstr ""
-"Determines how the value is interpolated from one random choice to the next"
+msgstr "Bestämmer hur värdet interpoleras från ett slumpval till nästa"
 
-#: src/modules/mod_noise/valuenode_random.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:288
 msgid "No interpolation"
-msgstr "No interpolation"
+msgstr "Ingen interpolation"
 
-#: src/modules/mod_noise/valuenode_random.cpp:296
+#: src/modules/mod_noise/valuenode_random.cpp:297
 msgid "Loop Time"
-msgstr "Loop Time"
+msgstr "Upprepningstid"
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:298
 msgid "Makes the random value repeat after the given time"
-msgstr "Makes the random value repeat after the given time"
+msgstr "Gör att slumpvärdet repeteras efter den angivna tiden"
 
-#: src/modules/mod_particle/plant.cpp:69
+#: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
-msgstr "Plant"
+msgstr "Växt"
 
-#: src/modules/mod_particle/plant.cpp:404
+#: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
-msgstr "Gradient to be used for colouring the plant"
+msgstr "Gradient att användas för att färga växten"
 
-#: src/modules/mod_particle/plant.cpp:408
+#: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
-msgstr "Split Angle"
+msgstr "Vinkel på delningar"
 
-#: src/modules/mod_particle/plant.cpp:409
+#: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
-msgstr "Angle by which each split deviates from its parent"
+msgstr "Vinkel som delningar avviker med från upphovet"
 
-#: src/modules/mod_particle/plant.cpp:413
+#: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
-msgstr "Gravity"
+msgstr "Gravitation"
 
-#: src/modules/mod_particle/plant.cpp:414
+#: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
-msgstr "Direction in which the shoots tend to face"
+msgstr "Riktning i vilken skotten tenderar att vända sig åt"
 
-#: src/modules/mod_particle/plant.cpp:419
+#: src/modules/mod_particle/plant.cpp:452
 msgid "Tangential Velocity"
-msgstr "Tangential Velocity"
+msgstr "Tangentialhastighet"
 
-#: src/modules/mod_particle/plant.cpp:420
+#: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:424
+#: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
-msgstr "Perpendicular Velocity"
+msgstr "Vertikalhastighet"
 
-#: src/modules/mod_particle/plant.cpp:425
+#: src/modules/mod_particle/plant.cpp:458
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:429
+#: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
-msgstr "Stem Size"
+msgstr "Stjälkstorlek"
 
-#: src/modules/mod_particle/plant.cpp:430
+#: src/modules/mod_particle/plant.cpp:463
 msgid "Size of the stem"
-msgstr "Size of the stem"
+msgstr "Storleken på stjälken"
 
-#: src/modules/mod_particle/plant.cpp:435
+#: src/modules/mod_particle/plant.cpp:468
 msgid "Size As Alpha"
-msgstr "Size As Alpha"
+msgstr "Storlek som alfa"
 
-#: src/modules/mod_particle/plant.cpp:436
+#: src/modules/mod_particle/plant.cpp:469
 msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
 msgstr ""
-"If enabled, the alpha channel from the gradient is multiplied by the stem "
-"size, and an alpha of 1.0 is used when rendering"
+"När detta alternativ är ikryssat, multipliceras alfa-kanalen från gradienten "
+"med stjäökstorleken, och ett alfavärde på 1,0 används vid rendering"
 
-#: src/modules/mod_particle/plant.cpp:440
+#: src/modules/mod_particle/plant.cpp:473
 msgid "Reverse"
-msgstr "Reverse"
+msgstr "Vänd"
 
-#: src/modules/mod_particle/plant.cpp:441
+#: src/modules/mod_particle/plant.cpp:474
 msgid "If enabled, render the plant in the opposite direction"
-msgstr "If enabled, render the plant in the opposite direction"
+msgstr "När detta alternativ är ikryssat renderas växten i motsatt riktning"
 
-#: src/modules/mod_particle/plant.cpp:445 src/synfig/valuenode.cpp:170
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
 #: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
 msgid "Step"
-msgstr "Step"
+msgstr "Steg"
 
-#: src/modules/mod_particle/plant.cpp:446
+#: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
-msgstr "Measure of the distance between points when rendering"
+msgstr "Mått på avståndet mellan punkter vid rendering"
 
-#: src/modules/mod_particle/plant.cpp:451
+#: src/modules/mod_particle/plant.cpp:484
 msgid "Used to seed the pseudo-random number generator"
-msgstr "Used to seed the pseudo-random number generator"
+msgstr "Används som seed för pseudo-slumpgeneratorn"
 
-#: src/modules/mod_particle/plant.cpp:455
+#: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
-msgstr "Splits"
+msgstr "Delningar"
 
-#: src/modules/mod_particle/plant.cpp:456
+#: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
-msgstr "Maximum number of times that each sprout can sprout recursively"
+msgstr "Högsta antalet gånger som varje skott kan gro rekursivt"
 
-#: src/modules/mod_particle/plant.cpp:460
+#: src/modules/mod_particle/plant.cpp:493
 msgid "Sprouts"
-msgstr "Sprouts"
+msgstr "Skott"
 
-#: src/modules/mod_particle/plant.cpp:461
+#: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:465
+#: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
-msgstr "Random Factor"
+msgstr "Slumpfaktor"
 
-#: src/modules/mod_particle/plant.cpp:466
+#: src/modules/mod_particle/plant.cpp:499
 msgid ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 msgstr ""
-"Used to scale down all random effects.  Set to zero to disable randomness"
+"Används för att minska alla slumpmässiga effekter. Noll inaktiverar all "
+"slumpmässighet"
 
-#: src/modules/mod_particle/plant.cpp:470
+#: src/modules/mod_particle/plant.cpp:503
 msgid "Drag"
-msgstr "Drag"
+msgstr "Sega"
 
-#: src/modules/mod_particle/plant.cpp:471
+#: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
-msgstr "Drag slows the growth"
+msgstr "Tillväxten går långsammare med \"seg\" aktiverat"
 
-#: src/modules/mod_particle/plant.cpp:475
+#: src/modules/mod_particle/plant.cpp:508
 msgid "Use Width"
-msgstr "Use Width"
+msgstr "Använd bredd"
 
-#: src/modules/mod_particle/plant.cpp:476
+#: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
 #: src/modules/mod_ppm/mptr_ppm.cpp:86
 #, c-format
 msgid "%s was not in PPM format"
-msgstr "%s was not in PPM format"
+msgstr "%s var inte i PPM-format"
 
-#: src/synfig/cairoimporter.cpp:87 src/synfig/importer.cpp:87
+#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
 msgid "Importer::open(): Cannot open empty filename"
-msgstr "Importer::open(): Cannot open empty filename"
+msgstr "Importer::open():Kan inte öppna tomt filnamn"
 
-#: src/synfig/cairoimporter.cpp:101 src/synfig/importer.cpp:101
+#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
 msgid "Importer::open(): Couldn't find extension"
-msgstr "Importer::open(): Couldn't find extension"
+msgstr "Importer::open():Kunde inte hitta filnamnstillägg"
 
-#: src/synfig/cairoimporter.cpp:112 src/synfig/importer.cpp:112
+#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
 msgid "Importer::open(): Unknown file type -- "
-msgstr "Importer::open(): Unknown file type -- "
+msgstr "Importer::open():Okänt filformat --"
+
+#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
+#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+msgid "No images in list"
+msgstr "Inga bilder i listan"
 
-#: src/synfig/canvas.cpp:798 src/synfig/canvas.cpp:863
-#: src/synfig/canvas.cpp:886
+#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
+#: src/synfig/canvas.cpp:927
 msgid "in line"
-msgstr "in line"
+msgstr "i linje"
 
-#: src/synfig/distance.cpp:249
+#: src/synfig/distance.cpp:251
 msgid "Units"
-msgstr "Units"
+msgstr "Enhet"
 
-#: src/synfig/distance.cpp:250
+#: src/synfig/distance.cpp:252
 msgid "Pixels"
-msgstr "Pixels"
+msgstr "Pixlar"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:254
 msgid "Inches"
-msgstr "Inches"
+msgstr "Inch"
 
-#: src/synfig/distance.cpp:253
+#: src/synfig/distance.cpp:255
 msgid "Meters"
-msgstr "Metres"
+msgstr "Meter"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:256
 msgid "Millimeters"
-msgstr "Millimetres"
+msgstr "Millimeter"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:257
 msgid "Centimeters"
-msgstr "Centimetres"
+msgstr "Centimeter"
 
-#: src/synfig/layer.cpp:565 src/synfig/layer_composite.cpp:128
+#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
 msgid "Unable to create surface target"
-msgstr "Unable to create surface target"
+msgstr "Kan inte skapa ytmål"
 
-#: src/synfig/layer.cpp:619
+#: src/synfig/layer.cpp:605
 msgid "Z Depth"
-msgstr "Z Depth"
+msgstr "Z-djup"
 
-#: src/synfig/layer.cpp:621
+#: src/synfig/layer.cpp:607
 msgid "Modifies the position of the layer in the layer stack"
-msgstr "Modifies the position of the layer in the layer stack"
+msgstr "Anger lagrets postion i lagerhögen"
 
-#: src/synfig/layer_bitmap.cpp:159
+#: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
-msgstr "Top-Left"
+msgstr " Övre vänstra hörnet"
 
-#: src/synfig/layer_bitmap.cpp:160
+#: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
-msgstr "Upper left-hand Corner of image"
+msgstr "Positionen för bildens övre vänstra hörn"
 
-#: src/synfig/layer_bitmap.cpp:164
+#: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
-msgstr "Bottom-Right"
+msgstr "Nedre högra hörnet"
 
-#: src/synfig/layer_bitmap.cpp:165
+#: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
-msgstr "Lower right-hand Corner of image"
+msgstr "Positionen för bildens nedre högra hörn"
 
-#: src/synfig/layer_composite.cpp:218
+#: src/synfig/layer_composite.cpp:250
 msgid "Alpha channel of the layer"
-msgstr "Alpha channel of the layer"
+msgstr "Lagrets alfa-kanal"
 
-#: src/synfig/layer_composite.cpp:221 src/synfig/paramdesc.cpp:62
+#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
-msgstr "Blend Method"
+msgstr "Blandningsmetod"
 
-#: src/synfig/layer_composite.cpp:222
+#: src/synfig/layer_composite.cpp:254
 msgid "The blending method used to composite on the layers below"
-msgstr "The blending method used to composite on the layers below"
+msgstr ""
+"Blandningsmetoden att använda för att kombinera bilden med lagren under"
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:168
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
 #: src/synfig/valuenode_duplicate.cpp:174
 msgid "Duplicate"
-msgstr "Duplicate"
+msgstr "Duplicera"
 
-#: src/synfig/layer_duplicate.cpp:148
+#: src/synfig/layer_duplicate.cpp:151
 msgid "Index"
 msgstr "Index"
 
-#: src/synfig/layer_duplicate.cpp:149
+#: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
-msgstr "Copy Index"
+msgstr "Kopiera index"
 
 #: src/synfig/layer_mime.cpp:86
 msgid "[MIME]"
@@ -2126,1107 +2153,1148 @@ msgstr "[MIME]"
 
 #: src/synfig/layer_motionblur.cpp:56
 msgid "Motion Blur"
-msgstr "Motion Blur"
+msgstr "Rörelse-oskärpa"
 
-#: src/synfig/layer_motionblur.cpp:136
+#: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
-msgstr "Aperture"
+msgstr "Bländare"
 
-#: src/synfig/layer_motionblur.cpp:137
+#: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
-msgstr "Shutter Time"
+msgstr "Slutartid"
 
-#: src/synfig/layer_motionblur.cpp:141
+#: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
-msgstr "Subsamples Factor"
+msgstr "Subsamplings-faktot"
 
-#: src/synfig/layer_motionblur.cpp:142
+#: src/synfig/layer_motionblur.cpp:141
 msgid "Multiplies The Number Of Subsamples Rendered"
-msgstr "Multiplies The Number Of Subsamples Rendered"
+msgstr "Ökar antalet subsamplingar som renderas"
 
-#: src/synfig/layer_motionblur.cpp:146
+#: src/synfig/layer_motionblur.cpp:145
 msgid "Subsampling Type"
-msgstr "Subsampling Type"
+msgstr "Typ av subsampling"
 
-#: src/synfig/layer_motionblur.cpp:147
+#: src/synfig/layer_motionblur.cpp:146
 msgid "Curve Type For Weighting Subsamples"
-msgstr "Curve Type For Weighting Subsamples"
+msgstr "Kurvtyp för att påverka subsamplingar"
 
-#: src/synfig/layer_motionblur.cpp:149 src/synfig/valuenode_const.cpp:127
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
 msgid "Constant"
-msgstr "Constant"
+msgstr "Konstant"
 
-#: src/synfig/layer_motionblur.cpp:151
+#: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
-msgstr "Hyperbolic"
+msgstr "Hyperbolisk"
 
-#: src/synfig/layer_motionblur.cpp:155
+#: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
-msgstr "Subsample Start Amount"
+msgstr "Startmängd på subsampling"
 
-#: src/synfig/layer_motionblur.cpp:156
+#: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
-msgstr "Relative Amount Of The First Subsample, For Linear Weighting"
+msgstr "Relativ mängd på första subsamplingen, för linjär kurvtyp."
 
-#: src/synfig/layer_motionblur.cpp:160
+#: src/synfig/layer_motionblur.cpp:159
 msgid "Subsample End Amount"
-msgstr "Subsample End Amount"
+msgstr "Slutmängd på subsampling"
 
-#: src/synfig/layer_motionblur.cpp:161
+#: src/synfig/layer_motionblur.cpp:160
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
-msgstr "Relative Amount Of The Last Subsample, For Linear Weighting"
+msgstr "Relativ mängd på sista subsamplingen, för linjär kurvtyp"
 
-#: src/synfig/layer_pastecanvas.cpp:78 src/synfig/layer_pastecanvas.cpp:120
-#: src/synfig/layer_pastecanvas.cpp:121
+#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
+#: src/synfig/layer_pastecanvas.cpp:124
 msgid "Group"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:137
+#: src/synfig/layer_pastecanvas.cpp:140
 msgid "Canvas"
-msgstr "Canvas"
+msgstr "Rityta"
 
-#: src/synfig/layer_pastecanvas.cpp:138
+#: src/synfig/layer_pastecanvas.cpp:141
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:144
 msgid "Zoom"
 msgstr "Zoom"
 
-#: src/synfig/layer_pastecanvas.cpp:142
+#: src/synfig/layer_pastecanvas.cpp:145
 msgid "Size of canvas"
-msgstr "Size of canvas"
+msgstr "Storleken på ritytan"
 
-#: src/synfig/layer_pastecanvas.cpp:147
+#: src/synfig/layer_pastecanvas.cpp:152
 msgid "Time Offset to apply to the context"
-msgstr "Time Offset to apply to the context"
+msgstr "Tidsförskjutning att tillämpa på området"
 
-#: src/synfig/layer_pastecanvas.cpp:151
+#: src/synfig/layer_pastecanvas.cpp:156
 msgid "Children Lock"
-msgstr "Children Lock"
+msgstr "Lås ättlingar"
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:157
 msgid "When checked prevents to select the children using the mouse click"
-msgstr "When checked prevents to select the children using the mouse click"
+msgstr ""
+"När detta alternativ är ikryssat kan inte ättlingar markeras med musklick"
 
-#: src/synfig/layer_pastecanvas.cpp:156
+#: src/synfig/layer_pastecanvas.cpp:162
 msgid "Focus Point"
-msgstr "Focus Point"
+msgstr "Fokuspunkt"
 
-#: src/synfig/layer_pastecanvas.cpp:159
+#: src/synfig/layer_pastecanvas.cpp:165
 msgid "Point to remain fixed when zooming"
-msgstr "Point to remain fixed when zooming"
+msgstr "Den punkt som ska förbli stilla när man zoomar"
 
-#: src/synfig/layer_pastecanvas.cpp:164
+#: src/synfig/layer_pastecanvas.cpp:170
 msgid "Outline Grow"
-msgstr "Outline Grow"
+msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:165
+#: src/synfig/layer_pastecanvas.cpp:171
 msgid "Exponential value to grow children Outline layers width"
-msgstr "Exponential value to grow children Outline layers width"
+msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:180
+#: src/synfig/layer_pastecanvas.cpp:186
 msgid "Current Time"
-msgstr "Current Time"
+msgstr "Nuvarande tid"
 
-#: src/synfig/layer_polygon.cpp:61
+#: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
 msgstr "Polygon"
 
-#: src/synfig/layer_polygon.cpp:187
+#: src/synfig/layer_polygon.cpp:194
 msgid "Vertices List"
-msgstr "Vertices List"
+msgstr "Vertexlista"
 
-#: src/synfig/layer_polygon.cpp:188
+#: src/synfig/layer_polygon.cpp:195
 msgid "Define the corners of the polygon"
-msgstr "Define the corners of the polygon"
+msgstr "Anger hörnen på polygonen"
 
-#: src/synfig/layer_shape.cpp:64
+#: src/synfig/layer_shape.cpp:66
 msgid "Shape"
-msgstr "Shape"
+msgstr "Form"
 
-#: src/synfig/layer_shape.cpp:65
+#: src/synfig/layer_shape.cpp:67
 msgid "Internal"
-msgstr "Internal"
+msgstr "Intern"
 
-#: src/synfig/layer_shape.cpp:1194
+#: src/synfig/layer_shape.cpp:1222
 msgid "Layer_Shape Color"
-msgstr "Layer_Shape Colour"
+msgstr "Layer_Shape Color"
 
-#: src/synfig/layer_shape.cpp:1203
+#: src/synfig/layer_shape.cpp:1231
 msgid "Antialiasing"
-msgstr "Antialiasing"
+msgstr "Kantutjämning"
 
-#: src/synfig/layer_shape.cpp:1210
+#: src/synfig/layer_shape.cpp:1238
 msgid "Type of Feather"
-msgstr "Type of Feather"
+msgstr "Fjädringstyp"
 
-#: src/synfig/layer_shape.cpp:1211
+#: src/synfig/layer_shape.cpp:1239
 msgid "Type of feathering to use"
-msgstr "Type of feathering to use"
+msgstr "Typ av fjädring att använda"
 
-#: src/synfig/layer_shape.cpp:1220
+#: src/synfig/layer_shape.cpp:1248
 msgid "Winding Style"
-msgstr "Winding Style"
+msgstr "Slingringstyp"
 
-#: src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_shape.cpp:1249
 msgid "Winding style to use"
-msgstr "Winding style to use"
+msgstr "Vilken stil på slingring som ska användas"
 
-#: src/synfig/layer_shape.cpp:1223
+#: src/synfig/layer_shape.cpp:1251
 msgid "Non Zero"
-msgstr "Non Zero"
+msgstr "Inte noll"
 
-#: src/synfig/layer_shape.cpp:1224
+#: src/synfig/layer_shape.cpp:1252
 msgid "Even/Odd"
-msgstr "Even/Odd"
+msgstr "Jämn/udda"
 
 #: src/synfig/layer_solidcolor.cpp:56
 msgid "Solid Color"
-msgstr "Solid Colour"
+msgstr "Solid färg"
 
-#: src/synfig/listimporter.cpp:161 src/synfig/listimporter.cpp:162
-msgid "No images in list"
-msgstr "No images in list"
-
-#: src/synfig/loadcanvas.cpp:142
+#: src/synfig/loadcanvas.cpp:143
 #, c-format
 msgid "cannot load '%s' recursively"
-msgstr "cannot load '%s' recursively"
+msgstr "kan inte ladda \"%s\" rekursivt"
 
-#: src/synfig/loadcanvas.cpp:185
+#: src/synfig/loadcanvas.cpp:186
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr "Unexpected element <%s>, Expected <%s>"
 
-#: src/synfig/loadcanvas.cpp:191
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr "Unexpected element <%s>"
 
-#: src/synfig/loadcanvas.cpp:205
+#: src/synfig/loadcanvas.cpp:206
 msgid "Too many warnings"
-msgstr "Too many warnings"
+msgstr "För många varningar"
 
-#: src/synfig/loadcanvas.cpp:236
+#: src/synfig/loadcanvas.cpp:237
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
-msgstr "<%s> is missing \"%s\" attribute"
+msgstr "<%s> saknar attributet \"%s\""
 
 #: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:469
-#: src/synfig/loadcanvas.cpp:1118
+#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
+#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
 #, c-format
 msgid "<%s> should not contain anything"
-msgstr "<%s> should not contain anything"
+msgstr "<%s> borde inte innehålla någonting"
 
 #: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:473
-#: src/synfig/loadcanvas.cpp:1122
+#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
+#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
-msgstr "<%s> is missing \"value\" attribute"
+msgstr "<%s> saknar attributet \"value\""
 
-#: src/synfig/loadcanvas.cpp:484 src/synfig/loadcanvas.cpp:1144
+#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
+#: src/synfig/loadcanvas.cpp:1200
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
-msgstr "Bad value \"%s\" in <%s>"
+msgstr "Ogiltigt värde \"%s\" i <%s>"
 
-#: src/synfig/loadcanvas.cpp:508
+#: src/synfig/loadcanvas.cpp:533
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
-msgstr "<%s> is missing \"pos\" attribute"
+msgstr "<%s> saknar attributet \"pos\""
 
-#: src/synfig/loadcanvas.cpp:1284
+#: src/synfig/loadcanvas.cpp:1353
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
-msgstr "Unable to create <animated> with type \"%s\""
+msgstr "Kan inte skapa <animated> med typ \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1301
+#: src/synfig/loadcanvas.cpp:1375
 msgid "<waypoint> is missing attribute \"time\""
-msgstr "<waypoint> is missing attribute \"time\""
+msgstr "<vägpunkt> saknar attributet \"time\""
 
-#: src/synfig/loadcanvas.cpp:1314
+#: src/synfig/loadcanvas.cpp:1388
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
-"Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
-"contents..."
+"Fann attributet \"use\" för <wägpunkt>, men den var inte tom. Ignorerar "
+"innehåll..."
 
-#: src/synfig/loadcanvas.cpp:1330
+#: src/synfig/loadcanvas.cpp:1404
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
-msgstr "Unknown ID (%s) referenced in waypoint"
+msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1336 src/synfig/loadcanvas.cpp:1348
+#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
 #, c-format
 msgid "<%s> is missing its data"
-msgstr "<%s> is missing its data"
+msgstr "\"%s\" saknar sin data"
 
-#: src/synfig/loadcanvas.cpp:1365
+#: src/synfig/loadcanvas.cpp:1439
 msgid "Bad data for <waypoint>"
-msgstr "Bad data for <waypoint>"
+msgstr "Ogiltig data för <wägpunkt>"
 
-#: src/synfig/loadcanvas.cpp:1380
+#: src/synfig/loadcanvas.cpp:1455
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
-msgstr "Unexpected element <%s> after <waypoint> data, ignoring..."
-
-#: src/synfig/loadcanvas.cpp:1424 src/synfig/loadcanvas.cpp:1443
-#, c-format
-msgid "\"%s\" not a valid value for attribute \"%s\" in <%s>"
-msgstr "\"%s\" not a valid value for attribute \"%s\" in <%s>"
+msgstr "Oväntad beståndsdel <%s> efter <vägpunkt>-data, ignorerar..."
 
-#: src/synfig/loadcanvas.cpp:1504
+#: src/synfig/loadcanvas.cpp:1556
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
-msgstr "Missing attribute \"type\" in <%s>"
+msgstr "<%s> saknar attributet \"type\""
 
-#: src/synfig/loadcanvas.cpp:1512
+#: src/synfig/loadcanvas.cpp:1565
 #, c-format
 msgid "Bad type in <%s>"
-msgstr "Bad type in <%s>"
+msgstr "Ogiltig typ i <%s>"
 
-#: src/synfig/loadcanvas.cpp:1522
+#: src/synfig/loadcanvas.cpp:1577
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
-msgstr "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
+msgstr "Fel vid skapande av värdenod <%s> med typ '%s'. Refererar till '%s'"
 
-#: src/synfig/loadcanvas.cpp:1531
+#: src/synfig/loadcanvas.cpp:1587
 #, c-format
 msgid "<%s> did not accept type '%s'"
-msgstr "<%s> did not accept type '%s'"
+msgstr "<%s> accepterade inte typen '%s'"
 
-#: src/synfig/loadcanvas.cpp:1557 src/synfig/loadcanvas.cpp:1628
+#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
 #, c-format
 msgid "'%s' was already defined in <%s>"
-msgstr "'%s' was already defined in <%s>"
+msgstr "'%s' är redan definierad i <%s>"
 
-#: src/synfig/loadcanvas.cpp:1570
+#: src/synfig/loadcanvas.cpp:1625
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr "'%s' attribute in <%s> references unknown ID '%s'"
 
-#: src/synfig/loadcanvas.cpp:1579
+#: src/synfig/loadcanvas.cpp:1634
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
-msgstr "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
+msgstr "Kan inte skapa länk '\"%s\" till värdenod \"%s\" (länk #%d i \"%s\")"
 
-#: src/synfig/loadcanvas.cpp:1603
+#: src/synfig/loadcanvas.cpp:1658
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
-msgstr "Unknown Exception thrown when referencing ValueNode \"%s\""
+msgstr "Okänt undantag uppkom vid referens till värdenod \"%s\""
 
-#: src/synfig/loadcanvas.cpp:1643
+#: src/synfig/loadcanvas.cpp:1698
 #, c-format
 msgid "element <%s> is missing its contents"
-msgstr "element <%s> is missing its contents"
+msgstr "<%s> saknar sitt innehåll"
 
-#: src/synfig/loadcanvas.cpp:1652
+#: src/synfig/loadcanvas.cpp:1707
 #, c-format
 msgid "Parse of '%s' failed"
-msgstr "Parse of '%s' failed"
+msgstr "Analysering av '%s' misslyckades"
 
-#: src/synfig/loadcanvas.cpp:1659
+#: src/synfig/loadcanvas.cpp:1714
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1677
+#: src/synfig/loadcanvas.cpp:1732
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
-msgstr "Unknown Exception thrown when working on element \"%s\""
+msgstr "Okänt undantag uppkom vid arbetet med '%s'"
 
-#: src/synfig/loadcanvas.cpp:1747
+#: src/synfig/loadcanvas.cpp:1811
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr "<%s> is missing link %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1841
-msgid "Unable to create <dynamic_list>"
-msgstr "Unable to create <dynamic_list>"
+#: src/synfig/loadcanvas.cpp:1861
+msgid "Unable to create <list>"
+msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1993
+#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
 msgid "<entry> is missing its contents or missing \"use\" element"
-msgstr "<entry> is missing its contents or missing \"use\" element"
+msgstr "<entry> saknar sitt innehåll, eller saknar \"use\"-element"
+
+#: src/synfig/loadcanvas.cpp:1998
+msgid "Unable to create <dynamic_list>"
+msgstr "Unable to create <dynamic_list>"
 
-#: src/synfig/loadcanvas.cpp:2038
+#: src/synfig/loadcanvas.cpp:2220
 #, c-format
 msgid "Bad data in <%s>"
-msgstr "Bad data in <%s>"
+msgstr "Ogiltig data i <%s>"
 
-#: src/synfig/loadcanvas.cpp:2076
+#: src/synfig/loadcanvas.cpp:2283
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
-msgstr "Expected a ValueNode.  Refer to '%s'"
+msgstr "Värdenod förväntad. Refererar till '%s'"
 
-#: src/synfig/loadcanvas.cpp:2097
+#: src/synfig/loadcanvas.cpp:2304
 #, c-format
 msgid "Bad ID \"%s\""
-msgstr "Bad ID \"%s\""
+msgstr "Ogiltig ID \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2102
+#: src/synfig/loadcanvas.cpp:2310
 #, c-format
 msgid "Duplicate ID \"%s\""
-msgstr "Duplicate ID \"%s\""
+msgstr "Dubbelt ID \"%s\""
 
-#: src/synfig/loadcanvas.cpp:2107
+#: src/synfig/loadcanvas.cpp:2316
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
-msgstr "Unknown Exception thrown when adding ValueNode \"%s\""
+msgstr "Okänt undantag uppkom när värdenod \"%s\" lades till"
 
-#: src/synfig/loadcanvas.cpp:2142
+#: src/synfig/loadcanvas.cpp:2373
 msgid "Missing \"type\" attribute to \"layer\" element"
-msgstr "Missing \"type\" attribute to \"layer\" element"
+msgstr "Saknar attribut \"type\" för elementet \"layer\""
 
-#: src/synfig/loadcanvas.cpp:2161
+#: src/synfig/loadcanvas.cpp:2392
 msgid "Installed layer version is smaller than layer version in file"
-msgstr "Installed layer version is smaller than layer version in file"
+msgstr "Installerad lagerversion är mindre än filens lagerversion"
 
-#: src/synfig/loadcanvas.cpp:2181
+#: src/synfig/loadcanvas.cpp:2415
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
-msgstr "<name> entry for <layer> is not yet supported. Ignoring..."
+msgstr "<name>-värde för <layer> stöds ännu inte. Ignorerar..."
 
-#: src/synfig/loadcanvas.cpp:2184
+#: src/synfig/loadcanvas.cpp:2418
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
-msgstr "<desc> entry for <layer> is not yet supported. Ignoring..."
+msgstr "<desc>-värde för <layer> stöds ännu inte. Ignorerar..."
 
-#: src/synfig/loadcanvas.cpp:2192
+#: src/synfig/loadcanvas.cpp:2426
 msgid "Missing \"name\" attribute for <param>."
-msgstr "Missing \"name\" attribute for <param>."
+msgstr "Saknar \"name\"-attribut för <param>"
 
-#: src/synfig/loadcanvas.cpp:2209
+#: src/synfig/loadcanvas.cpp:2443
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
-"Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
-"contents..."
+"Hittade \"use\"-attribut för <param>, men den var inte tom. Ignorerar "
+"innehåll..."
 
-#: src/synfig/loadcanvas.cpp:2214
+#: src/synfig/loadcanvas.cpp:2448
 msgid "Empty use=\"\" value in <param>"
-msgstr "Empty use=\"\" value in <param>"
+msgstr "Tomt use=\"\"-värde i <param>"
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2454
 #, c-format
 msgid "Failed to load subcanvas '%s'"
-msgstr "Failed to load subcanvas '%s'"
+msgstr "Laddning av del-ritytan '%s' misslyckades"
 
-#: src/synfig/loadcanvas.cpp:2222
+#: src/synfig/loadcanvas.cpp:2456
 msgid "Layer rejected canvas link"
-msgstr "Layer rejected canvas link"
+msgstr "Lager förkastade ritytans länk"
 
-#: src/synfig/loadcanvas.cpp:2244
+#: src/synfig/loadcanvas.cpp:2480
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
-msgstr "Unknown ID (%s) referenced in parameter \"%s\""
+msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2260
+#: src/synfig/loadcanvas.cpp:2496
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
-"<param> is either missing its contents, or missing a \"use\" attribute."
+"<param> saknar antingen sitt innehåll, eller saknar ett \"use\"-attribut"
 
-#: src/synfig/loadcanvas.cpp:2272 src/synfig/loadcanvas.cpp:2292
+#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
 msgid "Bad data for <param>"
-msgstr "Bad data for <param>"
+msgstr "Ogiltig data för <param>"
 
-#: src/synfig/loadcanvas.cpp:2280
+#: src/synfig/loadcanvas.cpp:2516
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr "Layer '%s' rejected value for parameter '%s'"
 
-#: src/synfig/loadcanvas.cpp:2303
+#: src/synfig/loadcanvas.cpp:2539
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
-msgstr "Unexpected element <%s> after <param> data, ignoring..."
+msgstr "Oväntat element <%s> efter <param>-data, ignorerar..."
 
-#: src/synfig/loadcanvas.cpp:2376 src/synfig/loadcanvas.cpp:2384
+#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
 msgid "Canvas with width or height less than one is not allowed"
-msgstr "Canvas with width or height less than one is not allowed"
+msgstr "Rityta med bredd eller höjd under ett är inte tillåtet"
 
-#: src/synfig/loadcanvas.cpp:2470
+#: src/synfig/loadcanvas.cpp:2710
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2478
+#: src/synfig/loadcanvas.cpp:2717
+msgid "Inline canvas cannot have a <bones> section"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2725
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2490
+#: src/synfig/loadcanvas.cpp:2737
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2498
+#: src/synfig/loadcanvas.cpp:2745
 msgid "<meta> must have a name"
-msgstr "<meta> must have a name"
+msgstr "<meta> måste ha ett namn"
 
-#: src/synfig/loadcanvas.cpp:2504
+#: src/synfig/loadcanvas.cpp:2751
 msgid "<meta> must have content"
-msgstr "<meta> must have content"
+msgstr "<meta> måste ha ett innehåll"
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:2763
 msgid "blank \"name\" entity"
-msgstr "blank \"name\" entity"
+msgstr "tom \"namn\"-enhet"
 
-#: src/synfig/loadcanvas.cpp:2531
+#: src/synfig/loadcanvas.cpp:2778
 msgid "blank \"desc\" entity"
-msgstr "blank \"desc\" entity"
+msgstr "tom \"desc\"-enhet"
 
-#: src/synfig/loadcanvas.cpp:2546
+#: src/synfig/loadcanvas.cpp:2793
 msgid "blank \"author\" entity"
-msgstr "blank \"author\" entity"
+msgstr "tom \"author\"-enhet"
 
-#: src/synfig/loadcanvas.cpp:2578
+#: src/synfig/loadcanvas.cpp:2828
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
-msgstr "Canvas '%s' has undefined %s: %s"
+msgstr "Ritytan '%s\" har odefinierad %s: %s"
 
-#: src/synfig/loadcanvas.cpp:2580 src/synfig/valuenode.cpp:353
+#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
 msgid "ValueNode"
-msgstr "ValueNode"
+msgstr "Värdenod"
 
-#: src/synfig/loadcanvas.cpp:2580
+#: src/synfig/loadcanvas.cpp:2830
 msgid "ValueNodes"
-msgstr "ValueNodes"
+msgstr "Värdenoder"
 
-#: src/synfig/loadcanvas.cpp:2660 src/synfig/loadcanvas.cpp:2716
+#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
 msgid "Can't open file"
-msgstr "Can't open file"
+msgstr "Kan ej öppna fil"
 
-#: src/synfig/main.cpp:102
+#: src/synfig/main.cpp:118
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr "API Version mismatch (LIB:%d, PROG:%d)"
 
-#: src/synfig/main.cpp:107
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr "Size of Vector mismatch (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:112
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
-msgstr "Size of Colour mismatch (app:%d, lib:%d)"
+msgstr "Size of Color mismatch (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:117
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr "Size of Canvas mismatch (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:122
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr "Size of Layer mismatch (app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:184
+#: src/synfig/main.cpp:207
 msgid "Starting Subsystem \"Modules\""
-msgstr "Starting Subsystem \"Modules\""
+msgstr "Startar delsystem \"Modules\" (moduler)"
 
-#: src/synfig/main.cpp:186
+#: src/synfig/main.cpp:209
 msgid "Unable to initialize subsystem \"Module\""
-msgstr "Unable to initialise subsystem \"Module\""
+msgstr "Misslyckades med att initialisera delsystem \"Modules\" (moduler)"
 
-#: src/synfig/main.cpp:188
+#: src/synfig/main.cpp:211
 msgid "Starting Subsystem \"Layers\""
-msgstr "Starting Subsystem \"Layers\""
+msgstr "Startar delsystem \"Layers\" (lager)"
 
-#: src/synfig/main.cpp:192
+#: src/synfig/main.cpp:215
 msgid "Unable to initialize subsystem \"Layers\""
-msgstr "Unable to initialise subsystem \"Layers\""
+msgstr "Misslyckades med att initialisera delsystem \"Layers\" (lager)"
 
-#: src/synfig/main.cpp:195
+#: src/synfig/main.cpp:218
 msgid "Starting Subsystem \"Targets\""
-msgstr "Starting Subsystem \"Targets\""
+msgstr "Startar delsystem \"Targets\" (mål)"
 
-#: src/synfig/main.cpp:200
+#: src/synfig/main.cpp:223
 msgid "Unable to initialize subsystem \"Targets\""
-msgstr "Unable to initialise subsystem \"Targets\""
+msgstr "Misslyckades med att initialisera delsystem \"Targets\" (mål) "
 
-#: src/synfig/main.cpp:203
+#: src/synfig/main.cpp:226
 msgid "Starting Subsystem \"Importers\""
-msgstr "Starting Subsystem \"Importers\""
+msgstr "Startar delsystem \"Importers\" (importörer)"
 
-#: src/synfig/main.cpp:209
+#: src/synfig/main.cpp:232
 msgid "Unable to initialize subsystem \"Importers\""
-msgstr "Unable to initialise subsystem \"Importers\""
+msgstr "Misslyckades med att initialisera delsystem \"Importers\" (importörer)"
 
-#: src/synfig/main.cpp:212
+#: src/synfig/main.cpp:235
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:219
+#: src/synfig/main.cpp:242
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:222
+#: src/synfig/main.cpp:245
 msgid "Starting Subsystem \"ValueNodes\""
-msgstr "Starting Subsystem \"ValueNodes\""
+msgstr "Startar delsystem \"ValueNodes\" (värdenoder)"
 
-#: src/synfig/main.cpp:230
+#: src/synfig/main.cpp:253
 msgid "Unable to initialize subsystem \"ValueNodes\""
-msgstr "Unable to initialise subsystem \"ValueNodes\""
+msgstr ""
+"Misslyckades med att initialisera delsystem \"ValueNodes\" (värdenoder)"
 
-#: src/synfig/main.cpp:267 src/synfig/main.cpp:268
+#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
 #, c-format
 msgid "Loading modules from %s"
-msgstr "Loading modules from %s"
+msgstr "Laddar moduler från %s"
 
-#: src/synfig/main.cpp:279
+#: src/synfig/main.cpp:302
 #, c-format
 msgid "Unable to open module list file '%s'"
-msgstr "Unable to open module list file '%s'"
+msgstr "Kan inte öppna modullist-fil '%s'"
 
-#: src/synfig/main.cpp:293 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
 msgid "DONE"
-msgstr "DONE"
+msgstr "KLAR"
 
-#: src/synfig/main.cpp:360 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
 msgid "error"
-msgstr "error"
+msgstr "fel"
 
-#: src/synfig/main.cpp:375 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
 msgid "warning"
-msgstr "warning"
+msgstr "varning"
 
-#: src/synfig/main.cpp:390
+#: src/synfig/main.cpp:413
 msgid "info"
 msgstr "info"
 
 #: src/synfig/module.cpp:64
 msgid "Errors on lt_dlinit()"
-msgstr "Errors on lt_dlinit()"
+msgstr "Fel i lt_dlinit()"
 
 #: src/synfig/module.cpp:101
 #, c-format
 msgid "Unable to load module '%s'"
-msgstr "Unable to load module '%s'"
+msgstr "Kan inte ladda modul '%s'"
 
 #: src/synfig/module.cpp:126
 #, c-format
 msgid "Attempting to register \"%s\""
-msgstr "Attempting to register \"%s\""
+msgstr "Försöker registrera \"%s\""
 
 #: src/synfig/module.cpp:133
 #, c-format
 msgid "Unable to find module \"%s\" (%s)"
-msgstr "Unable to find module \"%s\" (%s)"
+msgstr "Kan inte hitta modulen \"%s\" (%s)"
 
 #: src/synfig/module.cpp:137
 #, c-format
 msgid "Found module \"%s\""
-msgstr "Found module \"%s\""
+msgstr "Hittade modulen \"%s\""
 
 #: src/synfig/module.cpp:171
 #, c-format
 msgid "Unable to find entrypoint in module \"%s\" (%s)"
-msgstr "Unable to find entrypoint in module \"%s\" (%s)"
+msgstr "Kan inte hitta entrypoint i modul \"%s\" (%s)"
 
 #: src/synfig/module.cpp:184
 msgid "Entrypoint did not return a module."
-msgstr "Entrypoint did not return a module."
+msgstr "Entrypoint gav inte en modul"
 
 #: src/synfig/module.cpp:188
 #, c-format
 msgid "Success for \"%s\""
-msgstr "Success for \"%s\""
+msgstr "\"%s\" lyckades"
 
 #: src/synfig/palette.cpp:79
 msgid "Unnamed"
-msgstr "Unnamed"
+msgstr "Namnlös"
 
 #: src/synfig/palette.cpp:96
 msgid "Surface Palette"
-msgstr "Surface Palette"
+msgstr "Yt-palett"
 
 #: src/synfig/palette.cpp:291
 #, c-format
 msgid "%0.2f%% Gray"
-msgstr "%0.2f%% Grey"
+msgstr "%0.2f%% Grå"
 
 #: src/synfig/palette.cpp:306
 #, c-format
 msgid "Unable to open %s for write"
-msgstr "Unable to open %s for write"
+msgstr "Kan inte öppna %s för att skriva"
 
 #: src/synfig/palette.cpp:328
 #, c-format
 msgid "Unable to open %s for read"
-msgstr "Unable to open %s for read"
+msgstr "Kan inte öppna %s för att läsa"
 
 #: src/synfig/palette.cpp:340 src/synfig/palette.cpp:382
 #, c-format
 msgid "%s does not appear to be a valid %s palette file"
-msgstr "%s does not appear to be a valid %s palette file"
+msgstr ""
 
 #: src/synfig/palette.cpp:437
 #, c-format
 msgid "%s does not appear to be a supported palette file"
-msgstr "%s does not appear to be a supported palette file"
+msgstr ""
 
-#: src/synfig/paramdesc.cpp:64 src/synfig/valuenode.cpp:140
-#: src/synfig/valuenode_composite.cpp:437
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
+#: src/synfig/valuenode_composite.cpp:447
 msgid "Composite"
-msgstr "Composite"
+msgstr "Sammansättning"
 
-#: src/synfig/paramdesc.cpp:65
+#: src/synfig/paramdesc.cpp:69
 msgid "Straight"
-msgstr "Straight"
+msgstr ""
 
-#: src/synfig/paramdesc.cpp:66
+#: src/synfig/paramdesc.cpp:70
 msgid "Onto"
-msgstr "Onto"
+msgstr ""
 
-#: src/synfig/paramdesc.cpp:67
+#: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
-msgstr "Straight Onto"
+msgstr ""
 
-#: src/synfig/paramdesc.cpp:68
+#: src/synfig/paramdesc.cpp:72
 msgid "Behind"
-msgstr "Behind"
+msgstr ""
 
-#: src/synfig/paramdesc.cpp:69
+#: src/synfig/paramdesc.cpp:73
 msgid "Screen"
-msgstr "Screen"
+msgstr ""
 
-#: src/synfig/paramdesc.cpp:70
+#: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
-msgstr "Overlay"
+msgstr ""
 
-#: src/synfig/paramdesc.cpp:71
+#: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
-msgstr "Hard Light"
+msgstr ""
 
-#: src/synfig/paramdesc.cpp:72
+#: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
-msgstr "Multiply"
+msgstr ""
 
-#: src/synfig/paramdesc.cpp:73
+#: src/synfig/paramdesc.cpp:77
 msgid "Divide"
-msgstr "Divide"
+msgstr ""
 
-#: src/synfig/paramdesc.cpp:74 src/synfig/valuenode.cpp:157
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
 #: src/synfig/valuenode_add.cpp:190
 msgid "Add"
-msgstr "Add"
+msgstr "Addera"
 
-#: src/synfig/paramdesc.cpp:75 src/synfig/valuenode.cpp:147
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
 #: src/synfig/valuenode_subtract.cpp:194
 msgid "Subtract"
-msgstr "Subtract"
+msgstr "Subtrahera"
 
-#: src/synfig/paramdesc.cpp:76
+#: src/synfig/paramdesc.cpp:80
 msgid "Difference"
-msgstr "Difference"
+msgstr ""
 
-#: src/synfig/paramdesc.cpp:77
+#: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
-msgstr "Brighten"
+msgstr ""
 
-#: src/synfig/paramdesc.cpp:78
+#: src/synfig/paramdesc.cpp:82
 msgid "Darken"
-msgstr "Darken"
+msgstr ""
 
-#: src/synfig/paramdesc.cpp:80 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
 msgid "Hue"
-msgstr "Hue"
+msgstr "Färg"
 
-#: src/synfig/paramdesc.cpp:81 src/synfig/valuenode_radialcomposite.cpp:260
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
 #: src/synfig/valuenode_radialcomposite.cpp:266
 msgid "Saturation"
-msgstr "Saturation"
+msgstr "Mättnad"
 
-#: src/synfig/paramdesc.cpp:82
+#: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
-msgstr "Luminance"
+msgstr ""
 
-#: src/synfig/paramdesc.cpp:83
+#: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
-msgstr "Alpha Over"
+msgstr ""
 
-#: src/synfig/paramdesc.cpp:84
+#: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
-msgstr "Alpha Brighten"
+msgstr ""
 
-#: src/synfig/paramdesc.cpp:85
+#: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
-msgstr "Alpha Darken"
+msgstr ""
 
-#: src/synfig/render.cpp:246 src/synfig/render.cpp:247
-#: src/synfig/render.cpp:301 src/synfig/render.cpp:302
-#: src/synfig/render.cpp:536 src/synfig/render.cpp:537
-#: src/synfig/render.cpp:563 src/synfig/render.cpp:564
+#: src/synfig/render.cpp:248 src/synfig/render.cpp:249
+#: src/synfig/render.cpp:303 src/synfig/render.cpp:304
+#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
+#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
 msgid "Target panic"
 msgstr "Target panic"
 
-#: src/synfig/savecanvas.cpp:290
+#: src/synfig/savecanvas.cpp:359
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
-msgstr "Unknown value(%s), cannot create XML representation!"
+msgstr "Okänt värde(%s), kan inte skapa XML!"
 
-#: src/synfig/savecanvas.cpp:543
+#: src/synfig/savecanvas.cpp:674 src/synfig/savecanvas.cpp:699
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
-msgstr "Unknown ValueNode Type (%s), cannot create an XML representation"
+msgstr "Okänd typ av värdenod (%s), kan inte skapa XML"
 
-#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:185
+#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
 #: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:281
 msgid "Target initialization failure"
-msgstr "Target initialisation failure"
+msgstr "Initialisering av mål misslyckades"
 
-#: src/synfig/target_cairo.cpp:146
+#: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:155 src/synfig/target_scanline.cpp:258
-#: src/synfig/target_scanline.cpp:405
+#: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:260
+#: src/synfig/target_scanline.cpp:407
 msgid "Unable to put surface on target"
-msgstr "Unable to put surface on target"
+msgstr "Kan inte sätta yta på mål"
 
-#: src/synfig/target_cairo.cpp:162
+#: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:169 src/synfig/target_cairo_tile.cpp:248
-#: src/synfig/target_scanline.cpp:418 src/synfig/target_tile.cpp:396
+#: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
+#: src/synfig/target_scanline.cpp:420 src/synfig/target_tile.cpp:398
 msgid "Caught string :"
-msgstr "Caught string :"
+msgstr "Fångade sträng:"
 
-#: src/synfig/target_cairo.cpp:174 src/synfig/target_cairo_tile.cpp:253
-#: src/synfig/target_scanline.cpp:423 src/synfig/target_tile.cpp:401
+#: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
+#: src/synfig/target_scanline.cpp:425 src/synfig/target_tile.cpp:403
 msgid "Ran out of memory (Probably a bug)"
-msgstr "Ran out of memory (Probably a bug)"
+msgstr "Slut på minne (förmodligen en bugg)"
 
-#: src/synfig/target_cairo.cpp:179 src/synfig/target_cairo_tile.cpp:258
-#: src/synfig/target_scanline.cpp:428 src/synfig/target_tile.cpp:406
+#: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
+#: src/synfig/target_scanline.cpp:430 src/synfig/target_tile.cpp:408
 msgid "Caught unknown error, rethrowing..."
-msgstr "Caught unknown error, rethrowing..."
+msgstr "Fångade upp okänt fel, kastar igen"
 
-#: src/synfig/target_cairo.cpp:190
+#: src/synfig/target_cairo.cpp:201
 msgid "Cairo Surface bad status"
 msgstr ""
 
 #: src/synfig/target_cairo_tile.cpp:104 src/synfig/target_tile.cpp:112
 msgid "Bad Tile Size"
-msgstr "Bad Tile Size"
+msgstr "Ogiltig kakelstorlek"
 
-#: src/synfig/target_cairo_tile.cpp:142 src/synfig/target_cairo_tile.cpp:240
-#: src/synfig/target_scanline.cpp:203 src/synfig/target_scanline.cpp:249
-#: src/synfig/target_scanline.cpp:348 src/synfig/target_scanline.cpp:396
+#: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
+#: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:251
+#: src/synfig/target_scanline.cpp:350 src/synfig/target_scanline.cpp:398
 #: src/synfig/target_tile.cpp:225
 msgid "Accelerated Renderer Failure"
-msgstr "Accelerated Renderer Failure"
+msgstr "Accelererad rendering misslyckades"
 
-#: src/synfig/target_cairo_tile.cpp:150
+#: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:156 src/synfig/target_tile.cpp:179
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:179
 #: src/synfig/target_tile.cpp:245
 msgid "add_tile():Unable to put surface on target"
-msgstr "add_tile():Unable to put surface on target"
+msgstr "add_tile():Kan inte sätta yta på mål"
 
-#: src/synfig/target_cairo_tile.cpp:211
+#: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
 msgstr ""
 
 #: src/synfig/target_tile.cpp:162
 msgid "Parametric Renderer Failure"
-msgstr "Parametric Renderer Failure"
+msgstr "Parametrisk rendering misslyckades"
 
 #: src/synfig/target_tile.cpp:169 src/synfig/target_tile.cpp:233
 msgid "Bad surface"
-msgstr "Bad surface"
+msgstr "Ogiltig yta"
 
 #: src/synfig/time.cpp:119
 #, c-format
 msgid "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
-msgstr "Time(): No unit provided in time code, assuming FRAMES (\"%s\")"
+msgstr "Time():Ingen enhet given i tidskod, använder BILDRUTOR (\"%s\")"
 
 #: src/synfig/time.cpp:124
 msgid ""
 "Time(): No unit provided in time code and frame rate is unknown! Assuming "
 "SECONDS"
 msgstr ""
-"Time(): No unit provided in time code and frame rate is unknown! Assuming "
-"SECONDS"
+"Time():Ingen enhet angiven i tidskod och FPS är okänt! Använder SEKUNDER"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:276 src/synfig/value.cpp:308 src/synfig/value.cpp:360
+#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
 msgid "bool"
-msgstr "bool"
+msgstr "boolesk"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:277 src/synfig/value.cpp:310 src/synfig/value.cpp:358
+#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
 msgid "integer"
-msgstr "integer"
+msgstr "heltal"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:278 src/synfig/value.cpp:312
+#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
 msgid "angle"
-msgstr "angle"
+msgstr "vinkel"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:279 src/synfig/value.cpp:314 src/synfig/value.cpp:352
+#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
 msgid "time"
-msgstr "time"
+msgstr "tid"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:280 src/synfig/value.cpp:316 src/synfig/value.cpp:355
+#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
 msgid "real"
-msgstr "real"
+msgstr "reell"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:281 src/synfig/value.cpp:318
+#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
 msgid "vector"
-msgstr "vector"
+msgstr "vektor"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:282 src/synfig/value.cpp:320
+#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
 msgid "color"
-msgstr "colour"
+msgstr "färg"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:283 src/synfig/value.cpp:322
+#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
 msgid "segment"
 msgstr "segment"
 
-#: src/synfig/value.cpp:284
+#: src/synfig/value.cpp:378
 msgid "bline_point"
-msgstr "bline_point"
+msgstr "bline_punkt"
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
+msgid "matrix"
+msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:285 src/synfig/value.cpp:326
+#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
+msgid "bone_weight_pair"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
 msgid "width_point"
-msgstr "width_point"
+msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:286 src/synfig/value.cpp:328
+#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
 msgid "dash_item"
-msgstr "dash_item"
+msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:287 src/synfig/value.cpp:330
+#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
 msgid "list"
-msgstr "list"
+msgstr "lista"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:288 src/synfig/value.cpp:332
+#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
 msgid "canvas"
-msgstr "canvas"
+msgstr "rityta"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:289 src/synfig/value.cpp:334
+#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
 msgid "string"
-msgstr "string"
+msgstr "sträng"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:290 src/synfig/value.cpp:336
+#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
 msgid "gradient"
 msgstr "gradient"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:291 src/synfig/value.cpp:338
+#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
+msgid "bone_object"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
+msgid "bone_valuenode"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
 msgid "nil"
-msgstr "nil"
+msgstr "inget"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:324
+#: src/synfig/value.cpp:422
 msgid "spline_point"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:141 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
 msgid "Radial Composite"
-msgstr "Radial Composite"
+msgstr "Radiell sammansättning"
 
-#: src/synfig/valuenode.cpp:142 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
-msgstr "Reference"
+msgstr "Referens"
 
-#: src/synfig/valuenode.cpp:144 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
-msgstr "Segment Tangent"
+msgstr "Segmenttangent"
 
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
-msgstr "Segment Vertex"
+msgstr "Segmenthörn"
 
-#: src/synfig/valuenode.cpp:146 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
-msgstr "Stripes"
+msgstr "Ränder"
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
-msgstr "Two-Tone"
+msgstr "Två-tonig"
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_dynamiclist.cpp:755
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
 msgid "Dynamic List"
-msgstr "Dynamic List"
+msgstr "Dynamisk lista"
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
-msgstr "Gradient Rotate"
+msgstr "Gradient-rotation"
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
-msgstr "Sine"
+msgstr "Sinus"
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
 msgid "Timed Swap"
-msgstr "Timed Swap"
+msgstr "Tajmat byte"
 
-#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
-msgstr "Repeat Gradient"
+msgstr "Repetera gradient"
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr "Exponential"
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
 msgid "Range"
-msgstr "Range"
+msgstr "Rad"
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
 #: src/synfig/valuenode_switch.cpp:163
 msgid "Switch"
-msgstr "Switch"
+msgstr "Växla"
 
-#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
-msgstr "Cos"
+msgstr "Kosinus"
 
-#: src/synfig/valuenode.cpp:164
+#: src/synfig/valuenode.cpp:170
 msgid "aTan2"
 msgstr "aTan2"
 
-#: src/synfig/valuenode.cpp:165
+#: src/synfig/valuenode.cpp:171
 msgid "Reverse Tangent"
-msgstr "Reverse Tangent"
+msgstr "Invertera tangenter"
 
-#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
-msgstr "Reciprocal"
+msgstr "Reciprokal"
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
 msgid "Integer"
-msgstr "Integer"
+msgstr "Heltal"
 
-#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
 msgid "Vector Angle"
-msgstr "Vector Angle"
+msgstr "Vektorns vinkel"
 
-#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
 msgid "Vector Length"
-msgstr "Vector Length"
+msgstr "Vektorns längd"
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
 msgid "Vector X"
-msgstr "Vector X"
+msgstr "Vektor X"
 
-#: src/synfig/valuenode.cpp:176 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
 msgid "Vector Y"
-msgstr "Vector Y"
+msgstr "Vektor Y"
 
-#: src/synfig/valuenode.cpp:177
+#: src/synfig/valuenode.cpp:183
 msgid "Gradient Color"
-msgstr "Gradient Colour"
+msgstr "Gradientens färg"
 
-#: src/synfig/valuenode.cpp:178
+#: src/synfig/valuenode.cpp:184
 msgid "Dot Product"
-msgstr "Dot Product"
+msgstr "Skalärprodukt"
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
 msgid "Time String"
-msgstr "Time String"
+msgstr "Tidssträng"
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_real.cpp:161
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
 #: src/synfig/valuenode_realstring.cpp:175
 msgid "Real"
-msgstr "Real"
+msgstr "Tal"
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
 msgid "Real String"
-msgstr "Real String"
+msgstr "Reell sträng"
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
 msgid "Joined List"
-msgstr "Joined List"
+msgstr "Sammanslagen lista"
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:189
 msgid "Angle String"
-msgstr "Angle String"
+msgstr "Vinkelsträng"
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:190
 msgid "Int String"
-msgstr "Int String"
+msgstr "Heltalssträng"
 
-#: src/synfig/valuenode.cpp:185
+#: src/synfig/valuenode.cpp:191
 msgid "Logarithm"
-msgstr "Logarithm"
+msgstr "Logaritm"
 
-#: src/synfig/valuenode.cpp:187
+#: src/synfig/valuenode.cpp:192
 msgid "Greyed"
-msgstr "Greyed"
+msgstr "Grånad"
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
-msgstr "Power"
+msgstr "Styrks"
 
-#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
-msgstr "Compare"
+msgstr "Jämför"
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195
 msgid "Not"
-msgstr "Not"
+msgstr "Inte"
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196
 msgid "And"
-msgstr "And"
+msgstr "Och"
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197
 msgid "Or"
-msgstr "Or"
+msgstr "Eller"
+
+#: src/synfig/valuenode.cpp:199
+msgid "Bone Influence"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:200
+msgid "Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:201
+msgid "Root Bone"
+msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:202
+msgid "Static List"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:203
+msgid "Bone Weight Pair"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
 msgid "WPList"
-msgstr "WPList"
+msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:206
 msgid "DIList"
-msgstr "DIList"
+msgstr ""
 
-#: src/synfig/valuenode.cpp:233
+#: src/synfig/valuenode.cpp:241
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
-msgstr "Bad type: ValueNode '%s' doesn't accept type '%s'"
+msgstr "Ogiltig typ: värdenod '%s' accepterar inte typ '%s'"
 
-#: src/synfig/valuenode.cpp:513
+#: src/synfig/valuenode.cpp:540
 msgid "Placeholder"
-msgstr "Placeholder"
+msgstr "Platshållare"
 
-#: src/synfig/valuenode.h:61
+#: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
-msgstr "%s:%d wrong type for %s: need %s but got %s"
+msgstr "%s:%d fel typ för %s: behöver %s men fick %s"
 
 #: src/synfig/valuenode_add.cpp:101 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_integer.cpp:82 src/synfig/valuenode_integer.cpp:145
@@ -3236,86 +3304,86 @@ msgstr "%s:%d wrong type for %s: need %s but got %s"
 #: src/synfig/valuenode_scale.cpp:90 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_subtract.cpp:101
 msgid ":Bad type "
-msgstr ":Bad type "
+msgstr ":Ogiltig typ"
 
 #: src/synfig/valuenode_add.cpp:129 src/synfig/valuenode_scale.cpp:122
 #: src/synfig/valuenode_subtract.cpp:133
 msgid "One or both of my parameters aren't set!"
-msgstr "One or both of my parameters aren't set!"
+msgstr "En eller båda av mina parametrar är inte inställda!"
 
 #: src/synfig/valuenode_add.cpp:211 src/synfig/valuenode_compare.cpp:167
 #: src/synfig/valuenode_subtract.cpp:218
 msgid "LHS"
-msgstr "LHS"
+msgstr "VS"
 
 #: src/synfig/valuenode_add.cpp:212
 msgid "Left Hand Side of the add"
-msgstr "Left Hand Side of the addition"
+msgstr "Vänstra sidan av adderingen"
 
 #: src/synfig/valuenode_add.cpp:216 src/synfig/valuenode_compare.cpp:172
 #: src/synfig/valuenode_subtract.cpp:223
 msgid "RHS"
-msgstr "RHS"
+msgstr "HS"
 
 #: src/synfig/valuenode_add.cpp:217
 msgid "Right Hand Side of the add"
-msgstr "Right Hand Side of the addition"
+msgstr "Höger sida av adderingen"
 
 #: src/synfig/valuenode_add.cpp:221 src/synfig/valuenode_scale.cpp:272
 #: src/synfig/valuenode_subtract.cpp:228
 msgid "Scalar"
-msgstr "Scalar"
+msgstr "Skalär"
 
 #: src/synfig/valuenode_add.cpp:222
 msgid "Value that multiplies the add"
-msgstr "Value that multiplies the addition"
+msgstr "Värde som multiplicerar adderingen"
 
 #: src/synfig/valuenode_and.cpp:129
 msgid "AND"
-msgstr "AND"
+msgstr "OCH"
 
 #: src/synfig/valuenode_and.cpp:147 src/synfig/valuenode_or.cpp:147
 msgid "Link1"
-msgstr "Link1"
+msgstr "Länk1"
 
 #: src/synfig/valuenode_and.cpp:148
 msgid "First operand of the AND operation"
-msgstr "First operand of the conjunction"
+msgstr "Första operanden i OCH-operationen"
 
 #: src/synfig/valuenode_and.cpp:152 src/synfig/valuenode_or.cpp:152
 msgid "Link2"
-msgstr "Link2"
+msgstr "Länk2"
 
 #: src/synfig/valuenode_and.cpp:153
 msgid "Second operand of the AND operation"
-msgstr "Second operand of the conjunction"
+msgstr "Andra operanden i OCH-operationen"
 
-#: src/synfig/valuenode_animated.cpp:355 src/synfig/valuenode_animated.cpp:379
-#: src/synfig/valuenode_animated.cpp:703 src/synfig/valuenode_animated.cpp:721
-#: src/synfig/valuenode_animated.cpp:801 src/synfig/valuenode_animated.cpp:820
+#: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
+#: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
+#: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
-msgstr "A waypoint already exists at this point in time"
+msgstr "Det finns redan en vägpunkt på den här tidpunkten"
 
-#: src/synfig/valuenode_animated.cpp:1134
+#: src/synfig/valuenode_animated.cpp:1173
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
-msgstr "%s: You cannot use a %s in an animated ValueNode"
+msgstr "%s: Du kan inte använda %s i en animerad värdenod"
 
-#: src/synfig/valuenode_animated.cpp:1169
+#: src/synfig/valuenode_animated.cpp:1208
 msgid "Animated"
-msgstr "Animated"
+msgstr "Animerad"
 
-#: src/synfig/valuenode_bline.cpp:977 src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
 #: src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in list"
-msgstr "No entries in list"
+msgstr "Inget innehåll i listam"
 
-#: src/synfig/valuenode_bline.cpp:980 src/synfig/valuenode_dynamiclist.cpp:664
+#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
 #: src/synfig/valuenode_wplist.cpp:339
 msgid "No entries in ret_list"
-msgstr "No entries in ret_list"
+msgstr "Inget innehåll i ret_list"
 
-#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_bline.cpp:1023
+#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
 #, c-format
 msgid "Vertex %03d"
 msgstr "Vertex %03d"
@@ -3328,34 +3396,34 @@ msgstr ""
 #: src/synfig/valuenode_blinecalcvertex.cpp:207
 #: src/synfig/valuenode_blinecalcwidth.cpp:212
 msgid "When checked, the amount would loop"
-msgstr "When checked, the amount loops"
+msgstr "När detta alternativ är ikryssat, repeteras värdet"
 
 #: src/synfig/valuenode_blinecalctangent.cpp:252
 msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:584
 #: src/synfig/valuenode_gradientrotate.cpp:169
 #: src/synfig/valuenode_linear.cpp:213
 msgid "Offset"
-msgstr "Offset"
+msgstr "Förskjutning"
 
 #: src/synfig/valuenode_blinecalctangent.cpp:257
 msgid "Angle offset of the tangent"
-msgstr "Angle offset of the tangent"
+msgstr "Vinkel-förskjutning av tangenten"
 
 #: src/synfig/valuenode_blinecalctangent.cpp:262
 msgid "Scale of the tangent"
-msgstr "Scale of the tangent"
+msgstr "Storlek på tangenten"
 
 #: src/synfig/valuenode_blinecalctangent.cpp:266
 msgid "Fixed Length"
-msgstr "Fixed Length"
+msgstr "Fast längd"
 
 #: src/synfig/valuenode_blinecalctangent.cpp:267
 msgid "When checked, the tangent's length is fixed"
-msgstr "When checked, the tangent's length is fixed"
+msgstr "När detta alternativ är ikryssat, kan inte tangentens längd ändras"
 
 #: src/synfig/valuenode_blinecalctangent.cpp:272
 msgid "When checked, the tangent is Spline length based"
@@ -3383,269 +3451,265 @@ msgstr ""
 
 #: src/synfig/valuenode_blinecalcwidth.cpp:222
 msgid "Scale of the width"
-msgstr "Scale of the width"
+msgstr "Bredd"
 
 #: src/synfig/valuenode_blinecalcwidth.cpp:227
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:219
+#: src/synfig/valuenode_composite.cpp:229
 msgid "Bad type for composite"
-msgstr "Bad type for composite"
+msgstr "Ogiltig typ för sammansättning"
 
-#: src/synfig/valuenode_composite.cpp:464
+#: src/synfig/valuenode_composite.cpp:474
 msgid "Red"
-msgstr "Red"
+msgstr "Röf"
 
-#: src/synfig/valuenode_composite.cpp:465
+#: src/synfig/valuenode_composite.cpp:475
 msgid "The red component of the color"
-msgstr "The red component of the colour"
+msgstr "Färgens röda komponent"
 
-#: src/synfig/valuenode_composite.cpp:468
+#: src/synfig/valuenode_composite.cpp:478
 msgid "Green"
-msgstr "Green"
+msgstr "Grön"
 
-#: src/synfig/valuenode_composite.cpp:469
+#: src/synfig/valuenode_composite.cpp:479
 msgid "The green component of the color"
-msgstr "The green component of the colour"
+msgstr "Färgens gröna komponent"
 
-#: src/synfig/valuenode_composite.cpp:472
+#: src/synfig/valuenode_composite.cpp:482
 msgid "Blue"
-msgstr "Blue"
+msgstr "Blå"
 
-#: src/synfig/valuenode_composite.cpp:473
+#: src/synfig/valuenode_composite.cpp:483
 msgid "The blue component of the color"
-msgstr "The blue component of the colour"
+msgstr "Färgens blåa komponent"
 
-#: src/synfig/valuenode_composite.cpp:476
+#: src/synfig/valuenode_composite.cpp:486
 msgid "Alpha"
-msgstr "Alpha"
+msgstr "Alfa"
 
-#: src/synfig/valuenode_composite.cpp:477
+#: src/synfig/valuenode_composite.cpp:487
 msgid "The alpha of the color"
-msgstr "The alpha of the colour"
+msgstr "Färgens alfa (genomskinlighet)"
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:492
 msgid "Vertex 1"
 msgstr "Vertex 1"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:493
 msgid "The first vertex of the segment"
-msgstr "The first vertex of the segment"
+msgstr "Den första vertexen i segmentet"
 
-#: src/synfig/valuenode_composite.cpp:486
-#: src/synfig/valuenode_composite.cpp:526
+#: src/synfig/valuenode_composite.cpp:496
+#: src/synfig/valuenode_composite.cpp:536
 msgid "Tangent 1"
 msgstr "Tangent 1"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:497
 msgid "The first tangent of the segment"
-msgstr "The first tangent of the segment"
+msgstr "Den första tangenten i segmentet"
 
-#: src/synfig/valuenode_composite.cpp:490
+#: src/synfig/valuenode_composite.cpp:500
 msgid "Vertex 2"
 msgstr "Vertex 2"
 
-#: src/synfig/valuenode_composite.cpp:491
+#: src/synfig/valuenode_composite.cpp:501
 msgid "The second vertex of the segment"
-msgstr "The second vertex of the segment"
+msgstr "Den andra vertexen i segmentet"
 
-#: src/synfig/valuenode_composite.cpp:494
-#: src/synfig/valuenode_composite.cpp:530
+#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:540
 msgid "Tangent 2"
 msgstr "Tangent 2"
 
-#: src/synfig/valuenode_composite.cpp:495
+#: src/synfig/valuenode_composite.cpp:505
 msgid "The second tangent of the segment"
-msgstr "The second tangent of the segment"
+msgstr "Den andra tangenten i segmentet"
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:510
 msgid "X-Axis"
-msgstr "X-Axis"
+msgstr "X-axeln"
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:511
 msgid "The X-Axis component of the vector"
-msgstr "The X-Axis component of the vector"
+msgstr "Vektorns X-komponent"
 
-#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:514
 msgid "Y-Axis"
-msgstr "Y-Axis"
+msgstr "Y-axeln"
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:515
 msgid "The Y-Axis component of the vector"
-msgstr "The Y-Axis component of the vector"
+msgstr "Vektorns Y-komponent"
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:520
 msgid "Vertex"
 msgstr "Vertex"
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:521
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:525
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:519
+#: src/synfig/valuenode_composite.cpp:529
 msgid "Defines the Off and On position relative to neighbours"
-msgstr "Defines the Off and On positions relative to neighbours"
+msgstr "Bestämmer på/av-värde relativt till grannar"
 
-#: src/synfig/valuenode_composite.cpp:522
+#: src/synfig/valuenode_composite.cpp:532
 msgid "Split"
-msgstr "Split"
+msgstr "Dela"
 
-#: src/synfig/valuenode_composite.cpp:523
+#: src/synfig/valuenode_composite.cpp:533
 msgid "When checked, tangents are independent"
-msgstr "When checked, tangents are independent"
+msgstr "När detta är på, blir tangenterna oberoende"
 
-#: src/synfig/valuenode_composite.cpp:527
+#: src/synfig/valuenode_composite.cpp:537
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:531
+#: src/synfig/valuenode_composite.cpp:541
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:547
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:551
 msgid "The width of the Width Point"
-msgstr "The width of the Width Point"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:544
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_composite.cpp:554
+#: src/synfig/valuenode_composite.cpp:594
 msgid "Side Type Before"
-msgstr "Side Type Before"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:545
 #: src/synfig/valuenode_composite.cpp:555
+#: src/synfig/valuenode_composite.cpp:565
 msgid "Defines the interpolation type of the width point"
-msgstr "Defines the interpolation type of the width point"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
 #: src/synfig/valuenode_composite.cpp:557
+#: src/synfig/valuenode_composite.cpp:567
 msgid "Interpolate"
-msgstr "Interpolate"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:593
+#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:603
 msgid "Side Type After"
-msgstr "Side Type After"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:574
 msgid "Lower Boundary"
-msgstr "Lower Boundary"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:575
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:578
 msgid "Upper Boundary"
-msgstr "Upper Boundary"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:579
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:585
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:589
 #: src/synfig/valuenode_timedswap.cpp:260
 msgid "Length"
-msgstr "Length"
+msgstr "Längd"
 
-#: src/synfig/valuenode_composite.cpp:580
+#: src/synfig/valuenode_composite.cpp:590
 msgid "The length of the Dash Item"
-msgstr "The length of the Dash Item"
+msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:595
+#: src/synfig/valuenode_composite.cpp:604
 msgid "Defines the side type of the dash item"
-msgstr "Defines the side type of the dash item"
-
-#: src/synfig/valuenode_const.cpp:127
-msgid "Static"
-msgstr "Static"
+msgstr ""
 
 #: src/synfig/valuenode_compare.cpp:168
 msgid "The left side of the comparison"
-msgstr "The left hand side of the comparison"
+msgstr "Vänstra sidan av jämförelsen"
 
 #: src/synfig/valuenode_compare.cpp:173
 msgid "The right side of the comparison"
-msgstr "The right hand side of the comparison"
+msgstr "Högra sidan av jämförelsen"
 
 #: src/synfig/valuenode_compare.cpp:177
 msgid "Greater"
-msgstr "Greater"
+msgstr "Större än"
 
 #: src/synfig/valuenode_compare.cpp:178
 msgid "When checked, returns true if LHS > RHS"
-msgstr "When checked, returns true if LHS > RHS"
+msgstr "När detta är valt, får du ett sant om VÄNSTER > HÖGER"
 
 #: src/synfig/valuenode_compare.cpp:182
 msgid "Equal"
-msgstr "Equal"
+msgstr "Lika med"
 
 #: src/synfig/valuenode_compare.cpp:183
 msgid "When checked, returns true if LHS = RHS"
-msgstr "When checked, returns true if LHS = RHS"
+msgstr "När detta är valt, får du ett sant om VÄNSTER = HÖGER"
 
 #: src/synfig/valuenode_compare.cpp:187
 msgid "Less"
-msgstr "Less"
+msgstr "Mindre än"
 
 #: src/synfig/valuenode_compare.cpp:188
 msgid "When checked, returns true if LHS < RHS"
-msgstr "When checked, returns true if LHS < RHS"
+msgstr "När detta är valt, får du ett sant om VÄNSTER < HÖGER"
 
 #: src/synfig/valuenode_cos.cpp:156
 msgid "Value to calculate the cosine"
-msgstr "Value to calculate the cosine"
+msgstr "Värde att räkna ut kosinus för"
 
 #: src/synfig/valuenode_cos.cpp:160 src/synfig/valuenode_sine.cpp:159
 msgid "Amplitude"
-msgstr "Amplitude"
+msgstr "Amplitud"
 
 #: src/synfig/valuenode_cos.cpp:161
 msgid "Multiplier of the resulting cosine"
-msgstr "Multiplier of the resulting cosine"
+msgstr "Multiplikator för resultatet av kosinus"
 
 #: src/synfig/valuenode_duplicate.cpp:193
 msgid "From"
-msgstr "From"
+msgstr "Från"
 
 #: src/synfig/valuenode_duplicate.cpp:194
 msgid "Initial value of the index "
-msgstr "Initial value of the index "
+msgstr "Ursprungsvärde för indexet"
 
 #: src/synfig/valuenode_duplicate.cpp:198
 msgid "To"
-msgstr "To"
+msgstr "Till"
 
 #: src/synfig/valuenode_duplicate.cpp:199
 msgid "Final value of the index"
-msgstr "Final value of the index"
+msgstr "Slutvärde för indexet"
 
 #: src/synfig/valuenode_duplicate.cpp:204
 msgid "Amount increment of the index"
-msgstr "Amount increment of the index"
+msgstr "Indexets ökning"
 
-#: src/synfig/valuenode_dynamiclist.cpp:655
+#: src/synfig/valuenode_dynamiclist.cpp:661
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr "List type/item type mismatch, throwing away mismatch"
 
-#: src/synfig/valuenode_dynamiclist.cpp:703
-#: src/synfig/valuenode_dynamiclist.cpp:957
+#: src/synfig/valuenode_dynamiclist.cpp:709
+#: src/synfig/valuenode_dynamiclist.cpp:964
 #, c-format
 msgid "Item %03d"
-msgstr "Item %03d"
+msgstr "Objekt %03d"
 
 #: src/synfig/valuenode_exp.cpp:150
 msgid "Exponent"
@@ -3653,39 +3717,39 @@ msgstr "Exponent"
 
 #: src/synfig/valuenode_exp.cpp:151
 msgid "The value to raise the constant 'e'"
-msgstr "The value to raise the constant 'e'"
+msgstr "Värdet att upphöja konstanten 'e' med"
 
 #: src/synfig/valuenode_exp.cpp:156
 msgid "Multiplier of the resulting exponent"
-msgstr "Multiplier of the resulting exponent"
+msgstr "Multiplikator för resultatet av exponenten"
 
 #: src/synfig/valuenode_gradientrotate.cpp:165
 msgid "The source gradient to rotate"
-msgstr "The source gradient to rotate"
+msgstr "Källgradienten att rotera"
 
 #: src/synfig/valuenode_gradientrotate.cpp:170
 msgid "The amount to offset the gradient"
-msgstr "The amount to offset the gradient"
+msgstr "Mängden förskjutning att tillämpa på gradienten"
 
 #: src/synfig/valuenode_integer.cpp:195
 msgid "The integer value to be converted"
-msgstr "The integer value to be converted"
+msgstr "Heltalsvärdet att konvertera"
 
 #: src/synfig/valuenode_join.cpp:194
 msgid "Strings"
-msgstr "Strings"
+msgstr "Strängar"
 
 #: src/synfig/valuenode_join.cpp:195
 msgid "The List of strings to join"
-msgstr "The List of strings to join"
+msgstr "Listan på strängar att slå ihop"
 
 #: src/synfig/valuenode_join.cpp:199 src/synfig/valuenode_timedswap.cpp:245
 msgid "Before"
-msgstr "Before"
+msgstr "Före"
 
 #: src/synfig/valuenode_join.cpp:200
 msgid "The string to place before the joined strings"
-msgstr "The string to place before the joined strings"
+msgstr "En sträng som placeras före de sammanslagna strängarna"
 
 #: src/synfig/valuenode_join.cpp:204
 msgid "Separator"
@@ -3693,59 +3757,59 @@ msgstr "Separator"
 
 #: src/synfig/valuenode_join.cpp:205
 msgid "The string to place between each string joined"
-msgstr "The string to place between each string joined"
+msgstr "En sträng som placeras emellan varje sammanslagen sträng"
 
 #: src/synfig/valuenode_join.cpp:209 src/synfig/valuenode_timedswap.cpp:250
 msgid "After"
-msgstr "After"
+msgstr "Efter"
 
 #: src/synfig/valuenode_join.cpp:210
 msgid "The string to place after the joined strings"
-msgstr "The string to place after the joined strings"
+msgstr "En sträng som placeras efter de sammanslagna strängarna"
 
 #: src/synfig/valuenode_linear.cpp:200
 msgid "Rate"
-msgstr "Rate"
+msgstr ""
 
 #: src/synfig/valuenode_linear.cpp:201 src/synfig/valuenode_linear.cpp:208
 msgid "Value that is multiplied by the current time (in seconds)"
-msgstr "Value that is multiplied by the current time (in seconds)"
+msgstr ""
 
 #: src/synfig/valuenode_linear.cpp:207
 msgid "Slope"
-msgstr "Slope"
+msgstr ""
 
 #: src/synfig/valuenode_linear.cpp:214
 msgid "Returned value when the current time is zero"
-msgstr "Returned value when the current time is zero"
+msgstr ""
 
 #: src/synfig/valuenode_not.cpp:123
 msgid "NOT"
-msgstr "NOT"
+msgstr "INTE"
 
 #: src/synfig/valuenode_not.cpp:142
 msgid "Value node used to do the NOT operation"
-msgstr "Value node to negate"
+msgstr "Värdenod som används för att utföra en INTE-operation"
 
 #: src/synfig/valuenode_or.cpp:129
 msgid "OR"
-msgstr "OR"
+msgstr "ELLER"
 
 #: src/synfig/valuenode_or.cpp:148 src/synfig/valuenode_or.cpp:153
 msgid "Value node used for the OR boolean operation"
-msgstr "Value node used for the disjunction"
+msgstr "Värdenod som används för en boolesk ELLER-operation"
 
 #: src/synfig/valuenode_pow.cpp:180
 msgid "Base"
-msgstr "Base"
+msgstr "Bas"
 
 #: src/synfig/valuenode_pow.cpp:181
 msgid "The base to be raised to the power"
-msgstr "The base to be raised to the power"
+msgstr "Basen som ska upphöjas"
 
 #: src/synfig/valuenode_pow.cpp:186
 msgid "The power used to raise the base"
-msgstr "The power used to raise the base"
+msgstr "Exponenten för att upphöja basen"
 
 #: src/synfig/valuenode_pow.cpp:190 src/synfig/valuenode_reciprocal.cpp:170
 msgid "Epsilon"
@@ -3753,19 +3817,19 @@ msgstr "Epsilon"
 
 #: src/synfig/valuenode_pow.cpp:191
 msgid "Value used to compare base or power with zero "
-msgstr "Value used to compare base or power with zero "
+msgstr "Värde som används för att jämföra basen eller exponenten med noll"
 
 #: src/synfig/valuenode_pow.cpp:195 src/synfig/valuenode_reciprocal.cpp:175
 msgid "Infinite"
-msgstr "Infinite"
+msgstr "Oändligt"
 
 #: src/synfig/valuenode_pow.cpp:196
 msgid "Returned value when result tends to infinite"
-msgstr "Returned value when result tends to infinite"
+msgstr "Det värde du får när resultatet verkar bli ett oändligt tal"
 
 #: src/synfig/valuenode_radialcomposite.cpp:127
 msgid "Bad type for radialcomposite"
-msgstr "Bad type for radialcomposite"
+msgstr " "
 
 #: src/synfig/valuenode_radialcomposite.cpp:257
 msgid "Luma"
@@ -3773,7 +3837,7 @@ msgstr "Luma"
 
 #: src/synfig/valuenode_radialcomposite.cpp:273
 msgid "The length of the vector"
-msgstr "The length of the vector"
+msgstr "Längden på vektorn"
 
 #: src/synfig/valuenode_radialcomposite.cpp:276
 msgid "Theta"
@@ -3781,11 +3845,11 @@ msgstr "Theta"
 
 #: src/synfig/valuenode_radialcomposite.cpp:277
 msgid "The angle of the vector with the X axis"
-msgstr "The angle of the vector with the X axis"
+msgstr "Vinkeln på vektorn med X-axeln"
 
 #: src/synfig/valuenode_range.cpp:122
 msgid "Some of my parameters aren't set!"
-msgstr "Some of my parameters aren't set!"
+msgstr "Några av parametrarna är inte inställda!"
 
 #: src/synfig/valuenode_range.cpp:278
 msgid "Min"
@@ -3793,7 +3857,7 @@ msgstr "Min"
 
 #: src/synfig/valuenode_range.cpp:279
 msgid "Returned value when 'Link' is smaller"
-msgstr "Returned value when 'Link' is smaller"
+msgstr "Det värde du får när 'Länk' är mindre"
 
 #: src/synfig/valuenode_range.cpp:283
 msgid "Max"
@@ -3801,11 +3865,11 @@ msgstr "Max"
 
 #: src/synfig/valuenode_range.cpp:284
 msgid "Returned value when 'Link' is greater"
-msgstr "Returned value when 'Link' is greater"
+msgstr "Det värde du får när 'Länk' är större"
 
 #: src/synfig/valuenode_range.cpp:289
 msgid "The value node to limit its range"
-msgstr "The value node to limit its range"
+msgstr "Värdenoden för att begränsa den"
 
 #: src/synfig/valuenode_real.cpp:183
 msgid "The real value to be converted"
@@ -3813,11 +3877,11 @@ msgstr ""
 
 #: src/synfig/valuenode_realstring.cpp:176
 msgid "Value to convert to string"
-msgstr "Value to convert to string"
+msgstr "Reelt värde att konvertera till sträng"
 
 #: src/synfig/valuenode_realstring.cpp:181
 msgid "Width of the string"
-msgstr "Width of the string"
+msgstr "Strängens längd"
 
 #: src/synfig/valuenode_realstring.cpp:185
 msgid "Precision"
@@ -3825,100 +3889,101 @@ msgstr "Precision"
 
 #: src/synfig/valuenode_realstring.cpp:186
 msgid "Number of decimal places"
-msgstr "Number of decimal places"
+msgstr "Antal decimalplatser"
 
 #: src/synfig/valuenode_realstring.cpp:190
 msgid "Zero Padded"
-msgstr "Zero Padded"
+msgstr "Fyll ut med nollor"
 
 #: src/synfig/valuenode_realstring.cpp:191
 msgid "When checked, the string is left filled with zeros to match the width"
-msgstr "When checked, the string is left filled with zeros to match the width"
+msgstr ""
+"När detta är på, fylls strängen med nollor från vänster för att få rätt längd"
 
 #: src/synfig/valuenode_reciprocal.cpp:166
 msgid "The value node used to calculate its reciprocal"
-msgstr "The value node used to calculate its reciprocal"
+msgstr "Värdenoded för att räkna ut dess reciproka värde"
 
 #: src/synfig/valuenode_reciprocal.cpp:171
 msgid ""
 "The value used to decide whether 'Link' is too small to obtain its reciprocal"
 msgstr ""
-"The value used to decide whether 'Link' is too small to obtain its reciprocal"
+"Värdet som används för att om 'Länk' är för litet för att kunna få tag på "
+"dess reciproka värde"
 
 #: src/synfig/valuenode_reciprocal.cpp:176
 msgid "The resulting value when 'Link' < 'Epsilon'"
-msgstr "The resulting value when 'Link' < 'Epsilon'"
+msgstr "Resultatvärdet när 'Länk' < 'Epsilon'"
 
 #: src/synfig/valuenode_reference.cpp:144
 msgid "The referenced value"
-msgstr "The referenced value"
+msgstr "Det refererade värdet"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:204
 msgid "The source gradient to repeat"
-msgstr "The source gradient to repeat"
+msgstr "Källgradienten som ska upprepas"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:208
 msgid "Count"
-msgstr "Count"
+msgstr "Räkna"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:209
 msgid "The number of repetition of the gradient"
-msgstr "The number of repetition of the gradient"
+msgstr "Antalet upprepningar på gradienten"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:214
 msgid ""
 "Specifies how much biased is the source gradeint in the repetition [0,1]"
-msgstr ""
-"Specifies how much biased is the source gradient in the repetition [0,1]"
+msgstr "Anger hur mycket källgradienten avviker i upprepningen [0,1]"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:218
 msgid "Specify Start"
-msgstr "Specify Start"
+msgstr "Ange start"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:219
 msgid ""
 "When checked, 'Start Color' is used as the start of the resulting gradient"
 msgstr ""
-"When checked, 'Start Colour' is used as the start of the resulting gradient"
+"När detta är på, används 'Startfärg' som start på den färdiga gradienten"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:223
 msgid "Specify End"
-msgstr "Specify End"
+msgstr "Ange slut"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:224
 msgid ""
 "When checked, 'End Color' is used as the start of the resulting gradient"
 msgstr ""
-"When checked, 'End Colour' is used as the start of the resulting gradient"
+"När detta är på, används 'Slutfärg' som start på den färdiga gradienten"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:228
 msgid "Start Color"
-msgstr "Start Colour"
+msgstr ""
 
 #: src/synfig/valuenode_repeat_gradient.cpp:229
 msgid "Used as the start of the resulting gradient"
-msgstr "Used as the start of the resulting gradient"
+msgstr "Används som start på den färdiga gradienten"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:233
 msgid "End Color"
-msgstr "End Colour"
+msgstr "Slutfärg"
 
 #: src/synfig/valuenode_repeat_gradient.cpp:234
 msgid "Used as the end of the resulting gradient"
-msgstr "Used as the end of the resulting gradient"
+msgstr "Används som slut på den färdiga gradienten"
 
 #: src/synfig/valuenode_scale.cpp:152 src/synfig/valuenode_scale.cpp:173
 #: src/synfig/valuenode_scale.cpp:190
 msgid "Attempting to get the inverse of a non invertible Valuenode"
-msgstr "Attempting to get the inverse of a non invertible Valuenode"
+msgstr "Försöker invertera en Värdenod som inte kan inverteras"
 
 #: src/synfig/valuenode_scale.cpp:268
 msgid "The value node used to scale"
-msgstr "The value node used to scale"
+msgstr "Värdenoden för att skala (ändra storlek)"
 
 #: src/synfig/valuenode_scale.cpp:273
 msgid "Value that multiplies the value node"
-msgstr "Value that multiplies the value node"
+msgstr "Värde som multiplicerar Värdenoden"
 
 #: src/synfig/valuenode_segcalctangent.cpp:156
 #: src/synfig/valuenode_segcalcvertex.cpp:154
@@ -3927,375 +3992,375 @@ msgstr "Segment"
 
 #: src/synfig/valuenode_segcalctangent.cpp:157
 msgid "The Segment where the tangent is linked to"
-msgstr "The Segment the tangent is linked to"
+msgstr "Segmentet tangenten är länkad med"
 
 #: src/synfig/valuenode_segcalctangent.cpp:162
 msgid "The position of the linked tangent on the Segment (0,1]"
-msgstr "The position of the linked tangent on the Segment (0,1]"
+msgstr "Den länkade tangentens position i segmentet [0,1]"
 
 #: src/synfig/valuenode_segcalcvertex.cpp:155
 msgid "The Segment where the vertex is linked to"
-msgstr "The Segment the vertex is linked to"
+msgstr "Segmentet vertexen är länkad till"
 
 #: src/synfig/valuenode_segcalcvertex.cpp:160
 msgid "The position of the linked vertex on the Segment (0,1]"
-msgstr "The position of the linked vertex on the Segment (0,1]"
+msgstr "Den länkade vertexens position i segmentet [0,1]"
 
 #: src/synfig/valuenode_sine.cpp:155
 msgid "The angle where the sine is calculated from"
-msgstr "The angle the sine is calculated from"
+msgstr "Vinkeln att räkna ut sinus för"
 
 #: src/synfig/valuenode_sine.cpp:160
 msgid "The value that multiplies the resulting sine"
-msgstr "The value that multiplies the resulting sine"
+msgstr "Värde som multiplicerar det uträknade sinus-värdet"
 
 #: src/synfig/valuenode_step.cpp:198
 msgid "The value node used to make the step"
-msgstr "The value node used to make the step"
+msgstr "Värdenod för att göra ett steg"
 
 #: src/synfig/valuenode_step.cpp:203
 msgid "The duration of the step"
-msgstr "The duration of the step"
+msgstr "Längd på steget"
 
 #: src/synfig/valuenode_step.cpp:207 src/tool/printing_functions.cpp:79
 msgid "Start Time"
-msgstr "Start Time"
+msgstr "Starttid"
 
 #: src/synfig/valuenode_step.cpp:208
 msgid "The time when the step conversion starts"
-msgstr "The time when the step conversion starts"
+msgstr "Tiden då steg-övergången startar"
 
 #: src/synfig/valuenode_step.cpp:212
 msgid "Intersection"
-msgstr "Intersection"
+msgstr "Skärningspunkt"
 
 #: src/synfig/valuenode_step.cpp:213
-msgid "Value that define whether the step is centerd on the value [0,1]"
-msgstr "Value that define whether the step is centred on the value [0,1]"
+msgid "Value that define whether the step is centered on the value [0,1]"
+msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
 msgid "Color 1"
-msgstr "Colour 1"
+msgstr "Färg 1"
 
 #: src/synfig/valuenode_stripes.cpp:190
 msgid "One color of the gradient stripes"
-msgstr "One colour of the gradient stripes"
+msgstr "En av färgerna på gradient-ränderna"
 
 #: src/synfig/valuenode_stripes.cpp:194 src/synfig/valuenode_twotone.cpp:158
 msgid "Color 2"
-msgstr "Colour 2"
+msgstr "Färg 2"
 
 #: src/synfig/valuenode_stripes.cpp:195
 msgid "Other color of the gradient stripes"
-msgstr "Other colour of the gradient stripes"
+msgstr "Den andra färgen på gradient-ränderna"
 
 #: src/synfig/valuenode_stripes.cpp:199
 msgid "Stripe Count"
-msgstr "Stripe Count"
+msgstr "Antal ränder"
 
 #: src/synfig/valuenode_stripes.cpp:200
 msgid "Number of stripes in the gradient"
-msgstr "Number of stripes in the gradient"
+msgstr "Antal ränder i gradienten"
 
 #: src/synfig/valuenode_stripes.cpp:205
 msgid "Width of stripes in the gradient between [0,1]"
-msgstr "Width of stripes in the gradient between [0,1]"
+msgstr "Bredd på ränderna i gradienten, mellan [0,1]"
 
 #: src/synfig/valuenode_subtract.cpp:219
 msgid "Left Hand Side of the subtraction"
-msgstr "Left Hand Side of the subtraction"
+msgstr "Vänstra sidan av subtraktionen"
 
 #: src/synfig/valuenode_subtract.cpp:224
 msgid "Right Hand Side of the subtraction"
-msgstr "Right Hand Side of the subtraction"
+msgstr "Högra sidan av subtraktionen"
 
 #: src/synfig/valuenode_subtract.cpp:229
 msgid "Value that multiplies the subtraction"
-msgstr "Value that multiplies the subtraction"
+msgstr "Värde som multiplicerar subtraktionen"
 
 #: src/synfig/valuenode_switch.cpp:153
 msgid "Link Off"
-msgstr "Link Off"
+msgstr "Länk av"
 
 #: src/synfig/valuenode_switch.cpp:154
 msgid "The value node returned when the switch is off"
-msgstr "The value node returned when the switch is off"
+msgstr "Värdenoden som fås när växeln är av"
 
 #: src/synfig/valuenode_switch.cpp:158
 msgid "Link On"
-msgstr "Link On"
+msgstr "Länk på"
 
 #: src/synfig/valuenode_switch.cpp:159
 msgid "The value node returned when the switch is on"
-msgstr "The value node returned when the switch is on"
+msgstr "Värdenod som fås när växeln är på"
 
 #: src/synfig/valuenode_switch.cpp:164
 msgid "When checked, returns 'Link On', otherwise returns 'Link Off'"
-msgstr "When checked, returns 'Link On', otherwise returns 'Link Off'"
+msgstr "När detta är på ges \"Länk på\", annars \"Länk av\""
 
 #: src/synfig/valuenode_timedswap.cpp:246
 msgid "The value node returned when current time is before 'time' - 'length'"
-msgstr "The value node returned when current time is before 'time' - 'length'"
+msgstr "Värdenoden som fås när den nuvarande tiden är före 'tid' - 'längd'"
 
 #: src/synfig/valuenode_timedswap.cpp:251
 msgid "The value node returned when current time is after 'time'"
-msgstr "The value node returned when current time is after 'time'"
+msgstr "Värdenoden som fås när den nuvarande tiden är efter 'tid'"
 
 #: src/synfig/valuenode_timedswap.cpp:255
 #: src/synfig/valuenode_timestring.cpp:163
 msgid "Time"
-msgstr "Time"
+msgstr "Tid"
 
 #: src/synfig/valuenode_timedswap.cpp:256
 msgid "The time when the linear interpolation ends"
-msgstr "The time when the linear interpolation ends"
+msgstr "Tiden då den linjära interpolationen slutar"
 
 #: src/synfig/valuenode_timedswap.cpp:261
 msgid ""
 "The length of time when the linear interpolation between 'Before' and "
 "'After' is made"
 msgstr ""
-"The length of time when the linear interpolation between 'Before' and "
-"'After' is made"
+"Tiden för den linjära interpolationen mellan att 'Före' och 'Efter' har "
+"gjorts"
 
 #: src/synfig/valuenode_timeloop.cpp:175
 msgid "The value node to time loop"
-msgstr "The value node to time loop"
+msgstr "Värdenoden för tidsslingor"
 
 #: src/synfig/valuenode_timeloop.cpp:180
 msgid "Start time of the loop for the value node timeline"
-msgstr "Start time of the loop for the value node timeline"
+msgstr "Starttid för slingan för värdenodens tidslinje"
 
 #: src/synfig/valuenode_timestring.cpp:164
 msgid "The time that is converted to string"
-msgstr "The time that is converted to string"
+msgstr "Tiden att konvertera till en sträng"
 
 #: src/synfig/valuenode_twotone.cpp:154
 msgid "The start color of the gradient"
-msgstr "The start colour of the gradient"
+msgstr "Startfärg på gradienten"
 
 #: src/synfig/valuenode_twotone.cpp:159
 msgid "The end color of the gradient"
-msgstr "The end colour of the gradient"
+msgstr "Slutfärg på gradienten"
 
 #: src/synfig/valuenode_vectorangle.cpp:147
 #: src/synfig/valuenode_vectorlength.cpp:145
 #: src/synfig/valuenode_vectorx.cpp:145 src/synfig/valuenode_vectory.cpp:145
 msgid "Vector"
-msgstr "Vector"
+msgstr ""
 
 #: src/synfig/valuenode_vectorangle.cpp:148
 msgid "The vector where the angle is calculated from"
-msgstr "The vector the angle is calculated from"
+msgstr ""
 
 #: src/synfig/valuenode_vectorlength.cpp:146
 msgid "The vector where the length is calculated from"
-msgstr "The vector the length is calculated from"
+msgstr ""
 
 #: src/synfig/valuenode_vectorx.cpp:146
 msgid "The vector where the X coordinate is extracted from"
-msgstr "The vector the X coordinate is extracted from"
+msgstr ""
 
 #: src/synfig/valuenode_vectory.cpp:146
 msgid "The vector where the Y coordinate is extracted from"
-msgstr "The vector the Y coordinate is extracted from"
+msgstr ""
 
 #: src/synfig/valuenode_wplist.cpp:348
 #, c-format
 msgid "WidthPoint %03d"
-msgstr "WidthPoint %03d"
+msgstr ""
 
-#: src/tool/main.cpp:133
+#: src/tool/main.cpp:140
 msgid "FATAL: Synfig Version Mismatch"
-msgstr "FATAL: Synfig Version Mismatch"
+msgstr ""
 
-#: src/tool/main.cpp:169
+#: src/tool/main.cpp:176
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:171
+#: src/tool/main.cpp:178
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:172
+#: src/tool/main.cpp:179
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:173
+#: src/tool/main.cpp:180
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:174
+#: src/tool/main.cpp:181
 msgid "Set the diagonal size of image window (Span)"
-msgstr "Set the diagonal size of image window (Span)"
+msgstr "Ange den diagonala storleken på bildfönstret (spann)"
 
-#: src/tool/main.cpp:175
+#: src/tool/main.cpp:182
 msgid "Set antialias amount for parametric renderer."
-msgstr "Set antialias amount for parametric renderer."
+msgstr "Ange mängden kantutjämning för parametrisk rendering"
 
-#: src/tool/main.cpp:176
+#: src/tool/main.cpp:183
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:184
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:178
+#: src/tool/main.cpp:185
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:186
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:187
 msgid "Specify output filename"
-msgstr "Specify output filename"
+msgstr "Ange utdata-filnamn"
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:188
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:189
 msgid "Render the canvas with the given id instead of the root."
-msgstr "Render the canvas with the given id instead of the root."
+msgstr "Rendera ritytan med det angivna id:t istället för roten."
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:190
 msgid "Set the frame rate"
-msgstr "Set the frame rate"
+msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:191
 msgid "Render a single frame at <seconds>"
-msgstr "Render a single frame at <seconds>"
+msgstr ""
 
-#: src/tool/main.cpp:185 src/tool/main.cpp:186
+#: src/tool/main.cpp:192 src/tool/main.cpp:193
 msgid "Set the starting time"
-msgstr "Set the starting time"
+msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:194
 msgid "Set the ending time"
-msgstr "Set the ending time"
+msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:195
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:196
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:197
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:193
+#: src/tool/main.cpp:200
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:202
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:203
 msgid "Quiet mode (No progress/time-remaining display)"
-msgstr "Quiet mode (No progress/time-remaining display)"
+msgstr "Tyst läge (visar inte framsteg och kvarvarabde tid)"
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:204
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:200
+#: src/tool/main.cpp:207
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:202
+#: src/tool/main.cpp:209
 msgid "Append layers in <filename> to composition"
-msgstr "Append layers in <filename> to composition"
+msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:210
 msgid "Print out specified details of the root canvas"
-msgstr "Print out specified details of the root canvas"
+msgstr ""
 
-#: src/tool/main.cpp:204 src/tool/main.cpp:230
+#: src/tool/main.cpp:211 src/tool/main.cpp:237
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:207
+#: src/tool/main.cpp:214
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:216
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:210
+#: src/tool/main.cpp:217
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:213
+#: src/tool/main.cpp:220
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:215
+#: src/tool/main.cpp:222
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:223
 msgid "Print out the list of available importers"
-msgstr "Print out the list of available importers"
+msgstr ""
 
-#: src/tool/main.cpp:217
+#: src/tool/main.cpp:224
 msgid "Print out misc build information"
-msgstr "Print out misc build information"
+msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:225
 msgid "Print out the list of available layers"
-msgstr "Print out the list of available layers"
+msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:226
 msgid "Print out layer's description, parameter info, etc."
-msgstr "Print out layer's description, parameter info, etc."
+msgstr ""
 
-#: src/tool/main.cpp:220
+#: src/tool/main.cpp:227
 msgid "Print out license information"
-msgstr "Print out license information"
+msgstr ""
 
-#: src/tool/main.cpp:221
+#: src/tool/main.cpp:228
 msgid "Print out the list of loaded modules"
-msgstr "Print out the list of loaded modules"
+msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:229
 msgid "Print out the list of available targets"
-msgstr "Print out the list of available targets"
+msgstr ""
 
-#: src/tool/main.cpp:223
+#: src/tool/main.cpp:230
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:231
 msgid "Print out the list of available ValueNodes"
-msgstr "Print out the list of available ValueNodes"
+msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:232
 msgid "Print out version information"
-msgstr "Print out version information"
+msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:241
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:236
+#: src/tool/main.cpp:243
 msgid "Test GUID generation"
-msgstr "Test GUID generation"
+msgstr ""
 
-#: src/tool/main.cpp:237
+#: src/tool/main.cpp:244
 msgid "Test signal implementation"
-msgstr "Test signal implementation"
+msgstr ""
 
 #: src/tool/joblistprocessor.cpp:73
 msgid "Nothing to do!"
@@ -4357,157 +4422,157 @@ msgstr ""
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:113
+#: src/tool/optionsprocessor.cpp:114
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:115
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:131
+#: src/tool/optionsprocessor.cpp:132
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:146
+#: src/tool/optionsprocessor.cpp:147
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:224
+#: src/tool/optionsprocessor.cpp:225
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:226
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:227
+#: src/tool/optionsprocessor.cpp:228
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:232
+#: src/tool/optionsprocessor.cpp:233
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:234
+#: src/tool/optionsprocessor.cpp:235
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:236
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:239
+#: src/tool/optionsprocessor.cpp:240
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:243
+#: src/tool/optionsprocessor.cpp:244
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:309
+#: src/tool/optionsprocessor.cpp:310
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:316
+#: src/tool/optionsprocessor.cpp:317
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:324
+#: src/tool/optionsprocessor.cpp:325
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:334
+#: src/tool/optionsprocessor.cpp:335
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:343
+#: src/tool/optionsprocessor.cpp:344
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:352
+#: src/tool/optionsprocessor.cpp:353
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:379
+#: src/tool/optionsprocessor.cpp:380
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:385
+#: src/tool/optionsprocessor.cpp:386
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:400
+#: src/tool/optionsprocessor.cpp:401
 #, c-format
 msgid "Resolution set to %dx%d"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:417
+#: src/tool/optionsprocessor.cpp:418
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:437
+#: src/tool/optionsprocessor.cpp:438
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:440
+#: src/tool/optionsprocessor.cpp:441
 #, c-format
 msgid "Target video codec set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:446
+#: src/tool/optionsprocessor.cpp:447
 #, c-format
 msgid "Target bitrate set to %dk"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:452
+#: src/tool/optionsprocessor.cpp:453
 #, c-format
 msgid "Output file sequence separator set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:487
+#: src/tool/optionsprocessor.cpp:488
 #, c-format
 msgid "Unable to load '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:494
+#: src/tool/optionsprocessor.cpp:495
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:499
+#: src/tool/optionsprocessor.cpp:500
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:513
+#: src/tool/optionsprocessor.cpp:514
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:532
+#: src/tool/optionsprocessor.cpp:533
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:539
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:557
+#: src/tool/optionsprocessor.cpp:558
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:571
+#: src/tool/optionsprocessor.cpp:572
 msgid "Appended contents of "
 msgstr ""
 
diff --git a/po/synfig.pot b/po/synfig.pot
index d842480..b192564 100644
--- a/po/synfig.pot
+++ b/po/synfig.pot
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2013-05-09 18:34+0200\n"
+"POT-Creation-Date: 2013-10-25 17:57+0700\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -17,79 +17,79 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/modules/mod_example/filledrect.cpp:58
+#: src/modules/mod_example/filledrect.cpp:59
 msgid "Filled Rectangle"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:59
+#: src/modules/mod_example/filledrect.cpp:60
 #: src/modules/mod_example/metaballs.cpp:58
 #: src/modules/mod_example/simplecircle.cpp:58
 msgid "Example"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:120
+#: src/modules/mod_example/filledrect.cpp:131
 #: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:523
-#: src/modules/lyr_std/shade.cpp:564
-#: src/modules/mod_geometry/checkerboard.cpp:122
-#: src/modules/mod_geometry/circle.cpp:128
-#: src/modules/mod_geometry/rectangle.cpp:125 src/synfig/layer_shape.cpp:1193
-#: src/synfig/layer_solidcolor.cpp:102 src/synfig/paramdesc.cpp:79
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:620
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
 msgid "Color"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:121
+#: src/modules/mod_example/filledrect.cpp:132
 #: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:129
-#: src/modules/mod_geometry/rectangle.cpp:126
-#: src/synfig/layer_solidcolor.cpp:103
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
 msgid "Fill color of the layer"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:125
-#: src/modules/mod_geometry/rectangle.cpp:130
-#: src/modules/mod_gradient/lineargradient.cpp:190
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:185
 msgid "Point 1"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:126
-#: src/modules/mod_geometry/rectangle.cpp:132
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
 msgid "First corner of the rectangle"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_geometry/rectangle.cpp:136
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:190
 msgid "Point 2"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_geometry/rectangle.cpp:137
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
 msgid "Second corner of the rectangle"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_example/filledrect.cpp:147
 msgid "Feather X"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:140
+#: src/modules/mod_example/filledrect.cpp:152
 msgid "Feather Y"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:144 src/modules/lyr_std/bevel.cpp:68
-#: src/modules/mod_geometry/advanced_outline.cpp:1161
+#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
 msgid "Bevel"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:145
+#: src/modules/mod_example/filledrect.cpp:158
 msgid "Use Bevel for the corners"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:149
+#: src/modules/mod_example/filledrect.cpp:163
 msgid "Keep Bevel Circular"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:150
+#: src/modules/mod_example/filledrect.cpp:164
 msgid "When checked the bevel is circular"
 msgstr ""
 
@@ -97,39 +97,39 @@ msgstr ""
 msgid "Metaballs"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:135
+#: src/modules/mod_example/metaballs.cpp:129
 #: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:552
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:194
 #: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:112
-#: src/modules/mod_noise/noise.cpp:259 src/modules/mod_particle/plant.cpp:403
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
 #: src/synfig/valuenode_gradientrotate.cpp:164
 #: src/synfig/valuenode_repeat_gradient.cpp:203
 msgid "Gradient"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:139
+#: src/modules/mod_example/metaballs.cpp:133
 msgid "Balls"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:143
+#: src/modules/mod_example/metaballs.cpp:137
 msgid "Radii"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:147
+#: src/modules/mod_example/metaballs.cpp:141
 msgid "Weights"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:151
+#: src/modules/mod_example/metaballs.cpp:145
 msgid "Gradient Left"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:155
+#: src/modules/mod_example/metaballs.cpp:149
 msgid "Gradient Right"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:159
+#: src/modules/mod_example/metaballs.cpp:153
 msgid "Positive Only"
 msgstr ""
 
@@ -141,21 +141,21 @@ msgstr ""
 #: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
 #: src/modules/mod_gradient/conicalgradient.cpp:114
 #: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:117
+#: src/modules/mod_gradient/spiralgradient.cpp:118
 msgid "Center"
 msgstr ""
 
 #: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:144
+#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
 msgid "Center of the circle"
 msgstr ""
 
 #: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:151
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:132
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
 #: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:122
-#: src/modules/mod_noise/valuenode_random.cpp:269
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/valuenode_radialcomposite.cpp:272
 msgid "Radius"
 msgstr ""
@@ -163,20 +163,20 @@ msgstr ""
 #: src/modules/mod_example/simplecircle.cpp:118
 #: src/modules/lyr_std/twirl.cpp:118
 #: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:124
 msgid "This is the radius of the circle"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
-#: src/modules/lyr_freetype/lyr_freetype.cpp:517
+#: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
 #: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
-#: src/modules/lyr_std/supersample.cpp:57 src/modules/lyr_std/timeloop.cpp:60
-#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:70
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:79
+#: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
+#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
 msgid "Other"
 msgstr ""
 
@@ -184,245 +184,245 @@ msgstr ""
 msgid "Text Layer"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:390
+#: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:409
+#: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:518
+#: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:524
+#: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:528
+#: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:533
+#: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:535
-#: src/modules/lyr_freetype/lyr_freetype.cpp:545
+#: src/modules/lyr_freetype/lyr_freetype.cpp:587
+#: src/modules/lyr_freetype/lyr_freetype.cpp:597
 msgid "Normal"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:536
+#: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:537
+#: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:541
+#: src/modules/lyr_freetype/lyr_freetype.cpp:593
 msgid "Weight"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:543
+#: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:544
+#: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:546
+#: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:547
+#: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:548
+#: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:551
+#: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:552
+#: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:556
+#: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:557
+#: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:561
-#: src/modules/lyr_std/shade.cpp:570 src/modules/lyr_std/xorpattern.cpp:129
-#: src/modules/mod_filter/blur.cpp:372
+#: src/modules/lyr_freetype/lyr_freetype.cpp:613
+#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:413
 #: src/modules/mod_filter/radialblur.cpp:115
-#: src/modules/mod_geometry/checkerboard.cpp:130
-#: src/modules/mod_noise/distort.cpp:222 src/modules/mod_noise/noise.cpp:267
+#: src/modules/mod_geometry/checkerboard.cpp:154
+#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:562
+#: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:569
+#: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:570
+#: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/insideout.cpp:143 src/modules/lyr_std/rotate.cpp:116
-#: src/modules/lyr_std/shade.cpp:567 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:389
-#: src/modules/lyr_std/xorpattern.cpp:125 src/modules/lyr_std/zoom.cpp:104
+#: src/modules/lyr_freetype/lyr_freetype.cpp:627
+#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
+#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
+#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
-#: src/modules/mod_geometry/checkerboard.cpp:126
-#: src/modules/mod_geometry/circle.cpp:143
-#: src/modules/mod_gradient/curvegradient.cpp:537
-#: src/modules/mod_particle/plant.cpp:398 src/synfig/layer_pastecanvas.cpp:133
-#: src/synfig/layer_shape.cpp:1197 src/synfig/valuenode_composite.cpp:518
+#: src/modules/mod_geometry/checkerboard.cpp:150
+#: src/modules/mod_geometry/circle.cpp:161
+#: src/modules/mod_gradient/curvegradient.cpp:550
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
+#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
 msgid "Origin"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:576
+#: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:580
+#: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:581
+#: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:588
+#: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:589
+#: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:594
+#: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:597
-#: src/modules/lyr_std/shade.cpp:587 src/modules/mod_geometry/circle.cpp:147
-#: src/synfig/layer_shape.cpp:1200
+#: src/modules/lyr_freetype/lyr_freetype.cpp:649
+#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1228
 msgid "Invert"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:654
+#: src/modules/lyr_freetype/lyr_freetype.cpp:714
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:680
+#: src/modules/lyr_freetype/lyr_freetype.cpp:740
 msgid "Text too small, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:704
+#: src/modules/lyr_freetype/lyr_freetype.cpp:764
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:747
+#: src/modules/lyr_freetype/lyr_freetype.cpp:807
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:754
+#: src/modules/lyr_freetype/lyr_freetype.cpp:814
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:69 src/modules/lyr_std/shade.cpp:68
+#: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:570 src/modules/lyr_std/shade.cpp:576
-#: src/modules/mod_filter/blur.cpp:376
-#: src/modules/mod_filter/halftone2.cpp:170
+#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
+#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:571 src/modules/lyr_std/shade.cpp:577
-#: src/modules/mod_filter/blur.cpp:377
+#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
+#: src/modules/mod_filter/blur.cpp:418
 msgid "Type of blur to use"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:573 src/modules/lyr_std/shade.cpp:579
-#: src/modules/mod_filter/blur.cpp:379 src/synfig/layer_shape.cpp:1213
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:574 src/modules/lyr_std/shade.cpp:580
-#: src/modules/mod_filter/blur.cpp:380 src/synfig/layer_shape.cpp:1214
+#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
+#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
 msgid "Fast Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:575 src/modules/lyr_std/shade.cpp:581
-#: src/modules/mod_filter/blur.cpp:381 src/synfig/layer_shape.cpp:1215
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
 msgid "Cross-Hatch Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:576 src/modules/lyr_std/shade.cpp:582
-#: src/modules/mod_filter/blur.cpp:382 src/synfig/layer_shape.cpp:1216
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
 msgid "Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:577 src/modules/lyr_std/shade.cpp:583
-#: src/modules/mod_filter/blur.cpp:383 src/synfig/layer_shape.cpp:1217
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:581
+#: src/modules/lyr_std/bevel.cpp:635
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:584
+#: src/modules/lyr_std/bevel.cpp:638
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:587
+#: src/modules/lyr_std/bevel.cpp:641
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:591
+#: src/modules/lyr_std/bevel.cpp:645
 msgid "Depth of Bevel"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:595
+#: src/modules/lyr_std/bevel.cpp:649
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:598
+#: src/modules/lyr_std/bevel.cpp:652
 msgid "Use Luma"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:601
+#: src/modules/lyr_std/bevel.cpp:655
 msgid "Solid"
 msgstr ""
 
-#: src/modules/lyr_std/booleancurve.cpp:104
+#: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
 msgstr ""
 
-#: src/modules/lyr_std/booleancurve.cpp:105
+#: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
 msgstr ""
 
@@ -430,38 +430,38 @@ msgstr ""
 msgid "Clamp"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:56
-#: src/modules/mod_filter/halftone2.cpp:59
-#: src/modules/mod_filter/halftone3.cpp:59
-#: src/modules/mod_filter/lumakey.cpp:59
+#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:57
+#: src/modules/mod_filter/halftone2.cpp:60
+#: src/modules/mod_filter/halftone3.cpp:60
+#: src/modules/mod_filter/lumakey.cpp:60
 msgid "Filters"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:158
+#: src/modules/lyr_std/clamp.cpp:162
 msgid "Invert Negative"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:162
+#: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:163
+#: src/modules/lyr_std/clamp.cpp:167
 msgid "When checked the Ceiling value is used"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:167
+#: src/modules/lyr_std/clamp.cpp:171
 msgid "Ceiling"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:168
+#: src/modules/lyr_std/clamp.cpp:172
 msgid "Upper boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:172
+#: src/modules/lyr_std/clamp.cpp:176
 msgid "Floor"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:173
+#: src/modules/lyr_std/clamp.cpp:177
 msgid "Lower boundary of the clamping"
 msgstr ""
 
@@ -469,24 +469,24 @@ msgstr ""
 msgid "Import Image"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:151 src/modules/lyr_std/import.cpp:201
+#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:283
+#: src/modules/lyr_std/import.cpp:293
 msgid "Filename"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:284
+#: src/modules/lyr_std/import.cpp:294
 msgid "File to import"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:288 src/synfig/layer_pastecanvas.cpp:146
+#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:289
+#: src/modules/lyr_std/import.cpp:299
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -495,14 +495,14 @@ msgid "Inside Out"
 msgstr ""
 
 #: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:75
 #: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:57 src/modules/lyr_std/curvewarp.cpp:56
-#: src/modules/mod_noise/distort.cpp:58
+#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
+#: src/modules/mod_noise/distort.cpp:59
 msgid "Distortions"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:144
+#: src/modules/lyr_std/insideout.cpp:163
 msgid "Defines the where the center will be"
 msgstr ""
 
@@ -514,97 +514,97 @@ msgstr ""
 msgid "Fractals"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:309
+#: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:310
+#: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:313
+#: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:314
+#: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:317
+#: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:320 src/modules/lyr_std/mandelbrot.cpp:223
+#: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:323
+#: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:326 src/modules/lyr_std/mandelbrot.cpp:226
+#: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:330 src/modules/lyr_std/mandelbrot.cpp:236
+#: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:333 src/modules/lyr_std/mandelbrot.cpp:240
+#: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:336 src/modules/lyr_std/mandelbrot.cpp:244
+#: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:339 src/modules/lyr_std/mandelbrot.cpp:248
+#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:342
+#: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:345 src/modules/lyr_std/mandelbrot.cpp:265
+#: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:348 src/modules/lyr_std/mandelbrot.cpp:269
+#: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:351 src/modules/lyr_std/mandelbrot.cpp:273
+#: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:354 src/modules/lyr_std/mandelbrot.cpp:277
+#: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:357
+#: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:361
+#: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:364 src/modules/lyr_std/mandelbrot.cpp:285
+#: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:286
+#: src/modules/lyr_std/julia.cpp:391 src/modules/lyr_std/mandelbrot.cpp:282
 msgid "Smooth the coloration outside the set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:368 src/modules/lyr_std/mandelbrot.cpp:230
+#: src/modules/lyr_std/julia.cpp:394 src/modules/lyr_std/mandelbrot.cpp:226
 msgid "Break Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:369 src/modules/lyr_std/mandelbrot.cpp:231
+#: src/modules/lyr_std/julia.cpp:395 src/modules/lyr_std/mandelbrot.cpp:227
 msgid "Modify equation to achieve interesting results"
 msgstr ""
 
@@ -612,48 +612,48 @@ msgstr ""
 msgid "Mandelbrot Set"
 msgstr ""
 
+#: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
 #: src/modules/lyr_std/mandelbrot.cpp:241
 #: src/modules/lyr_std/mandelbrot.cpp:245
 #: src/modules/lyr_std/mandelbrot.cpp:249
 #: src/modules/lyr_std/mandelbrot.cpp:253
 #: src/modules/lyr_std/mandelbrot.cpp:257
-#: src/modules/lyr_std/mandelbrot.cpp:261
 msgid "Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:252
+#: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:256
+#: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:260
+#: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
 msgstr ""
 
+#: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
 #: src/modules/lyr_std/mandelbrot.cpp:270
 #: src/modules/lyr_std/mandelbrot.cpp:274
 #: src/modules/lyr_std/mandelbrot.cpp:278
-#: src/modules/lyr_std/mandelbrot.cpp:282
+#: src/modules/lyr_std/mandelbrot.cpp:283
 #: src/modules/lyr_std/mandelbrot.cpp:287
 #: src/modules/lyr_std/mandelbrot.cpp:291
-#: src/modules/lyr_std/mandelbrot.cpp:295
 msgid "Outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:281
+#: src/modules/lyr_std/mandelbrot.cpp:277
 msgid "Gradient outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:290
+#: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:294
+#: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
 msgstr ""
 
@@ -666,16 +666,16 @@ msgstr ""
 msgid "Transform"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/translate.cpp:101
+#: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:134
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:121
-#: src/modules/lyr_std/sphere_distort.cpp:158
+#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:217
+#: src/synfig/layer_composite.cpp:249
 #: src/synfig/valuenode_blinecalctangent.cpp:251
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
@@ -684,61 +684,61 @@ msgstr ""
 msgid "Amount"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:67
+#: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:571
+#: src/modules/lyr_std/shade.cpp:627
 msgid "Size of Shade"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:73
-#: src/modules/lyr_std/sphere_distort.cpp:172
+#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:167
 msgid "Spherize"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/synfig/valuenode_composite.cpp:536
+#: src/modules/lyr_std/sphere_distort.cpp:141
+#: src/synfig/valuenode_composite.cpp:546
 msgid "Position"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:147
+#: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:154
+#: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:160
+#: src/modules/lyr_std/sphere_distort.cpp:155
 msgid "The distortion intensity (negative values inverts effect)"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:164 src/modules/lyr_std/warp.cpp:409
+#: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:165
+#: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:169
+#: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:170
+#: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:173
+#: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:174
+#: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
 msgstr ""
 
@@ -758,104 +758,104 @@ msgstr ""
 msgid "Stroboscope"
 msgstr ""
 
-#: src/modules/lyr_std/stroboscope.cpp:102
+#: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
 msgstr ""
 
-#: src/modules/lyr_std/stroboscope.cpp:103
+#: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:56
+#: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:129
+#: src/modules/lyr_std/supersample.cpp:146
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:290
-#: src/modules/lyr_std/curvewarp.cpp:393
-#: src/modules/mod_gradient/curvegradient.cpp:542
-#: src/synfig/valuenode_composite.cpp:514
-#: src/synfig/valuenode_composite.cpp:540
+#: src/modules/lyr_std/supersample.cpp:337
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_composite.cpp:524
+#: src/synfig/valuenode_composite.cpp:550
 #: src/synfig/valuenode_realstring.cpp:180
 #: src/synfig/valuenode_repeat_gradient.cpp:213
 #: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
 msgid "Width"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:291
+#: src/modules/lyr_std/supersample.cpp:338
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:294 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
 msgid "Height"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:295
+#: src/modules/lyr_std/supersample.cpp:342
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:298
+#: src/modules/lyr_std/supersample.cpp:345
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:299
+#: src/modules/lyr_std/supersample.cpp:346
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:302
+#: src/modules/lyr_std/supersample.cpp:349
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:303
+#: src/modules/lyr_std/supersample.cpp:350
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:166
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:124 src/synfig/valuenode_timeloop.cpp:179
+#: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:125
+#: src/modules/lyr_std/timeloop.cpp:134
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:129 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:130 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:134 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:135 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139
+#: src/modules/lyr_std/timeloop.cpp:148
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:140
+#: src/modules/lyr_std/timeloop.cpp:149
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144
+#: src/modules/lyr_std/timeloop.cpp:153
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:145
+#: src/modules/lyr_std/timeloop.cpp:154
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
@@ -883,115 +883,115 @@ msgstr ""
 msgid "When checked, distorts outside the circle"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:56
+#: src/modules/lyr_std/warp.cpp:57
 msgid "Warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:374
+#: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:376
+#: src/modules/lyr_std/warp.cpp:382
 msgid "Top Left corner of the source to warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:380
+#: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:381
+#: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:385
+#: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:387
+#: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:391
+#: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:393
+#: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:397
+#: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:399
+#: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:403
+#: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:405
+#: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:413
+#: src/modules/lyr_std/warp.cpp:419
 msgid "Horizon"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:414
+#: src/modules/lyr_std/warp.cpp:420
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:55
+#: src/modules/lyr_std/curvewarp.cpp:56
 msgid "Curve Warp"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:390
-msgid "Position of the source line"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:395
+#: src/modules/lyr_std/curvewarp.cpp:404
 msgid "How much is expanded the result perpendicular to the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:407
 msgid "Start Point"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:400
+#: src/modules/lyr_std/curvewarp.cpp:409
 msgid "First point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:403
+#: src/modules/lyr_std/curvewarp.cpp:412
 msgid "End Point"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:404
+#: src/modules/lyr_std/curvewarp.cpp:413
 msgid "Final point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:407
-#: src/modules/mod_geometry/advanced_outline.cpp:1123
-#: src/modules/mod_geometry/outline.cpp:814
-#: src/modules/mod_geometry/region.cpp:233
-#: src/modules/mod_gradient/curvegradient.cpp:546
-#: src/modules/mod_particle/plant.cpp:391
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
 msgid "Vertices"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:410
+#: src/modules/lyr_std/curvewarp.cpp:419
 msgid "List of Spline Points where the source line is curved to"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:413
-#: src/modules/mod_geometry/advanced_outline.cpp:1178
-#: src/modules/mod_gradient/curvegradient.cpp:567
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
 msgid "Fast"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:414
-#: src/modules/mod_gradient/curvegradient.cpp:568
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
 msgid "When checked, renders quickly but with artifacts"
 msgstr ""
 
@@ -999,15 +999,15 @@ msgstr ""
 msgid "XOR Pattern"
 msgstr ""
 
-#: src/modules/lyr_std/xorpattern.cpp:126
+#: src/modules/lyr_std/xorpattern.cpp:130
 msgid "Center of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/xorpattern.cpp:130
+#: src/modules/lyr_std/xorpattern.cpp:134
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:143
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
 #: src/synfig/valuenode_blinecalctangent.cpp:261
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
 #: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
@@ -1018,7 +1018,7 @@ msgstr ""
 msgid "Amount to scale to"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:105
+#: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
 msgstr ""
 
@@ -1086,126 +1086,138 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:201
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:208
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:218
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:272
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-msgid "Unable to open pipe to ffmpeg"
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:214
+msgid "Unable to open pipe to ffmpeg (no pipe)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:221
+msgid "Unable to open pipe to ffmpeg (pid == -1)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:231
+msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:285
+msgid "Unable to open pipe to ffmpeg (exec failed)"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:68
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:303
+msgid "Unable to open pipe to ffmpeg (no file)"
+msgstr ""
+
+#: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:69 src/modules/mod_filter/radialblur.cpp:56
+#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
 #: src/synfig/layer_motionblur.cpp:57
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:373
+#: src/modules/mod_filter/blur.cpp:414
 msgid "Size of Blur"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:55
+#: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:211
+#: src/modules/mod_filter/colorcorrect.cpp:217
 msgid "Hue Adjust"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:215
+#: src/modules/mod_filter/colorcorrect.cpp:221
 msgid "Brightness"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:219
+#: src/modules/mod_filter/colorcorrect.cpp:225
 msgid "Contrast"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:223
+#: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:227 src/synfig/layer_bitmap.cpp:179
+#: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:58
+#: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:151
+#: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:155
+#: src/modules/mod_filter/halftone2.cpp:159
 msgid "Mask Angle"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:159
-#: src/modules/mod_filter/halftone3.cpp:309
+#: src/modules/mod_filter/halftone2.cpp:163
+#: src/modules/mod_filter/halftone3.cpp:328
 msgid "Mask Size"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:164
+#: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:167
+#: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:172
-#: src/modules/mod_filter/halftone3.cpp:314
+#: src/modules/mod_filter/halftone2.cpp:176
+#: src/modules/mod_filter/halftone3.cpp:333
 #: src/modules/mod_gradient/conicalgradient.cpp:125
 msgid "Symmetric"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:173
-#: src/modules/mod_filter/halftone3.cpp:315
+#: src/modules/mod_filter/halftone2.cpp:177
+#: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:175
-#: src/modules/mod_filter/halftone3.cpp:317
+#: src/modules/mod_filter/halftone2.cpp:179
+#: src/modules/mod_filter/halftone3.cpp:336
 msgid "Diamond"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:176
-#: src/modules/mod_filter/halftone3.cpp:318
+#: src/modules/mod_filter/halftone2.cpp:180
+#: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:58
+#: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:312
+#: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:321
+#: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:329
+#: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:333
+#: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:337
+#: src/modules/mod_filter/halftone3.cpp:356
 msgid " Mask Angle"
 msgstr ""
 
-#: src/modules/mod_filter/lumakey.cpp:58
+#: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
 msgstr ""
 
-#: src/modules/mod_filter/radialblur.cpp:55
+#: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
 msgstr ""
 
@@ -1227,19 +1239,19 @@ msgstr ""
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:62 src/synfig/layer_solidcolor.cpp:57
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:123
+#: src/modules/mod_geometry/checkerboard.cpp:147
 msgid "Color of checkers"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:127
+#: src/modules/mod_geometry/checkerboard.cpp:151
 msgid "Center of the checkers"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:131
+#: src/modules/mod_geometry/checkerboard.cpp:155
 msgid "Size of checkers"
 msgstr ""
 
@@ -1247,54 +1259,54 @@ msgstr ""
 msgid "Circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:134
+#: src/modules/mod_geometry/circle.cpp:152
 msgid "Radius of the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:138 src/synfig/layer_shape.cpp:1206
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
 msgid "Feather"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:140
+#: src/modules/mod_geometry/circle.cpp:158
 msgid "Amount of feather of the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:148
+#: src/modules/mod_geometry/circle.cpp:166
 msgid "Invert the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:152
+#: src/modules/mod_geometry/circle.cpp:170
 msgid "Falloff"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:153
+#: src/modules/mod_geometry/circle.cpp:171
 msgid "Determines the falloff function for the feather"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:155
-#: src/modules/mod_noise/distort.cpp:234 src/modules/mod_noise/noise.cpp:275
-#: src/modules/mod_noise/valuenode_random.cpp:288
-#: src/synfig/layer_bitmap.cpp:173 src/synfig/layer_motionblur.cpp:150
-#: src/synfig/valuenode.cpp:139 src/synfig/valuenode_linear.cpp:146
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:289
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
 msgid "Linear"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:156
+#: src/modules/mod_geometry/circle.cpp:174
 msgid "Squared"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:157
+#: src/modules/mod_geometry/circle.cpp:175
 msgid "Square Root"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:158
+#: src/modules/mod_geometry/circle.cpp:176
 msgid "Sigmond"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:159
-#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:276
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:174
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:290
+#: src/synfig/layer_bitmap.cpp:170
 msgid "Cosine"
 msgstr ""
 
@@ -1302,160 +1314,160 @@ msgstr ""
 msgid "Advanced Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:133
+#: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1125
-#: src/modules/mod_geometry/outline.cpp:817
-#: src/modules/mod_geometry/region.cpp:235
-#: src/modules/mod_gradient/curvegradient.cpp:549
-#: src/modules/mod_particle/plant.cpp:392
+#: src/modules/mod_geometry/advanced_outline.cpp:1136
+#: src/modules/mod_geometry/outline.cpp:826
+#: src/modules/mod_geometry/region.cpp:240
+#: src/modules/mod_gradient/curvegradient.cpp:562
+#: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1129
-#: src/modules/mod_geometry/outline.cpp:831
+#: src/modules/mod_geometry/advanced_outline.cpp:1140
+#: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1130
-#: src/modules/mod_geometry/outline.cpp:832
+#: src/modules/mod_geometry/advanced_outline.cpp:1141
+#: src/modules/mod_geometry/outline.cpp:841
 msgid "Global width of the outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:837
+#: src/modules/mod_geometry/advanced_outline.cpp:1145
+#: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1135
-#: src/modules/mod_geometry/outline.cpp:838
+#: src/modules/mod_geometry/advanced_outline.cpp:1146
+#: src/modules/mod_geometry/outline.cpp:847
 msgid "Value to add to the global width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1138
+#: src/modules/mod_geometry/advanced_outline.cpp:1149
 msgid "Tip Type at Start"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1139
+#: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1141
-#: src/modules/mod_geometry/advanced_outline.cpp:1150
-#: src/synfig/valuenode_composite.cpp:548
+#: src/modules/mod_geometry/advanced_outline.cpp:1152
+#: src/modules/mod_geometry/advanced_outline.cpp:1161
 #: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:587
-#: src/synfig/valuenode_composite.cpp:596
+#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:606
 msgid "Rounded Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1142
-#: src/modules/mod_geometry/advanced_outline.cpp:1151
-#: src/synfig/valuenode_composite.cpp:549
+#: src/modules/mod_geometry/advanced_outline.cpp:1153
+#: src/modules/mod_geometry/advanced_outline.cpp:1162
 #: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:588
-#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:607
 msgid "Squared Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1143
-#: src/modules/mod_geometry/advanced_outline.cpp:1152
-#: src/synfig/valuenode_composite.cpp:550
+#: src/modules/mod_geometry/advanced_outline.cpp:1154
+#: src/modules/mod_geometry/advanced_outline.cpp:1163
 #: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:570
+#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:608
 msgid "Peak Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1144
-#: src/modules/mod_geometry/advanced_outline.cpp:1153
-#: src/synfig/valuenode_composite.cpp:551
+#: src/modules/mod_geometry/advanced_outline.cpp:1155
+#: src/modules/mod_geometry/advanced_outline.cpp:1164
 #: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:590
-#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:571
+#: src/synfig/valuenode_composite.cpp:600
+#: src/synfig/valuenode_composite.cpp:609
 msgid "Flat Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1147
+#: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1148
+#: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1156
+#: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1157
-#: src/modules/mod_geometry/outline.cpp:843
+#: src/modules/mod_geometry/advanced_outline.cpp:1168
+#: src/modules/mod_geometry/outline.cpp:852
 msgid "Determines cusp type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1159
+#: src/modules/mod_geometry/advanced_outline.cpp:1170
 msgid "Sharp"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1160
+#: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1164
+#: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1165
+#: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1168
-#: src/modules/mod_geometry/outline.cpp:859
+#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/outline.cpp:869
 #: src/synfig/valuenode_blinecalctangent.cpp:271
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1169
+#: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
+#: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1175
+#: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1182
+#: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1184
+#: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1187
+#: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1190
+#: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1193
+#: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1196
+#: src/modules/mod_geometry/advanced_outline.cpp:1207
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
@@ -1463,32 +1475,36 @@ msgstr ""
 msgid "Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:183
+#: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:842
+#: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:847
+#: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:848
-#: src/modules/mod_geometry/outline.cpp:853
+#: src/modules/mod_geometry/outline.cpp:857
+#: src/modules/mod_geometry/outline.cpp:862
 msgid "Round off the tip"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:852
+#: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:856
+#: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:860
+#: src/modules/mod_geometry/outline.cpp:866
+msgid "(Currently not used)"
+msgstr ""
+
+#: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
 msgstr ""
 
@@ -1496,11 +1512,11 @@ msgstr ""
 msgid "Rectangle"
 msgstr ""
 
-#: src/modules/mod_geometry/rectangle.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
 msgstr ""
 
-#: src/modules/mod_geometry/rectangle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
 msgstr ""
 
@@ -1512,46 +1528,46 @@ msgstr ""
 msgid "Star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:183
+#: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:184
+#: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190
+#: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:191
+#: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:197
+#: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:129
+#: src/modules/mod_gradient/spiralgradient.cpp:130
 #: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:198
+#: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:203 src/synfig/distance.cpp:251
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
 msgid "Points"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:204
+#: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:208
+#: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:209
+#: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
@@ -1569,20 +1585,20 @@ msgid "Conical Gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
-#: src/modules/mod_gradient/curvegradient.cpp:61
+#: src/modules/mod_gradient/curvegradient.cpp:62
 #: src/modules/mod_gradient/lineargradient.cpp:55
 #: src/modules/mod_gradient/radialgradient.cpp:58
-#: src/modules/mod_gradient/spiralgradient.cpp:57
-#: src/modules/mod_noise/noise.cpp:58
+#: src/modules/mod_gradient/spiralgradient.cpp:58
+#: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
-#: src/modules/mod_gradient/curvegradient.cpp:553
-#: src/modules/mod_gradient/lineargradient.cpp:200
+#: src/modules/mod_gradient/curvegradient.cpp:566
+#: src/modules/mod_gradient/lineargradient.cpp:195
 #: src/modules/mod_gradient/radialgradient.cpp:114
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:260
+#: src/modules/mod_gradient/spiralgradient.cpp:114
+#: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
 msgstr ""
 
@@ -1595,27 +1611,27 @@ msgid "Rotation of the gradient around the center"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
-#: src/modules/mod_gradient/curvegradient.cpp:557
-#: src/modules/mod_gradient/lineargradient.cpp:204
+#: src/modules/mod_gradient/curvegradient.cpp:570
+#: src/modules/mod_gradient/lineargradient.cpp:199
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:60
+#: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:538
-#: src/modules/mod_particle/plant.cpp:399
+#: src/modules/mod_gradient/curvegradient.cpp:551
+#: src/modules/mod_particle/plant.cpp:432
 msgid "Offset for the Vertices List"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:543
+#: src/modules/mod_gradient/curvegradient.cpp:556
 msgid "Global width of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:556
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/curvegradient.cpp:569
+#: src/modules/mod_gradient/lineargradient.cpp:198
 #: src/modules/mod_gradient/radialgradient.cpp:130
 #: src/synfig/valuenode_blinecalctangent.cpp:246
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
@@ -1623,19 +1639,19 @@ msgstr ""
 msgid "Loop"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:560
-#: src/modules/mod_gradient/lineargradient.cpp:207
+#: src/modules/mod_gradient/curvegradient.cpp:573
+#: src/modules/mod_gradient/lineargradient.cpp:202
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:561
-#: src/modules/mod_gradient/lineargradient.cpp:208
+#: src/modules/mod_gradient/curvegradient.cpp:574
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:136
 msgid "When checked the gradient is summetrical at the center"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:564
+#: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
 msgstr ""
 
@@ -1643,11 +1659,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:192
+#: src/modules/mod_gradient/lineargradient.cpp:187
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:196
+#: src/modules/mod_gradient/lineargradient.cpp:191
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1656,23 +1672,23 @@ msgid "Radial Gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:119
 msgid "Center of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:56
+#: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:130
+#: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:135
+#: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:136
+#: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
@@ -1685,13 +1701,15 @@ msgstr ""
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/listimporter.cpp:184 src/synfig/listimporter.cpp:185
+#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
+#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
 msgid "Unable to open "
 msgstr ""
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/listimporter.cpp:191 src/synfig/listimporter.cpp:192
+#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
+#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
 msgid "Unable to get frame from "
 msgstr ""
 
@@ -1729,115 +1747,115 @@ msgstr ""
 msgid "Unable to open pipe to imagemagick's convert utility"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:57
+#: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:217
+#: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:218
+#: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:223
+#: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:226 src/modules/mod_noise/noise.cpp:263
+#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:264
+#: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:230 src/modules/mod_noise/noise.cpp:271
-#: src/modules/mod_noise/valuenode_random.cpp:284
-#: src/synfig/layer_bitmap.cpp:169
+#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
-#: src/synfig/layer_bitmap.cpp:170
+#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
+#: src/synfig/layer_bitmap.cpp:166
 msgid "What type of interpolation to use"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:233 src/modules/mod_noise/noise.cpp:274
-#: src/synfig/layer_bitmap.cpp:172
+#: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
+#: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:277
-#: src/modules/mod_noise/valuenode_random.cpp:290 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_bline.cpp:1001
+#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
+#: src/synfig/valuenode_bline.cpp:1006
 #: src/synfig/valuenode_blinecalctangent.cpp:241
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:237 src/modules/mod_noise/noise.cpp:278
-#: src/modules/mod_noise/valuenode_random.cpp:291
-#: src/synfig/layer_bitmap.cpp:175
+#: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:281
+#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:282
+#: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:244 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:248 src/modules/mod_noise/noise.cpp:289
+#: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:290
+#: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:183
+#: src/modules/mod_noise/valuenode_random.cpp:184
 msgid "Random"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:57
+#: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:268
+#: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:293
+#: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:294
+#: src/modules/mod_noise/noise.cpp:303
 msgid "Uses transparency"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:297
+#: src/modules/mod_noise/noise.cpp:306
 msgid "Super Sampling"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:298
+#: src/modules/mod_noise/noise.cpp:307
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:264
+#: src/modules/mod_noise/valuenode_random.cpp:265
 #: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
 #: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
 #: src/synfig/valuenode_reciprocal.cpp:165
@@ -1846,167 +1864,167 @@ msgstr ""
 msgid "Link"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:270
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:274
-#: src/modules/mod_particle/plant.cpp:450
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:276
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:279
+#: src/modules/mod_noise/valuenode_random.cpp:280
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:281
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:286
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:288
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:296
+#: src/modules/mod_noise/valuenode_random.cpp:297
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:298
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:69
+#: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:404
+#: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:408
+#: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:409
+#: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:413
+#: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:414
+#: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:419
+#: src/modules/mod_particle/plant.cpp:452
 msgid "Tangential Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:420
+#: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:424
+#: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:425
+#: src/modules/mod_particle/plant.cpp:458
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:429
+#: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:430
+#: src/modules/mod_particle/plant.cpp:463
 msgid "Size of the stem"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:435
+#: src/modules/mod_particle/plant.cpp:468
 msgid "Size As Alpha"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:436
+#: src/modules/mod_particle/plant.cpp:469
 msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:440
+#: src/modules/mod_particle/plant.cpp:473
 msgid "Reverse"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:441
+#: src/modules/mod_particle/plant.cpp:474
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:445 src/synfig/valuenode.cpp:170
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
 #: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
 msgid "Step"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:446
+#: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:451
+#: src/modules/mod_particle/plant.cpp:484
 msgid "Used to seed the pseudo-random number generator"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:455
+#: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:456
+#: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:460
+#: src/modules/mod_particle/plant.cpp:493
 msgid "Sprouts"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:461
+#: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:465
+#: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:466
+#: src/modules/mod_particle/plant.cpp:499
 msgid ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:470
+#: src/modules/mod_particle/plant.cpp:503
 msgid "Drag"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:471
+#: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:475
+#: src/modules/mod_particle/plant.cpp:508
 msgid "Use Width"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:476
+#: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
@@ -2015,97 +2033,102 @@ msgstr ""
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:87 src/synfig/importer.cpp:87
+#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
 msgid "Importer::open(): Cannot open empty filename"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:101 src/synfig/importer.cpp:101
+#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
 msgid "Importer::open(): Couldn't find extension"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:112 src/synfig/importer.cpp:112
+#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
 msgid "Importer::open(): Unknown file type -- "
 msgstr ""
 
-#: src/synfig/canvas.cpp:798 src/synfig/canvas.cpp:863
-#: src/synfig/canvas.cpp:886
+#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
+#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+msgid "No images in list"
+msgstr ""
+
+#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
+#: src/synfig/canvas.cpp:927
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:249
+#: src/synfig/distance.cpp:251
 msgid "Units"
 msgstr ""
 
-#: src/synfig/distance.cpp:250
+#: src/synfig/distance.cpp:252
 msgid "Pixels"
 msgstr ""
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:254
 msgid "Inches"
 msgstr ""
 
-#: src/synfig/distance.cpp:253
+#: src/synfig/distance.cpp:255
 msgid "Meters"
 msgstr ""
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:256
 msgid "Millimeters"
 msgstr ""
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:257
 msgid "Centimeters"
 msgstr ""
 
-#: src/synfig/layer.cpp:565 src/synfig/layer_composite.cpp:128
+#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:619
+#: src/synfig/layer.cpp:605
 msgid "Z Depth"
 msgstr ""
 
-#: src/synfig/layer.cpp:621
+#: src/synfig/layer.cpp:607
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:159
+#: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:160
+#: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:164
+#: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:165
+#: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:218
+#: src/synfig/layer_composite.cpp:250
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:221 src/synfig/paramdesc.cpp:62
+#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:222
+#: src/synfig/layer_composite.cpp:254
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:168
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
 #: src/synfig/valuenode_duplicate.cpp:174
 msgid "Duplicate"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:148
+#: src/synfig/layer_duplicate.cpp:151
 msgid "Index"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:149
+#: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
 msgstr ""
 
@@ -2117,156 +2140,156 @@ msgstr ""
 msgid "Motion Blur"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:136
+#: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:137
+#: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:141
+#: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:142
+#: src/synfig/layer_motionblur.cpp:141
 msgid "Multiplies The Number Of Subsamples Rendered"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:146
+#: src/synfig/layer_motionblur.cpp:145
 msgid "Subsampling Type"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:147
+#: src/synfig/layer_motionblur.cpp:146
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:149 src/synfig/valuenode_const.cpp:127
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
 msgid "Constant"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:151
+#: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:155
+#: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:156
+#: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:160
+#: src/synfig/layer_motionblur.cpp:159
 msgid "Subsample End Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:161
+#: src/synfig/layer_motionblur.cpp:160
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:78 src/synfig/layer_pastecanvas.cpp:120
-#: src/synfig/layer_pastecanvas.cpp:121
+#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
+#: src/synfig/layer_pastecanvas.cpp:124
 msgid "Group"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:137
+#: src/synfig/layer_pastecanvas.cpp:140
 msgid "Canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:138
+#: src/synfig/layer_pastecanvas.cpp:141
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:144
 msgid "Zoom"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:142
+#: src/synfig/layer_pastecanvas.cpp:145
 msgid "Size of canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:147
+#: src/synfig/layer_pastecanvas.cpp:152
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:151
+#: src/synfig/layer_pastecanvas.cpp:156
 msgid "Children Lock"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:157
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
+#: src/synfig/layer_pastecanvas.cpp:162
 msgid "Focus Point"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:159
+#: src/synfig/layer_pastecanvas.cpp:165
 msgid "Point to remain fixed when zooming"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:164
+#: src/synfig/layer_pastecanvas.cpp:170
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:165
+#: src/synfig/layer_pastecanvas.cpp:171
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:180
+#: src/synfig/layer_pastecanvas.cpp:186
 msgid "Current Time"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:61
+#: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:187
+#: src/synfig/layer_polygon.cpp:194
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:188
+#: src/synfig/layer_polygon.cpp:195
 msgid "Define the corners of the polygon"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:64
+#: src/synfig/layer_shape.cpp:66
 msgid "Shape"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:65
+#: src/synfig/layer_shape.cpp:67
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1194
+#: src/synfig/layer_shape.cpp:1222
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1203
+#: src/synfig/layer_shape.cpp:1231
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1210
+#: src/synfig/layer_shape.cpp:1238
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1211
+#: src/synfig/layer_shape.cpp:1239
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1220
+#: src/synfig/layer_shape.cpp:1248
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_shape.cpp:1249
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1223
+#: src/synfig/layer_shape.cpp:1251
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1224
+#: src/synfig/layer_shape.cpp:1252
 msgid "Even/Odd"
 msgstr ""
 
@@ -2274,406 +2297,406 @@ msgstr ""
 msgid "Solid Color"
 msgstr ""
 
-#: src/synfig/listimporter.cpp:161 src/synfig/listimporter.cpp:162
-msgid "No images in list"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:142
+#: src/synfig/loadcanvas.cpp:143
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:185
+#: src/synfig/loadcanvas.cpp:186
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:191
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:205
+#: src/synfig/loadcanvas.cpp:206
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:236
+#: src/synfig/loadcanvas.cpp:237
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:469
-#: src/synfig/loadcanvas.cpp:1118
+#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
+#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:473
-#: src/synfig/loadcanvas.cpp:1122
+#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
+#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:484 src/synfig/loadcanvas.cpp:1144
+#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
+#: src/synfig/loadcanvas.cpp:1200
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:508
+#: src/synfig/loadcanvas.cpp:533
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1284
+#: src/synfig/loadcanvas.cpp:1353
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1301
+#: src/synfig/loadcanvas.cpp:1375
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1314
+#: src/synfig/loadcanvas.cpp:1388
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1330
+#: src/synfig/loadcanvas.cpp:1404
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1336 src/synfig/loadcanvas.cpp:1348
+#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1365
+#: src/synfig/loadcanvas.cpp:1439
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1380
+#: src/synfig/loadcanvas.cpp:1455
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1424 src/synfig/loadcanvas.cpp:1443
-#, c-format
-msgid "\"%s\" not a valid value for attribute \"%s\" in <%s>"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:1504
+#: src/synfig/loadcanvas.cpp:1556
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1512
+#: src/synfig/loadcanvas.cpp:1565
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1522
+#: src/synfig/loadcanvas.cpp:1577
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1531
+#: src/synfig/loadcanvas.cpp:1587
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1557 src/synfig/loadcanvas.cpp:1628
+#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1570
+#: src/synfig/loadcanvas.cpp:1625
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1579
+#: src/synfig/loadcanvas.cpp:1634
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1603
+#: src/synfig/loadcanvas.cpp:1658
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1643
+#: src/synfig/loadcanvas.cpp:1698
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1652
+#: src/synfig/loadcanvas.cpp:1707
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1659
+#: src/synfig/loadcanvas.cpp:1714
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1677
+#: src/synfig/loadcanvas.cpp:1732
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1747
+#: src/synfig/loadcanvas.cpp:1811
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1841
-msgid "Unable to create <dynamic_list>"
+#: src/synfig/loadcanvas.cpp:1861
+msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1993
+#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2038
+#: src/synfig/loadcanvas.cpp:1998
+msgid "Unable to create <dynamic_list>"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2220
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2076
+#: src/synfig/loadcanvas.cpp:2283
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2097
+#: src/synfig/loadcanvas.cpp:2304
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2102
+#: src/synfig/loadcanvas.cpp:2310
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2107
+#: src/synfig/loadcanvas.cpp:2316
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2142
+#: src/synfig/loadcanvas.cpp:2373
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2161
+#: src/synfig/loadcanvas.cpp:2392
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2181
+#: src/synfig/loadcanvas.cpp:2415
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2184
+#: src/synfig/loadcanvas.cpp:2418
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2192
+#: src/synfig/loadcanvas.cpp:2426
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2209
+#: src/synfig/loadcanvas.cpp:2443
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2214
+#: src/synfig/loadcanvas.cpp:2448
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2454
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2222
+#: src/synfig/loadcanvas.cpp:2456
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2244
+#: src/synfig/loadcanvas.cpp:2480
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2260
+#: src/synfig/loadcanvas.cpp:2496
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2272 src/synfig/loadcanvas.cpp:2292
+#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2280
+#: src/synfig/loadcanvas.cpp:2516
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2303
+#: src/synfig/loadcanvas.cpp:2539
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2376 src/synfig/loadcanvas.cpp:2384
+#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2470
+#: src/synfig/loadcanvas.cpp:2710
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2478
+#: src/synfig/loadcanvas.cpp:2717
+msgid "Inline canvas cannot have a <bones> section"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2725
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2490
+#: src/synfig/loadcanvas.cpp:2737
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2498
+#: src/synfig/loadcanvas.cpp:2745
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2504
+#: src/synfig/loadcanvas.cpp:2751
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:2763
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2531
+#: src/synfig/loadcanvas.cpp:2778
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2546
+#: src/synfig/loadcanvas.cpp:2793
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2578
+#: src/synfig/loadcanvas.cpp:2828
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580 src/synfig/valuenode.cpp:353
+#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580
+#: src/synfig/loadcanvas.cpp:2830
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2660 src/synfig/loadcanvas.cpp:2716
+#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:102
+#: src/synfig/main.cpp:118
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:107
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:112
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:117
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:122
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:184
+#: src/synfig/main.cpp:207
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:186
+#: src/synfig/main.cpp:209
 msgid "Unable to initialize subsystem \"Module\""
 msgstr ""
 
-#: src/synfig/main.cpp:188
+#: src/synfig/main.cpp:211
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:192
+#: src/synfig/main.cpp:215
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:195
+#: src/synfig/main.cpp:218
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:200
+#: src/synfig/main.cpp:223
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:203
+#: src/synfig/main.cpp:226
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
+#: src/synfig/main.cpp:232
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:212
+#: src/synfig/main.cpp:235
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:219
+#: src/synfig/main.cpp:242
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:222
+#: src/synfig/main.cpp:245
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:230
+#: src/synfig/main.cpp:253
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:267 src/synfig/main.cpp:268
+#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:279
+#: src/synfig/main.cpp:302
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:293 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:360 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:375 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:390
+#: src/synfig/main.cpp:413
 msgid "info"
 msgstr ""
 
@@ -2748,145 +2771,145 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:64 src/synfig/valuenode.cpp:140
-#: src/synfig/valuenode_composite.cpp:437
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
+#: src/synfig/valuenode_composite.cpp:447
 msgid "Composite"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:65
+#: src/synfig/paramdesc.cpp:69
 msgid "Straight"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:66
+#: src/synfig/paramdesc.cpp:70
 msgid "Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:67
+#: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68
+#: src/synfig/paramdesc.cpp:72
 msgid "Behind"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:69
+#: src/synfig/paramdesc.cpp:73
 msgid "Screen"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:70
+#: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:71
+#: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:72
+#: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:73
+#: src/synfig/paramdesc.cpp:77
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:74 src/synfig/valuenode.cpp:157
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
 #: src/synfig/valuenode_add.cpp:190
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:75 src/synfig/valuenode.cpp:147
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
 #: src/synfig/valuenode_subtract.cpp:194
 msgid "Subtract"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:76
+#: src/synfig/paramdesc.cpp:80
 msgid "Difference"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:77
+#: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78
+#: src/synfig/paramdesc.cpp:82
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:80 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
 msgid "Hue"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:81 src/synfig/valuenode_radialcomposite.cpp:260
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
 #: src/synfig/valuenode_radialcomposite.cpp:266
 msgid "Saturation"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:82
+#: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:83
+#: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84
+#: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85
+#: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
 msgstr ""
 
-#: src/synfig/render.cpp:246 src/synfig/render.cpp:247
-#: src/synfig/render.cpp:301 src/synfig/render.cpp:302
-#: src/synfig/render.cpp:536 src/synfig/render.cpp:537
-#: src/synfig/render.cpp:563 src/synfig/render.cpp:564
+#: src/synfig/render.cpp:248 src/synfig/render.cpp:249
+#: src/synfig/render.cpp:303 src/synfig/render.cpp:304
+#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
+#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:290
+#: src/synfig/savecanvas.cpp:359
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:543
+#: src/synfig/savecanvas.cpp:674 src/synfig/savecanvas.cpp:699
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:185
+#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
 #: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:281
 msgid "Target initialization failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:146
+#: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:155 src/synfig/target_scanline.cpp:258
-#: src/synfig/target_scanline.cpp:405
+#: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:260
+#: src/synfig/target_scanline.cpp:407
 msgid "Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:162
+#: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:169 src/synfig/target_cairo_tile.cpp:248
-#: src/synfig/target_scanline.cpp:418 src/synfig/target_tile.cpp:396
+#: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
+#: src/synfig/target_scanline.cpp:420 src/synfig/target_tile.cpp:398
 msgid "Caught string :"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:174 src/synfig/target_cairo_tile.cpp:253
-#: src/synfig/target_scanline.cpp:423 src/synfig/target_tile.cpp:401
+#: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
+#: src/synfig/target_scanline.cpp:425 src/synfig/target_tile.cpp:403
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:179 src/synfig/target_cairo_tile.cpp:258
-#: src/synfig/target_scanline.cpp:428 src/synfig/target_tile.cpp:406
+#: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
+#: src/synfig/target_scanline.cpp:430 src/synfig/target_tile.cpp:408
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:190
+#: src/synfig/target_cairo.cpp:201
 msgid "Cairo Surface bad status"
 msgstr ""
 
@@ -2894,24 +2917,24 @@ msgstr ""
 msgid "Bad Tile Size"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:142 src/synfig/target_cairo_tile.cpp:240
-#: src/synfig/target_scanline.cpp:203 src/synfig/target_scanline.cpp:249
-#: src/synfig/target_scanline.cpp:348 src/synfig/target_scanline.cpp:396
+#: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
+#: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:251
+#: src/synfig/target_scanline.cpp:350 src/synfig/target_scanline.cpp:398
 #: src/synfig/target_tile.cpp:225
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:150
+#: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:156 src/synfig/target_tile.cpp:179
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:179
 #: src/synfig/target_tile.cpp:245
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:211
+#: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
 msgstr ""
 
@@ -2935,277 +2958,317 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:276 src/synfig/value.cpp:308 src/synfig/value.cpp:360
+#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
 msgid "bool"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:277 src/synfig/value.cpp:310 src/synfig/value.cpp:358
+#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
 msgid "integer"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:278 src/synfig/value.cpp:312
+#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
 msgid "angle"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:279 src/synfig/value.cpp:314 src/synfig/value.cpp:352
+#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
 msgid "time"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:280 src/synfig/value.cpp:316 src/synfig/value.cpp:355
+#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
 msgid "real"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:281 src/synfig/value.cpp:318
+#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
 msgid "vector"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:282 src/synfig/value.cpp:320
+#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
 msgid "color"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:283 src/synfig/value.cpp:322
+#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
 msgid "segment"
 msgstr ""
 
-#: src/synfig/value.cpp:284
+#: src/synfig/value.cpp:378
 msgid "bline_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:285 src/synfig/value.cpp:326
+#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
+msgid "matrix"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
+msgid "bone_weight_pair"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
 msgid "width_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:286 src/synfig/value.cpp:328
+#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
 msgid "dash_item"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:287 src/synfig/value.cpp:330
+#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
 msgid "list"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:288 src/synfig/value.cpp:332
+#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
 msgid "canvas"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:289 src/synfig/value.cpp:334
+#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
 msgid "string"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:290 src/synfig/value.cpp:336
+#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
 msgid "gradient"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:291 src/synfig/value.cpp:338
+#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
+msgid "bone_object"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
+msgid "bone_valuenode"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
 msgid "nil"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:324
+#: src/synfig/value.cpp:422
 msgid "spline_point"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:141 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:142 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:144 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:146 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_dynamiclist.cpp:755
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
 #: src/synfig/valuenode_switch.cpp:163
 msgid "Switch"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164
+#: src/synfig/valuenode.cpp:170
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165
+#: src/synfig/valuenode.cpp:171
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
 msgid "Integer"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:176 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177
+#: src/synfig/valuenode.cpp:183
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:178
+#: src/synfig/valuenode.cpp:184
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_real.cpp:161
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
 #: src/synfig/valuenode_realstring.cpp:175
 msgid "Real"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:189
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:190
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185
+#: src/synfig/valuenode.cpp:191
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187
+#: src/synfig/valuenode.cpp:192
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:199
+msgid "Bone Influence"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:200
+msgid "Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:201
+msgid "Root Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:202
+msgid "Static List"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:203
+msgid "Bone Weight Pair"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:206
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:233
+#: src/synfig/valuenode.cpp:241
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:513
+#: src/synfig/valuenode.cpp:540
 msgid "Placeholder"
 msgstr ""
 
-#: src/synfig/valuenode.h:61
+#: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
@@ -3272,32 +3335,32 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:355 src/synfig/valuenode_animated.cpp:379
-#: src/synfig/valuenode_animated.cpp:703 src/synfig/valuenode_animated.cpp:721
-#: src/synfig/valuenode_animated.cpp:801 src/synfig/valuenode_animated.cpp:820
+#: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
+#: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
+#: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1134
+#: src/synfig/valuenode_animated.cpp:1173
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1169
+#: src/synfig/valuenode_animated.cpp:1208
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:977 src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
 #: src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:980 src/synfig/valuenode_dynamiclist.cpp:664
+#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
 #: src/synfig/valuenode_wplist.cpp:339
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_bline.cpp:1023
+#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
@@ -3317,7 +3380,7 @@ msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:584
 #: src/synfig/valuenode_gradientrotate.cpp:169
 #: src/synfig/valuenode_linear.cpp:213
 msgid "Offset"
@@ -3371,190 +3434,186 @@ msgstr ""
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:219
+#: src/synfig/valuenode_composite.cpp:229
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:464
+#: src/synfig/valuenode_composite.cpp:474
 msgid "Red"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:465
+#: src/synfig/valuenode_composite.cpp:475
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:468
+#: src/synfig/valuenode_composite.cpp:478
 msgid "Green"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:469
+#: src/synfig/valuenode_composite.cpp:479
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:472
+#: src/synfig/valuenode_composite.cpp:482
 msgid "Blue"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:473
+#: src/synfig/valuenode_composite.cpp:483
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:476
+#: src/synfig/valuenode_composite.cpp:486
 msgid "Alpha"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:477
+#: src/synfig/valuenode_composite.cpp:487
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:492
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:493
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
-#: src/synfig/valuenode_composite.cpp:526
+#: src/synfig/valuenode_composite.cpp:496
+#: src/synfig/valuenode_composite.cpp:536
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:497
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:490
+#: src/synfig/valuenode_composite.cpp:500
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:491
+#: src/synfig/valuenode_composite.cpp:501
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:494
-#: src/synfig/valuenode_composite.cpp:530
+#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:540
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:495
+#: src/synfig/valuenode_composite.cpp:505
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:510
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:511
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:514
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:515
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:520
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:521
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:525
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:519
+#: src/synfig/valuenode_composite.cpp:529
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:522
+#: src/synfig/valuenode_composite.cpp:532
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:523
+#: src/synfig/valuenode_composite.cpp:533
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:527
+#: src/synfig/valuenode_composite.cpp:537
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:531
+#: src/synfig/valuenode_composite.cpp:541
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:547
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:551
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:544
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_composite.cpp:554
+#: src/synfig/valuenode_composite.cpp:594
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:545
 #: src/synfig/valuenode_composite.cpp:555
+#: src/synfig/valuenode_composite.cpp:565
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
 #: src/synfig/valuenode_composite.cpp:557
+#: src/synfig/valuenode_composite.cpp:567
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:593
+#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:603
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:574
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:575
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:578
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:579
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:585
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:589
 #: src/synfig/valuenode_timedswap.cpp:260
 msgid "Length"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:580
+#: src/synfig/valuenode_composite.cpp:590
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:595
+#: src/synfig/valuenode_composite.cpp:604
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_const.cpp:127
-msgid "Static"
-msgstr ""
-
 #: src/synfig/valuenode_compare.cpp:168
 msgid "The left side of the comparison"
 msgstr ""
@@ -3619,12 +3678,12 @@ msgstr ""
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:655
+#: src/synfig/valuenode_dynamiclist.cpp:661
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:703
-#: src/synfig/valuenode_dynamiclist.cpp:957
+#: src/synfig/valuenode_dynamiclist.cpp:709
+#: src/synfig/valuenode_dynamiclist.cpp:964
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3948,7 +4007,7 @@ msgid "Intersection"
 msgstr ""
 
 #: src/synfig/valuenode_step.cpp:213
-msgid "Value that define whether the step is centerd on the value [0,1]"
+msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
@@ -4081,195 +4140,195 @@ msgstr ""
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:133
+#: src/tool/main.cpp:140
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:169
+#: src/tool/main.cpp:176
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:171
+#: src/tool/main.cpp:178
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:172
+#: src/tool/main.cpp:179
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:173
+#: src/tool/main.cpp:180
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:174
+#: src/tool/main.cpp:181
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:175
+#: src/tool/main.cpp:182
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:176
+#: src/tool/main.cpp:183
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:184
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:178
+#: src/tool/main.cpp:185
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:186
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:187
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:188
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:189
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:190
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:191
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:185 src/tool/main.cpp:186
+#: src/tool/main.cpp:192 src/tool/main.cpp:193
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:194
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:195
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:196
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:197
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:193
+#: src/tool/main.cpp:200
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:202
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:203
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:204
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:200
+#: src/tool/main.cpp:207
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:202
+#: src/tool/main.cpp:209
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:210
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:204 src/tool/main.cpp:230
+#: src/tool/main.cpp:211 src/tool/main.cpp:237
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:207
+#: src/tool/main.cpp:214
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:216
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:210
+#: src/tool/main.cpp:217
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:213
+#: src/tool/main.cpp:220
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:215
+#: src/tool/main.cpp:222
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:223
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:217
+#: src/tool/main.cpp:224
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:225
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:226
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:220
+#: src/tool/main.cpp:227
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:221
+#: src/tool/main.cpp:228
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:229
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:223
+#: src/tool/main.cpp:230
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:231
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:232
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:241
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:236
+#: src/tool/main.cpp:243
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:237
+#: src/tool/main.cpp:244
 msgid "Test signal implementation"
 msgstr ""
 
@@ -4333,157 +4392,157 @@ msgstr ""
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:113
+#: src/tool/optionsprocessor.cpp:114
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:115
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:131
+#: src/tool/optionsprocessor.cpp:132
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:146
+#: src/tool/optionsprocessor.cpp:147
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:224
+#: src/tool/optionsprocessor.cpp:225
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:226
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:227
+#: src/tool/optionsprocessor.cpp:228
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:232
+#: src/tool/optionsprocessor.cpp:233
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:234
+#: src/tool/optionsprocessor.cpp:235
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:236
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:239
+#: src/tool/optionsprocessor.cpp:240
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:243
+#: src/tool/optionsprocessor.cpp:244
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:309
+#: src/tool/optionsprocessor.cpp:310
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:316
+#: src/tool/optionsprocessor.cpp:317
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:324
+#: src/tool/optionsprocessor.cpp:325
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:334
+#: src/tool/optionsprocessor.cpp:335
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:343
+#: src/tool/optionsprocessor.cpp:344
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:352
+#: src/tool/optionsprocessor.cpp:353
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:379
+#: src/tool/optionsprocessor.cpp:380
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:385
+#: src/tool/optionsprocessor.cpp:386
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:400
+#: src/tool/optionsprocessor.cpp:401
 #, c-format
 msgid "Resolution set to %dx%d"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:417
+#: src/tool/optionsprocessor.cpp:418
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:437
+#: src/tool/optionsprocessor.cpp:438
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:440
+#: src/tool/optionsprocessor.cpp:441
 #, c-format
 msgid "Target video codec set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:446
+#: src/tool/optionsprocessor.cpp:447
 #, c-format
 msgid "Target bitrate set to %dk"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:452
+#: src/tool/optionsprocessor.cpp:453
 #, c-format
 msgid "Output file sequence separator set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:487
+#: src/tool/optionsprocessor.cpp:488
 #, c-format
 msgid "Unable to load '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:494
+#: src/tool/optionsprocessor.cpp:495
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:499
+#: src/tool/optionsprocessor.cpp:500
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:513
+#: src/tool/optionsprocessor.cpp:514
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:532
+#: src/tool/optionsprocessor.cpp:533
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:539
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:557
+#: src/tool/optionsprocessor.cpp:558
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:571
+#: src/tool/optionsprocessor.cpp:572
 msgid "Appended contents of "
 msgstr ""
 
diff --git a/po/tr.gmo b/po/tr.gmo
new file mode 100644
index 0000000..70cf28d
Binary files /dev/null and b/po/tr.gmo differ
diff --git a/po/ja_JP.po b/po/tr.po
similarity index 68%
copy from po/ja_JP.po
copy to po/tr.po
index 280f206..b61fc81 100644
--- a/po/ja_JP.po
+++ b/po/tr.po
@@ -1,96 +1,96 @@
-# translation of cs.po to Japanese (Japan)
+# Translation file for Synfig Core package.
 # Copyright (C) 2013 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
-# cyaoeu <cyaoeu at gmail.com>, 2013
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2013-05-09 18:34+0200\n"
-"PO-Revision-Date: 2013-05-02 12:39+0000\n"
-"Last-Translator: genete <genetita at gmail.com>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
-"Language: ja_JP\n"
+"POT-Creation-Date: 2013-10-25 17:57+0700\n"
+"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
+"Language-Team: Turkish (http://www.transifex.com/projects/p/synfig/language/"
+"tr/)\n"
+"Language: tr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: src/modules/mod_example/filledrect.cpp:58
+#: src/modules/mod_example/filledrect.cpp:59
 msgid "Filled Rectangle"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:59
+#: src/modules/mod_example/filledrect.cpp:60
 #: src/modules/mod_example/metaballs.cpp:58
 #: src/modules/mod_example/simplecircle.cpp:58
 msgid "Example"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:120
+#: src/modules/mod_example/filledrect.cpp:131
 #: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:523
-#: src/modules/lyr_std/shade.cpp:564
-#: src/modules/mod_geometry/checkerboard.cpp:122
-#: src/modules/mod_geometry/circle.cpp:128
-#: src/modules/mod_geometry/rectangle.cpp:125 src/synfig/layer_shape.cpp:1193
-#: src/synfig/layer_solidcolor.cpp:102 src/synfig/paramdesc.cpp:79
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:620
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
 msgid "Color"
-msgstr "色彩"
+msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:121
+#: src/modules/mod_example/filledrect.cpp:132
 #: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:129
-#: src/modules/mod_geometry/rectangle.cpp:126
-#: src/synfig/layer_solidcolor.cpp:103
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
 msgid "Fill color of the layer"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:125
-#: src/modules/mod_geometry/rectangle.cpp:130
-#: src/modules/mod_gradient/lineargradient.cpp:190
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:185
 msgid "Point 1"
-msgstr "頂点 1"
+msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:126
-#: src/modules/mod_geometry/rectangle.cpp:132
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
 msgid "First corner of the rectangle"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_geometry/rectangle.cpp:136
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:190
 msgid "Point 2"
-msgstr "頂点 2"
+msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_geometry/rectangle.cpp:137
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
 msgid "Second corner of the rectangle"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_example/filledrect.cpp:147
 msgid "Feather X"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:140
+#: src/modules/mod_example/filledrect.cpp:152
 msgid "Feather Y"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:144 src/modules/lyr_std/bevel.cpp:68
-#: src/modules/mod_geometry/advanced_outline.cpp:1161
+#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
 msgid "Bevel"
-msgstr "ベベル"
+msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:145
+#: src/modules/mod_example/filledrect.cpp:158
 msgid "Use Bevel for the corners"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:149
+#: src/modules/mod_example/filledrect.cpp:163
 msgid "Keep Bevel Circular"
 msgstr ""
 
-#: src/modules/mod_example/filledrect.cpp:150
+#: src/modules/mod_example/filledrect.cpp:164
 msgid "When checked the bevel is circular"
 msgstr ""
 
@@ -98,39 +98,39 @@ msgstr ""
 msgid "Metaballs"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:135
+#: src/modules/mod_example/metaballs.cpp:129
 #: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:552
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:194
 #: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:112
-#: src/modules/mod_noise/noise.cpp:259 src/modules/mod_particle/plant.cpp:403
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
 #: src/synfig/valuenode_gradientrotate.cpp:164
 #: src/synfig/valuenode_repeat_gradient.cpp:203
 msgid "Gradient"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:139
+#: src/modules/mod_example/metaballs.cpp:133
 msgid "Balls"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:143
+#: src/modules/mod_example/metaballs.cpp:137
 msgid "Radii"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:147
+#: src/modules/mod_example/metaballs.cpp:141
 msgid "Weights"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:151
+#: src/modules/mod_example/metaballs.cpp:145
 msgid "Gradient Left"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:155
+#: src/modules/mod_example/metaballs.cpp:149
 msgid "Gradient Right"
 msgstr ""
 
-#: src/modules/mod_example/metaballs.cpp:159
+#: src/modules/mod_example/metaballs.cpp:153
 msgid "Positive Only"
 msgstr ""
 
@@ -142,288 +142,288 @@ msgstr ""
 #: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
 #: src/modules/mod_gradient/conicalgradient.cpp:114
 #: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:117
+#: src/modules/mod_gradient/spiralgradient.cpp:118
 msgid "Center"
-msgstr "中心"
+msgstr ""
 
 #: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:144
+#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
 msgid "Center of the circle"
-msgstr "円の中心"
+msgstr ""
 
 #: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:151
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:132
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
 #: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:122
-#: src/modules/mod_noise/valuenode_random.cpp:269
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/valuenode_radialcomposite.cpp:272
 msgid "Radius"
-msgstr "半径"
+msgstr ""
 
 #: src/modules/mod_example/simplecircle.cpp:118
 #: src/modules/lyr_std/twirl.cpp:118
 #: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:124
 msgid "This is the radius of the circle"
-msgstr "これが円の半径です"
+msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
-#: src/modules/lyr_freetype/lyr_freetype.cpp:517
+#: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
-msgstr "テキスト"
+msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
 #: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
-#: src/modules/lyr_std/supersample.cpp:57 src/modules/lyr_std/timeloop.cpp:60
-#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:70
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:79
+#: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
+#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
 msgid "Other"
 msgstr ""
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:97
 msgid "Text Layer"
-msgstr "テキストレイヤー"
+msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:390
+#: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:409
+#: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:518
+#: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:524
+#: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:528
+#: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:533
+#: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:535
-#: src/modules/lyr_freetype/lyr_freetype.cpp:545
+#: src/modules/lyr_freetype/lyr_freetype.cpp:587
+#: src/modules/lyr_freetype/lyr_freetype.cpp:597
 msgid "Normal"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:536
+#: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:537
+#: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:541
+#: src/modules/lyr_freetype/lyr_freetype.cpp:593
 msgid "Weight"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:543
+#: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:544
+#: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:546
+#: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:547
+#: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:548
+#: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:551
+#: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:552
+#: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:556
+#: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:557
+#: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:561
-#: src/modules/lyr_std/shade.cpp:570 src/modules/lyr_std/xorpattern.cpp:129
-#: src/modules/mod_filter/blur.cpp:372
+#: src/modules/lyr_freetype/lyr_freetype.cpp:613
+#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:413
 #: src/modules/mod_filter/radialblur.cpp:115
-#: src/modules/mod_geometry/checkerboard.cpp:130
-#: src/modules/mod_noise/distort.cpp:222 src/modules/mod_noise/noise.cpp:267
+#: src/modules/mod_geometry/checkerboard.cpp:154
+#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
-msgstr "サイズ"
+msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:562
+#: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
-msgstr "テキストのサイズ"
+msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:569
+#: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:570
+#: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/insideout.cpp:143 src/modules/lyr_std/rotate.cpp:116
-#: src/modules/lyr_std/shade.cpp:567 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:389
-#: src/modules/lyr_std/xorpattern.cpp:125 src/modules/lyr_std/zoom.cpp:104
+#: src/modules/lyr_freetype/lyr_freetype.cpp:627
+#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
+#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
+#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
-#: src/modules/mod_geometry/checkerboard.cpp:126
-#: src/modules/mod_geometry/circle.cpp:143
-#: src/modules/mod_gradient/curvegradient.cpp:537
-#: src/modules/mod_particle/plant.cpp:398 src/synfig/layer_pastecanvas.cpp:133
-#: src/synfig/layer_shape.cpp:1197 src/synfig/valuenode_composite.cpp:518
+#: src/modules/mod_geometry/checkerboard.cpp:150
+#: src/modules/mod_geometry/circle.cpp:161
+#: src/modules/mod_gradient/curvegradient.cpp:550
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
+#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
 msgid "Origin"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:576
+#: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:580
+#: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:581
+#: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:588
+#: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:589
+#: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:594
+#: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:597
-#: src/modules/lyr_std/shade.cpp:587 src/modules/mod_geometry/circle.cpp:147
-#: src/synfig/layer_shape.cpp:1200
+#: src/modules/lyr_freetype/lyr_freetype.cpp:649
+#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1228
 msgid "Invert"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:654
+#: src/modules/lyr_freetype/lyr_freetype.cpp:714
 msgid "No face loaded, no text will be rendered."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:680
+#: src/modules/lyr_freetype/lyr_freetype.cpp:740
 msgid "Text too small, no text will be rendered."
-msgstr "テキストが小さすぎるためレンダーできません。"
+msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:704
+#: src/modules/lyr_freetype/lyr_freetype.cpp:764
 msgid "Unable to set face size."
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:747
+#: src/modules/lyr_freetype/lyr_freetype.cpp:807
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr ""
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:754
+#: src/modules/lyr_freetype/lyr_freetype.cpp:814
 msgid "Can't parse multibyte character.\n"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:69 src/modules/lyr_std/shade.cpp:68
+#: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:570 src/modules/lyr_std/shade.cpp:576
-#: src/modules/mod_filter/blur.cpp:376
-#: src/modules/mod_filter/halftone2.cpp:170
+#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
+#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:571 src/modules/lyr_std/shade.cpp:577
-#: src/modules/mod_filter/blur.cpp:377
+#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
+#: src/modules/mod_filter/blur.cpp:418
 msgid "Type of blur to use"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:573 src/modules/lyr_std/shade.cpp:579
-#: src/modules/mod_filter/blur.cpp:379 src/synfig/layer_shape.cpp:1213
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
 msgid "Box Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:574 src/modules/lyr_std/shade.cpp:580
-#: src/modules/mod_filter/blur.cpp:380 src/synfig/layer_shape.cpp:1214
+#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
+#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
 msgid "Fast Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:575 src/modules/lyr_std/shade.cpp:581
-#: src/modules/mod_filter/blur.cpp:381 src/synfig/layer_shape.cpp:1215
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
 msgid "Cross-Hatch Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:576 src/modules/lyr_std/shade.cpp:582
-#: src/modules/mod_filter/blur.cpp:382 src/synfig/layer_shape.cpp:1216
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
 msgid "Gaussian Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:577 src/modules/lyr_std/shade.cpp:583
-#: src/modules/mod_filter/blur.cpp:383 src/synfig/layer_shape.cpp:1217
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
 msgid "Disc Blur"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:581
+#: src/modules/lyr_std/bevel.cpp:635
 msgid "Hi-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:584
+#: src/modules/lyr_std/bevel.cpp:638
 msgid "Lo-Color"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:587
+#: src/modules/lyr_std/bevel.cpp:641
 msgid "Light Angle"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:591
+#: src/modules/lyr_std/bevel.cpp:645
 msgid "Depth of Bevel"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:595
+#: src/modules/lyr_std/bevel.cpp:649
 msgid "Softness"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:598
+#: src/modules/lyr_std/bevel.cpp:652
 msgid "Use Luma"
 msgstr ""
 
-#: src/modules/lyr_std/bevel.cpp:601
+#: src/modules/lyr_std/bevel.cpp:655
 msgid "Solid"
 msgstr ""
 
-#: src/modules/lyr_std/booleancurve.cpp:104
+#: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
 msgstr ""
 
-#: src/modules/lyr_std/booleancurve.cpp:105
+#: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
 msgstr ""
 
@@ -431,38 +431,38 @@ msgstr ""
 msgid "Clamp"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:56
-#: src/modules/mod_filter/halftone2.cpp:59
-#: src/modules/mod_filter/halftone3.cpp:59
-#: src/modules/mod_filter/lumakey.cpp:59
+#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:57
+#: src/modules/mod_filter/halftone2.cpp:60
+#: src/modules/mod_filter/halftone3.cpp:60
+#: src/modules/mod_filter/lumakey.cpp:60
 msgid "Filters"
-msgstr "フィルター"
+msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:158
+#: src/modules/lyr_std/clamp.cpp:162
 msgid "Invert Negative"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:162
+#: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:163
+#: src/modules/lyr_std/clamp.cpp:167
 msgid "When checked the Ceiling value is used"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:167
+#: src/modules/lyr_std/clamp.cpp:171
 msgid "Ceiling"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:168
+#: src/modules/lyr_std/clamp.cpp:172
 msgid "Upper boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:172
+#: src/modules/lyr_std/clamp.cpp:176
 msgid "Floor"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:173
+#: src/modules/lyr_std/clamp.cpp:177
 msgid "Lower boundary of the clamping"
 msgstr ""
 
@@ -470,24 +470,24 @@ msgstr ""
 msgid "Import Image"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:151 src/modules/lyr_std/import.cpp:201
+#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:283
+#: src/modules/lyr_std/import.cpp:293
 msgid "Filename"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:284
+#: src/modules/lyr_std/import.cpp:294
 msgid "File to import"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:288 src/synfig/layer_pastecanvas.cpp:146
+#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
 msgid "Time Offset"
 msgstr ""
 
-#: src/modules/lyr_std/import.cpp:289
+#: src/modules/lyr_std/import.cpp:299
 msgid "Time Offset to apply to the imported file"
 msgstr ""
 
@@ -496,14 +496,14 @@ msgid "Inside Out"
 msgstr ""
 
 #: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:75
 #: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:57 src/modules/lyr_std/curvewarp.cpp:56
-#: src/modules/mod_noise/distort.cpp:58
+#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
+#: src/modules/mod_noise/distort.cpp:59
 msgid "Distortions"
 msgstr ""
 
-#: src/modules/lyr_std/insideout.cpp:144
+#: src/modules/lyr_std/insideout.cpp:163
 msgid "Defines the where the center will be"
 msgstr ""
 
@@ -515,97 +515,97 @@ msgstr ""
 msgid "Fractals"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:309
+#: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:310
+#: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:313
+#: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:314
+#: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:317
+#: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:320 src/modules/lyr_std/mandelbrot.cpp:223
+#: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:323
+#: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:326 src/modules/lyr_std/mandelbrot.cpp:226
+#: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:330 src/modules/lyr_std/mandelbrot.cpp:236
+#: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:333 src/modules/lyr_std/mandelbrot.cpp:240
+#: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:336 src/modules/lyr_std/mandelbrot.cpp:244
+#: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:339 src/modules/lyr_std/mandelbrot.cpp:248
+#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:342
+#: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:345 src/modules/lyr_std/mandelbrot.cpp:265
+#: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:348 src/modules/lyr_std/mandelbrot.cpp:269
+#: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:351 src/modules/lyr_std/mandelbrot.cpp:273
+#: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:354 src/modules/lyr_std/mandelbrot.cpp:277
+#: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:357
+#: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:361
+#: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:364 src/modules/lyr_std/mandelbrot.cpp:285
+#: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:286
+#: src/modules/lyr_std/julia.cpp:391 src/modules/lyr_std/mandelbrot.cpp:282
 msgid "Smooth the coloration outside the set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:368 src/modules/lyr_std/mandelbrot.cpp:230
+#: src/modules/lyr_std/julia.cpp:394 src/modules/lyr_std/mandelbrot.cpp:226
 msgid "Break Set"
 msgstr ""
 
-#: src/modules/lyr_std/julia.cpp:369 src/modules/lyr_std/mandelbrot.cpp:231
+#: src/modules/lyr_std/julia.cpp:395 src/modules/lyr_std/mandelbrot.cpp:227
 msgid "Modify equation to achieve interesting results"
 msgstr ""
 
@@ -613,70 +613,70 @@ msgstr ""
 msgid "Mandelbrot Set"
 msgstr ""
 
+#: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
 #: src/modules/lyr_std/mandelbrot.cpp:241
 #: src/modules/lyr_std/mandelbrot.cpp:245
 #: src/modules/lyr_std/mandelbrot.cpp:249
 #: src/modules/lyr_std/mandelbrot.cpp:253
 #: src/modules/lyr_std/mandelbrot.cpp:257
-#: src/modules/lyr_std/mandelbrot.cpp:261
 msgid "Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:252
+#: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:256
+#: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:260
+#: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
 msgstr ""
 
+#: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
 #: src/modules/lyr_std/mandelbrot.cpp:270
 #: src/modules/lyr_std/mandelbrot.cpp:274
 #: src/modules/lyr_std/mandelbrot.cpp:278
-#: src/modules/lyr_std/mandelbrot.cpp:282
+#: src/modules/lyr_std/mandelbrot.cpp:283
 #: src/modules/lyr_std/mandelbrot.cpp:287
 #: src/modules/lyr_std/mandelbrot.cpp:291
-#: src/modules/lyr_std/mandelbrot.cpp:295
 msgid "Outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:281
+#: src/modules/lyr_std/mandelbrot.cpp:277
 msgid "Gradient outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:290
+#: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
 msgstr ""
 
-#: src/modules/lyr_std/mandelbrot.cpp:294
+#: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
 msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:56
 msgid "Rotate"
-msgstr "回転"
+msgstr ""
 
 #: src/modules/lyr_std/rotate.cpp:57 src/modules/lyr_std/translate.cpp:56
 #: src/modules/lyr_std/zoom.cpp:53
 msgid "Transform"
-msgstr "変形"
+msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/translate.cpp:101
+#: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:134
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:121
-#: src/modules/lyr_std/sphere_distort.cpp:158
+#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:217
+#: src/synfig/layer_composite.cpp:249
 #: src/synfig/valuenode_blinecalctangent.cpp:251
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
@@ -685,61 +685,61 @@ msgstr ""
 msgid "Amount"
 msgstr ""
 
-#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:67
+#: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
 msgstr ""
 
-#: src/modules/lyr_std/shade.cpp:571
+#: src/modules/lyr_std/shade.cpp:627
 msgid "Size of Shade"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:73
-#: src/modules/lyr_std/sphere_distort.cpp:172
+#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:167
 msgid "Spherize"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/synfig/valuenode_composite.cpp:536
+#: src/modules/lyr_std/sphere_distort.cpp:141
+#: src/synfig/valuenode_composite.cpp:546
 msgid "Position"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:147
+#: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:154
+#: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:160
+#: src/modules/lyr_std/sphere_distort.cpp:155
 msgid "The distortion intensity (negative values inverts effect)"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:164 src/modules/lyr_std/warp.cpp:409
+#: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:165
+#: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:169
+#: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:170
+#: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:173
+#: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
 msgstr ""
 
-#: src/modules/lyr_std/sphere_distort.cpp:174
+#: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
 msgstr ""
 
@@ -759,110 +759,110 @@ msgstr ""
 msgid "Stroboscope"
 msgstr ""
 
-#: src/modules/lyr_std/stroboscope.cpp:102
+#: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
 msgstr ""
 
-#: src/modules/lyr_std/stroboscope.cpp:103
+#: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:56
+#: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:129
+#: src/modules/lyr_std/supersample.cpp:146
 msgid "Unable to create SurfaceTarget"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:290
-#: src/modules/lyr_std/curvewarp.cpp:393
-#: src/modules/mod_gradient/curvegradient.cpp:542
-#: src/synfig/valuenode_composite.cpp:514
-#: src/synfig/valuenode_composite.cpp:540
+#: src/modules/lyr_std/supersample.cpp:337
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_composite.cpp:524
+#: src/synfig/valuenode_composite.cpp:550
 #: src/synfig/valuenode_realstring.cpp:180
 #: src/synfig/valuenode_repeat_gradient.cpp:213
 #: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
 msgid "Width"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:291
+#: src/modules/lyr_std/supersample.cpp:338
 msgid "Width of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:294 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
 msgid "Height"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:295
+#: src/modules/lyr_std/supersample.cpp:342
 msgid "Height of sample area (In pixels)"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:298
+#: src/modules/lyr_std/supersample.cpp:345
 msgid "Use Parametric"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:299
+#: src/modules/lyr_std/supersample.cpp:346
 msgid "Use the Parametric Renderer"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:302
+#: src/modules/lyr_std/supersample.cpp:349
 msgid "Be Alpha Safe"
 msgstr ""
 
-#: src/modules/lyr_std/supersample.cpp:303
+#: src/modules/lyr_std/supersample.cpp:350
 msgid "Avoid alpha artifacts when checked"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:166
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:124 src/synfig/valuenode_timeloop.cpp:179
+#: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:125
+#: src/modules/lyr_std/timeloop.cpp:134
 msgid "Start time of the loop for the cycled context"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:129 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:130 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:134 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:135 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
 msgid "Lenght of the loop"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:139
+#: src/modules/lyr_std/timeloop.cpp:148
 msgid "Only For Positive Duration"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:140
+#: src/modules/lyr_std/timeloop.cpp:149
 msgid "When checked will loop only positive durations"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:144
+#: src/modules/lyr_std/timeloop.cpp:153
 msgid "Symmetrical"
 msgstr ""
 
-#: src/modules/lyr_std/timeloop.cpp:145
+#: src/modules/lyr_std/timeloop.cpp:154
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr ""
 
 #: src/modules/lyr_std/translate.cpp:55
 msgid "Translate"
-msgstr "移動"
+msgstr ""
 
 #: src/modules/lyr_std/twirl.cpp:56
 msgid "Twirl"
@@ -884,115 +884,115 @@ msgstr ""
 msgid "When checked, distorts outside the circle"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:56
+#: src/modules/lyr_std/warp.cpp:57
 msgid "Warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:374
+#: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:376
+#: src/modules/lyr_std/warp.cpp:382
 msgid "Top Left corner of the source to warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:380
+#: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:381
+#: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:385
+#: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:387
+#: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:391
+#: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:393
+#: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:397
+#: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:399
+#: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:403
+#: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:405
+#: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:413
+#: src/modules/lyr_std/warp.cpp:419
 msgid "Horizon"
 msgstr ""
 
-#: src/modules/lyr_std/warp.cpp:414
+#: src/modules/lyr_std/warp.cpp:420
 msgid "Height that determines the horizon in perspectives"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:55
+#: src/modules/lyr_std/curvewarp.cpp:56
 msgid "Curve Warp"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:390
-msgid "Position of the source line"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:395
+#: src/modules/lyr_std/curvewarp.cpp:404
 msgid "How much is expanded the result perpendicular to the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:407
 msgid "Start Point"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:400
+#: src/modules/lyr_std/curvewarp.cpp:409
 msgid "First point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:403
+#: src/modules/lyr_std/curvewarp.cpp:412
 msgid "End Point"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:404
+#: src/modules/lyr_std/curvewarp.cpp:413
 msgid "Final point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:407
-#: src/modules/mod_geometry/advanced_outline.cpp:1123
-#: src/modules/mod_geometry/outline.cpp:814
-#: src/modules/mod_geometry/region.cpp:233
-#: src/modules/mod_gradient/curvegradient.cpp:546
-#: src/modules/mod_particle/plant.cpp:391
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
 msgid "Vertices"
-msgstr "頂点"
+msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:410
+#: src/modules/lyr_std/curvewarp.cpp:419
 msgid "List of Spline Points where the source line is curved to"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:413
-#: src/modules/mod_geometry/advanced_outline.cpp:1178
-#: src/modules/mod_gradient/curvegradient.cpp:567
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
 msgid "Fast"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:414
-#: src/modules/mod_gradient/curvegradient.cpp:568
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
 msgid "When checked, renders quickly but with artifacts"
 msgstr ""
 
@@ -1000,15 +1000,15 @@ msgstr ""
 msgid "XOR Pattern"
 msgstr ""
 
-#: src/modules/lyr_std/xorpattern.cpp:126
+#: src/modules/lyr_std/xorpattern.cpp:130
 msgid "Center of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/xorpattern.cpp:130
+#: src/modules/lyr_std/xorpattern.cpp:134
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:143
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
 #: src/synfig/valuenode_blinecalctangent.cpp:261
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
 #: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
@@ -1019,7 +1019,7 @@ msgstr ""
 msgid "Amount to scale to"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:105
+#: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
 msgstr ""
 
@@ -1069,7 +1069,7 @@ msgstr ""
 
 #: src/modules/mod_bmp/trgt_bmp.cpp:194 src/modules/mod_bmp/trgt_bmp.cpp:195
 msgid "Unable to open file"
-msgstr "ファイルを開けません"
+msgstr ""
 
 #: src/modules/mod_bmp/trgt_bmp.cpp:225 src/modules/mod_bmp/trgt_bmp.cpp:226
 msgid "Unable to write file header to file"
@@ -1087,126 +1087,138 @@ msgstr ""
 msgid "Unable to open pipe to encodedv"
 msgstr ""
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:201
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:208
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:218
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:272
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-msgid "Unable to open pipe to ffmpeg"
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:214
+msgid "Unable to open pipe to ffmpeg (no pipe)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:221
+msgid "Unable to open pipe to ffmpeg (pid == -1)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:231
+msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
+msgstr ""
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:285
+msgid "Unable to open pipe to ffmpeg (exec failed)"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:68
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:303
+msgid "Unable to open pipe to ffmpeg (no file)"
+msgstr ""
+
+#: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:69 src/modules/mod_filter/radialblur.cpp:56
+#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
 #: src/synfig/layer_motionblur.cpp:57
 msgid "Blurs"
 msgstr ""
 
-#: src/modules/mod_filter/blur.cpp:373
+#: src/modules/mod_filter/blur.cpp:414
 msgid "Size of Blur"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:55
+#: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:211
+#: src/modules/mod_filter/colorcorrect.cpp:217
 msgid "Hue Adjust"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:215
+#: src/modules/mod_filter/colorcorrect.cpp:221
 msgid "Brightness"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:219
+#: src/modules/mod_filter/colorcorrect.cpp:225
 msgid "Contrast"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:223
+#: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
 msgstr ""
 
-#: src/modules/mod_filter/colorcorrect.cpp:227 src/synfig/layer_bitmap.cpp:179
+#: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:58
+#: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:151
+#: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:155
+#: src/modules/mod_filter/halftone2.cpp:159
 msgid "Mask Angle"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:159
-#: src/modules/mod_filter/halftone3.cpp:309
+#: src/modules/mod_filter/halftone2.cpp:163
+#: src/modules/mod_filter/halftone3.cpp:328
 msgid "Mask Size"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:164
+#: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:167
+#: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:172
-#: src/modules/mod_filter/halftone3.cpp:314
+#: src/modules/mod_filter/halftone2.cpp:176
+#: src/modules/mod_filter/halftone3.cpp:333
 #: src/modules/mod_gradient/conicalgradient.cpp:125
 msgid "Symmetric"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:173
-#: src/modules/mod_filter/halftone3.cpp:315
+#: src/modules/mod_filter/halftone2.cpp:177
+#: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:175
-#: src/modules/mod_filter/halftone3.cpp:317
+#: src/modules/mod_filter/halftone2.cpp:179
+#: src/modules/mod_filter/halftone3.cpp:336
 msgid "Diamond"
 msgstr ""
 
-#: src/modules/mod_filter/halftone2.cpp:176
-#: src/modules/mod_filter/halftone3.cpp:318
+#: src/modules/mod_filter/halftone2.cpp:180
+#: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:58
+#: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:312
+#: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:321
+#: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:329
+#: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:333
+#: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
 msgstr ""
 
-#: src/modules/mod_filter/halftone3.cpp:337
+#: src/modules/mod_filter/halftone3.cpp:356
 msgid " Mask Angle"
 msgstr ""
 
-#: src/modules/mod_filter/lumakey.cpp:58
+#: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
 msgstr ""
 
-#: src/modules/mod_filter/radialblur.cpp:55
+#: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
 msgstr ""
 
@@ -1228,74 +1240,74 @@ msgstr ""
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:62 src/synfig/layer_solidcolor.cpp:57
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:123
+#: src/modules/mod_geometry/checkerboard.cpp:147
 msgid "Color of checkers"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:127
+#: src/modules/mod_geometry/checkerboard.cpp:151
 msgid "Center of the checkers"
 msgstr ""
 
-#: src/modules/mod_geometry/checkerboard.cpp:131
+#: src/modules/mod_geometry/checkerboard.cpp:155
 msgid "Size of checkers"
 msgstr ""
 
 #: src/modules/mod_geometry/circle.cpp:56
 msgid "Circle"
-msgstr "円"
+msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:134
+#: src/modules/mod_geometry/circle.cpp:152
 msgid "Radius of the circle"
-msgstr "円の半径"
+msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:138 src/synfig/layer_shape.cpp:1206
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
 msgid "Feather"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:140
+#: src/modules/mod_geometry/circle.cpp:158
 msgid "Amount of feather of the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:148
+#: src/modules/mod_geometry/circle.cpp:166
 msgid "Invert the circle"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:152
+#: src/modules/mod_geometry/circle.cpp:170
 msgid "Falloff"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:153
+#: src/modules/mod_geometry/circle.cpp:171
 msgid "Determines the falloff function for the feather"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:155
-#: src/modules/mod_noise/distort.cpp:234 src/modules/mod_noise/noise.cpp:275
-#: src/modules/mod_noise/valuenode_random.cpp:288
-#: src/synfig/layer_bitmap.cpp:173 src/synfig/layer_motionblur.cpp:150
-#: src/synfig/valuenode.cpp:139 src/synfig/valuenode_linear.cpp:146
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:289
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
 msgid "Linear"
-msgstr "リネア"
+msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:156
+#: src/modules/mod_geometry/circle.cpp:174
 msgid "Squared"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:157
+#: src/modules/mod_geometry/circle.cpp:175
 msgid "Square Root"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:158
+#: src/modules/mod_geometry/circle.cpp:176
 msgid "Sigmond"
 msgstr ""
 
-#: src/modules/mod_geometry/circle.cpp:159
-#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:276
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:174
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:290
+#: src/synfig/layer_bitmap.cpp:170
 msgid "Cosine"
 msgstr ""
 
@@ -1303,160 +1315,160 @@ msgstr ""
 msgid "Advanced Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:133
+#: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1125
-#: src/modules/mod_geometry/outline.cpp:817
-#: src/modules/mod_geometry/region.cpp:235
-#: src/modules/mod_gradient/curvegradient.cpp:549
-#: src/modules/mod_particle/plant.cpp:392
+#: src/modules/mod_geometry/advanced_outline.cpp:1136
+#: src/modules/mod_geometry/outline.cpp:826
+#: src/modules/mod_geometry/region.cpp:240
+#: src/modules/mod_gradient/curvegradient.cpp:562
+#: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1129
-#: src/modules/mod_geometry/outline.cpp:831
+#: src/modules/mod_geometry/advanced_outline.cpp:1140
+#: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1130
-#: src/modules/mod_geometry/outline.cpp:832
+#: src/modules/mod_geometry/advanced_outline.cpp:1141
+#: src/modules/mod_geometry/outline.cpp:841
 msgid "Global width of the outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:837
+#: src/modules/mod_geometry/advanced_outline.cpp:1145
+#: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1135
-#: src/modules/mod_geometry/outline.cpp:838
+#: src/modules/mod_geometry/advanced_outline.cpp:1146
+#: src/modules/mod_geometry/outline.cpp:847
 msgid "Value to add to the global width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1138
+#: src/modules/mod_geometry/advanced_outline.cpp:1149
 msgid "Tip Type at Start"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1139
+#: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1141
-#: src/modules/mod_geometry/advanced_outline.cpp:1150
-#: src/synfig/valuenode_composite.cpp:548
+#: src/modules/mod_geometry/advanced_outline.cpp:1152
+#: src/modules/mod_geometry/advanced_outline.cpp:1161
 #: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:587
-#: src/synfig/valuenode_composite.cpp:596
+#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:606
 msgid "Rounded Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1142
-#: src/modules/mod_geometry/advanced_outline.cpp:1151
-#: src/synfig/valuenode_composite.cpp:549
+#: src/modules/mod_geometry/advanced_outline.cpp:1153
+#: src/modules/mod_geometry/advanced_outline.cpp:1162
 #: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:588
-#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:607
 msgid "Squared Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1143
-#: src/modules/mod_geometry/advanced_outline.cpp:1152
-#: src/synfig/valuenode_composite.cpp:550
+#: src/modules/mod_geometry/advanced_outline.cpp:1154
+#: src/modules/mod_geometry/advanced_outline.cpp:1163
 #: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:570
+#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:608
 msgid "Peak Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1144
-#: src/modules/mod_geometry/advanced_outline.cpp:1153
-#: src/synfig/valuenode_composite.cpp:551
+#: src/modules/mod_geometry/advanced_outline.cpp:1155
+#: src/modules/mod_geometry/advanced_outline.cpp:1164
 #: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:590
-#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:571
+#: src/synfig/valuenode_composite.cpp:600
+#: src/synfig/valuenode_composite.cpp:609
 msgid "Flat Stop"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1147
+#: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1148
+#: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1156
+#: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1157
-#: src/modules/mod_geometry/outline.cpp:843
+#: src/modules/mod_geometry/advanced_outline.cpp:1168
+#: src/modules/mod_geometry/outline.cpp:852
 msgid "Determines cusp type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1159
+#: src/modules/mod_geometry/advanced_outline.cpp:1170
 msgid "Sharp"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1160
+#: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1164
+#: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1165
+#: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1168
-#: src/modules/mod_geometry/outline.cpp:859
+#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/outline.cpp:869
 #: src/synfig/valuenode_blinecalctangent.cpp:271
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1169
+#: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
+#: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1175
+#: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1182
+#: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1184
+#: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1187
+#: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1190
+#: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1193
+#: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1196
+#: src/modules/mod_geometry/advanced_outline.cpp:1207
 msgid "Distance to Offset the Dash Items"
 msgstr ""
 
@@ -1464,32 +1476,36 @@ msgstr ""
 msgid "Outline"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:183
+#: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:842
+#: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:847
+#: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:848
-#: src/modules/mod_geometry/outline.cpp:853
+#: src/modules/mod_geometry/outline.cpp:857
+#: src/modules/mod_geometry/outline.cpp:862
 msgid "Round off the tip"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:852
+#: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:856
+#: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
 msgstr ""
 
-#: src/modules/mod_geometry/outline.cpp:860
+#: src/modules/mod_geometry/outline.cpp:866
+msgid "(Currently not used)"
+msgstr ""
+
+#: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
 msgstr ""
 
@@ -1497,11 +1513,11 @@ msgstr ""
 msgid "Rectangle"
 msgstr ""
 
-#: src/modules/mod_geometry/rectangle.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
 msgstr ""
 
-#: src/modules/mod_geometry/rectangle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
 msgstr ""
 
@@ -1513,46 +1529,46 @@ msgstr ""
 msgid "Star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:183
+#: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:184
+#: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:190
+#: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:191
+#: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:197
+#: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:129
+#: src/modules/mod_gradient/spiralgradient.cpp:130
 #: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:198
+#: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:203 src/synfig/distance.cpp:251
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
 msgid "Points"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:204
+#: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:208
+#: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
 msgstr ""
 
-#: src/modules/mod_geometry/star.cpp:209
+#: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr ""
 
@@ -1570,20 +1586,20 @@ msgid "Conical Gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
-#: src/modules/mod_gradient/curvegradient.cpp:61
+#: src/modules/mod_gradient/curvegradient.cpp:62
 #: src/modules/mod_gradient/lineargradient.cpp:55
 #: src/modules/mod_gradient/radialgradient.cpp:58
-#: src/modules/mod_gradient/spiralgradient.cpp:57
-#: src/modules/mod_noise/noise.cpp:58
+#: src/modules/mod_gradient/spiralgradient.cpp:58
+#: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
-#: src/modules/mod_gradient/curvegradient.cpp:553
-#: src/modules/mod_gradient/lineargradient.cpp:200
+#: src/modules/mod_gradient/curvegradient.cpp:566
+#: src/modules/mod_gradient/lineargradient.cpp:195
 #: src/modules/mod_gradient/radialgradient.cpp:114
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:260
+#: src/modules/mod_gradient/spiralgradient.cpp:114
+#: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
 msgstr ""
 
@@ -1596,27 +1612,27 @@ msgid "Rotation of the gradient around the center"
 msgstr ""
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
-#: src/modules/mod_gradient/curvegradient.cpp:557
-#: src/modules/mod_gradient/lineargradient.cpp:204
+#: src/modules/mod_gradient/curvegradient.cpp:570
+#: src/modules/mod_gradient/lineargradient.cpp:199
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:60
+#: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:538
-#: src/modules/mod_particle/plant.cpp:399
+#: src/modules/mod_gradient/curvegradient.cpp:551
+#: src/modules/mod_particle/plant.cpp:432
 msgid "Offset for the Vertices List"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:543
+#: src/modules/mod_gradient/curvegradient.cpp:556
 msgid "Global width of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:556
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/curvegradient.cpp:569
+#: src/modules/mod_gradient/lineargradient.cpp:198
 #: src/modules/mod_gradient/radialgradient.cpp:130
 #: src/synfig/valuenode_blinecalctangent.cpp:246
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
@@ -1624,19 +1640,19 @@ msgstr ""
 msgid "Loop"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:560
-#: src/modules/mod_gradient/lineargradient.cpp:207
+#: src/modules/mod_gradient/curvegradient.cpp:573
+#: src/modules/mod_gradient/lineargradient.cpp:202
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:561
-#: src/modules/mod_gradient/lineargradient.cpp:208
+#: src/modules/mod_gradient/curvegradient.cpp:574
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:136
 msgid "When checked the gradient is summetrical at the center"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:564
+#: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
 msgstr ""
 
@@ -1644,11 +1660,11 @@ msgstr ""
 msgid "Linear Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:192
+#: src/modules/mod_gradient/lineargradient.cpp:187
 msgid "Start point of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/lineargradient.cpp:196
+#: src/modules/mod_gradient/lineargradient.cpp:191
 msgid "End point of the gradient"
 msgstr ""
 
@@ -1657,23 +1673,23 @@ msgid "Radial Gradient"
 msgstr ""
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:119
 msgid "Center of the gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:56
+#: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:130
+#: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:135
+#: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:136
+#: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
@@ -1686,13 +1702,15 @@ msgstr ""
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/listimporter.cpp:184 src/synfig/listimporter.cpp:185
+#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
+#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
 msgid "Unable to open "
 msgstr ""
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/listimporter.cpp:191 src/synfig/listimporter.cpp:192
+#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
+#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
 msgid "Unable to get frame from "
 msgstr ""
 
@@ -1730,115 +1748,115 @@ msgstr ""
 msgid "Unable to open pipe to imagemagick's convert utility"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:57
+#: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:217
+#: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:218
+#: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:223
+#: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:226 src/modules/mod_noise/noise.cpp:263
+#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:264
+#: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:230 src/modules/mod_noise/noise.cpp:271
-#: src/modules/mod_noise/valuenode_random.cpp:284
-#: src/synfig/layer_bitmap.cpp:169
+#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
-#: src/synfig/layer_bitmap.cpp:170
+#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
+#: src/synfig/layer_bitmap.cpp:166
 msgid "What type of interpolation to use"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:233 src/modules/mod_noise/noise.cpp:274
-#: src/synfig/layer_bitmap.cpp:172
+#: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
+#: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:277
-#: src/modules/mod_noise/valuenode_random.cpp:290 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_bline.cpp:1001
+#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
+#: src/synfig/valuenode_bline.cpp:1006
 #: src/synfig/valuenode_blinecalctangent.cpp:241
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:237 src/modules/mod_noise/noise.cpp:278
-#: src/modules/mod_noise/valuenode_random.cpp:291
-#: src/synfig/layer_bitmap.cpp:175
+#: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:281
+#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:282
+#: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:244 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:248 src/modules/mod_noise/noise.cpp:289
+#: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:290
+#: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:183
+#: src/modules/mod_noise/valuenode_random.cpp:184
 msgid "Random"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:57
+#: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:268
+#: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:293
+#: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:294
+#: src/modules/mod_noise/noise.cpp:303
 msgid "Uses transparency"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:297
+#: src/modules/mod_noise/noise.cpp:306
 msgid "Super Sampling"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:298
+#: src/modules/mod_noise/noise.cpp:307
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:264
+#: src/modules/mod_noise/valuenode_random.cpp:265
 #: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
 #: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
 #: src/synfig/valuenode_reciprocal.cpp:165
@@ -1847,167 +1865,167 @@ msgstr ""
 msgid "Link"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:270
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:274
-#: src/modules/mod_particle/plant.cpp:450
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:276
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:279
+#: src/modules/mod_noise/valuenode_random.cpp:280
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:281
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:286
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:288
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:296
+#: src/modules/mod_noise/valuenode_random.cpp:297
 msgid "Loop Time"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:298
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:69
+#: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:404
+#: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:408
+#: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:409
+#: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:413
+#: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:414
+#: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:419
+#: src/modules/mod_particle/plant.cpp:452
 msgid "Tangential Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:420
+#: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:424
+#: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:425
+#: src/modules/mod_particle/plant.cpp:458
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:429
+#: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:430
+#: src/modules/mod_particle/plant.cpp:463
 msgid "Size of the stem"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:435
+#: src/modules/mod_particle/plant.cpp:468
 msgid "Size As Alpha"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:436
+#: src/modules/mod_particle/plant.cpp:469
 msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:440
+#: src/modules/mod_particle/plant.cpp:473
 msgid "Reverse"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:441
+#: src/modules/mod_particle/plant.cpp:474
 msgid "If enabled, render the plant in the opposite direction"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:445 src/synfig/valuenode.cpp:170
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
 #: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
 msgid "Step"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:446
+#: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:451
+#: src/modules/mod_particle/plant.cpp:484
 msgid "Used to seed the pseudo-random number generator"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:455
+#: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:456
+#: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:460
+#: src/modules/mod_particle/plant.cpp:493
 msgid "Sprouts"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:461
+#: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:465
+#: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:466
+#: src/modules/mod_particle/plant.cpp:499
 msgid ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:470
+#: src/modules/mod_particle/plant.cpp:503
 msgid "Drag"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:471
+#: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:475
+#: src/modules/mod_particle/plant.cpp:508
 msgid "Use Width"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:476
+#: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
@@ -2016,97 +2034,102 @@ msgstr ""
 msgid "%s was not in PPM format"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:87 src/synfig/importer.cpp:87
+#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
 msgid "Importer::open(): Cannot open empty filename"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:101 src/synfig/importer.cpp:101
+#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
 msgid "Importer::open(): Couldn't find extension"
 msgstr ""
 
-#: src/synfig/cairoimporter.cpp:112 src/synfig/importer.cpp:112
+#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
 msgid "Importer::open(): Unknown file type -- "
 msgstr ""
 
-#: src/synfig/canvas.cpp:798 src/synfig/canvas.cpp:863
-#: src/synfig/canvas.cpp:886
+#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
+#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+msgid "No images in list"
+msgstr ""
+
+#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
+#: src/synfig/canvas.cpp:927
 msgid "in line"
 msgstr ""
 
-#: src/synfig/distance.cpp:249
+#: src/synfig/distance.cpp:251
 msgid "Units"
 msgstr ""
 
-#: src/synfig/distance.cpp:250
+#: src/synfig/distance.cpp:252
 msgid "Pixels"
 msgstr ""
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:254
 msgid "Inches"
 msgstr ""
 
-#: src/synfig/distance.cpp:253
+#: src/synfig/distance.cpp:255
 msgid "Meters"
 msgstr ""
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:256
 msgid "Millimeters"
 msgstr ""
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:257
 msgid "Centimeters"
 msgstr ""
 
-#: src/synfig/layer.cpp:565 src/synfig/layer_composite.cpp:128
+#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
 msgid "Unable to create surface target"
 msgstr ""
 
-#: src/synfig/layer.cpp:619
+#: src/synfig/layer.cpp:605
 msgid "Z Depth"
 msgstr ""
 
-#: src/synfig/layer.cpp:621
+#: src/synfig/layer.cpp:607
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:159
+#: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:160
+#: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:164
+#: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:165
+#: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:218
+#: src/synfig/layer_composite.cpp:250
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:221 src/synfig/paramdesc.cpp:62
+#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:222
+#: src/synfig/layer_composite.cpp:254
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:168
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
 #: src/synfig/valuenode_duplicate.cpp:174
 msgid "Duplicate"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:148
+#: src/synfig/layer_duplicate.cpp:151
 msgid "Index"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:149
+#: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
 msgstr ""
 
@@ -2118,156 +2141,156 @@ msgstr ""
 msgid "Motion Blur"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:136
+#: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:137
+#: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:141
+#: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:142
+#: src/synfig/layer_motionblur.cpp:141
 msgid "Multiplies The Number Of Subsamples Rendered"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:146
+#: src/synfig/layer_motionblur.cpp:145
 msgid "Subsampling Type"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:147
+#: src/synfig/layer_motionblur.cpp:146
 msgid "Curve Type For Weighting Subsamples"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:149 src/synfig/valuenode_const.cpp:127
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
 msgid "Constant"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:151
+#: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:155
+#: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:156
+#: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:160
+#: src/synfig/layer_motionblur.cpp:159
 msgid "Subsample End Amount"
 msgstr ""
 
-#: src/synfig/layer_motionblur.cpp:161
+#: src/synfig/layer_motionblur.cpp:160
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:78 src/synfig/layer_pastecanvas.cpp:120
-#: src/synfig/layer_pastecanvas.cpp:121
+#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
+#: src/synfig/layer_pastecanvas.cpp:124
 msgid "Group"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:137
+#: src/synfig/layer_pastecanvas.cpp:140
 msgid "Canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:138
+#: src/synfig/layer_pastecanvas.cpp:141
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:144
 msgid "Zoom"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:142
+#: src/synfig/layer_pastecanvas.cpp:145
 msgid "Size of canvas"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:147
+#: src/synfig/layer_pastecanvas.cpp:152
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:151
+#: src/synfig/layer_pastecanvas.cpp:156
 msgid "Children Lock"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:157
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
+#: src/synfig/layer_pastecanvas.cpp:162
 msgid "Focus Point"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:159
+#: src/synfig/layer_pastecanvas.cpp:165
 msgid "Point to remain fixed when zooming"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:164
+#: src/synfig/layer_pastecanvas.cpp:170
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:165
+#: src/synfig/layer_pastecanvas.cpp:171
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:180
+#: src/synfig/layer_pastecanvas.cpp:186
 msgid "Current Time"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:61
+#: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:187
+#: src/synfig/layer_polygon.cpp:194
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:188
+#: src/synfig/layer_polygon.cpp:195
 msgid "Define the corners of the polygon"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:64
+#: src/synfig/layer_shape.cpp:66
 msgid "Shape"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:65
+#: src/synfig/layer_shape.cpp:67
 msgid "Internal"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1194
+#: src/synfig/layer_shape.cpp:1222
 msgid "Layer_Shape Color"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1203
+#: src/synfig/layer_shape.cpp:1231
 msgid "Antialiasing"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1210
+#: src/synfig/layer_shape.cpp:1238
 msgid "Type of Feather"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1211
+#: src/synfig/layer_shape.cpp:1239
 msgid "Type of feathering to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1220
+#: src/synfig/layer_shape.cpp:1248
 msgid "Winding Style"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_shape.cpp:1249
 msgid "Winding style to use"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1223
+#: src/synfig/layer_shape.cpp:1251
 msgid "Non Zero"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:1224
+#: src/synfig/layer_shape.cpp:1252
 msgid "Even/Odd"
 msgstr ""
 
@@ -2275,406 +2298,406 @@ msgstr ""
 msgid "Solid Color"
 msgstr ""
 
-#: src/synfig/listimporter.cpp:161 src/synfig/listimporter.cpp:162
-msgid "No images in list"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:142
+#: src/synfig/loadcanvas.cpp:143
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:185
+#: src/synfig/loadcanvas.cpp:186
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:191
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:205
+#: src/synfig/loadcanvas.cpp:206
 msgid "Too many warnings"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:236
+#: src/synfig/loadcanvas.cpp:237
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:469
-#: src/synfig/loadcanvas.cpp:1118
+#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
+#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr ""
 
 #: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:473
-#: src/synfig/loadcanvas.cpp:1122
+#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
+#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:484 src/synfig/loadcanvas.cpp:1144
+#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
+#: src/synfig/loadcanvas.cpp:1200
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:508
+#: src/synfig/loadcanvas.cpp:533
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1284
+#: src/synfig/loadcanvas.cpp:1353
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1301
+#: src/synfig/loadcanvas.cpp:1375
 msgid "<waypoint> is missing attribute \"time\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1314
+#: src/synfig/loadcanvas.cpp:1388
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1330
+#: src/synfig/loadcanvas.cpp:1404
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1336 src/synfig/loadcanvas.cpp:1348
+#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
 #, c-format
 msgid "<%s> is missing its data"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1365
+#: src/synfig/loadcanvas.cpp:1439
 msgid "Bad data for <waypoint>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1380
+#: src/synfig/loadcanvas.cpp:1455
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1424 src/synfig/loadcanvas.cpp:1443
-#, c-format
-msgid "\"%s\" not a valid value for attribute \"%s\" in <%s>"
-msgstr ""
-
-#: src/synfig/loadcanvas.cpp:1504
+#: src/synfig/loadcanvas.cpp:1556
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1512
+#: src/synfig/loadcanvas.cpp:1565
 #, c-format
 msgid "Bad type in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1522
+#: src/synfig/loadcanvas.cpp:1577
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1531
+#: src/synfig/loadcanvas.cpp:1587
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1557 src/synfig/loadcanvas.cpp:1628
+#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1570
+#: src/synfig/loadcanvas.cpp:1625
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1579
+#: src/synfig/loadcanvas.cpp:1634
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1603
+#: src/synfig/loadcanvas.cpp:1658
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1643
+#: src/synfig/loadcanvas.cpp:1698
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1652
+#: src/synfig/loadcanvas.cpp:1707
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1659
+#: src/synfig/loadcanvas.cpp:1714
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1677
+#: src/synfig/loadcanvas.cpp:1732
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1747
+#: src/synfig/loadcanvas.cpp:1811
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1841
-msgid "Unable to create <dynamic_list>"
+#: src/synfig/loadcanvas.cpp:1861
+msgid "Unable to create <list>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1993
+#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2038
+#: src/synfig/loadcanvas.cpp:1998
+msgid "Unable to create <dynamic_list>"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2220
 #, c-format
 msgid "Bad data in <%s>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2076
+#: src/synfig/loadcanvas.cpp:2283
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2097
+#: src/synfig/loadcanvas.cpp:2304
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2102
+#: src/synfig/loadcanvas.cpp:2310
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2107
+#: src/synfig/loadcanvas.cpp:2316
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2142
+#: src/synfig/loadcanvas.cpp:2373
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2161
+#: src/synfig/loadcanvas.cpp:2392
 msgid "Installed layer version is smaller than layer version in file"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2181
+#: src/synfig/loadcanvas.cpp:2415
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2184
+#: src/synfig/loadcanvas.cpp:2418
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2192
+#: src/synfig/loadcanvas.cpp:2426
 msgid "Missing \"name\" attribute for <param>."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2209
+#: src/synfig/loadcanvas.cpp:2443
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2214
+#: src/synfig/loadcanvas.cpp:2448
 msgid "Empty use=\"\" value in <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2454
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2222
+#: src/synfig/loadcanvas.cpp:2456
 msgid "Layer rejected canvas link"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2244
+#: src/synfig/loadcanvas.cpp:2480
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2260
+#: src/synfig/loadcanvas.cpp:2496
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2272 src/synfig/loadcanvas.cpp:2292
+#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
 msgid "Bad data for <param>"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2280
+#: src/synfig/loadcanvas.cpp:2516
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2303
+#: src/synfig/loadcanvas.cpp:2539
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2376 src/synfig/loadcanvas.cpp:2384
+#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
 msgid "Canvas with width or height less than one is not allowed"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2470
+#: src/synfig/loadcanvas.cpp:2710
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2478
+#: src/synfig/loadcanvas.cpp:2717
+msgid "Inline canvas cannot have a <bones> section"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2725
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2490
+#: src/synfig/loadcanvas.cpp:2737
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2498
+#: src/synfig/loadcanvas.cpp:2745
 msgid "<meta> must have a name"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2504
+#: src/synfig/loadcanvas.cpp:2751
 msgid "<meta> must have content"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:2763
 msgid "blank \"name\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2531
+#: src/synfig/loadcanvas.cpp:2778
 msgid "blank \"desc\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2546
+#: src/synfig/loadcanvas.cpp:2793
 msgid "blank \"author\" entity"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2578
+#: src/synfig/loadcanvas.cpp:2828
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580 src/synfig/valuenode.cpp:353
+#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
 msgid "ValueNode"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2580
+#: src/synfig/loadcanvas.cpp:2830
 msgid "ValueNodes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2660 src/synfig/loadcanvas.cpp:2716
+#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
 msgid "Can't open file"
 msgstr ""
 
-#: src/synfig/main.cpp:102
+#: src/synfig/main.cpp:118
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:107
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:112
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:117
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:122
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr ""
 
-#: src/synfig/main.cpp:184
+#: src/synfig/main.cpp:207
 msgid "Starting Subsystem \"Modules\""
 msgstr ""
 
-#: src/synfig/main.cpp:186
+#: src/synfig/main.cpp:209
 msgid "Unable to initialize subsystem \"Module\""
 msgstr ""
 
-#: src/synfig/main.cpp:188
+#: src/synfig/main.cpp:211
 msgid "Starting Subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:192
+#: src/synfig/main.cpp:215
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr ""
 
-#: src/synfig/main.cpp:195
+#: src/synfig/main.cpp:218
 msgid "Starting Subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:200
+#: src/synfig/main.cpp:223
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr ""
 
-#: src/synfig/main.cpp:203
+#: src/synfig/main.cpp:226
 msgid "Starting Subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:209
+#: src/synfig/main.cpp:232
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:212
+#: src/synfig/main.cpp:235
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:219
+#: src/synfig/main.cpp:242
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:222
+#: src/synfig/main.cpp:245
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:230
+#: src/synfig/main.cpp:253
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr ""
 
-#: src/synfig/main.cpp:267 src/synfig/main.cpp:268
+#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
 #, c-format
 msgid "Loading modules from %s"
 msgstr ""
 
-#: src/synfig/main.cpp:279
+#: src/synfig/main.cpp:302
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr ""
 
-#: src/synfig/main.cpp:293 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
 msgid "DONE"
 msgstr ""
 
-#: src/synfig/main.cpp:360 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
 msgid "error"
 msgstr ""
 
-#: src/synfig/main.cpp:375 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
 msgid "warning"
 msgstr ""
 
-#: src/synfig/main.cpp:390
+#: src/synfig/main.cpp:413
 msgid "info"
 msgstr ""
 
@@ -2749,145 +2772,145 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:64 src/synfig/valuenode.cpp:140
-#: src/synfig/valuenode_composite.cpp:437
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
+#: src/synfig/valuenode_composite.cpp:447
 msgid "Composite"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:65
+#: src/synfig/paramdesc.cpp:69
 msgid "Straight"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:66
+#: src/synfig/paramdesc.cpp:70
 msgid "Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:67
+#: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68
+#: src/synfig/paramdesc.cpp:72
 msgid "Behind"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:69
+#: src/synfig/paramdesc.cpp:73
 msgid "Screen"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:70
+#: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:71
+#: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:72
+#: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:73
+#: src/synfig/paramdesc.cpp:77
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:74 src/synfig/valuenode.cpp:157
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
 #: src/synfig/valuenode_add.cpp:190
 msgid "Add"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:75 src/synfig/valuenode.cpp:147
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
 #: src/synfig/valuenode_subtract.cpp:194
 msgid "Subtract"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:76
+#: src/synfig/paramdesc.cpp:80
 msgid "Difference"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:77
+#: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78
+#: src/synfig/paramdesc.cpp:82
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:80 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
 msgid "Hue"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:81 src/synfig/valuenode_radialcomposite.cpp:260
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
 #: src/synfig/valuenode_radialcomposite.cpp:266
 msgid "Saturation"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:82
+#: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:83
+#: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84
+#: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85
+#: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
 msgstr ""
 
-#: src/synfig/render.cpp:246 src/synfig/render.cpp:247
-#: src/synfig/render.cpp:301 src/synfig/render.cpp:302
-#: src/synfig/render.cpp:536 src/synfig/render.cpp:537
-#: src/synfig/render.cpp:563 src/synfig/render.cpp:564
+#: src/synfig/render.cpp:248 src/synfig/render.cpp:249
+#: src/synfig/render.cpp:303 src/synfig/render.cpp:304
+#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
+#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
 msgid "Target panic"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:290
+#: src/synfig/savecanvas.cpp:359
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr ""
 
-#: src/synfig/savecanvas.cpp:543
+#: src/synfig/savecanvas.cpp:674 src/synfig/savecanvas.cpp:699
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:185
+#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
 #: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:281
 msgid "Target initialization failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:146
+#: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:155 src/synfig/target_scanline.cpp:258
-#: src/synfig/target_scanline.cpp:405
+#: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:260
+#: src/synfig/target_scanline.cpp:407
 msgid "Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:162
+#: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:169 src/synfig/target_cairo_tile.cpp:248
-#: src/synfig/target_scanline.cpp:418 src/synfig/target_tile.cpp:396
+#: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
+#: src/synfig/target_scanline.cpp:420 src/synfig/target_tile.cpp:398
 msgid "Caught string :"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:174 src/synfig/target_cairo_tile.cpp:253
-#: src/synfig/target_scanline.cpp:423 src/synfig/target_tile.cpp:401
+#: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
+#: src/synfig/target_scanline.cpp:425 src/synfig/target_tile.cpp:403
 msgid "Ran out of memory (Probably a bug)"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:179 src/synfig/target_cairo_tile.cpp:258
-#: src/synfig/target_scanline.cpp:428 src/synfig/target_tile.cpp:406
+#: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
+#: src/synfig/target_scanline.cpp:430 src/synfig/target_tile.cpp:408
 msgid "Caught unknown error, rethrowing..."
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:190
+#: src/synfig/target_cairo.cpp:201
 msgid "Cairo Surface bad status"
 msgstr ""
 
@@ -2895,24 +2918,24 @@ msgstr ""
 msgid "Bad Tile Size"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:142 src/synfig/target_cairo_tile.cpp:240
-#: src/synfig/target_scanline.cpp:203 src/synfig/target_scanline.cpp:249
-#: src/synfig/target_scanline.cpp:348 src/synfig/target_scanline.cpp:396
+#: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
+#: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:251
+#: src/synfig/target_scanline.cpp:350 src/synfig/target_scanline.cpp:398
 #: src/synfig/target_tile.cpp:225
 msgid "Accelerated Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:150
+#: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:156 src/synfig/target_tile.cpp:179
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:179
 #: src/synfig/target_tile.cpp:245
 msgid "add_tile():Unable to put surface on target"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:211
+#: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
 msgstr ""
 
@@ -2936,277 +2959,317 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:276 src/synfig/value.cpp:308 src/synfig/value.cpp:360
+#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
 msgid "bool"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:277 src/synfig/value.cpp:310 src/synfig/value.cpp:358
+#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
 msgid "integer"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:278 src/synfig/value.cpp:312
+#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
 msgid "angle"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:279 src/synfig/value.cpp:314 src/synfig/value.cpp:352
+#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
 msgid "time"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:280 src/synfig/value.cpp:316 src/synfig/value.cpp:355
+#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
 msgid "real"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:281 src/synfig/value.cpp:318
+#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
 msgid "vector"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:282 src/synfig/value.cpp:320
+#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
 msgid "color"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:283 src/synfig/value.cpp:322
+#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
 msgid "segment"
 msgstr ""
 
-#: src/synfig/value.cpp:284
+#: src/synfig/value.cpp:378
 msgid "bline_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:285 src/synfig/value.cpp:326
+#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
+msgid "matrix"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
+msgid "bone_weight_pair"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
 msgid "width_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:286 src/synfig/value.cpp:328
+#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
 msgid "dash_item"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:287 src/synfig/value.cpp:330
+#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
 msgid "list"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:288 src/synfig/value.cpp:332
+#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
 msgid "canvas"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:289 src/synfig/value.cpp:334
+#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
 msgid "string"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:290 src/synfig/value.cpp:336
+#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
 msgid "gradient"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:291 src/synfig/value.cpp:338
+#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
+msgid "bone_object"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
+msgid "bone_valuenode"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
 msgid "nil"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:324
+#: src/synfig/value.cpp:422
 msgid "spline_point"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:141 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
 msgid "Radial Composite"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:142 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:144 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:146 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_dynamiclist.cpp:755
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
 msgid "Dynamic List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
 msgid "Timed Swap"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
 msgid "Range"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
 #: src/synfig/valuenode_switch.cpp:163
 msgid "Switch"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:164
+#: src/synfig/valuenode.cpp:170
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165
+#: src/synfig/valuenode.cpp:171
 msgid "Reverse Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
 msgid "Integer"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
 msgid "Vector Angle"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
 msgid "Vector Length"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
 msgid "Vector X"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:176 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
 msgid "Vector Y"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:177
+#: src/synfig/valuenode.cpp:183
 msgid "Gradient Color"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:178
+#: src/synfig/valuenode.cpp:184
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
 msgid "Time String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_real.cpp:161
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
 #: src/synfig/valuenode_realstring.cpp:175
 msgid "Real"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
 msgid "Real String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
 msgid "Joined List"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:189
 msgid "Angle String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:190
 msgid "Int String"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:185
+#: src/synfig/valuenode.cpp:191
 msgid "Logarithm"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:187
+#: src/synfig/valuenode.cpp:192
 msgid "Greyed"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195
 msgid "Not"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196
 msgid "And"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197
 msgid "Or"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:199
+msgid "Bone Influence"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:200
+msgid "Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:201
+msgid "Root Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:202
+msgid "Static List"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:203
+msgid "Bone Weight Pair"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:206
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:233
+#: src/synfig/valuenode.cpp:241
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:513
+#: src/synfig/valuenode.cpp:540
 msgid "Placeholder"
 msgstr ""
 
-#: src/synfig/valuenode.h:61
+#: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr ""
@@ -3273,32 +3336,32 @@ msgstr ""
 msgid "Second operand of the AND operation"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:355 src/synfig/valuenode_animated.cpp:379
-#: src/synfig/valuenode_animated.cpp:703 src/synfig/valuenode_animated.cpp:721
-#: src/synfig/valuenode_animated.cpp:801 src/synfig/valuenode_animated.cpp:820
+#: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
+#: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
+#: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1134
+#: src/synfig/valuenode_animated.cpp:1173
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:1169
+#: src/synfig/valuenode_animated.cpp:1208
 msgid "Animated"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:977 src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
 #: src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:980 src/synfig/valuenode_dynamiclist.cpp:664
+#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
 #: src/synfig/valuenode_wplist.cpp:339
 msgid "No entries in ret_list"
 msgstr ""
 
-#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_bline.cpp:1023
+#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
 #, c-format
 msgid "Vertex %03d"
 msgstr ""
@@ -3318,7 +3381,7 @@ msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:584
 #: src/synfig/valuenode_gradientrotate.cpp:169
 #: src/synfig/valuenode_linear.cpp:213
 msgid "Offset"
@@ -3372,190 +3435,186 @@ msgstr ""
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:219
+#: src/synfig/valuenode_composite.cpp:229
 msgid "Bad type for composite"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:464
+#: src/synfig/valuenode_composite.cpp:474
 msgid "Red"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:465
+#: src/synfig/valuenode_composite.cpp:475
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:468
+#: src/synfig/valuenode_composite.cpp:478
 msgid "Green"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:469
+#: src/synfig/valuenode_composite.cpp:479
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:472
+#: src/synfig/valuenode_composite.cpp:482
 msgid "Blue"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:473
+#: src/synfig/valuenode_composite.cpp:483
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:476
+#: src/synfig/valuenode_composite.cpp:486
 msgid "Alpha"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:477
+#: src/synfig/valuenode_composite.cpp:487
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:492
 msgid "Vertex 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:493
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
-#: src/synfig/valuenode_composite.cpp:526
+#: src/synfig/valuenode_composite.cpp:496
+#: src/synfig/valuenode_composite.cpp:536
 msgid "Tangent 1"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:497
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:490
+#: src/synfig/valuenode_composite.cpp:500
 msgid "Vertex 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:491
+#: src/synfig/valuenode_composite.cpp:501
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:494
-#: src/synfig/valuenode_composite.cpp:530
+#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:540
 msgid "Tangent 2"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:495
+#: src/synfig/valuenode_composite.cpp:505
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:510
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:511
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:514
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:515
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:520
 msgid "Vertex"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:521
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:525
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:519
+#: src/synfig/valuenode_composite.cpp:529
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:522
+#: src/synfig/valuenode_composite.cpp:532
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:523
+#: src/synfig/valuenode_composite.cpp:533
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:527
+#: src/synfig/valuenode_composite.cpp:537
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:531
+#: src/synfig/valuenode_composite.cpp:541
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:547
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:551
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:544
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_composite.cpp:554
+#: src/synfig/valuenode_composite.cpp:594
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:545
 #: src/synfig/valuenode_composite.cpp:555
+#: src/synfig/valuenode_composite.cpp:565
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
 #: src/synfig/valuenode_composite.cpp:557
+#: src/synfig/valuenode_composite.cpp:567
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:593
+#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:603
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:574
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:575
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:578
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:579
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:585
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:589
 #: src/synfig/valuenode_timedswap.cpp:260
 msgid "Length"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:580
+#: src/synfig/valuenode_composite.cpp:590
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:595
+#: src/synfig/valuenode_composite.cpp:604
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_const.cpp:127
-msgid "Static"
-msgstr ""
-
 #: src/synfig/valuenode_compare.cpp:168
 msgid "The left side of the comparison"
 msgstr ""
@@ -3620,12 +3679,12 @@ msgstr ""
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:655
+#: src/synfig/valuenode_dynamiclist.cpp:661
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:703
-#: src/synfig/valuenode_dynamiclist.cpp:957
+#: src/synfig/valuenode_dynamiclist.cpp:709
+#: src/synfig/valuenode_dynamiclist.cpp:964
 #, c-format
 msgid "Item %03d"
 msgstr ""
@@ -3949,7 +4008,7 @@ msgid "Intersection"
 msgstr ""
 
 #: src/synfig/valuenode_step.cpp:213
-msgid "Value that define whether the step is centerd on the value [0,1]"
+msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
@@ -4082,195 +4141,195 @@ msgstr ""
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:133
+#: src/tool/main.cpp:140
 msgid "FATAL: Synfig Version Mismatch"
 msgstr ""
 
-#: src/tool/main.cpp:169
+#: src/tool/main.cpp:176
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:171
+#: src/tool/main.cpp:178
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:172
+#: src/tool/main.cpp:179
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:173
+#: src/tool/main.cpp:180
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:174
+#: src/tool/main.cpp:181
 msgid "Set the diagonal size of image window (Span)"
 msgstr ""
 
-#: src/tool/main.cpp:175
+#: src/tool/main.cpp:182
 msgid "Set antialias amount for parametric renderer."
 msgstr ""
 
-#: src/tool/main.cpp:176
+#: src/tool/main.cpp:183
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:184
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:178
+#: src/tool/main.cpp:185
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:186
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:187
 msgid "Specify output filename"
 msgstr ""
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:188
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:189
 msgid "Render the canvas with the given id instead of the root."
 msgstr ""
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:190
 msgid "Set the frame rate"
 msgstr ""
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:191
 msgid "Render a single frame at <seconds>"
 msgstr ""
 
-#: src/tool/main.cpp:185 src/tool/main.cpp:186
+#: src/tool/main.cpp:192 src/tool/main.cpp:193
 msgid "Set the starting time"
 msgstr ""
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:194
 msgid "Set the ending time"
 msgstr ""
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:195
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:196
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:197
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:193
+#: src/tool/main.cpp:200
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:202
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:203
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr ""
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:204
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:200
+#: src/tool/main.cpp:207
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:202
+#: src/tool/main.cpp:209
 msgid "Append layers in <filename> to composition"
 msgstr ""
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:210
 msgid "Print out specified details of the root canvas"
 msgstr ""
 
-#: src/tool/main.cpp:204 src/tool/main.cpp:230
+#: src/tool/main.cpp:211 src/tool/main.cpp:237
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:207
+#: src/tool/main.cpp:214
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:216
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:210
+#: src/tool/main.cpp:217
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:213
+#: src/tool/main.cpp:220
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:215
+#: src/tool/main.cpp:222
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:223
 msgid "Print out the list of available importers"
 msgstr ""
 
-#: src/tool/main.cpp:217
+#: src/tool/main.cpp:224
 msgid "Print out misc build information"
 msgstr ""
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:225
 msgid "Print out the list of available layers"
 msgstr ""
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:226
 msgid "Print out layer's description, parameter info, etc."
 msgstr ""
 
-#: src/tool/main.cpp:220
+#: src/tool/main.cpp:227
 msgid "Print out license information"
 msgstr ""
 
-#: src/tool/main.cpp:221
+#: src/tool/main.cpp:228
 msgid "Print out the list of loaded modules"
 msgstr ""
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:229
 msgid "Print out the list of available targets"
 msgstr ""
 
-#: src/tool/main.cpp:223
+#: src/tool/main.cpp:230
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:231
 msgid "Print out the list of available ValueNodes"
 msgstr ""
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:232
 msgid "Print out version information"
 msgstr ""
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:241
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:236
+#: src/tool/main.cpp:243
 msgid "Test GUID generation"
 msgstr ""
 
-#: src/tool/main.cpp:237
+#: src/tool/main.cpp:244
 msgid "Test signal implementation"
 msgstr ""
 
@@ -4334,157 +4393,157 @@ msgstr ""
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:113
+#: src/tool/optionsprocessor.cpp:114
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:115
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:131
+#: src/tool/optionsprocessor.cpp:132
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:146
+#: src/tool/optionsprocessor.cpp:147
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:224
+#: src/tool/optionsprocessor.cpp:225
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:226
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:227
+#: src/tool/optionsprocessor.cpp:228
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:232
+#: src/tool/optionsprocessor.cpp:233
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:234
+#: src/tool/optionsprocessor.cpp:235
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:236
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:239
+#: src/tool/optionsprocessor.cpp:240
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:243
+#: src/tool/optionsprocessor.cpp:244
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:309
+#: src/tool/optionsprocessor.cpp:310
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:316
+#: src/tool/optionsprocessor.cpp:317
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:324
+#: src/tool/optionsprocessor.cpp:325
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:334
+#: src/tool/optionsprocessor.cpp:335
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:343
+#: src/tool/optionsprocessor.cpp:344
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:352
+#: src/tool/optionsprocessor.cpp:353
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:379
+#: src/tool/optionsprocessor.cpp:380
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:385
+#: src/tool/optionsprocessor.cpp:386
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:400
+#: src/tool/optionsprocessor.cpp:401
 #, c-format
 msgid "Resolution set to %dx%d"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:417
+#: src/tool/optionsprocessor.cpp:418
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:437
+#: src/tool/optionsprocessor.cpp:438
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:440
+#: src/tool/optionsprocessor.cpp:441
 #, c-format
 msgid "Target video codec set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:446
+#: src/tool/optionsprocessor.cpp:447
 #, c-format
 msgid "Target bitrate set to %dk"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:452
+#: src/tool/optionsprocessor.cpp:453
 #, c-format
 msgid "Output file sequence separator set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:487
+#: src/tool/optionsprocessor.cpp:488
 #, c-format
 msgid "Unable to load '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:494
+#: src/tool/optionsprocessor.cpp:495
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:499
+#: src/tool/optionsprocessor.cpp:500
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:513
+#: src/tool/optionsprocessor.cpp:514
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:532
+#: src/tool/optionsprocessor.cpp:533
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:539
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:557
+#: src/tool/optionsprocessor.cpp:558
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:571
+#: src/tool/optionsprocessor.cpp:572
 msgid "Appended contents of "
 msgstr ""
 
@@ -4598,4 +4657,4 @@ msgstr ""
 
 #: src/tool/renderprogress.h:136
 msgid "s "
-msgstr ""
+msgstr "s "
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index e7d4304..35e6c10 100644
Binary files a/po/zh_CN.gmo and b/po/zh_CN.gmo differ
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 0671e44..4efa08e 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -1,98 +1,98 @@
-# Translation of zh_CN to Chinese
-# Chinese translations for Synfig Core package
-# Copyright (C) 2012 Synfig Contributors
+# Translation file for Synfig Core package.
+# Copyright (C) 2013 Synfig Contributors
 # This file is distributed under the same license as the Synfig Core package.
 #
 # Translators:
 # morevnaproject <ksee.zelgadis at gmail.com>, 2011
-# Yu Chen <jcomee at gmail.com>, 2010, 2011
+# Yu Chen <jcomee at gmail.com>, 2010-2011
 msgid ""
 msgstr ""
 "Project-Id-Version: Synfig\n"
 "Report-Msgid-Bugs-To: http://www.synfig.org/issues/thebuggenie/synfig\n"
-"POT-Creation-Date: 2013-05-09 18:34+0200\n"
-"PO-Revision-Date: 2013-05-02 12:39+0000\n"
-"Last-Translator: genete <genetita at gmail.com>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
+"POT-Creation-Date: 2013-10-25 17:57+0700\n"
+"PO-Revision-Date: 2013-10-11 06:53+0000\n"
+"Last-Translator: morevnaproject <ksee.zelgadis at gmail.com>\n"
+"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/synfig/"
+"language/zh_CN/)\n"
 "Language: zh_CN\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-#: src/modules/mod_example/filledrect.cpp:58
+#: src/modules/mod_example/filledrect.cpp:59
 msgid "Filled Rectangle"
 msgstr "填充矩形"
 
-#: src/modules/mod_example/filledrect.cpp:59
+#: src/modules/mod_example/filledrect.cpp:60
 #: src/modules/mod_example/metaballs.cpp:58
 #: src/modules/mod_example/simplecircle.cpp:58
 msgid "Example"
 msgstr "示例"
 
-#: src/modules/mod_example/filledrect.cpp:120
+#: src/modules/mod_example/filledrect.cpp:131
 #: src/modules/mod_example/simplecircle.cpp:107
-#: src/modules/lyr_freetype/lyr_freetype.cpp:523
-#: src/modules/lyr_std/shade.cpp:564
-#: src/modules/mod_geometry/checkerboard.cpp:122
-#: src/modules/mod_geometry/circle.cpp:128
-#: src/modules/mod_geometry/rectangle.cpp:125 src/synfig/layer_shape.cpp:1193
-#: src/synfig/layer_solidcolor.cpp:102 src/synfig/paramdesc.cpp:79
+#: src/modules/lyr_freetype/lyr_freetype.cpp:575
+#: src/modules/lyr_std/shade.cpp:620
+#: src/modules/mod_geometry/checkerboard.cpp:146
+#: src/modules/mod_geometry/circle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:138 src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_solidcolor.cpp:114 src/synfig/paramdesc.cpp:83
 msgid "Color"
 msgstr "颜色"
 
-#: src/modules/mod_example/filledrect.cpp:121
+#: src/modules/mod_example/filledrect.cpp:132
 #: src/modules/mod_example/simplecircle.cpp:108
-#: src/modules/mod_geometry/circle.cpp:129
-#: src/modules/mod_geometry/rectangle.cpp:126
-#: src/synfig/layer_solidcolor.cpp:103
+#: src/modules/mod_geometry/circle.cpp:147
+#: src/modules/mod_geometry/rectangle.cpp:139
+#: src/synfig/layer_solidcolor.cpp:115
 msgid "Fill color of the layer"
 msgstr "填充层的颜色"
 
-#: src/modules/mod_example/filledrect.cpp:125
-#: src/modules/mod_geometry/rectangle.cpp:130
-#: src/modules/mod_gradient/lineargradient.cpp:190
+#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_geometry/rectangle.cpp:143
+#: src/modules/mod_gradient/lineargradient.cpp:185
 msgid "Point 1"
 msgstr "点1"
 
-#: src/modules/mod_example/filledrect.cpp:126
-#: src/modules/mod_geometry/rectangle.cpp:132
+#: src/modules/mod_example/filledrect.cpp:137
+#: src/modules/mod_geometry/rectangle.cpp:145
 msgid "First corner of the rectangle"
 msgstr "矩形的第一个角"
 
-#: src/modules/mod_example/filledrect.cpp:131
-#: src/modules/mod_geometry/rectangle.cpp:136
-#: src/modules/mod_gradient/lineargradient.cpp:195
+#: src/modules/mod_example/filledrect.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:149
+#: src/modules/mod_gradient/lineargradient.cpp:190
 msgid "Point 2"
 msgstr "点2"
 
-#: src/modules/mod_example/filledrect.cpp:132
-#: src/modules/mod_geometry/rectangle.cpp:137
+#: src/modules/mod_example/filledrect.cpp:143
+#: src/modules/mod_geometry/rectangle.cpp:150
 msgid "Second corner of the rectangle"
 msgstr "矩形的第二个角"
 
-#: src/modules/mod_example/filledrect.cpp:136
+#: src/modules/mod_example/filledrect.cpp:147
 msgid "Feather X"
 msgstr "羽化 X"
 
-#: src/modules/mod_example/filledrect.cpp:140
+#: src/modules/mod_example/filledrect.cpp:152
 msgid "Feather Y"
 msgstr "羽化 Y"
 
-#: src/modules/mod_example/filledrect.cpp:144 src/modules/lyr_std/bevel.cpp:68
-#: src/modules/mod_geometry/advanced_outline.cpp:1161
+#: src/modules/mod_example/filledrect.cpp:157 src/modules/lyr_std/bevel.cpp:69
+#: src/modules/mod_geometry/advanced_outline.cpp:1172
 msgid "Bevel"
 msgstr "倒角"
 
-#: src/modules/mod_example/filledrect.cpp:145
+#: src/modules/mod_example/filledrect.cpp:158
 msgid "Use Bevel for the corners"
 msgstr "对拐角采用倒角"
 
-#: src/modules/mod_example/filledrect.cpp:149
+#: src/modules/mod_example/filledrect.cpp:163
 msgid "Keep Bevel Circular"
 msgstr "保持倒角圆状"
 
-#: src/modules/mod_example/filledrect.cpp:150
+#: src/modules/mod_example/filledrect.cpp:164
 msgid "When checked the bevel is circular"
 msgstr "选上后倒角是圆状的"
 
@@ -100,39 +100,39 @@ msgstr "选上后倒角是圆状的"
 msgid "Metaballs"
 msgstr "变形球"
 
-#: src/modules/mod_example/metaballs.cpp:135
+#: src/modules/mod_example/metaballs.cpp:129
 #: src/modules/mod_gradient/conicalgradient.cpp:109
-#: src/modules/mod_gradient/curvegradient.cpp:552
-#: src/modules/mod_gradient/lineargradient.cpp:199
+#: src/modules/mod_gradient/curvegradient.cpp:565
+#: src/modules/mod_gradient/lineargradient.cpp:194
 #: src/modules/mod_gradient/radialgradient.cpp:113
-#: src/modules/mod_gradient/spiralgradient.cpp:112
-#: src/modules/mod_noise/noise.cpp:259 src/modules/mod_particle/plant.cpp:403
+#: src/modules/mod_gradient/spiralgradient.cpp:113
+#: src/modules/mod_noise/noise.cpp:268 src/modules/mod_particle/plant.cpp:436
 #: src/synfig/valuenode_gradientrotate.cpp:164
 #: src/synfig/valuenode_repeat_gradient.cpp:203
 msgid "Gradient"
 msgstr "渐变"
 
-#: src/modules/mod_example/metaballs.cpp:139
+#: src/modules/mod_example/metaballs.cpp:133
 msgid "Balls"
 msgstr "球"
 
-#: src/modules/mod_example/metaballs.cpp:143
+#: src/modules/mod_example/metaballs.cpp:137
 msgid "Radii"
 msgstr "半径"
 
-#: src/modules/mod_example/metaballs.cpp:147
+#: src/modules/mod_example/metaballs.cpp:141
 msgid "Weights"
 msgstr "权重"
 
-#: src/modules/mod_example/metaballs.cpp:151
+#: src/modules/mod_example/metaballs.cpp:145
 msgid "Gradient Left"
 msgstr "渐变左边"
 
-#: src/modules/mod_example/metaballs.cpp:155
+#: src/modules/mod_example/metaballs.cpp:149
 msgid "Gradient Right"
 msgstr "渐变右边"
 
-#: src/modules/mod_example/metaballs.cpp:159
+#: src/modules/mod_example/metaballs.cpp:153
 msgid "Positive Only"
 msgstr "仅正向"
 
@@ -144,21 +144,21 @@ msgstr "简单圆形"
 #: src/modules/lyr_std/stretch.cpp:110 src/modules/lyr_std/twirl.cpp:112
 #: src/modules/mod_gradient/conicalgradient.cpp:114
 #: src/modules/mod_gradient/radialgradient.cpp:118
-#: src/modules/mod_gradient/spiralgradient.cpp:117
+#: src/modules/mod_gradient/spiralgradient.cpp:118
 msgid "Center"
 msgstr "中心"
 
 #: src/modules/mod_example/simplecircle.cpp:113
-#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:144
+#: src/modules/lyr_std/twirl.cpp:113 src/modules/mod_geometry/circle.cpp:162
 msgid "Center of the circle"
 msgstr "圆心"
 
 #: src/modules/mod_example/simplecircle.cpp:117
-#: src/modules/lyr_std/sphere_distort.cpp:151
-#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:132
+#: src/modules/lyr_std/sphere_distort.cpp:146
+#: src/modules/lyr_std/twirl.cpp:117 src/modules/mod_geometry/circle.cpp:150
 #: src/modules/mod_gradient/radialgradient.cpp:123
-#: src/modules/mod_gradient/spiralgradient.cpp:122
-#: src/modules/mod_noise/valuenode_random.cpp:269
+#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_noise/valuenode_random.cpp:270
 #: src/synfig/valuenode_radialcomposite.cpp:272
 msgid "Radius"
 msgstr "半径"
@@ -166,20 +166,20 @@ msgstr "半径"
 #: src/modules/mod_example/simplecircle.cpp:118
 #: src/modules/lyr_std/twirl.cpp:118
 #: src/modules/mod_gradient/radialgradient.cpp:124
-#: src/modules/mod_gradient/spiralgradient.cpp:123
+#: src/modules/mod_gradient/spiralgradient.cpp:124
 msgid "This is the radius of the circle"
 msgstr "这是圆的半径"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:66
-#: src/modules/lyr_freetype/lyr_freetype.cpp:517
+#: src/modules/lyr_freetype/lyr_freetype.cpp:569
 msgid "Text"
 msgstr "文本"
 
 #: src/modules/lyr_freetype/lyr_freetype.cpp:67
 #: src/modules/lyr_std/import.cpp:60 src/modules/lyr_std/stroboscope.cpp:61
-#: src/modules/lyr_std/supersample.cpp:57 src/modules/lyr_std/timeloop.cpp:60
-#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:70
-#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:79
+#: src/modules/lyr_std/supersample.cpp:58 src/modules/lyr_std/timeloop.cpp:60
+#: src/modules/lyr_std/xorpattern.cpp:56 src/modules/mod_particle/plant.cpp:71
+#: src/synfig/layer_duplicate.cpp:57 src/synfig/layer_pastecanvas.cpp:81
 msgid "Other"
 msgstr "其他"
 
@@ -187,245 +187,245 @@ msgstr "其他"
 msgid "Text Layer"
 msgstr "文本层"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:390
+#: src/modules/lyr_freetype/lyr_freetype.cpp:398
 msgid "unable to initialize"
 msgstr "未能初始化"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:409
+#: src/modules/lyr_freetype/lyr_freetype.cpp:417
 msgid "empty font set"
 msgstr "空字体集"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:518
+#: src/modules/lyr_freetype/lyr_freetype.cpp:570
 msgid "Text to Render"
 msgstr "要渲染的文本"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:524
+#: src/modules/lyr_freetype/lyr_freetype.cpp:576
 msgid "Color of the text"
 msgstr "文本的颜色"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:528
+#: src/modules/lyr_freetype/lyr_freetype.cpp:580
 msgid "Font Family"
 msgstr "字体族"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:533
+#: src/modules/lyr_freetype/lyr_freetype.cpp:585
 msgid "Style"
 msgstr "风格"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:535
-#: src/modules/lyr_freetype/lyr_freetype.cpp:545
+#: src/modules/lyr_freetype/lyr_freetype.cpp:587
+#: src/modules/lyr_freetype/lyr_freetype.cpp:597
 msgid "Normal"
 msgstr "普通"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:536
+#: src/modules/lyr_freetype/lyr_freetype.cpp:588
 msgid "Oblique"
 msgstr "斜的"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:537
+#: src/modules/lyr_freetype/lyr_freetype.cpp:589
 msgid "Italic"
 msgstr "斜体"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:541
+#: src/modules/lyr_freetype/lyr_freetype.cpp:593
 msgid "Weight"
 msgstr "浓淡"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:543
+#: src/modules/lyr_freetype/lyr_freetype.cpp:595
 msgid "Ultralight"
 msgstr "超淡"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:544
+#: src/modules/lyr_freetype/lyr_freetype.cpp:596
 msgid "light"
 msgstr "淡"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:546
+#: src/modules/lyr_freetype/lyr_freetype.cpp:598
 msgid "Bold"
 msgstr "黑体"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:547
+#: src/modules/lyr_freetype/lyr_freetype.cpp:599
 msgid "Ultrabold"
 msgstr "超黑"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:548
+#: src/modules/lyr_freetype/lyr_freetype.cpp:600
 msgid "Heavy"
 msgstr "巨黑"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:551
+#: src/modules/lyr_freetype/lyr_freetype.cpp:603
 msgid "Horizontal Spacing"
 msgstr "字距"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:552
+#: src/modules/lyr_freetype/lyr_freetype.cpp:604
 msgid "Describes how close glyphs are horizontally"
 msgstr "描述水平方向的文字之间的靠近程度"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:556
+#: src/modules/lyr_freetype/lyr_freetype.cpp:608
 msgid "Vertical Spacing"
 msgstr "垂直行距"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:557
+#: src/modules/lyr_freetype/lyr_freetype.cpp:609
 msgid "Describes how close lines of text are vertically"
 msgstr "描述垂直方向的文本行与行之间的靠近程度"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:561
-#: src/modules/lyr_std/shade.cpp:570 src/modules/lyr_std/xorpattern.cpp:129
-#: src/modules/mod_filter/blur.cpp:372
+#: src/modules/lyr_freetype/lyr_freetype.cpp:613
+#: src/modules/lyr_std/shade.cpp:626 src/modules/lyr_std/xorpattern.cpp:133
+#: src/modules/mod_filter/blur.cpp:413
 #: src/modules/mod_filter/radialblur.cpp:115
-#: src/modules/mod_geometry/checkerboard.cpp:130
-#: src/modules/mod_noise/distort.cpp:222 src/modules/mod_noise/noise.cpp:267
+#: src/modules/mod_geometry/checkerboard.cpp:154
+#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:276
 msgid "Size"
 msgstr "大小"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:562
+#: src/modules/lyr_freetype/lyr_freetype.cpp:614
 msgid "Size of the text"
 msgstr "文本的大小"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:569
+#: src/modules/lyr_freetype/lyr_freetype.cpp:621
 msgid "Orientation"
 msgstr "方向"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:570
+#: src/modules/lyr_freetype/lyr_freetype.cpp:622
 msgid "Text Orientation"
 msgstr "文本的方向"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:575
-#: src/modules/lyr_std/insideout.cpp:143 src/modules/lyr_std/rotate.cpp:116
-#: src/modules/lyr_std/shade.cpp:567 src/modules/lyr_std/translate.cpp:100
-#: src/modules/lyr_std/curvewarp.cpp:389
-#: src/modules/lyr_std/xorpattern.cpp:125 src/modules/lyr_std/zoom.cpp:104
+#: src/modules/lyr_freetype/lyr_freetype.cpp:627
+#: src/modules/lyr_std/insideout.cpp:162 src/modules/lyr_std/rotate.cpp:117
+#: src/modules/lyr_std/shade.cpp:623 src/modules/lyr_std/translate.cpp:100
+#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/xorpattern.cpp:129 src/modules/lyr_std/zoom.cpp:106
 #: src/modules/mod_filter/radialblur.cpp:110
-#: src/modules/mod_geometry/checkerboard.cpp:126
-#: src/modules/mod_geometry/circle.cpp:143
-#: src/modules/mod_gradient/curvegradient.cpp:537
-#: src/modules/mod_particle/plant.cpp:398 src/synfig/layer_pastecanvas.cpp:133
-#: src/synfig/layer_shape.cpp:1197 src/synfig/valuenode_composite.cpp:518
+#: src/modules/mod_geometry/checkerboard.cpp:150
+#: src/modules/mod_geometry/circle.cpp:161
+#: src/modules/mod_gradient/curvegradient.cpp:550
+#: src/modules/mod_particle/plant.cpp:431 src/synfig/layer_pastecanvas.cpp:136
+#: src/synfig/layer_shape.cpp:1225 src/synfig/valuenode_composite.cpp:528
 msgid "Origin"
 msgstr "原点"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:576
+#: src/modules/lyr_freetype/lyr_freetype.cpp:628
 msgid "Text Position"
 msgstr "文本的位置"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:580
+#: src/modules/lyr_freetype/lyr_freetype.cpp:632
 msgid "Font"
 msgstr "字体"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:581
+#: src/modules/lyr_freetype/lyr_freetype.cpp:633
 msgid "Filename of the font to use"
 msgstr "要用的字体的文件名"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:588
+#: src/modules/lyr_freetype/lyr_freetype.cpp:640
 msgid "Kerning"
 msgstr "字距微调"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:589
+#: src/modules/lyr_freetype/lyr_freetype.cpp:641
 msgid "Enables/Disables font kerning (If the font supports it)"
 msgstr "打开/关闭字体字距微调(如果该字体支持这个功能)"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:593
+#: src/modules/lyr_freetype/lyr_freetype.cpp:645
 msgid "Sharpen Edges"
 msgstr "锐化边界"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:594
+#: src/modules/lyr_freetype/lyr_freetype.cpp:646
 msgid "Turn this off if you are going to be animating the text"
 msgstr "如果您准备动画文本,请把它关掉"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:597
-#: src/modules/lyr_std/shade.cpp:587 src/modules/mod_geometry/circle.cpp:147
-#: src/synfig/layer_shape.cpp:1200
+#: src/modules/lyr_freetype/lyr_freetype.cpp:649
+#: src/modules/lyr_std/shade.cpp:643 src/modules/mod_geometry/circle.cpp:165
+#: src/synfig/layer_shape.cpp:1228
 msgid "Invert"
 msgstr "反相"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:654
+#: src/modules/lyr_freetype/lyr_freetype.cpp:714
 msgid "No face loaded, no text will be rendered."
 msgstr "没有加载的面,不渲染文本。"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:680
+#: src/modules/lyr_freetype/lyr_freetype.cpp:740
 msgid "Text too small, no text will be rendered."
 msgstr "文本太小,将不做渲染。"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:704
+#: src/modules/lyr_freetype/lyr_freetype.cpp:764
 msgid "Unable to set face size."
 msgstr "未能设置面的大小。"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:747
+#: src/modules/lyr_freetype/lyr_freetype.cpp:807
 msgid "Invalid multibyte sequence - is the locale set?\n"
 msgstr "无效的多字节系列 —— is the locale set?\n"
 
-#: src/modules/lyr_freetype/lyr_freetype.cpp:754
+#: src/modules/lyr_freetype/lyr_freetype.cpp:814
 msgid "Can't parse multibyte character.\n"
 msgstr "不能处理多字节字符。\n"
 
-#: src/modules/lyr_std/bevel.cpp:69 src/modules/lyr_std/shade.cpp:68
+#: src/modules/lyr_std/bevel.cpp:70 src/modules/lyr_std/shade.cpp:69
 msgid "Stylize"
 msgstr "风格化"
 
-#: src/modules/lyr_std/bevel.cpp:570 src/modules/lyr_std/shade.cpp:576
-#: src/modules/mod_filter/blur.cpp:376
-#: src/modules/mod_filter/halftone2.cpp:170
+#: src/modules/lyr_std/bevel.cpp:624 src/modules/lyr_std/shade.cpp:632
+#: src/modules/mod_filter/blur.cpp:417
+#: src/modules/mod_filter/halftone2.cpp:174
 msgid "Type"
 msgstr "类型"
 
-#: src/modules/lyr_std/bevel.cpp:571 src/modules/lyr_std/shade.cpp:577
-#: src/modules/mod_filter/blur.cpp:377
+#: src/modules/lyr_std/bevel.cpp:625 src/modules/lyr_std/shade.cpp:633
+#: src/modules/mod_filter/blur.cpp:418
 msgid "Type of blur to use"
 msgstr "要采用的模糊类型"
 
-#: src/modules/lyr_std/bevel.cpp:573 src/modules/lyr_std/shade.cpp:579
-#: src/modules/mod_filter/blur.cpp:379 src/synfig/layer_shape.cpp:1213
+#: src/modules/lyr_std/bevel.cpp:627 src/modules/lyr_std/shade.cpp:635
+#: src/modules/mod_filter/blur.cpp:420 src/synfig/layer_shape.cpp:1241
 msgid "Box Blur"
 msgstr "盒形模糊"
 
-#: src/modules/lyr_std/bevel.cpp:574 src/modules/lyr_std/shade.cpp:580
-#: src/modules/mod_filter/blur.cpp:380 src/synfig/layer_shape.cpp:1214
+#: src/modules/lyr_std/bevel.cpp:628 src/modules/lyr_std/shade.cpp:636
+#: src/modules/mod_filter/blur.cpp:421 src/synfig/layer_shape.cpp:1242
 msgid "Fast Gaussian Blur"
 msgstr "快速高斯模糊"
 
-#: src/modules/lyr_std/bevel.cpp:575 src/modules/lyr_std/shade.cpp:581
-#: src/modules/mod_filter/blur.cpp:381 src/synfig/layer_shape.cpp:1215
+#: src/modules/lyr_std/bevel.cpp:629 src/modules/lyr_std/shade.cpp:637
+#: src/modules/mod_filter/blur.cpp:422 src/synfig/layer_shape.cpp:1243
 msgid "Cross-Hatch Blur"
 msgstr "交叉影线模糊"
 
-#: src/modules/lyr_std/bevel.cpp:576 src/modules/lyr_std/shade.cpp:582
-#: src/modules/mod_filter/blur.cpp:382 src/synfig/layer_shape.cpp:1216
+#: src/modules/lyr_std/bevel.cpp:630 src/modules/lyr_std/shade.cpp:638
+#: src/modules/mod_filter/blur.cpp:423 src/synfig/layer_shape.cpp:1244
 msgid "Gaussian Blur"
 msgstr "高斯模糊"
 
-#: src/modules/lyr_std/bevel.cpp:577 src/modules/lyr_std/shade.cpp:583
-#: src/modules/mod_filter/blur.cpp:383 src/synfig/layer_shape.cpp:1217
+#: src/modules/lyr_std/bevel.cpp:631 src/modules/lyr_std/shade.cpp:639
+#: src/modules/mod_filter/blur.cpp:424 src/synfig/layer_shape.cpp:1245
 msgid "Disc Blur"
 msgstr "圆盘形模糊"
 
-#: src/modules/lyr_std/bevel.cpp:581
+#: src/modules/lyr_std/bevel.cpp:635
 msgid "Hi-Color"
 msgstr "亮色"
 
-#: src/modules/lyr_std/bevel.cpp:584
+#: src/modules/lyr_std/bevel.cpp:638
 msgid "Lo-Color"
 msgstr "暗色"
 
-#: src/modules/lyr_std/bevel.cpp:587
+#: src/modules/lyr_std/bevel.cpp:641
 msgid "Light Angle"
 msgstr "光线角度"
 
-#: src/modules/lyr_std/bevel.cpp:591
+#: src/modules/lyr_std/bevel.cpp:645
 msgid "Depth of Bevel"
 msgstr "倒角深度"
 
-#: src/modules/lyr_std/bevel.cpp:595
+#: src/modules/lyr_std/bevel.cpp:649
 msgid "Softness"
 msgstr "柔和"
 
-#: src/modules/lyr_std/bevel.cpp:598
+#: src/modules/lyr_std/bevel.cpp:652
 msgid "Use Luma"
 msgstr "使用亮度 (Luma)"
 
-#: src/modules/lyr_std/bevel.cpp:601
+#: src/modules/lyr_std/bevel.cpp:655
 msgid "Solid"
 msgstr "实地"
 
-#: src/modules/lyr_std/booleancurve.cpp:104
+#: src/modules/lyr_std/booleancurve.cpp:107
 msgid "Region Set"
 msgstr "区域集"
 
-#: src/modules/lyr_std/booleancurve.cpp:105
+#: src/modules/lyr_std/booleancurve.cpp:108
 msgid "Set of regions to combine"
 msgstr "要结合的区域集"
 
@@ -433,38 +433,38 @@ msgstr "要结合的区域集"
 msgid "Clamp"
 msgstr "夹子"
 
-#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:56
-#: src/modules/mod_filter/halftone2.cpp:59
-#: src/modules/mod_filter/halftone3.cpp:59
-#: src/modules/mod_filter/lumakey.cpp:59
+#: src/modules/lyr_std/clamp.cpp:56 src/modules/mod_filter/colorcorrect.cpp:57
+#: src/modules/mod_filter/halftone2.cpp:60
+#: src/modules/mod_filter/halftone3.cpp:60
+#: src/modules/mod_filter/lumakey.cpp:60
 msgid "Filters"
 msgstr "滤镜"
 
-#: src/modules/lyr_std/clamp.cpp:158
+#: src/modules/lyr_std/clamp.cpp:162
 msgid "Invert Negative"
 msgstr "反转负相"
 
-#: src/modules/lyr_std/clamp.cpp:162
+#: src/modules/lyr_std/clamp.cpp:166
 msgid "Clamp Ceiling"
 msgstr "夹子上限"
 
-#: src/modules/lyr_std/clamp.cpp:163
+#: src/modules/lyr_std/clamp.cpp:167
 msgid "When checked the Ceiling value is used"
 msgstr "选中后上限值启用"
 
-#: src/modules/lyr_std/clamp.cpp:167
+#: src/modules/lyr_std/clamp.cpp:171
 msgid "Ceiling"
 msgstr "上限"
 
-#: src/modules/lyr_std/clamp.cpp:168
+#: src/modules/lyr_std/clamp.cpp:172
 msgid "Upper boundary of the clamping"
 msgstr ""
 
-#: src/modules/lyr_std/clamp.cpp:172
+#: src/modules/lyr_std/clamp.cpp:176
 msgid "Floor"
 msgstr "下限"
 
-#: src/modules/lyr_std/clamp.cpp:173
+#: src/modules/lyr_std/clamp.cpp:177
 msgid "Lower boundary of the clamping"
 msgstr ""
 
@@ -472,24 +472,24 @@ msgstr ""
 msgid "Import Image"
 msgstr "导入图像"
 
-#: src/modules/lyr_std/import.cpp:151 src/modules/lyr_std/import.cpp:201
+#: src/modules/lyr_std/import.cpp:154 src/modules/lyr_std/import.cpp:206
 #, c-format
 msgid "Filename seems to already be set to \"%s\" (%s)"
 msgstr "文件名好像已经设置为“%s”(%s)"
 
-#: src/modules/lyr_std/import.cpp:283
+#: src/modules/lyr_std/import.cpp:293
 msgid "Filename"
 msgstr "文件名"
 
-#: src/modules/lyr_std/import.cpp:284
+#: src/modules/lyr_std/import.cpp:294
 msgid "File to import"
 msgstr "要输入的文件"
 
-#: src/modules/lyr_std/import.cpp:288 src/synfig/layer_pastecanvas.cpp:146
+#: src/modules/lyr_std/import.cpp:298 src/synfig/layer_pastecanvas.cpp:151
 msgid "Time Offset"
 msgstr "时间偏移"
 
-#: src/modules/lyr_std/import.cpp:289
+#: src/modules/lyr_std/import.cpp:299
 msgid "Time Offset to apply to the imported file"
 msgstr "对导入文件施用的时间偏移"
 
@@ -498,14 +498,14 @@ msgid "Inside Out"
 msgstr "里翻外"
 
 #: src/modules/lyr_std/insideout.cpp:56
-#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:75
 #: src/modules/lyr_std/stretch.cpp:58 src/modules/lyr_std/twirl.cpp:57
-#: src/modules/lyr_std/warp.cpp:57 src/modules/lyr_std/curvewarp.cpp:56
-#: src/modules/mod_noise/distort.cpp:58
+#: src/modules/lyr_std/warp.cpp:58 src/modules/lyr_std/curvewarp.cpp:57
+#: src/modules/mod_noise/distort.cpp:59
 msgid "Distortions"
 msgstr "变形"
 
-#: src/modules/lyr_std/insideout.cpp:144
+#: src/modules/lyr_std/insideout.cpp:163
 msgid "Defines the where the center will be"
 msgstr "定义放置中心的地点"
 
@@ -517,97 +517,97 @@ msgstr "朱丽亚集"
 msgid "Fractals"
 msgstr "分形"
 
-#: src/modules/lyr_std/julia.cpp:309
+#: src/modules/lyr_std/julia.cpp:335
 msgid "Inside Color"
 msgstr "内部颜色"
 
-#: src/modules/lyr_std/julia.cpp:310
+#: src/modules/lyr_std/julia.cpp:336
 msgid "Color of the Set"
 msgstr "集的颜色"
 
-#: src/modules/lyr_std/julia.cpp:313
+#: src/modules/lyr_std/julia.cpp:339
 msgid "Outside Color"
 msgstr "外部颜色"
 
-#: src/modules/lyr_std/julia.cpp:314
+#: src/modules/lyr_std/julia.cpp:340
 msgid "Color outside the Set"
 msgstr "集外的颜色"
 
-#: src/modules/lyr_std/julia.cpp:317
+#: src/modules/lyr_std/julia.cpp:343
 msgid "Color Shift"
 msgstr "颜色位移"
 
-#: src/modules/lyr_std/julia.cpp:320 src/modules/lyr_std/mandelbrot.cpp:223
+#: src/modules/lyr_std/julia.cpp:346 src/modules/lyr_std/mandelbrot.cpp:219
 msgid "Iterations"
 msgstr "迭代次数"
 
-#: src/modules/lyr_std/julia.cpp:323
+#: src/modules/lyr_std/julia.cpp:349
 msgid "Seed Point"
 msgstr "种子点"
 
-#: src/modules/lyr_std/julia.cpp:326 src/modules/lyr_std/mandelbrot.cpp:226
+#: src/modules/lyr_std/julia.cpp:352 src/modules/lyr_std/mandelbrot.cpp:222
 msgid "Bailout ValueBase"
 msgstr "Bailout 值基"
 
-#: src/modules/lyr_std/julia.cpp:330 src/modules/lyr_std/mandelbrot.cpp:236
+#: src/modules/lyr_std/julia.cpp:356 src/modules/lyr_std/mandelbrot.cpp:232
 #: src/modules/lyr_std/twirl.cpp:130
 msgid "Distort Inside"
 msgstr "内部变形"
 
-#: src/modules/lyr_std/julia.cpp:333 src/modules/lyr_std/mandelbrot.cpp:240
+#: src/modules/lyr_std/julia.cpp:359 src/modules/lyr_std/mandelbrot.cpp:236
 msgid "Shade Inside"
 msgstr "内部阴影"
 
-#: src/modules/lyr_std/julia.cpp:336 src/modules/lyr_std/mandelbrot.cpp:244
+#: src/modules/lyr_std/julia.cpp:362 src/modules/lyr_std/mandelbrot.cpp:240
 msgid "Solid Inside"
 msgstr "内部实地"
 
-#: src/modules/lyr_std/julia.cpp:339 src/modules/lyr_std/mandelbrot.cpp:248
+#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:244
 msgid "Invert Inside"
 msgstr "内部反转"
 
-#: src/modules/lyr_std/julia.cpp:342
+#: src/modules/lyr_std/julia.cpp:368
 msgid "Color Inside"
 msgstr "内部颜色"
 
-#: src/modules/lyr_std/julia.cpp:345 src/modules/lyr_std/mandelbrot.cpp:265
+#: src/modules/lyr_std/julia.cpp:371 src/modules/lyr_std/mandelbrot.cpp:261
 #: src/modules/lyr_std/twirl.cpp:135
 msgid "Distort Outside"
 msgstr "外部变形"
 
-#: src/modules/lyr_std/julia.cpp:348 src/modules/lyr_std/mandelbrot.cpp:269
+#: src/modules/lyr_std/julia.cpp:374 src/modules/lyr_std/mandelbrot.cpp:265
 msgid "Shade Outside"
 msgstr "外部阴影"
 
-#: src/modules/lyr_std/julia.cpp:351 src/modules/lyr_std/mandelbrot.cpp:273
+#: src/modules/lyr_std/julia.cpp:377 src/modules/lyr_std/mandelbrot.cpp:269
 msgid "Solid Outside"
 msgstr "外部实地"
 
-#: src/modules/lyr_std/julia.cpp:354 src/modules/lyr_std/mandelbrot.cpp:277
+#: src/modules/lyr_std/julia.cpp:380 src/modules/lyr_std/mandelbrot.cpp:273
 msgid "Invert Outside"
 msgstr "外部反转"
 
-#: src/modules/lyr_std/julia.cpp:357
+#: src/modules/lyr_std/julia.cpp:383
 msgid "Color Outside"
 msgstr "外部颜色"
 
-#: src/modules/lyr_std/julia.cpp:361
+#: src/modules/lyr_std/julia.cpp:387
 msgid "Color Cycle"
 msgstr "圆环颜色"
 
-#: src/modules/lyr_std/julia.cpp:364 src/modules/lyr_std/mandelbrot.cpp:285
+#: src/modules/lyr_std/julia.cpp:390 src/modules/lyr_std/mandelbrot.cpp:281
 msgid "Smooth Outside"
 msgstr "外部平滑"
 
-#: src/modules/lyr_std/julia.cpp:365 src/modules/lyr_std/mandelbrot.cpp:286
+#: src/modules/lyr_std/julia.cpp:391 src/modules/lyr_std/mandelbrot.cpp:282
 msgid "Smooth the coloration outside the set"
 msgstr "平滑集外的染色"
 
-#: src/modules/lyr_std/julia.cpp:368 src/modules/lyr_std/mandelbrot.cpp:230
+#: src/modules/lyr_std/julia.cpp:394 src/modules/lyr_std/mandelbrot.cpp:226
 msgid "Break Set"
 msgstr "破碎集"
 
-#: src/modules/lyr_std/julia.cpp:369 src/modules/lyr_std/mandelbrot.cpp:231
+#: src/modules/lyr_std/julia.cpp:395 src/modules/lyr_std/mandelbrot.cpp:227
 msgid "Modify equation to achieve interesting results"
 msgstr "修改等式以得到有趣的结果"
 
@@ -615,48 +615,48 @@ msgstr "修改等式以得到有趣的结果"
 msgid "Mandelbrot Set"
 msgstr "曼德布洛特集"
 
+#: src/modules/lyr_std/mandelbrot.cpp:233
 #: src/modules/lyr_std/mandelbrot.cpp:237
 #: src/modules/lyr_std/mandelbrot.cpp:241
 #: src/modules/lyr_std/mandelbrot.cpp:245
 #: src/modules/lyr_std/mandelbrot.cpp:249
 #: src/modules/lyr_std/mandelbrot.cpp:253
 #: src/modules/lyr_std/mandelbrot.cpp:257
-#: src/modules/lyr_std/mandelbrot.cpp:261
 msgid "Inside"
 msgstr "内部"
 
-#: src/modules/lyr_std/mandelbrot.cpp:252
+#: src/modules/lyr_std/mandelbrot.cpp:248
 msgid "Gradient Inside"
 msgstr "内部渐变"
 
-#: src/modules/lyr_std/mandelbrot.cpp:256
+#: src/modules/lyr_std/mandelbrot.cpp:252
 msgid "Offset Inside"
 msgstr "内部偏移"
 
-#: src/modules/lyr_std/mandelbrot.cpp:260
+#: src/modules/lyr_std/mandelbrot.cpp:256
 msgid "Loop Inside"
 msgstr "内部循环"
 
+#: src/modules/lyr_std/mandelbrot.cpp:262
 #: src/modules/lyr_std/mandelbrot.cpp:266
 #: src/modules/lyr_std/mandelbrot.cpp:270
 #: src/modules/lyr_std/mandelbrot.cpp:274
 #: src/modules/lyr_std/mandelbrot.cpp:278
-#: src/modules/lyr_std/mandelbrot.cpp:282
+#: src/modules/lyr_std/mandelbrot.cpp:283
 #: src/modules/lyr_std/mandelbrot.cpp:287
 #: src/modules/lyr_std/mandelbrot.cpp:291
-#: src/modules/lyr_std/mandelbrot.cpp:295
 msgid "Outside"
 msgstr "外部"
 
-#: src/modules/lyr_std/mandelbrot.cpp:281
+#: src/modules/lyr_std/mandelbrot.cpp:277
 msgid "Gradient outside"
 msgstr "外部渐变"
 
-#: src/modules/lyr_std/mandelbrot.cpp:290
+#: src/modules/lyr_std/mandelbrot.cpp:286
 msgid "Offset Outside"
 msgstr "外部位移"
 
-#: src/modules/lyr_std/mandelbrot.cpp:294
+#: src/modules/lyr_std/mandelbrot.cpp:290
 msgid "Scale Outside"
 msgstr "外部缩放"
 
@@ -669,16 +669,16 @@ msgstr "旋转"
 msgid "Transform"
 msgstr "变换"
 
-#: src/modules/lyr_std/rotate.cpp:117 src/modules/lyr_std/translate.cpp:101
+#: src/modules/lyr_std/rotate.cpp:118 src/modules/lyr_std/translate.cpp:101
 #: src/modules/mod_filter/radialblur.cpp:111
-#: src/synfig/layer_pastecanvas.cpp:134
+#: src/synfig/layer_pastecanvas.cpp:137
 msgid "Point where you want the origin to be"
 msgstr "您想要放置原点的位置点"
 
-#: src/modules/lyr_std/rotate.cpp:121
-#: src/modules/lyr_std/sphere_distort.cpp:158
+#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/sphere_distort.cpp:153
 #: src/modules/lyr_std/stretch.cpp:104 src/modules/lyr_std/zoom.cpp:99
-#: src/synfig/layer_composite.cpp:217
+#: src/synfig/layer_composite.cpp:249
 #: src/synfig/valuenode_blinecalctangent.cpp:251
 #: src/synfig/valuenode_blinecalcvertex.cpp:211
 #: src/synfig/valuenode_blinecalcwidth.cpp:216
@@ -687,61 +687,61 @@ msgstr "您想要放置原点的位置点"
 msgid "Amount"
 msgstr "量"
 
-#: src/modules/lyr_std/rotate.cpp:122
+#: src/modules/lyr_std/rotate.cpp:123
 msgid "Amount of rotation"
 msgstr "旋转量"
 
-#: src/modules/lyr_std/shade.cpp:67
+#: src/modules/lyr_std/shade.cpp:68
 msgid "Shade"
 msgstr "阴影"
 
-#: src/modules/lyr_std/shade.cpp:571
+#: src/modules/lyr_std/shade.cpp:627
 msgid "Size of Shade"
 msgstr "阴影大小"
 
-#: src/modules/lyr_std/sphere_distort.cpp:73
-#: src/modules/lyr_std/sphere_distort.cpp:172
+#: src/modules/lyr_std/sphere_distort.cpp:74
+#: src/modules/lyr_std/sphere_distort.cpp:167
 msgid "Spherize"
 msgstr "球面化"
 
-#: src/modules/lyr_std/sphere_distort.cpp:146
-#: src/synfig/valuenode_composite.cpp:536
+#: src/modules/lyr_std/sphere_distort.cpp:141
+#: src/synfig/valuenode_composite.cpp:546
 msgid "Position"
 msgstr "位置"
 
-#: src/modules/lyr_std/sphere_distort.cpp:147
+#: src/modules/lyr_std/sphere_distort.cpp:142
 msgid "Where the sphere distortion is centered"
 msgstr "球状变形的中点"
 
-#: src/modules/lyr_std/sphere_distort.cpp:154
+#: src/modules/lyr_std/sphere_distort.cpp:149
 msgid "The size of the sphere distortion"
 msgstr "球状变形的大小"
 
-#: src/modules/lyr_std/sphere_distort.cpp:160
+#: src/modules/lyr_std/sphere_distort.cpp:155
 msgid "The distortion intensity (negative values inverts effect)"
 msgstr "变形强度(负值为相反效果)"
 
-#: src/modules/lyr_std/sphere_distort.cpp:164 src/modules/lyr_std/warp.cpp:409
+#: src/modules/lyr_std/sphere_distort.cpp:159 src/modules/lyr_std/warp.cpp:415
 msgid "Clip"
 msgstr "修剪"
 
-#: src/modules/lyr_std/sphere_distort.cpp:165
+#: src/modules/lyr_std/sphere_distort.cpp:160
 msgid "When cheked, the area outside the Radius are not distorted"
 msgstr "选中后,半径之外的区域不做变形"
 
-#: src/modules/lyr_std/sphere_distort.cpp:169
+#: src/modules/lyr_std/sphere_distort.cpp:164
 msgid "Distort Type"
 msgstr "变形类型"
 
-#: src/modules/lyr_std/sphere_distort.cpp:170
+#: src/modules/lyr_std/sphere_distort.cpp:165
 msgid "The direction of the distortion"
 msgstr "变形的方向"
 
-#: src/modules/lyr_std/sphere_distort.cpp:173
+#: src/modules/lyr_std/sphere_distort.cpp:168
 msgid "Vertical Bar"
 msgstr "竖条"
 
-#: src/modules/lyr_std/sphere_distort.cpp:174
+#: src/modules/lyr_std/sphere_distort.cpp:169
 msgid "Horizontal Bar"
 msgstr "横条"
 
@@ -761,104 +761,104 @@ msgstr "拉伸变形的中心"
 msgid "Stroboscope"
 msgstr "频闪器"
 
-#: src/modules/lyr_std/stroboscope.cpp:102
+#: src/modules/lyr_std/stroboscope.cpp:104
 msgid "Frequency"
 msgstr "频率"
 
-#: src/modules/lyr_std/stroboscope.cpp:103
+#: src/modules/lyr_std/stroboscope.cpp:105
 msgid "Frequency of the Strobe in times per second"
 msgstr "按每秒的次数计的频闪频率"
 
-#: src/modules/lyr_std/supersample.cpp:56
+#: src/modules/lyr_std/supersample.cpp:57
 msgid "Super Sample"
 msgstr "超样本"
 
-#: src/modules/lyr_std/supersample.cpp:129
+#: src/modules/lyr_std/supersample.cpp:146
 msgid "Unable to create SurfaceTarget"
 msgstr "未能创建表面目标"
 
-#: src/modules/lyr_std/supersample.cpp:290
-#: src/modules/lyr_std/curvewarp.cpp:393
-#: src/modules/mod_gradient/curvegradient.cpp:542
-#: src/synfig/valuenode_composite.cpp:514
-#: src/synfig/valuenode_composite.cpp:540
+#: src/modules/lyr_std/supersample.cpp:337
+#: src/modules/lyr_std/curvewarp.cpp:402
+#: src/modules/mod_gradient/curvegradient.cpp:555
+#: src/synfig/valuenode_composite.cpp:524
+#: src/synfig/valuenode_composite.cpp:550
 #: src/synfig/valuenode_realstring.cpp:180
 #: src/synfig/valuenode_repeat_gradient.cpp:213
 #: src/synfig/valuenode_stripes.cpp:204 src/tool/printing_functions.cpp:117
 msgid "Width"
 msgstr "宽度"
 
-#: src/modules/lyr_std/supersample.cpp:291
+#: src/modules/lyr_std/supersample.cpp:338
 msgid "Width of sample area (In pixels)"
 msgstr "样本区域的宽度(按像素)"
 
-#: src/modules/lyr_std/supersample.cpp:294 src/tool/printing_functions.cpp:123
+#: src/modules/lyr_std/supersample.cpp:341 src/tool/printing_functions.cpp:123
 msgid "Height"
 msgstr "高度"
 
-#: src/modules/lyr_std/supersample.cpp:295
+#: src/modules/lyr_std/supersample.cpp:342
 msgid "Height of sample area (In pixels)"
 msgstr "样本区域的高度(按像素)"
 
-#: src/modules/lyr_std/supersample.cpp:298
+#: src/modules/lyr_std/supersample.cpp:345
 msgid "Use Parametric"
 msgstr "参数化"
 
-#: src/modules/lyr_std/supersample.cpp:299
+#: src/modules/lyr_std/supersample.cpp:346
 msgid "Use the Parametric Renderer"
 msgstr "使用参数化渲染器"
 
-#: src/modules/lyr_std/supersample.cpp:302
+#: src/modules/lyr_std/supersample.cpp:349
 msgid "Be Alpha Safe"
 msgstr "确保透明(Alpha)安全"
 
-#: src/modules/lyr_std/supersample.cpp:303
+#: src/modules/lyr_std/supersample.cpp:350
 msgid "Avoid alpha artifacts when checked"
 msgstr "选中后避免产生alpha伪像"
 
-#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:166
+#: src/modules/lyr_std/timeloop.cpp:59 src/synfig/valuenode.cpp:172
 #: src/synfig/valuenode_timeloop.cpp:153
 msgid "Time Loop"
 msgstr "时间循环"
 
-#: src/modules/lyr_std/timeloop.cpp:124 src/synfig/valuenode_timeloop.cpp:179
+#: src/modules/lyr_std/timeloop.cpp:133 src/synfig/valuenode_timeloop.cpp:179
 msgid "Link Time"
 msgstr "链接时间"
 
-#: src/modules/lyr_std/timeloop.cpp:125
+#: src/modules/lyr_std/timeloop.cpp:134
 msgid "Start time of the loop for the cycled context"
 msgstr "循环的起始时间"
 
-#: src/modules/lyr_std/timeloop.cpp:129 src/synfig/valuenode_timeloop.cpp:184
+#: src/modules/lyr_std/timeloop.cpp:138 src/synfig/valuenode_timeloop.cpp:184
 msgid "Local Time"
 msgstr "本地时间"
 
-#: src/modules/lyr_std/timeloop.cpp:130 src/synfig/valuenode_timeloop.cpp:185
+#: src/modules/lyr_std/timeloop.cpp:139 src/synfig/valuenode_timeloop.cpp:185
 msgid "The time when the resulted loop starts"
 msgstr "促成循环启动的时间"
 
-#: src/modules/lyr_std/timeloop.cpp:134 src/synfig/valuenode_step.cpp:202
+#: src/modules/lyr_std/timeloop.cpp:143 src/synfig/valuenode_step.cpp:202
 #: src/synfig/valuenode_timeloop.cpp:189
 msgid "Duration"
 msgstr "持续"
 
-#: src/modules/lyr_std/timeloop.cpp:135 src/synfig/valuenode_timeloop.cpp:190
+#: src/modules/lyr_std/timeloop.cpp:144 src/synfig/valuenode_timeloop.cpp:190
 msgid "Lenght of the loop"
 msgstr "循环的长度"
 
-#: src/modules/lyr_std/timeloop.cpp:139
+#: src/modules/lyr_std/timeloop.cpp:148
 msgid "Only For Positive Duration"
 msgstr "仅为正的持续时间"
 
-#: src/modules/lyr_std/timeloop.cpp:140
+#: src/modules/lyr_std/timeloop.cpp:149
 msgid "When checked will loop only positive durations"
 msgstr "选中后将只循环正的周期"
 
-#: src/modules/lyr_std/timeloop.cpp:144
+#: src/modules/lyr_std/timeloop.cpp:153
 msgid "Symmetrical"
 msgstr "对称"
 
-#: src/modules/lyr_std/timeloop.cpp:145
+#: src/modules/lyr_std/timeloop.cpp:154
 msgid "When checked, loops are mirrored centered at Local Time"
 msgstr "选中后,循环以本地时间为中点做镜像"
 
@@ -886,115 +886,115 @@ msgstr "选中后,在圆环内变形"
 msgid "When checked, distorts outside the circle"
 msgstr "选中后,在圆环外变形"
 
-#: src/modules/lyr_std/warp.cpp:56
+#: src/modules/lyr_std/warp.cpp:57
 msgid "Warp"
 msgstr "翘曲"
 
-#: src/modules/lyr_std/warp.cpp:374
+#: src/modules/lyr_std/warp.cpp:380
 msgid "Source TL"
 msgstr "左上角的源"
 
-#: src/modules/lyr_std/warp.cpp:376
+#: src/modules/lyr_std/warp.cpp:382
 msgid "Top Left corner of the source to warp"
 msgstr "翘曲源的左上角"
 
-#: src/modules/lyr_std/warp.cpp:380
+#: src/modules/lyr_std/warp.cpp:386
 msgid "Source BR"
 msgstr "右下角的源"
 
-#: src/modules/lyr_std/warp.cpp:381
+#: src/modules/lyr_std/warp.cpp:387
 msgid "Bottom Right corner of the source to warp"
 msgstr "翘曲源的右下角"
 
-#: src/modules/lyr_std/warp.cpp:385
+#: src/modules/lyr_std/warp.cpp:391
 msgid "Dest TL"
 msgstr "左上角 Dest"
 
-#: src/modules/lyr_std/warp.cpp:387
+#: src/modules/lyr_std/warp.cpp:393
 msgid "Top Left corner of the destination"
 msgstr "目标左上角"
 
-#: src/modules/lyr_std/warp.cpp:391
+#: src/modules/lyr_std/warp.cpp:397
 msgid "Dest TR"
 msgstr "右上角 Dest"
 
-#: src/modules/lyr_std/warp.cpp:393
+#: src/modules/lyr_std/warp.cpp:399
 msgid "Top Right corner of the destination"
 msgstr "目标右上角"
 
-#: src/modules/lyr_std/warp.cpp:397
+#: src/modules/lyr_std/warp.cpp:403
 msgid "Dest BR"
 msgstr "右下角 Dest"
 
-#: src/modules/lyr_std/warp.cpp:399
+#: src/modules/lyr_std/warp.cpp:405
 msgid "Bottom Right corner of the destination"
 msgstr "目标右下角"
 
-#: src/modules/lyr_std/warp.cpp:403
+#: src/modules/lyr_std/warp.cpp:409
 msgid "Dest BL"
 msgstr "左下角 Dest"
 
-#: src/modules/lyr_std/warp.cpp:405
+#: src/modules/lyr_std/warp.cpp:411
 msgid "Bottom Left corner of the destination"
 msgstr "目标左下角"
 
-#: src/modules/lyr_std/warp.cpp:413
+#: src/modules/lyr_std/warp.cpp:419
 msgid "Horizon"
 msgstr "地平线"
 
-#: src/modules/lyr_std/warp.cpp:414
+#: src/modules/lyr_std/warp.cpp:420
 msgid "Height that determines the horizon in perspectives"
 msgstr "决定水平透视的高度"
 
-#: src/modules/lyr_std/curvewarp.cpp:55
+#: src/modules/lyr_std/curvewarp.cpp:56
 msgid "Curve Warp"
 msgstr "曲线翘曲"
 
-#: src/modules/lyr_std/curvewarp.cpp:390
-msgid "Position of the source line"
-msgstr "源线的位置"
+#: src/modules/lyr_std/curvewarp.cpp:399
+msgid "Position of the destiny Spline line"
+msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:395
+#: src/modules/lyr_std/curvewarp.cpp:404
 msgid "How much is expanded the result perpendicular to the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:398
+#: src/modules/lyr_std/curvewarp.cpp:407
 msgid "Start Point"
 msgstr "起点"
 
-#: src/modules/lyr_std/curvewarp.cpp:400
+#: src/modules/lyr_std/curvewarp.cpp:409
 msgid "First point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:403
+#: src/modules/lyr_std/curvewarp.cpp:412
 msgid "End Point"
 msgstr "终点"
 
-#: src/modules/lyr_std/curvewarp.cpp:404
+#: src/modules/lyr_std/curvewarp.cpp:413
 msgid "Final point of the source line"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:407
-#: src/modules/mod_geometry/advanced_outline.cpp:1123
-#: src/modules/mod_geometry/outline.cpp:814
-#: src/modules/mod_geometry/region.cpp:233
-#: src/modules/mod_gradient/curvegradient.cpp:546
-#: src/modules/mod_particle/plant.cpp:391
+#: src/modules/lyr_std/curvewarp.cpp:416
+#: src/modules/mod_geometry/advanced_outline.cpp:1134
+#: src/modules/mod_geometry/outline.cpp:823
+#: src/modules/mod_geometry/region.cpp:238
+#: src/modules/mod_gradient/curvegradient.cpp:559
+#: src/modules/mod_particle/plant.cpp:424
 msgid "Vertices"
 msgstr "顶点"
 
-#: src/modules/lyr_std/curvewarp.cpp:410
+#: src/modules/lyr_std/curvewarp.cpp:419
 msgid "List of Spline Points where the source line is curved to"
 msgstr ""
 
-#: src/modules/lyr_std/curvewarp.cpp:413
-#: src/modules/mod_geometry/advanced_outline.cpp:1178
-#: src/modules/mod_gradient/curvegradient.cpp:567
+#: src/modules/lyr_std/curvewarp.cpp:422
+#: src/modules/mod_geometry/advanced_outline.cpp:1189
+#: src/modules/mod_gradient/curvegradient.cpp:580
 msgid "Fast"
 msgstr "快速"
 
-#: src/modules/lyr_std/curvewarp.cpp:414
-#: src/modules/mod_gradient/curvegradient.cpp:568
+#: src/modules/lyr_std/curvewarp.cpp:423
+#: src/modules/mod_gradient/curvegradient.cpp:581
 msgid "When checked, renders quickly but with artifacts"
 msgstr ""
 
@@ -1002,15 +1002,15 @@ msgstr ""
 msgid "XOR Pattern"
 msgstr "异或图案"
 
-#: src/modules/lyr_std/xorpattern.cpp:126
+#: src/modules/lyr_std/xorpattern.cpp:130
 msgid "Center of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/xorpattern.cpp:130
+#: src/modules/lyr_std/xorpattern.cpp:134
 msgid "Size of the pattern"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:143
+#: src/modules/lyr_std/zoom.cpp:52 src/synfig/valuenode.cpp:149
 #: src/synfig/valuenode_blinecalctangent.cpp:261
 #: src/synfig/valuenode_blinecalcwidth.cpp:221
 #: src/synfig/valuenode_exp.cpp:155 src/synfig/valuenode_scale.cpp:243
@@ -1021,7 +1021,7 @@ msgstr "缩放"
 msgid "Amount to scale to"
 msgstr ""
 
-#: src/modules/lyr_std/zoom.cpp:105
+#: src/modules/lyr_std/zoom.cpp:107
 msgid "Point to scale from"
 msgstr ""
 
@@ -1039,22 +1039,22 @@ msgstr "%s不是 BMP 格式的"
 #: src/modules/mod_bmp/mptr_bmp.cpp:150
 #, c-format
 msgid "Failure while reading BITMAPFILEHEADER from %s"
-msgstr "从%s中读取 BITMAPFILEHEADER 失败"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:158
 #, c-format
 msgid "Failure while reading BITMAPINFOHEADER from %s"
-msgstr "从%s中读取 BITMAPINFOHEADER 失败"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:168
 #, c-format
 msgid "Bad BITMAPFILEHEADER in %s. (bfOffsetBits=%d, should be %d)"
-msgstr "在 %s 中出现错误的位图文件头。(bfOffsetBits=%d,应该是 %d)"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:176
 #, c-format
 msgid "Bad BITMAPINFOHEADER in %s. (biSize=%d, should be 40)"
-msgstr "在 %s 中出现错误的位图文件头。(biSize=%d,应该是40)"
+msgstr ""
 
 #: src/modules/mod_bmp/mptr_bmp.cpp:194 src/modules/mod_bmp/mptr_bmp.cpp:195
 msgid "Reading compressed bitmaps is not supported"
@@ -1089,126 +1089,143 @@ msgstr "未能写入信息头"
 msgid "Unable to open pipe to encodedv"
 msgstr "未能打开 encodedv 的管道"
 
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:201
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:208
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:218
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:272
-#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:290
-msgid "Unable to open pipe to ffmpeg"
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:214
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no pipe)"
+msgstr "未能打开 ffmpeg 的管道"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:221
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (pid == -1)"
+msgstr "未能打开 ffmpeg 的管道"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:231
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"
+msgstr "未能打开 ffmpeg 的管道"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:285
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (exec failed)"
+msgstr "未能打开 ffmpeg 的管道"
+
+#: src/modules/mod_ffmpeg/trgt_ffmpeg.cpp:303
+#, fuzzy
+msgid "Unable to open pipe to ffmpeg (no file)"
 msgstr "未能打开 ffmpeg 的管道"
 
-#: src/modules/mod_filter/blur.cpp:68
+#: src/modules/mod_filter/blur.cpp:69
 msgid "Blur"
 msgstr "模糊"
 
-#: src/modules/mod_filter/blur.cpp:69 src/modules/mod_filter/radialblur.cpp:56
+#: src/modules/mod_filter/blur.cpp:70 src/modules/mod_filter/radialblur.cpp:57
 #: src/synfig/layer_motionblur.cpp:57
 msgid "Blurs"
 msgstr "模糊"
 
-#: src/modules/mod_filter/blur.cpp:373
+#: src/modules/mod_filter/blur.cpp:414
 msgid "Size of Blur"
 msgstr "模糊大小"
 
-#: src/modules/mod_filter/colorcorrect.cpp:55
+#: src/modules/mod_filter/colorcorrect.cpp:56
 msgid "Color Correct"
 msgstr "颜色矫正"
 
-#: src/modules/mod_filter/colorcorrect.cpp:211
+#: src/modules/mod_filter/colorcorrect.cpp:217
 msgid "Hue Adjust"
 msgstr "色调调整"
 
-#: src/modules/mod_filter/colorcorrect.cpp:215
+#: src/modules/mod_filter/colorcorrect.cpp:221
 msgid "Brightness"
 msgstr "亮度"
 
-#: src/modules/mod_filter/colorcorrect.cpp:219
+#: src/modules/mod_filter/colorcorrect.cpp:225
 msgid "Contrast"
 msgstr "对比"
 
-#: src/modules/mod_filter/colorcorrect.cpp:223
+#: src/modules/mod_filter/colorcorrect.cpp:229
 msgid "Exposure Adjust"
 msgstr "曝光调整"
 
-#: src/modules/mod_filter/colorcorrect.cpp:227 src/synfig/layer_bitmap.cpp:179
+#: src/modules/mod_filter/colorcorrect.cpp:233 src/synfig/layer_bitmap.cpp:176
 msgid "Gamma Adjustment"
 msgstr "伽马调整"
 
-#: src/modules/mod_filter/halftone2.cpp:58
+#: src/modules/mod_filter/halftone2.cpp:59
 msgid "Halftone 2"
 msgstr "半调2"
 
-#: src/modules/mod_filter/halftone2.cpp:151
+#: src/modules/mod_filter/halftone2.cpp:155
 msgid "Mask Origin"
 msgstr "遮罩原点"
 
-#: src/modules/mod_filter/halftone2.cpp:155
+#: src/modules/mod_filter/halftone2.cpp:159
 msgid "Mask Angle"
 msgstr "遮罩角度"
 
-#: src/modules/mod_filter/halftone2.cpp:159
-#: src/modules/mod_filter/halftone3.cpp:309
+#: src/modules/mod_filter/halftone2.cpp:163
+#: src/modules/mod_filter/halftone3.cpp:328
 msgid "Mask Size"
 msgstr "遮罩大小"
 
-#: src/modules/mod_filter/halftone2.cpp:164
+#: src/modules/mod_filter/halftone2.cpp:168
 msgid "Light Color"
 msgstr "亮色"
 
-#: src/modules/mod_filter/halftone2.cpp:167
+#: src/modules/mod_filter/halftone2.cpp:171
 msgid "Dark Color"
 msgstr "暗色"
 
-#: src/modules/mod_filter/halftone2.cpp:172
-#: src/modules/mod_filter/halftone3.cpp:314
+#: src/modules/mod_filter/halftone2.cpp:176
+#: src/modules/mod_filter/halftone3.cpp:333
 #: src/modules/mod_gradient/conicalgradient.cpp:125
 msgid "Symmetric"
 msgstr "对称"
 
-#: src/modules/mod_filter/halftone2.cpp:173
-#: src/modules/mod_filter/halftone3.cpp:315
+#: src/modules/mod_filter/halftone2.cpp:177
+#: src/modules/mod_filter/halftone3.cpp:334
 msgid "Light On Dark"
 msgstr "亮色在黑色上"
 
-#: src/modules/mod_filter/halftone2.cpp:175
-#: src/modules/mod_filter/halftone3.cpp:317
+#: src/modules/mod_filter/halftone2.cpp:179
+#: src/modules/mod_filter/halftone3.cpp:336
 msgid "Diamond"
 msgstr "棱形"
 
-#: src/modules/mod_filter/halftone2.cpp:176
-#: src/modules/mod_filter/halftone3.cpp:318
+#: src/modules/mod_filter/halftone2.cpp:180
+#: src/modules/mod_filter/halftone3.cpp:337
 msgid "Stripe"
 msgstr "条纹"
 
-#: src/modules/mod_filter/halftone3.cpp:58
+#: src/modules/mod_filter/halftone3.cpp:59
 msgid "Halftone 3"
 msgstr "半调3"
 
-#: src/modules/mod_filter/halftone3.cpp:312
+#: src/modules/mod_filter/halftone3.cpp:331
 msgid " Type"
 msgstr "类型"
 
-#: src/modules/mod_filter/halftone3.cpp:321
+#: src/modules/mod_filter/halftone3.cpp:340
 msgid "Subtractive Flag"
 msgstr "负旗帜"
 
-#: src/modules/mod_filter/halftone3.cpp:329
+#: src/modules/mod_filter/halftone3.cpp:348
 msgid " Color"
 msgstr "颜色"
 
-#: src/modules/mod_filter/halftone3.cpp:333
+#: src/modules/mod_filter/halftone3.cpp:352
 msgid " Mask Origin"
 msgstr "遮罩原点"
 
-#: src/modules/mod_filter/halftone3.cpp:337
+#: src/modules/mod_filter/halftone3.cpp:356
 msgid " Mask Angle"
 msgstr "遮罩角度"
 
-#: src/modules/mod_filter/lumakey.cpp:58
+#: src/modules/mod_filter/lumakey.cpp:59
 msgid "Luma Key"
 msgstr "亮度键"
 
-#: src/modules/mod_filter/radialblur.cpp:55
+#: src/modules/mod_filter/radialblur.cpp:56
 msgid "Radial Blur"
 msgstr "径向模糊"
 
@@ -1230,19 +1247,19 @@ msgstr "棋盘"
 #: src/modules/mod_geometry/outline.cpp:73
 #: src/modules/mod_geometry/rectangle.cpp:60
 #: src/modules/mod_geometry/region.cpp:65 src/modules/mod_geometry/star.cpp:64
-#: src/synfig/layer_polygon.cpp:62 src/synfig/layer_solidcolor.cpp:57
+#: src/synfig/layer_polygon.cpp:61 src/synfig/layer_solidcolor.cpp:57
 msgid "Geometry"
 msgstr "几何图形"
 
-#: src/modules/mod_geometry/checkerboard.cpp:123
+#: src/modules/mod_geometry/checkerboard.cpp:147
 msgid "Color of checkers"
 msgstr "棋子颜色"
 
-#: src/modules/mod_geometry/checkerboard.cpp:127
+#: src/modules/mod_geometry/checkerboard.cpp:151
 msgid "Center of the checkers"
 msgstr "棋子中点"
 
-#: src/modules/mod_geometry/checkerboard.cpp:131
+#: src/modules/mod_geometry/checkerboard.cpp:155
 msgid "Size of checkers"
 msgstr "棋子大小"
 
@@ -1250,54 +1267,54 @@ msgstr "棋子大小"
 msgid "Circle"
 msgstr "圆形"
 
-#: src/modules/mod_geometry/circle.cpp:134
+#: src/modules/mod_geometry/circle.cpp:152
 msgid "Radius of the circle"
 msgstr "圆形的半径"
 
-#: src/modules/mod_geometry/circle.cpp:138 src/synfig/layer_shape.cpp:1206
+#: src/modules/mod_geometry/circle.cpp:156 src/synfig/layer_shape.cpp:1234
 msgid "Feather"
 msgstr "羽化"
 
-#: src/modules/mod_geometry/circle.cpp:140
+#: src/modules/mod_geometry/circle.cpp:158
 msgid "Amount of feather of the circle"
 msgstr "圆形的羽化量"
 
-#: src/modules/mod_geometry/circle.cpp:148
+#: src/modules/mod_geometry/circle.cpp:166
 msgid "Invert the circle"
 msgstr "反相圆形"
 
-#: src/modules/mod_geometry/circle.cpp:152
+#: src/modules/mod_geometry/circle.cpp:170
 msgid "Falloff"
 msgstr "衰减"
 
-#: src/modules/mod_geometry/circle.cpp:153
+#: src/modules/mod_geometry/circle.cpp:171
 msgid "Determines the falloff function for the feather"
 msgstr "决定羽化的衰减功能"
 
-#: src/modules/mod_geometry/circle.cpp:155
-#: src/modules/mod_noise/distort.cpp:234 src/modules/mod_noise/noise.cpp:275
-#: src/modules/mod_noise/valuenode_random.cpp:288
-#: src/synfig/layer_bitmap.cpp:173 src/synfig/layer_motionblur.cpp:150
-#: src/synfig/valuenode.cpp:139 src/synfig/valuenode_linear.cpp:146
+#: src/modules/mod_geometry/circle.cpp:173
+#: src/modules/mod_noise/distort.cpp:239 src/modules/mod_noise/noise.cpp:284
+#: src/modules/mod_noise/valuenode_random.cpp:289
+#: src/synfig/layer_bitmap.cpp:169 src/synfig/layer_motionblur.cpp:149
+#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_linear.cpp:146
 msgid "Linear"
 msgstr "线性"
 
-#: src/modules/mod_geometry/circle.cpp:156
+#: src/modules/mod_geometry/circle.cpp:174
 msgid "Squared"
 msgstr "平方"
 
-#: src/modules/mod_geometry/circle.cpp:157
+#: src/modules/mod_geometry/circle.cpp:175
 msgid "Square Root"
 msgstr "平方根"
 
-#: src/modules/mod_geometry/circle.cpp:158
+#: src/modules/mod_geometry/circle.cpp:176
 msgid "Sigmond"
 msgstr "西格玛"
 
-#: src/modules/mod_geometry/circle.cpp:159
-#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:276
-#: src/modules/mod_noise/valuenode_random.cpp:289
-#: src/synfig/layer_bitmap.cpp:174
+#: src/modules/mod_geometry/circle.cpp:177
+#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:290
+#: src/synfig/layer_bitmap.cpp:170
 msgid "Cosine"
 msgstr "余弦"
 
@@ -1305,160 +1322,160 @@ msgstr "余弦"
 msgid "Advanced Outline"
 msgstr "高级轮廓"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:133
+#: src/modules/mod_geometry/advanced_outline.cpp:152
 msgid "No vertices in spline "
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1125
-#: src/modules/mod_geometry/outline.cpp:817
-#: src/modules/mod_geometry/region.cpp:235
-#: src/modules/mod_gradient/curvegradient.cpp:549
-#: src/modules/mod_particle/plant.cpp:392
+#: src/modules/mod_geometry/advanced_outline.cpp:1136
+#: src/modules/mod_geometry/outline.cpp:826
+#: src/modules/mod_geometry/region.cpp:240
+#: src/modules/mod_gradient/curvegradient.cpp:562
+#: src/modules/mod_particle/plant.cpp:425
 msgid "A list of spline points"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1129
-#: src/modules/mod_geometry/outline.cpp:831
+#: src/modules/mod_geometry/advanced_outline.cpp:1140
+#: src/modules/mod_geometry/outline.cpp:840
 msgid "Outline Width"
 msgstr "轮廓宽度"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1130
-#: src/modules/mod_geometry/outline.cpp:832
+#: src/modules/mod_geometry/advanced_outline.cpp:1141
+#: src/modules/mod_geometry/outline.cpp:841
 msgid "Global width of the outline"
 msgstr "轮廓的全局宽度"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1134
-#: src/modules/mod_geometry/outline.cpp:837
+#: src/modules/mod_geometry/advanced_outline.cpp:1145
+#: src/modules/mod_geometry/outline.cpp:846
 msgid "Expand"
 msgstr "外扩"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1135
-#: src/modules/mod_geometry/outline.cpp:838
+#: src/modules/mod_geometry/advanced_outline.cpp:1146
+#: src/modules/mod_geometry/outline.cpp:847
 msgid "Value to add to the global width"
 msgstr "添加到全局宽度的值"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1138
+#: src/modules/mod_geometry/advanced_outline.cpp:1149
 msgid "Tip Type at Start"
 msgstr "起点的尖端类型"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1139
+#: src/modules/mod_geometry/advanced_outline.cpp:1150
 msgid "Defines the Tip type of the first spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1141
-#: src/modules/mod_geometry/advanced_outline.cpp:1150
-#: src/synfig/valuenode_composite.cpp:548
+#: src/modules/mod_geometry/advanced_outline.cpp:1152
+#: src/modules/mod_geometry/advanced_outline.cpp:1161
 #: src/synfig/valuenode_composite.cpp:558
-#: src/synfig/valuenode_composite.cpp:587
-#: src/synfig/valuenode_composite.cpp:596
+#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:606
 msgid "Rounded Stop"
 msgstr "圆的"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1142
-#: src/modules/mod_geometry/advanced_outline.cpp:1151
-#: src/synfig/valuenode_composite.cpp:549
+#: src/modules/mod_geometry/advanced_outline.cpp:1153
+#: src/modules/mod_geometry/advanced_outline.cpp:1162
 #: src/synfig/valuenode_composite.cpp:559
-#: src/synfig/valuenode_composite.cpp:588
-#: src/synfig/valuenode_composite.cpp:597
+#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:607
 msgid "Squared Stop"
 msgstr "方的"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1143
-#: src/modules/mod_geometry/advanced_outline.cpp:1152
-#: src/synfig/valuenode_composite.cpp:550
+#: src/modules/mod_geometry/advanced_outline.cpp:1154
+#: src/modules/mod_geometry/advanced_outline.cpp:1163
 #: src/synfig/valuenode_composite.cpp:560
-#: src/synfig/valuenode_composite.cpp:589
-#: src/synfig/valuenode_composite.cpp:598
+#: src/synfig/valuenode_composite.cpp:570
+#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:608
 msgid "Peak Stop"
 msgstr "尖的"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1144
-#: src/modules/mod_geometry/advanced_outline.cpp:1153
-#: src/synfig/valuenode_composite.cpp:551
+#: src/modules/mod_geometry/advanced_outline.cpp:1155
+#: src/modules/mod_geometry/advanced_outline.cpp:1164
 #: src/synfig/valuenode_composite.cpp:561
-#: src/synfig/valuenode_composite.cpp:590
-#: src/synfig/valuenode_composite.cpp:599
+#: src/synfig/valuenode_composite.cpp:571
+#: src/synfig/valuenode_composite.cpp:600
+#: src/synfig/valuenode_composite.cpp:609
 msgid "Flat Stop"
 msgstr "平的"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1147
+#: src/modules/mod_geometry/advanced_outline.cpp:1158
 msgid "Tip Type at End"
 msgstr "未端的尖端类型"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1148
+#: src/modules/mod_geometry/advanced_outline.cpp:1159
 msgid "Defines the Tip type of the last spline point when spline is unlooped"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1156
+#: src/modules/mod_geometry/advanced_outline.cpp:1167
 msgid "Cusps Type"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1157
-#: src/modules/mod_geometry/outline.cpp:843
+#: src/modules/mod_geometry/advanced_outline.cpp:1168
+#: src/modules/mod_geometry/outline.cpp:852
 msgid "Determines cusp type"
 msgstr "决定尖端类型"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1159
+#: src/modules/mod_geometry/advanced_outline.cpp:1170
 msgid "Sharp"
 msgstr "尖的"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1160
+#: src/modules/mod_geometry/advanced_outline.cpp:1171
 msgid "Rounded"
 msgstr "圆的"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1164
+#: src/modules/mod_geometry/advanced_outline.cpp:1175
 msgid "Smoothness"
 msgstr "平滑的"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1165
+#: src/modules/mod_geometry/advanced_outline.cpp:1176
 msgid "Determines the interpolation between withpoints. (0) Linear (1) Smooth"
 msgstr "决定宽度点之间的变化。(0)线性 (1)平滑"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1168
-#: src/modules/mod_geometry/outline.cpp:859
+#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/outline.cpp:869
 #: src/synfig/valuenode_blinecalctangent.cpp:271
 #: src/synfig/valuenode_blinecalcvertex.cpp:216
 #: src/synfig/valuenode_blinecalcwidth.cpp:226
 msgid "Homogeneous"
 msgstr "单一性"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1169
+#: src/modules/mod_geometry/advanced_outline.cpp:1180
 msgid "When true, widthpoints positions are spline length based"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1172
+#: src/modules/mod_geometry/advanced_outline.cpp:1183
 msgid "Width Point List"
 msgstr "宽度点清单"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1175
+#: src/modules/mod_geometry/advanced_outline.cpp:1186
 msgid "List of width Points that defines the variable width"
 msgstr "定义变化宽度的宽度点列表"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1179
+#: src/modules/mod_geometry/advanced_outline.cpp:1190
 msgid "When checked outline renders faster, but less accurate"
 msgstr ""
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1182
+#: src/modules/mod_geometry/advanced_outline.cpp:1193
 msgid "Dashed Outline"
 msgstr "虚线化的轮廓"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1184
+#: src/modules/mod_geometry/advanced_outline.cpp:1195
 msgid "When checked outline is dashed"
 msgstr "选中后轮廓是虚线的"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1187
+#: src/modules/mod_geometry/advanced_outline.cpp:1198
 msgid "Dash Item List"
 msgstr "虚线项目清单"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1190
+#: src/modules/mod_geometry/advanced_outline.cpp:1201
 msgid "List of dash items that defines the dashed outline"
 msgstr "定义虚线化轮廓的虚线项目清单"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1193
+#: src/modules/mod_geometry/advanced_outline.cpp:1204
 msgid "Dash Items Offset"
 msgstr "虚线项目偏移"
 
-#: src/modules/mod_geometry/advanced_outline.cpp:1196
+#: src/modules/mod_geometry/advanced_outline.cpp:1207
 msgid "Distance to Offset the Dash Items"
 msgstr "偏移虚线项目的距离"
 
@@ -1466,32 +1483,36 @@ msgstr "偏移虚线项目的距离"
 msgid "Outline"
 msgstr "轮廓"
 
-#: src/modules/mod_geometry/outline.cpp:183
+#: src/modules/mod_geometry/outline.cpp:192
 msgid "No vertices in outline "
 msgstr "轮廓上没有顶点"
 
-#: src/modules/mod_geometry/outline.cpp:842
+#: src/modules/mod_geometry/outline.cpp:851
 msgid "Sharp Cusps"
 msgstr "尖端"
 
-#: src/modules/mod_geometry/outline.cpp:847
+#: src/modules/mod_geometry/outline.cpp:856
 msgid "Rounded Begin"
 msgstr "圆的起点"
 
-#: src/modules/mod_geometry/outline.cpp:848
-#: src/modules/mod_geometry/outline.cpp:853
+#: src/modules/mod_geometry/outline.cpp:857
+#: src/modules/mod_geometry/outline.cpp:862
 msgid "Round off the tip"
 msgstr "圆滑线头"
 
-#: src/modules/mod_geometry/outline.cpp:852
+#: src/modules/mod_geometry/outline.cpp:861
 msgid "Rounded End"
 msgstr "圆的终点"
 
-#: src/modules/mod_geometry/outline.cpp:856
+#: src/modules/mod_geometry/outline.cpp:865
 msgid "Loopyness"
 msgstr "松散"
 
-#: src/modules/mod_geometry/outline.cpp:860
+#: src/modules/mod_geometry/outline.cpp:866
+msgid "(Currently not used)"
+msgstr ""
+
+#: src/modules/mod_geometry/outline.cpp:870
 msgid "When checked the width takes the length of the spline to interpolate"
 msgstr "选中后宽度用Spline的长度作插值处理"
 
@@ -1499,11 +1520,11 @@ msgstr "选中后宽度用Spline的长度作插值处理"
 msgid "Rectangle"
 msgstr "矩形"
 
-#: src/modules/mod_geometry/rectangle.cpp:142
+#: src/modules/mod_geometry/rectangle.cpp:155
 msgid "Expand amount"
 msgstr "外扩量"
 
-#: src/modules/mod_geometry/rectangle.cpp:146
+#: src/modules/mod_geometry/rectangle.cpp:159
 msgid "Invert the rectangle"
 msgstr "反相矩形"
 
@@ -1515,46 +1536,46 @@ msgstr "区域"
 msgid "Star"
 msgstr "星形"
 
-#: src/modules/mod_geometry/star.cpp:183
+#: src/modules/mod_geometry/star.cpp:170
 msgid "Outer Radius"
 msgstr "外半径"
 
-#: src/modules/mod_geometry/star.cpp:184
+#: src/modules/mod_geometry/star.cpp:171
 msgid "The radius of the outer points in the star"
 msgstr "星形尖角的半径"
 
-#: src/modules/mod_geometry/star.cpp:190
+#: src/modules/mod_geometry/star.cpp:177
 msgid "Inner Radius"
 msgstr "内半径"
 
-#: src/modules/mod_geometry/star.cpp:191
+#: src/modules/mod_geometry/star.cpp:178
 msgid "The radius of the inner points in the star"
 msgstr "星形内角的半径"
 
-#: src/modules/mod_geometry/star.cpp:197
+#: src/modules/mod_geometry/star.cpp:184
 #: src/modules/mod_gradient/conicalgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:129
+#: src/modules/mod_gradient/spiralgradient.cpp:130
 #: src/synfig/valuenode_cos.cpp:155 src/synfig/valuenode_sine.cpp:154
 msgid "Angle"
 msgstr "角度"
 
-#: src/modules/mod_geometry/star.cpp:198
+#: src/modules/mod_geometry/star.cpp:185
 msgid "The orientation of the star"
 msgstr "星形的朝向"
 
-#: src/modules/mod_geometry/star.cpp:203 src/synfig/distance.cpp:251
+#: src/modules/mod_geometry/star.cpp:190 src/synfig/distance.cpp:253
 msgid "Points"
 msgstr "尖角"
 
-#: src/modules/mod_geometry/star.cpp:204
+#: src/modules/mod_geometry/star.cpp:191
 msgid "The number of points in the star"
 msgstr "星形的点数"
 
-#: src/modules/mod_geometry/star.cpp:208
+#: src/modules/mod_geometry/star.cpp:195
 msgid "Regular Polygon"
 msgstr "常规多边形"
 
-#: src/modules/mod_geometry/star.cpp:209
+#: src/modules/mod_geometry/star.cpp:196
 msgid "Whether to draw a star or a regular polygon"
 msgstr "是否绘成星形或常规多边形"
 
@@ -1572,20 +1593,20 @@ msgid "Conical Gradient"
 msgstr "锥形渐变"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:58
-#: src/modules/mod_gradient/curvegradient.cpp:61
+#: src/modules/mod_gradient/curvegradient.cpp:62
 #: src/modules/mod_gradient/lineargradient.cpp:55
 #: src/modules/mod_gradient/radialgradient.cpp:58
-#: src/modules/mod_gradient/spiralgradient.cpp:57
-#: src/modules/mod_noise/noise.cpp:58
+#: src/modules/mod_gradient/spiralgradient.cpp:58
+#: src/modules/mod_noise/noise.cpp:59
 msgid "Gradients"
 msgstr "渐变"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:110
-#: src/modules/mod_gradient/curvegradient.cpp:553
-#: src/modules/mod_gradient/lineargradient.cpp:200
+#: src/modules/mod_gradient/curvegradient.cpp:566
+#: src/modules/mod_gradient/lineargradient.cpp:195
 #: src/modules/mod_gradient/radialgradient.cpp:114
-#: src/modules/mod_gradient/spiralgradient.cpp:113
-#: src/modules/mod_noise/noise.cpp:260
+#: src/modules/mod_gradient/spiralgradient.cpp:114
+#: src/modules/mod_noise/noise.cpp:269
 msgid "Gradient to apply"
 msgstr "要施用的渐变"
 
@@ -1598,27 +1619,27 @@ msgid "Rotation of the gradient around the center"
 msgstr "渐变围绕变化的中心参考点"
 
 #: src/modules/mod_gradient/conicalgradient.cpp:126
-#: src/modules/mod_gradient/curvegradient.cpp:557
-#: src/modules/mod_gradient/lineargradient.cpp:204
+#: src/modules/mod_gradient/curvegradient.cpp:570
+#: src/modules/mod_gradient/lineargradient.cpp:199
 #: src/modules/mod_gradient/radialgradient.cpp:131
 msgid "When checked the gradient is looped"
 msgstr "选中后渐变是循环的"
 
-#: src/modules/mod_gradient/curvegradient.cpp:60
+#: src/modules/mod_gradient/curvegradient.cpp:61
 msgid "Curve Gradient"
 msgstr "曲线渐变"
 
-#: src/modules/mod_gradient/curvegradient.cpp:538
-#: src/modules/mod_particle/plant.cpp:399
+#: src/modules/mod_gradient/curvegradient.cpp:551
+#: src/modules/mod_particle/plant.cpp:432
 msgid "Offset for the Vertices List"
 msgstr "顶点清单的偏移"
 
-#: src/modules/mod_gradient/curvegradient.cpp:543
+#: src/modules/mod_gradient/curvegradient.cpp:556
 msgid "Global width of the gradient"
 msgstr "渐变的全局宽度"
 
-#: src/modules/mod_gradient/curvegradient.cpp:556
-#: src/modules/mod_gradient/lineargradient.cpp:203
+#: src/modules/mod_gradient/curvegradient.cpp:569
+#: src/modules/mod_gradient/lineargradient.cpp:198
 #: src/modules/mod_gradient/radialgradient.cpp:130
 #: src/synfig/valuenode_blinecalctangent.cpp:246
 #: src/synfig/valuenode_blinecalcvertex.cpp:206
@@ -1626,19 +1647,19 @@ msgstr "渐变的全局宽度"
 msgid "Loop"
 msgstr "循环"
 
-#: src/modules/mod_gradient/curvegradient.cpp:560
-#: src/modules/mod_gradient/lineargradient.cpp:207
+#: src/modules/mod_gradient/curvegradient.cpp:573
+#: src/modules/mod_gradient/lineargradient.cpp:202
 #: src/modules/mod_gradient/radialgradient.cpp:135
 msgid "ZigZag"
 msgstr "之字形"
 
-#: src/modules/mod_gradient/curvegradient.cpp:561
-#: src/modules/mod_gradient/lineargradient.cpp:208
+#: src/modules/mod_gradient/curvegradient.cpp:574
+#: src/modules/mod_gradient/lineargradient.cpp:203
 #: src/modules/mod_gradient/radialgradient.cpp:136
 msgid "When checked the gradient is summetrical at the center"
 msgstr ""
 
-#: src/modules/mod_gradient/curvegradient.cpp:564
+#: src/modules/mod_gradient/curvegradient.cpp:577
 msgid "Perpendicular"
 msgstr "垂直线"
 
@@ -1646,11 +1667,11 @@ msgstr "垂直线"
 msgid "Linear Gradient"
 msgstr "线性渐变"
 
-#: src/modules/mod_gradient/lineargradient.cpp:192
+#: src/modules/mod_gradient/lineargradient.cpp:187
 msgid "Start point of the gradient"
 msgstr "渐变起点"
 
-#: src/modules/mod_gradient/lineargradient.cpp:196
+#: src/modules/mod_gradient/lineargradient.cpp:191
 msgid "End point of the gradient"
 msgstr "渐变终点"
 
@@ -1659,23 +1680,23 @@ msgid "Radial Gradient"
 msgstr "径向渐变"
 
 #: src/modules/mod_gradient/radialgradient.cpp:119
-#: src/modules/mod_gradient/spiralgradient.cpp:118
+#: src/modules/mod_gradient/spiralgradient.cpp:119
 msgid "Center of the gradient"
 msgstr "渐变中心"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:56
+#: src/modules/mod_gradient/spiralgradient.cpp:57
 msgid "Spiral Gradient"
 msgstr "螺旋渐变"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:130
+#: src/modules/mod_gradient/spiralgradient.cpp:131
 msgid "Rotation of the spiral"
 msgstr ""
 
-#: src/modules/mod_gradient/spiralgradient.cpp:135
+#: src/modules/mod_gradient/spiralgradient.cpp:136
 msgid "Clockwise"
 msgstr "顺时针"
 
-#: src/modules/mod_gradient/spiralgradient.cpp:136
+#: src/modules/mod_gradient/spiralgradient.cpp:137
 msgid "When checked the spiral turns clockwise"
 msgstr ""
 
@@ -1688,13 +1709,15 @@ msgstr "无文件可加载"
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:157
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:158
-#: src/synfig/listimporter.cpp:184 src/synfig/listimporter.cpp:185
+#: src/synfig/cairolistimporter.cpp:191 src/synfig/cairolistimporter.cpp:192
+#: src/synfig/listimporter.cpp:185 src/synfig/listimporter.cpp:186
 msgid "Unable to open "
 msgstr "未能打开"
 
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:164
 #: src/modules/mod_imagemagick/mptr_imagemagick.cpp:165
-#: src/synfig/listimporter.cpp:191 src/synfig/listimporter.cpp:192
+#: src/synfig/cairolistimporter.cpp:198 src/synfig/cairolistimporter.cpp:199
+#: src/synfig/listimporter.cpp:192 src/synfig/listimporter.cpp:193
 msgid "Unable to get frame from "
 msgstr "未能获得帧"
 
@@ -1732,115 +1755,115 @@ msgstr "文件过早结束"
 msgid "Unable to open pipe to imagemagick's convert utility"
 msgstr "未能打开 ImageMagick 的转换工具管道"
 
-#: src/modules/mod_noise/distort.cpp:57
+#: src/modules/mod_noise/distort.cpp:58
 msgid "Noise Distort"
 msgstr "噪音扭曲"
 
-#: src/modules/mod_noise/distort.cpp:217
+#: src/modules/mod_noise/distort.cpp:222
 msgid "Displacement"
 msgstr "换置"
 
-#: src/modules/mod_noise/distort.cpp:218
+#: src/modules/mod_noise/distort.cpp:223
 msgid "How big the distortion displaces the context"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:223
+#: src/modules/mod_noise/distort.cpp:228
 msgid "The distance between distortions"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:226 src/modules/mod_noise/noise.cpp:263
+#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
 msgid "RandomNoise Seed"
 msgstr "随机噪音种子"
 
-#: src/modules/mod_noise/distort.cpp:227 src/modules/mod_noise/noise.cpp:264
+#: src/modules/mod_noise/distort.cpp:232 src/modules/mod_noise/noise.cpp:273
 msgid "Change to modify the random seed of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:230 src/modules/mod_noise/noise.cpp:271
-#: src/modules/mod_noise/valuenode_random.cpp:284
-#: src/synfig/layer_bitmap.cpp:169
+#: src/modules/mod_noise/distort.cpp:235 src/modules/mod_noise/noise.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/synfig/layer_bitmap.cpp:165
 msgid "Interpolation"
 msgstr "插值方法"
 
-#: src/modules/mod_noise/distort.cpp:231 src/modules/mod_noise/noise.cpp:272
-#: src/synfig/layer_bitmap.cpp:170
+#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:281
+#: src/synfig/layer_bitmap.cpp:166
 msgid "What type of interpolation to use"
 msgstr "要用的插值类型"
 
-#: src/modules/mod_noise/distort.cpp:233 src/modules/mod_noise/noise.cpp:274
-#: src/synfig/layer_bitmap.cpp:172
+#: src/modules/mod_noise/distort.cpp:238 src/modules/mod_noise/noise.cpp:283
+#: src/synfig/layer_bitmap.cpp:168
 msgid "Nearest Neighbor"
 msgstr "最近的邻居"
 
-#: src/modules/mod_noise/distort.cpp:236 src/modules/mod_noise/noise.cpp:277
-#: src/modules/mod_noise/valuenode_random.cpp:290 src/synfig/valuenode.cpp:149
-#: src/synfig/valuenode_bline.cpp:1001
+#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/valuenode_random.cpp:291 src/synfig/valuenode.cpp:155
+#: src/synfig/valuenode_bline.cpp:1006
 #: src/synfig/valuenode_blinecalctangent.cpp:241
 #: src/synfig/valuenode_blinecalcvertex.cpp:201
 #: src/synfig/valuenode_blinecalcwidth.cpp:206
 msgid "Spline"
 msgstr "Spline"
 
-#: src/modules/mod_noise/distort.cpp:237 src/modules/mod_noise/noise.cpp:278
-#: src/modules/mod_noise/valuenode_random.cpp:291
-#: src/synfig/layer_bitmap.cpp:175
+#: src/modules/mod_noise/distort.cpp:242 src/modules/mod_noise/noise.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:292
+#: src/synfig/layer_bitmap.cpp:171
 msgid "Cubic"
 msgstr "立方"
 
-#: src/modules/mod_noise/distort.cpp:240 src/modules/mod_noise/noise.cpp:281
+#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:290
 msgid "Detail"
 msgstr "细节"
 
-#: src/modules/mod_noise/distort.cpp:241 src/modules/mod_noise/noise.cpp:282
+#: src/modules/mod_noise/distort.cpp:246 src/modules/mod_noise/noise.cpp:291
 msgid "Increase to obtain fine details of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:244 src/modules/mod_noise/noise.cpp:285
+#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:294
 msgid "Animation Speed"
 msgstr "动画速度"
 
-#: src/modules/mod_noise/distort.cpp:245 src/modules/mod_noise/noise.cpp:286
+#: src/modules/mod_noise/distort.cpp:250 src/modules/mod_noise/noise.cpp:295
 msgid "In cycles per second"
 msgstr ""
 
-#: src/modules/mod_noise/distort.cpp:248 src/modules/mod_noise/noise.cpp:289
+#: src/modules/mod_noise/distort.cpp:253 src/modules/mod_noise/noise.cpp:298
 msgid "Turbulent"
 msgstr "湍流"
 
-#: src/modules/mod_noise/distort.cpp:249 src/modules/mod_noise/noise.cpp:290
+#: src/modules/mod_noise/distort.cpp:254 src/modules/mod_noise/noise.cpp:299
 msgid "When checked produces turbulent noise"
 msgstr ""
 
 #: src/modules/mod_noise/main.cpp:66
-#: src/modules/mod_noise/valuenode_random.cpp:183
+#: src/modules/mod_noise/valuenode_random.cpp:184
 msgid "Random"
 msgstr "随机"
 
-#: src/modules/mod_noise/noise.cpp:57
+#: src/modules/mod_noise/noise.cpp:58
 msgid "Noise Gradient"
 msgstr "噪音渐变"
 
-#: src/modules/mod_noise/noise.cpp:268
+#: src/modules/mod_noise/noise.cpp:277
 msgid "Size of the noise"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:293
+#: src/modules/mod_noise/noise.cpp:302
 msgid "Do Alpha"
 msgstr "用透明"
 
-#: src/modules/mod_noise/noise.cpp:294
+#: src/modules/mod_noise/noise.cpp:303
 msgid "Uses transparency"
 msgstr ""
 
-#: src/modules/mod_noise/noise.cpp:297
+#: src/modules/mod_noise/noise.cpp:306
 msgid "Super Sampling"
 msgstr "超级取样"
 
-#: src/modules/mod_noise/noise.cpp:298
+#: src/modules/mod_noise/noise.cpp:307
 msgid "When checked the gradient is supersampled"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:264
+#: src/modules/mod_noise/valuenode_random.cpp:265
 #: src/synfig/valuenode_integer.cpp:194 src/synfig/valuenode_not.cpp:141
 #: src/synfig/valuenode_range.cpp:288 src/synfig/valuenode_real.cpp:182
 #: src/synfig/valuenode_reciprocal.cpp:165
@@ -1849,167 +1872,167 @@ msgstr ""
 msgid "Link"
 msgstr "链接"
 
-#: src/modules/mod_noise/valuenode_random.cpp:265
+#: src/modules/mod_noise/valuenode_random.cpp:266
 msgid "The value node source that provides the central value"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:270
+#: src/modules/mod_noise/valuenode_random.cpp:271
 msgid "The value of the maximum random difference"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:274
-#: src/modules/mod_particle/plant.cpp:450
+#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_particle/plant.cpp:483
 msgid "Seed"
 msgstr "种子"
 
-#: src/modules/mod_noise/valuenode_random.cpp:275
+#: src/modules/mod_noise/valuenode_random.cpp:276
 msgid "Seeds the random number generator"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:279
+#: src/modules/mod_noise/valuenode_random.cpp:280
 msgid "Speed"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:280
+#: src/modules/mod_noise/valuenode_random.cpp:281
 msgid "Defines how often a new random value is chosen (in choices per second) "
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:285
+#: src/modules/mod_noise/valuenode_random.cpp:286
 msgid ""
 "Determines how the value is interpolated from one random choice to the next"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:287
+#: src/modules/mod_noise/valuenode_random.cpp:288
 msgid "No interpolation"
 msgstr ""
 
-#: src/modules/mod_noise/valuenode_random.cpp:296
+#: src/modules/mod_noise/valuenode_random.cpp:297
 msgid "Loop Time"
 msgstr "时间循环"
 
-#: src/modules/mod_noise/valuenode_random.cpp:297
+#: src/modules/mod_noise/valuenode_random.cpp:298
 msgid "Makes the random value repeat after the given time"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:69
+#: src/modules/mod_particle/plant.cpp:70
 msgid "Plant"
 msgstr "植物"
 
-#: src/modules/mod_particle/plant.cpp:404
+#: src/modules/mod_particle/plant.cpp:437
 msgid "Gradient to be used for coloring the plant"
 msgstr "用于植物上色的渐变"
 
-#: src/modules/mod_particle/plant.cpp:408
+#: src/modules/mod_particle/plant.cpp:441
 msgid "Split Angle"
 msgstr "分离角度"
 
-#: src/modules/mod_particle/plant.cpp:409
+#: src/modules/mod_particle/plant.cpp:442
 msgid "Angle by which each split deviates from its parent"
 msgstr "从父辈分离的角度"
 
-#: src/modules/mod_particle/plant.cpp:413
+#: src/modules/mod_particle/plant.cpp:446
 msgid "Gravity"
 msgstr "引力"
 
-#: src/modules/mod_particle/plant.cpp:414
+#: src/modules/mod_particle/plant.cpp:447
 msgid "Direction in which the shoots tend to face"
 msgstr "嫩枝的倾向"
 
-#: src/modules/mod_particle/plant.cpp:419
+#: src/modules/mod_particle/plant.cpp:452
 msgid "Tangential Velocity"
 msgstr "正切率"
 
-#: src/modules/mod_particle/plant.cpp:420
+#: src/modules/mod_particle/plant.cpp:453
 msgid "Amount to which shoots tend to grow along the tangent to the spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:424
+#: src/modules/mod_particle/plant.cpp:457
 msgid "Perpendicular Velocity"
 msgstr "垂直速度"
 
-#: src/modules/mod_particle/plant.cpp:425
+#: src/modules/mod_particle/plant.cpp:458
 msgid ""
 "Amount to which shoots tend to grow perpendicular to the tangent to the "
 "spline"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:429
+#: src/modules/mod_particle/plant.cpp:462
 msgid "Stem Size"
 msgstr "茎大小"
 
-#: src/modules/mod_particle/plant.cpp:430
+#: src/modules/mod_particle/plant.cpp:463
 msgid "Size of the stem"
 msgstr "茎的大小"
 
-#: src/modules/mod_particle/plant.cpp:435
+#: src/modules/mod_particle/plant.cpp:468
 msgid "Size As Alpha"
 msgstr "大小按照透明度"
 
-#: src/modules/mod_particle/plant.cpp:436
+#: src/modules/mod_particle/plant.cpp:469
 msgid ""
 "If enabled, the alpha channel from the gradient is multiplied by the stem "
 "size, and an alpha of 1.0 is used when rendering"
 msgstr "如果打开,渐变的透明度通道用茎的大小相乘,在渲染是使用的透明度为1.0"
 
-#: src/modules/mod_particle/plant.cpp:440
+#: src/modules/mod_particle/plant.cpp:473
 msgid "Reverse"
 msgstr "颠倒"
 
-#: src/modules/mod_particle/plant.cpp:441
+#: src/modules/mod_particle/plant.cpp:474
 msgid "If enabled, render the plant in the opposite direction"
 msgstr "如果激活,植物出现在另一面"
 
-#: src/modules/mod_particle/plant.cpp:445 src/synfig/valuenode.cpp:170
+#: src/modules/mod_particle/plant.cpp:478 src/synfig/valuenode.cpp:176
 #: src/synfig/valuenode_duplicate.cpp:203 src/synfig/valuenode_step.cpp:142
 msgid "Step"
 msgstr "步长"
 
-#: src/modules/mod_particle/plant.cpp:446
+#: src/modules/mod_particle/plant.cpp:479
 msgid "Measure of the distance between points when rendering"
 msgstr "渲染时测量点与点之间的距离"
 
-#: src/modules/mod_particle/plant.cpp:451
+#: src/modules/mod_particle/plant.cpp:484
 msgid "Used to seed the pseudo-random number generator"
 msgstr "用作伪随机数生产器的种子"
 
-#: src/modules/mod_particle/plant.cpp:455
+#: src/modules/mod_particle/plant.cpp:488
 msgid "Splits"
 msgstr "分叉"
 
-#: src/modules/mod_particle/plant.cpp:456
+#: src/modules/mod_particle/plant.cpp:489
 msgid "Maximum number of times that each sprout can sprout recursively"
 msgstr "每个枝桠的分支最大次数"
 
-#: src/modules/mod_particle/plant.cpp:460
+#: src/modules/mod_particle/plant.cpp:493
 msgid "Sprouts"
 msgstr "枝桠"
 
-#: src/modules/mod_particle/plant.cpp:461
+#: src/modules/mod_particle/plant.cpp:494
 msgid "Number of places that growth occurs on each spline section"
 msgstr ""
 
-#: src/modules/mod_particle/plant.cpp:465
+#: src/modules/mod_particle/plant.cpp:498
 msgid "Random Factor"
 msgstr "随机因子"
 
-#: src/modules/mod_particle/plant.cpp:466
+#: src/modules/mod_particle/plant.cpp:499
 msgid ""
 "Used to scale down all random effects.  Set to zero to disable randomness"
 msgstr "用作缩小所有的随机效果。设为零是取消随机性"
 
-#: src/modules/mod_particle/plant.cpp:470
+#: src/modules/mod_particle/plant.cpp:503
 msgid "Drag"
 msgstr "拽"
 
-#: src/modules/mod_particle/plant.cpp:471
+#: src/modules/mod_particle/plant.cpp:504
 msgid "Drag slows the growth"
 msgstr "拽着,放慢生长"
 
-#: src/modules/mod_particle/plant.cpp:475
+#: src/modules/mod_particle/plant.cpp:508
 msgid "Use Width"
 msgstr "使用宽度"
 
-#: src/modules/mod_particle/plant.cpp:476
+#: src/modules/mod_particle/plant.cpp:509
 msgid "Scale the velocity by the spline's width"
 msgstr ""
 
@@ -2018,97 +2041,102 @@ msgstr ""
 msgid "%s was not in PPM format"
 msgstr "%s 不是 PPM 格式"
 
-#: src/synfig/cairoimporter.cpp:87 src/synfig/importer.cpp:87
+#: src/synfig/cairoimporter.cpp:88 src/synfig/importer.cpp:90
 msgid "Importer::open(): Cannot open empty filename"
 msgstr "输入::打开():不能打开空文件名"
 
-#: src/synfig/cairoimporter.cpp:101 src/synfig/importer.cpp:101
+#: src/synfig/cairoimporter.cpp:102 src/synfig/importer.cpp:104
 msgid "Importer::open(): Couldn't find extension"
 msgstr "输入::打开():不能找到扩展名"
 
-#: src/synfig/cairoimporter.cpp:112 src/synfig/importer.cpp:112
+#: src/synfig/cairoimporter.cpp:113 src/synfig/importer.cpp:115
 msgid "Importer::open(): Unknown file type -- "
 msgstr "输入::打开():未知文件类型——"
 
-#: src/synfig/canvas.cpp:798 src/synfig/canvas.cpp:863
-#: src/synfig/canvas.cpp:886
+#: src/synfig/cairolistimporter.cpp:163 src/synfig/cairolistimporter.cpp:164
+#: src/synfig/listimporter.cpp:162 src/synfig/listimporter.cpp:163
+msgid "No images in list"
+msgstr "清单没有图像"
+
+#: src/synfig/canvas.cpp:834 src/synfig/canvas.cpp:902
+#: src/synfig/canvas.cpp:927
 msgid "in line"
 msgstr "内联"
 
-#: src/synfig/distance.cpp:249
+#: src/synfig/distance.cpp:251
 msgid "Units"
 msgstr "单位"
 
-#: src/synfig/distance.cpp:250
+#: src/synfig/distance.cpp:252
 msgid "Pixels"
 msgstr "像素"
 
-#: src/synfig/distance.cpp:252
+#: src/synfig/distance.cpp:254
 msgid "Inches"
 msgstr "英寸"
 
-#: src/synfig/distance.cpp:253
+#: src/synfig/distance.cpp:255
 msgid "Meters"
 msgstr "米"
 
-#: src/synfig/distance.cpp:254
+#: src/synfig/distance.cpp:256
 msgid "Millimeters"
 msgstr "毫米"
 
-#: src/synfig/distance.cpp:255
+#: src/synfig/distance.cpp:257
 msgid "Centimeters"
 msgstr "厘米"
 
-#: src/synfig/layer.cpp:565 src/synfig/layer_composite.cpp:128
+#: src/synfig/layer.cpp:550 src/synfig/layer_composite.cpp:130
 msgid "Unable to create surface target"
 msgstr "未能创建面目标"
 
-#: src/synfig/layer.cpp:619
+#: src/synfig/layer.cpp:605
 msgid "Z Depth"
 msgstr "Z 深度"
 
-#: src/synfig/layer.cpp:621
+#: src/synfig/layer.cpp:607
 msgid "Modifies the position of the layer in the layer stack"
 msgstr ""
 
-#: src/synfig/layer_bitmap.cpp:159
+#: src/synfig/layer_bitmap.cpp:155
 msgid "Top-Left"
 msgstr "左上角"
 
-#: src/synfig/layer_bitmap.cpp:160
+#: src/synfig/layer_bitmap.cpp:156
 msgid "Upper left-hand Corner of image"
 msgstr "图像的左上角"
 
-#: src/synfig/layer_bitmap.cpp:164
+#: src/synfig/layer_bitmap.cpp:160
 msgid "Bottom-Right"
 msgstr "右下角"
 
-#: src/synfig/layer_bitmap.cpp:165
+#: src/synfig/layer_bitmap.cpp:161
 msgid "Lower right-hand Corner of image"
 msgstr "图像的右下角"
 
-#: src/synfig/layer_composite.cpp:218
+#: src/synfig/layer_composite.cpp:250
 msgid "Alpha channel of the layer"
 msgstr ""
 
-#: src/synfig/layer_composite.cpp:221 src/synfig/paramdesc.cpp:62
+#: src/synfig/layer_composite.cpp:253 src/synfig/paramdesc.cpp:66
 msgid "Blend Method"
 msgstr "混合方式"
 
-#: src/synfig/layer_composite.cpp:222
+#: src/synfig/layer_composite.cpp:254
 msgid "The blending method used to composite on the layers below"
 msgstr ""
 
-#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:168
+#: src/synfig/layer_duplicate.cpp:56 src/synfig/valuenode.cpp:174
 #: src/synfig/valuenode_duplicate.cpp:174
 msgid "Duplicate"
 msgstr "复制"
 
-#: src/synfig/layer_duplicate.cpp:148
+#: src/synfig/layer_duplicate.cpp:151
 msgid "Index"
 msgstr "索引"
 
-#: src/synfig/layer_duplicate.cpp:149
+#: src/synfig/layer_duplicate.cpp:152
 msgid "Copy Index"
 msgstr "拷贝索引"
 
@@ -2120,156 +2148,156 @@ msgstr "[MIME]"
 msgid "Motion Blur"
 msgstr "运动模糊"
 
-#: src/synfig/layer_motionblur.cpp:136
+#: src/synfig/layer_motionblur.cpp:135
 msgid "Aperture"
 msgstr "光圈"
 
-#: src/synfig/layer_motionblur.cpp:137
+#: src/synfig/layer_motionblur.cpp:136
 msgid "Shutter Time"
 msgstr "快门时间"
 
-#: src/synfig/layer_motionblur.cpp:141
+#: src/synfig/layer_motionblur.cpp:140
 msgid "Subsamples Factor"
 msgstr "二次抽样系数"
 
-#: src/synfig/layer_motionblur.cpp:142
+#: src/synfig/layer_motionblur.cpp:141
 msgid "Multiplies The Number Of Subsamples Rendered"
 msgstr "乘预渲染的子样本的数量"
 
-#: src/synfig/layer_motionblur.cpp:146
+#: src/synfig/layer_motionblur.cpp:145
 msgid "Subsampling Type"
 msgstr "二次抽样类型"
 
-#: src/synfig/layer_motionblur.cpp:147
+#: src/synfig/layer_motionblur.cpp:146
 msgid "Curve Type For Weighting Subsamples"
 msgstr "用于权重子样本的曲线类型"
 
-#: src/synfig/layer_motionblur.cpp:149 src/synfig/valuenode_const.cpp:127
+#: src/synfig/layer_motionblur.cpp:148 src/synfig/valuenode_const.cpp:160
 msgid "Constant"
 msgstr "常量"
 
-#: src/synfig/layer_motionblur.cpp:151
+#: src/synfig/layer_motionblur.cpp:150
 msgid "Hyperbolic"
 msgstr "双曲线"
 
-#: src/synfig/layer_motionblur.cpp:155
+#: src/synfig/layer_motionblur.cpp:154
 msgid "Subsample Start Amount"
 msgstr "二次抽样始量"
 
-#: src/synfig/layer_motionblur.cpp:156
+#: src/synfig/layer_motionblur.cpp:155
 msgid "Relative Amount Of The First Subsample, For Linear Weighting"
 msgstr "第一个子样本的相关量,用于线性权重"
 
-#: src/synfig/layer_motionblur.cpp:160
+#: src/synfig/layer_motionblur.cpp:159
 msgid "Subsample End Amount"
 msgstr "二次抽样末量"
 
-#: src/synfig/layer_motionblur.cpp:161
+#: src/synfig/layer_motionblur.cpp:160
 msgid "Relative Amount Of The Last Subsample, For Linear Weighting"
 msgstr "最后子样本的相关量,用于线性权重"
 
-#: src/synfig/layer_pastecanvas.cpp:78 src/synfig/layer_pastecanvas.cpp:120
-#: src/synfig/layer_pastecanvas.cpp:121
+#: src/synfig/layer_pastecanvas.cpp:80 src/synfig/layer_pastecanvas.cpp:123
+#: src/synfig/layer_pastecanvas.cpp:124
 msgid "Group"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:137
+#: src/synfig/layer_pastecanvas.cpp:140
 msgid "Canvas"
 msgstr "画布"
 
-#: src/synfig/layer_pastecanvas.cpp:138
+#: src/synfig/layer_pastecanvas.cpp:141
 msgid "Group content"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:141
+#: src/synfig/layer_pastecanvas.cpp:144
 msgid "Zoom"
 msgstr "缩放"
 
-#: src/synfig/layer_pastecanvas.cpp:142
+#: src/synfig/layer_pastecanvas.cpp:145
 msgid "Size of canvas"
 msgstr "画布的大小"
 
-#: src/synfig/layer_pastecanvas.cpp:147
+#: src/synfig/layer_pastecanvas.cpp:152
 msgid "Time Offset to apply to the context"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:151
+#: src/synfig/layer_pastecanvas.cpp:156
 msgid "Children Lock"
 msgstr "子女锁"
 
-#: src/synfig/layer_pastecanvas.cpp:152
+#: src/synfig/layer_pastecanvas.cpp:157
 msgid "When checked prevents to select the children using the mouse click"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:156
+#: src/synfig/layer_pastecanvas.cpp:162
 msgid "Focus Point"
 msgstr "聚焦点"
 
-#: src/synfig/layer_pastecanvas.cpp:159
+#: src/synfig/layer_pastecanvas.cpp:165
 msgid "Point to remain fixed when zooming"
 msgstr "缩放时用来保持固定的点"
 
-#: src/synfig/layer_pastecanvas.cpp:164
+#: src/synfig/layer_pastecanvas.cpp:170
 msgid "Outline Grow"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:165
+#: src/synfig/layer_pastecanvas.cpp:171
 msgid "Exponential value to grow children Outline layers width"
 msgstr ""
 
-#: src/synfig/layer_pastecanvas.cpp:180
+#: src/synfig/layer_pastecanvas.cpp:186
 msgid "Current Time"
 msgstr "当前时间"
 
-#: src/synfig/layer_polygon.cpp:61
+#: src/synfig/layer_polygon.cpp:60
 msgid "Polygon"
 msgstr "多边形"
 
-#: src/synfig/layer_polygon.cpp:187
+#: src/synfig/layer_polygon.cpp:194
 msgid "Vertices List"
 msgstr ""
 
-#: src/synfig/layer_polygon.cpp:188
+#: src/synfig/layer_polygon.cpp:195
 msgid "Define the corners of the polygon"
 msgstr ""
 
-#: src/synfig/layer_shape.cpp:64
+#: src/synfig/layer_shape.cpp:66
 msgid "Shape"
 msgstr "图形"
 
-#: src/synfig/layer_shape.cpp:65
+#: src/synfig/layer_shape.cpp:67
 msgid "Internal"
 msgstr "内部"
 
-#: src/synfig/layer_shape.cpp:1194
+#: src/synfig/layer_shape.cpp:1222
 msgid "Layer_Shape Color"
 msgstr "层图形颜色"
 
-#: src/synfig/layer_shape.cpp:1203
+#: src/synfig/layer_shape.cpp:1231
 msgid "Antialiasing"
 msgstr "抗锯齿"
 
-#: src/synfig/layer_shape.cpp:1210
+#: src/synfig/layer_shape.cpp:1238
 msgid "Type of Feather"
 msgstr "羽化类型"
 
-#: src/synfig/layer_shape.cpp:1211
+#: src/synfig/layer_shape.cpp:1239
 msgid "Type of feathering to use"
 msgstr "要使用的羽化类型"
 
-#: src/synfig/layer_shape.cpp:1220
+#: src/synfig/layer_shape.cpp:1248
 msgid "Winding Style"
 msgstr "蜿蜒风格"
 
-#: src/synfig/layer_shape.cpp:1221
+#: src/synfig/layer_shape.cpp:1249
 msgid "Winding style to use"
 msgstr "要使用的蜿蜒风格"
 
-#: src/synfig/layer_shape.cpp:1223
+#: src/synfig/layer_shape.cpp:1251
 msgid "Non Zero"
 msgstr "非零"
 
-#: src/synfig/layer_shape.cpp:1224
+#: src/synfig/layer_shape.cpp:1252
 msgid "Even/Odd"
 msgstr "奇/偶"
 
@@ -2277,406 +2305,406 @@ msgstr "奇/偶"
 msgid "Solid Color"
 msgstr "平涂色"
 
-#: src/synfig/listimporter.cpp:161 src/synfig/listimporter.cpp:162
-msgid "No images in list"
-msgstr "清单没有图像"
-
-#: src/synfig/loadcanvas.cpp:142
+#: src/synfig/loadcanvas.cpp:143
 #, c-format
 msgid "cannot load '%s' recursively"
 msgstr "不能递归加载‘%s’"
 
-#: src/synfig/loadcanvas.cpp:185
+#: src/synfig/loadcanvas.cpp:186
 #, c-format
 msgid "Unexpected element <%s>, Expected <%s>"
 msgstr "非期望的元素<%s>,而期望的是<%s>"
 
-#: src/synfig/loadcanvas.cpp:191
+#: src/synfig/loadcanvas.cpp:192
 #, c-format
 msgid "Unexpected element <%s>"
 msgstr "非期望的颜色<%s>"
 
-#: src/synfig/loadcanvas.cpp:205
+#: src/synfig/loadcanvas.cpp:206
 msgid "Too many warnings"
 msgstr "太多警告"
 
-#: src/synfig/loadcanvas.cpp:236
+#: src/synfig/loadcanvas.cpp:237
 #, c-format
 msgid "<%s> is missing \"%s\" attribute"
 msgstr "<%s>需要“%s”属性"
 
 #: src/synfig/loadcanvas.cpp:267 src/synfig/loadcanvas.cpp:286
-#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:469
-#: src/synfig/loadcanvas.cpp:1118
+#: src/synfig/loadcanvas.cpp:305 src/synfig/loadcanvas.cpp:324
+#: src/synfig/loadcanvas.cpp:494 src/synfig/loadcanvas.cpp:1149
 #, c-format
 msgid "<%s> should not contain anything"
 msgstr "<%s>里不应包含如何东西"
 
 #: src/synfig/loadcanvas.cpp:271 src/synfig/loadcanvas.cpp:290
-#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:473
-#: src/synfig/loadcanvas.cpp:1122
+#: src/synfig/loadcanvas.cpp:309 src/synfig/loadcanvas.cpp:328
+#: src/synfig/loadcanvas.cpp:498 src/synfig/loadcanvas.cpp:1153
 #, c-format
 msgid "<%s> is missing \"value\" attribute"
 msgstr "<%s>需要“值“属性"
 
-#: src/synfig/loadcanvas.cpp:484 src/synfig/loadcanvas.cpp:1144
+#: src/synfig/loadcanvas.cpp:509 src/synfig/loadcanvas.cpp:1182
+#: src/synfig/loadcanvas.cpp:1200
 #, c-format
 msgid "Bad value \"%s\" in <%s>"
 msgstr "在<%s>中出现错误的值“%s”"
 
-#: src/synfig/loadcanvas.cpp:508
+#: src/synfig/loadcanvas.cpp:533
 #, c-format
 msgid "<%s> is missing \"pos\" attribute"
 msgstr "<%s>需要“pos”属性"
 
-#: src/synfig/loadcanvas.cpp:1284
+#: src/synfig/loadcanvas.cpp:1353
 #, c-format
 msgid "Unable to create <animated> with type \"%s\""
 msgstr "未能用“%s”创建 <aminated>"
 
-#: src/synfig/loadcanvas.cpp:1301
+#: src/synfig/loadcanvas.cpp:1375
 msgid "<waypoint> is missing attribute \"time\""
 msgstr "<waypoint>缺少“时间”属性"
 
-#: src/synfig/loadcanvas.cpp:1314
+#: src/synfig/loadcanvas.cpp:1388
 msgid ""
 "Found \"use\" attribute for <waypoint>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr "发现<waypoint>“用“属性,但不是空的。忽略内容..."
 
-#: src/synfig/loadcanvas.cpp:1330
+#: src/synfig/loadcanvas.cpp:1404
 #, c-format
 msgid "Unknown ID (%s) referenced in waypoint"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1336 src/synfig/loadcanvas.cpp:1348
+#: src/synfig/loadcanvas.cpp:1410 src/synfig/loadcanvas.cpp:1422
 #, c-format
 msgid "<%s> is missing its data"
 msgstr "<%s>缺失数据"
 
-#: src/synfig/loadcanvas.cpp:1365
+#: src/synfig/loadcanvas.cpp:1439
 msgid "Bad data for <waypoint>"
 msgstr "<waypoint>的错误数据"
 
-#: src/synfig/loadcanvas.cpp:1380
+#: src/synfig/loadcanvas.cpp:1455
 #, c-format
 msgid "Unexpected element <%s> after <waypoint> data, ignoring..."
 msgstr "非期望的<%s>元素出现在<waypoint>数据之后,忽略..."
 
-#: src/synfig/loadcanvas.cpp:1424 src/synfig/loadcanvas.cpp:1443
-#, c-format
-msgid "\"%s\" not a valid value for attribute \"%s\" in <%s>"
-msgstr "“%s”不是<%s>中的“%s”属性的有效值"
-
-#: src/synfig/loadcanvas.cpp:1504
+#: src/synfig/loadcanvas.cpp:1556
 #, c-format
 msgid "Missing attribute \"type\" in <%s>"
 msgstr "<%s>中缺失“类型”属性"
 
-#: src/synfig/loadcanvas.cpp:1512
+#: src/synfig/loadcanvas.cpp:1565
 #, c-format
 msgid "Bad type in <%s>"
 msgstr "<%s>的错误类型"
 
-#: src/synfig/loadcanvas.cpp:1522
+#: src/synfig/loadcanvas.cpp:1577
 #, c-format
 msgid "Error creating ValueNode <%s> with type '%s'.  Refer to '%s'"
 msgstr "使用类型'%s'创建值节点<%s>出错。参考'%s'"
 
-#: src/synfig/loadcanvas.cpp:1531
+#: src/synfig/loadcanvas.cpp:1587
 #, c-format
 msgid "<%s> did not accept type '%s'"
 msgstr "<%s>不接受‘%s’类型"
 
-#: src/synfig/loadcanvas.cpp:1557 src/synfig/loadcanvas.cpp:1628
+#: src/synfig/loadcanvas.cpp:1612 src/synfig/loadcanvas.cpp:1683
 #, c-format
 msgid "'%s' was already defined in <%s>"
 msgstr "‘%s’已经在<%s>中定义了"
 
-#: src/synfig/loadcanvas.cpp:1570
+#: src/synfig/loadcanvas.cpp:1625
 #, c-format
 msgid "'%s' attribute in <%s> references unknown ID '%s'"
 msgstr "在<%s>中的属性‘%s‘引用未知 ID‘%s’"
 
-#: src/synfig/loadcanvas.cpp:1579
+#: src/synfig/loadcanvas.cpp:1634
 #, c-format
 msgid "Unable to set link '\"%s\" to ValueNode \"%s\" (link #%d in \"%s\")"
 msgstr "未能设置链接“%s”到值节点“%s”(链接#%d在“%s”)"
 
-#: src/synfig/loadcanvas.cpp:1603
+#: src/synfig/loadcanvas.cpp:1658
 #, c-format
 msgid "Unknown Exception thrown when referencing ValueNode \"%s\""
 msgstr "当参考值节点“%s”时,有未知异常抛出"
 
-#: src/synfig/loadcanvas.cpp:1643
+#: src/synfig/loadcanvas.cpp:1698
 #, c-format
 msgid "element <%s> is missing its contents"
 msgstr "元素<%s>丢失其内容"
 
-#: src/synfig/loadcanvas.cpp:1652
+#: src/synfig/loadcanvas.cpp:1707
 #, c-format
 msgid "Parse of '%s' failed"
 msgstr "‘%s’的解释失败"
 
-#: src/synfig/loadcanvas.cpp:1659
+#: src/synfig/loadcanvas.cpp:1714
 #, c-format
 msgid "Unable to connect value node ('%s' of type '%s') to link %d (%s)"
 msgstr "未能联接值节点('%s'类型的'%s')到链接%d(%s)"
 
-#: src/synfig/loadcanvas.cpp:1677
+#: src/synfig/loadcanvas.cpp:1732
 #, c-format
 msgid "Unknown Exception thrown when working on element \"%s\""
 msgstr "在处理“%s”元素时未知例外抛出"
 
-#: src/synfig/loadcanvas.cpp:1747
+#: src/synfig/loadcanvas.cpp:1811
 #, c-format
 msgid "<%s> is missing link %d (%s)"
 msgstr "<%s> 缺少链接 %d (%s)"
 
-#: src/synfig/loadcanvas.cpp:1841
-msgid "Unable to create <dynamic_list>"
-msgstr "未能创建<dynamic_list>"
+#: src/synfig/loadcanvas.cpp:1861
+msgid "Unable to create <list>"
+msgstr ""
 
-#: src/synfig/loadcanvas.cpp:1993
+#: src/synfig/loadcanvas.cpp:1903 src/synfig/loadcanvas.cpp:2150
 msgid "<entry> is missing its contents or missing \"use\" element"
 msgstr "<entry>缺少其内容或缺少“使用”元素"
 
-#: src/synfig/loadcanvas.cpp:2038
+#: src/synfig/loadcanvas.cpp:1998
+msgid "Unable to create <dynamic_list>"
+msgstr "未能创建<dynamic_list>"
+
+#: src/synfig/loadcanvas.cpp:2220
 #, c-format
 msgid "Bad data in <%s>"
 msgstr "<%s>中有坏数据"
 
-#: src/synfig/loadcanvas.cpp:2076
+#: src/synfig/loadcanvas.cpp:2283
 #, c-format
 msgid "Expected a ValueNode.  Refer to '%s'"
 msgstr "期待值节点。参考‘%s’"
 
-#: src/synfig/loadcanvas.cpp:2097
+#: src/synfig/loadcanvas.cpp:2304
 #, c-format
 msgid "Bad ID \"%s\""
 msgstr "坏 ID“%s”"
 
-#: src/synfig/loadcanvas.cpp:2102
+#: src/synfig/loadcanvas.cpp:2310
 #, c-format
 msgid "Duplicate ID \"%s\""
 msgstr "复制 ID“%s”"
 
-#: src/synfig/loadcanvas.cpp:2107
+#: src/synfig/loadcanvas.cpp:2316
 #, c-format
 msgid "Unknown Exception thrown when adding ValueNode \"%s\""
 msgstr "添加值节点“%s”时抛出未知异常"
 
-#: src/synfig/loadcanvas.cpp:2142
+#: src/synfig/loadcanvas.cpp:2373
 msgid "Missing \"type\" attribute to \"layer\" element"
 msgstr "缺失“层”元素的“类型”属性"
 
-#: src/synfig/loadcanvas.cpp:2161
+#: src/synfig/loadcanvas.cpp:2392
 msgid "Installed layer version is smaller than layer version in file"
 msgstr "安装的层的版本号小于文件中的"
 
-#: src/synfig/loadcanvas.cpp:2181
+#: src/synfig/loadcanvas.cpp:2415
 msgid "<name> entry for <layer> is not yet supported. Ignoring..."
 msgstr "<layer>的<name>条目是不支持的。正在忽略..."
 
-#: src/synfig/loadcanvas.cpp:2184
+#: src/synfig/loadcanvas.cpp:2418
 msgid "<desc> entry for <layer> is not yet supported. Ignoring..."
 msgstr "<layer>的<desc>条目是不支持的。正在忽略..."
 
-#: src/synfig/loadcanvas.cpp:2192
+#: src/synfig/loadcanvas.cpp:2426
 msgid "Missing \"name\" attribute for <param>."
 msgstr "缺失<param>的”名字“属性。"
 
-#: src/synfig/loadcanvas.cpp:2209
+#: src/synfig/loadcanvas.cpp:2443
 msgid ""
 "Found \"use\" attribute for <param>, but it wasn't empty. Ignoring "
 "contents..."
 msgstr "找到<param>”使用“属性,但它不是空的。正在忽略内容..."
 
-#: src/synfig/loadcanvas.cpp:2214
+#: src/synfig/loadcanvas.cpp:2448
 msgid "Empty use=\"\" value in <param>"
 msgstr "在<param>中空的使用值"
 
-#: src/synfig/loadcanvas.cpp:2220
+#: src/synfig/loadcanvas.cpp:2454
 #, c-format
 msgid "Failed to load subcanvas '%s'"
 msgstr "加载子画布失败‘%s’"
 
-#: src/synfig/loadcanvas.cpp:2222
+#: src/synfig/loadcanvas.cpp:2456
 msgid "Layer rejected canvas link"
 msgstr "层退回画布链接"
 
-#: src/synfig/loadcanvas.cpp:2244
+#: src/synfig/loadcanvas.cpp:2480
 #, c-format
 msgid "Unknown ID (%s) referenced in parameter \"%s\""
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2260
+#: src/synfig/loadcanvas.cpp:2496
 msgid "<param> is either missing its contents, or missing a \"use\" attribute."
 msgstr "<param>可能缺失其内容,或者是缺失一个”使用“属性。"
 
-#: src/synfig/loadcanvas.cpp:2272 src/synfig/loadcanvas.cpp:2292
+#: src/synfig/loadcanvas.cpp:2508 src/synfig/loadcanvas.cpp:2528
 msgid "Bad data for <param>"
 msgstr "用于<param>的坏数据"
 
-#: src/synfig/loadcanvas.cpp:2280
+#: src/synfig/loadcanvas.cpp:2516
 #, c-format
 msgid "Layer '%s' rejected value for parameter '%s'"
 msgstr "层‘%s’弹出值给参数‘%s’"
 
-#: src/synfig/loadcanvas.cpp:2303
+#: src/synfig/loadcanvas.cpp:2539
 #, c-format
 msgid "Unexpected element <%s> after <param> data, ignoring..."
 msgstr "非期望望的元素<%s> 在 <param> 数据,正在忽略..."
 
-#: src/synfig/loadcanvas.cpp:2376 src/synfig/loadcanvas.cpp:2384
+#: src/synfig/loadcanvas.cpp:2615 src/synfig/loadcanvas.cpp:2623
 msgid "Canvas with width or height less than one is not allowed"
 msgstr "画布的宽度或高度小于一是不允许的"
 
-#: src/synfig/loadcanvas.cpp:2470
+#: src/synfig/loadcanvas.cpp:2710
 msgid "Group canvases cannot have a <defs> section"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2478
+#: src/synfig/loadcanvas.cpp:2717
+msgid "Inline canvas cannot have a <bones> section"
+msgstr ""
+
+#: src/synfig/loadcanvas.cpp:2725
 msgid "Group canvases cannot have keyframes"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2490
+#: src/synfig/loadcanvas.cpp:2737
 msgid "Group canvases cannot have metadata"
 msgstr ""
 
-#: src/synfig/loadcanvas.cpp:2498
+#: src/synfig/loadcanvas.cpp:2745
 msgid "<meta> must have a name"
 msgstr "<meta>必须有名字"
 
-#: src/synfig/loadcanvas.cpp:2504
+#: src/synfig/loadcanvas.cpp:2751
 msgid "<meta> must have content"
 msgstr "<meta>必须有内容"
 
-#: src/synfig/loadcanvas.cpp:2516
+#: src/synfig/loadcanvas.cpp:2763
 msgid "blank \"name\" entity"
 msgstr "空白的“名字”栏"
 
-#: src/synfig/loadcanvas.cpp:2531
+#: src/synfig/loadcanvas.cpp:2778
 msgid "blank \"desc\" entity"
 msgstr "空白的“描述”栏"
 
-#: src/synfig/loadcanvas.cpp:2546
+#: src/synfig/loadcanvas.cpp:2793
 msgid "blank \"author\" entity"
 msgstr "空白的“作者”栏"
 
-#: src/synfig/loadcanvas.cpp:2578
+#: src/synfig/loadcanvas.cpp:2828
 #, c-format
 msgid "Canvas '%s' has undefined %s: %s"
 msgstr "画布‘%s’还么定义%s:%s"
 
-#: src/synfig/loadcanvas.cpp:2580 src/synfig/valuenode.cpp:353
+#: src/synfig/loadcanvas.cpp:2830 src/synfig/valuenode.cpp:374
 msgid "ValueNode"
 msgstr "值节点"
 
-#: src/synfig/loadcanvas.cpp:2580
+#: src/synfig/loadcanvas.cpp:2830
 msgid "ValueNodes"
 msgstr "值节点"
 
-#: src/synfig/loadcanvas.cpp:2660 src/synfig/loadcanvas.cpp:2716
+#: src/synfig/loadcanvas.cpp:2910 src/synfig/loadcanvas.cpp:2966
 msgid "Can't open file"
 msgstr "不能打开文件"
 
-#: src/synfig/main.cpp:102
+#: src/synfig/main.cpp:118
 #, c-format
 msgid "API Version mismatch (LIB:%d, PROG:%d)"
 msgstr "API 版本不匹配(库:%d,程序:%d)"
 
-#: src/synfig/main.cpp:107
+#: src/synfig/main.cpp:123
 #, c-format
 msgid "Size of Vector mismatch (app:%d, lib:%d)"
 msgstr "向量大小不匹配(程序:%d,库:%d)"
 
-#: src/synfig/main.cpp:112
+#: src/synfig/main.cpp:128
 #, c-format
 msgid "Size of Color mismatch (app:%d, lib:%d)"
 msgstr "颜色大小不匹配(app:%d,lib:%d)"
 
-#: src/synfig/main.cpp:117
+#: src/synfig/main.cpp:133
 #, c-format
 msgid "Size of Canvas mismatch (app:%d, lib:%d)"
 msgstr "画布大小不匹配(app:%d, lib%d)"
 
-#: src/synfig/main.cpp:122
+#: src/synfig/main.cpp:138
 #, c-format
 msgid "Size of Layer mismatch (app:%d, lib:%d)"
 msgstr "层的大小不匹配(app:%d, lib:%d)"
 
-#: src/synfig/main.cpp:184
+#: src/synfig/main.cpp:207
 msgid "Starting Subsystem \"Modules\""
 msgstr "正在启动“模块”子系统"
 
-#: src/synfig/main.cpp:186
+#: src/synfig/main.cpp:209
 msgid "Unable to initialize subsystem \"Module\""
 msgstr "未能初始化“模块”子系统"
 
-#: src/synfig/main.cpp:188
+#: src/synfig/main.cpp:211
 msgid "Starting Subsystem \"Layers\""
 msgstr "正在启动“层子系统”"
 
-#: src/synfig/main.cpp:192
+#: src/synfig/main.cpp:215
 msgid "Unable to initialize subsystem \"Layers\""
 msgstr "未能初始化“层”子系统"
 
-#: src/synfig/main.cpp:195
+#: src/synfig/main.cpp:218
 msgid "Starting Subsystem \"Targets\""
 msgstr "正在启动“目标”子系统"
 
-#: src/synfig/main.cpp:200
+#: src/synfig/main.cpp:223
 msgid "Unable to initialize subsystem \"Targets\""
 msgstr "未能初始化“目标”子系统"
 
-#: src/synfig/main.cpp:203
+#: src/synfig/main.cpp:226
 msgid "Starting Subsystem \"Importers\""
 msgstr "正在启动“输入”子系统"
 
-#: src/synfig/main.cpp:209
+#: src/synfig/main.cpp:232
 msgid "Unable to initialize subsystem \"Importers\""
 msgstr "未能初始化“输入”子系统"
 
-#: src/synfig/main.cpp:212
+#: src/synfig/main.cpp:235
 msgid "Starting Subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:219
+#: src/synfig/main.cpp:242
 msgid "Unable to initialize subsystem \"Cairo Importers\""
 msgstr ""
 
-#: src/synfig/main.cpp:222
+#: src/synfig/main.cpp:245
 msgid "Starting Subsystem \"ValueNodes\""
 msgstr "正在启动“值节点”子系统"
 
-#: src/synfig/main.cpp:230
+#: src/synfig/main.cpp:253
 msgid "Unable to initialize subsystem \"ValueNodes\""
 msgstr "未能初始化“值节点”子系统"
 
-#: src/synfig/main.cpp:267 src/synfig/main.cpp:268
+#: src/synfig/main.cpp:290 src/synfig/main.cpp:291
 #, c-format
 msgid "Loading modules from %s"
 msgstr "正在从%s中加载模块"
 
-#: src/synfig/main.cpp:279
+#: src/synfig/main.cpp:302
 #, c-format
 msgid "Unable to open module list file '%s'"
 msgstr "未能打开模块列表文件‘%s’"
 
-#: src/synfig/main.cpp:293 src/tool/renderprogress.h:141
+#: src/synfig/main.cpp:316 src/tool/renderprogress.h:141
 msgid "DONE"
 msgstr "完成"
 
-#: src/synfig/main.cpp:360 src/tool/progress.h:52 src/tool/renderprogress.h:57
+#: src/synfig/main.cpp:383 src/tool/progress.h:52 src/tool/renderprogress.h:57
 msgid "error"
 msgstr "错误"
 
-#: src/synfig/main.cpp:375 src/tool/progress.h:59 src/tool/renderprogress.h:64
+#: src/synfig/main.cpp:398 src/tool/progress.h:59 src/tool/renderprogress.h:64
 msgid "warning"
 msgstr "警告"
 
-#: src/synfig/main.cpp:390
+#: src/synfig/main.cpp:413
 msgid "info"
 msgstr "信息"
 
@@ -2751,145 +2779,145 @@ msgstr ""
 msgid "%s does not appear to be a supported palette file"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:64 src/synfig/valuenode.cpp:140
-#: src/synfig/valuenode_composite.cpp:437
+#: src/synfig/paramdesc.cpp:68 src/synfig/valuenode.cpp:146
+#: src/synfig/valuenode_composite.cpp:447
 msgid "Composite"
 msgstr "复合"
 
-#: src/synfig/paramdesc.cpp:65
+#: src/synfig/paramdesc.cpp:69
 msgid "Straight"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:66
+#: src/synfig/paramdesc.cpp:70
 msgid "Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:67
+#: src/synfig/paramdesc.cpp:71
 msgid "Straight Onto"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:68
+#: src/synfig/paramdesc.cpp:72
 msgid "Behind"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:69
+#: src/synfig/paramdesc.cpp:73
 msgid "Screen"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:70
+#: src/synfig/paramdesc.cpp:74
 msgid "Overlay"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:71
+#: src/synfig/paramdesc.cpp:75
 msgid "Hard Light"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:72
+#: src/synfig/paramdesc.cpp:76
 msgid "Multiply"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:73
+#: src/synfig/paramdesc.cpp:77
 msgid "Divide"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:74 src/synfig/valuenode.cpp:157
+#: src/synfig/paramdesc.cpp:78 src/synfig/valuenode.cpp:163
 #: src/synfig/valuenode_add.cpp:190
 msgid "Add"
 msgstr "添加"
 
-#: src/synfig/paramdesc.cpp:75 src/synfig/valuenode.cpp:147
+#: src/synfig/paramdesc.cpp:79 src/synfig/valuenode.cpp:153
 #: src/synfig/valuenode_subtract.cpp:194
 msgid "Subtract"
 msgstr "部分追踪"
 
-#: src/synfig/paramdesc.cpp:76
+#: src/synfig/paramdesc.cpp:80
 msgid "Difference"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:77
+#: src/synfig/paramdesc.cpp:81
 msgid "Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:78
+#: src/synfig/paramdesc.cpp:82
 msgid "Darken"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:80 src/synfig/valuenode_radialcomposite.cpp:263
+#: src/synfig/paramdesc.cpp:84 src/synfig/valuenode_radialcomposite.cpp:263
 msgid "Hue"
 msgstr "色调"
 
-#: src/synfig/paramdesc.cpp:81 src/synfig/valuenode_radialcomposite.cpp:260
+#: src/synfig/paramdesc.cpp:85 src/synfig/valuenode_radialcomposite.cpp:260
 #: src/synfig/valuenode_radialcomposite.cpp:266
 msgid "Saturation"
 msgstr "饱和度"
 
-#: src/synfig/paramdesc.cpp:82
+#: src/synfig/paramdesc.cpp:86
 msgid "Luminance"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:83
+#: src/synfig/paramdesc.cpp:87
 msgid "Alpha Over"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:84
+#: src/synfig/paramdesc.cpp:88
 msgid "Alpha Brighten"
 msgstr ""
 
-#: src/synfig/paramdesc.cpp:85
+#: src/synfig/paramdesc.cpp:89
 msgid "Alpha Darken"
 msgstr ""
 
-#: src/synfig/render.cpp:246 src/synfig/render.cpp:247
-#: src/synfig/render.cpp:301 src/synfig/render.cpp:302
-#: src/synfig/render.cpp:536 src/synfig/render.cpp:537
-#: src/synfig/render.cpp:563 src/synfig/render.cpp:564
+#: src/synfig/render.cpp:248 src/synfig/render.cpp:249
+#: src/synfig/render.cpp:303 src/synfig/render.cpp:304
+#: src/synfig/render.cpp:573 src/synfig/render.cpp:574
+#: src/synfig/render.cpp:600 src/synfig/render.cpp:601
 msgid "Target panic"
 msgstr "目标 Panic"
 
-#: src/synfig/savecanvas.cpp:290
+#: src/synfig/savecanvas.cpp:359
 #, c-format
 msgid "Unknown value(%s), cannot create XML representation!"
 msgstr "未知的值(%s),不能创建 XML Representation!"
 
-#: src/synfig/savecanvas.cpp:543
+#: src/synfig/savecanvas.cpp:674 src/synfig/savecanvas.cpp:699
 #, c-format
 msgid "Unknown ValueNode Type (%s), cannot create an XML representation"
 msgstr "未知值节点类型(%s),不能创建 XML representation"
 
-#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:185
+#: src/synfig/target_cairo.cpp:92 src/synfig/target_cairo_tile.cpp:194
 #: src/synfig/target_scanline.cpp:98 src/synfig/target_tile.cpp:281
 msgid "Target initialization failure"
 msgstr "目标初始化失败"
 
-#: src/synfig/target_cairo.cpp:146
+#: src/synfig/target_cairo.cpp:155
 msgid "Frame Renderer Failure"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:155 src/synfig/target_scanline.cpp:258
-#: src/synfig/target_scanline.cpp:405
+#: src/synfig/target_cairo.cpp:165 src/synfig/target_scanline.cpp:260
+#: src/synfig/target_scanline.cpp:407
 msgid "Unable to put surface on target"
 msgstr "未能放置面到目标上"
 
-#: src/synfig/target_cairo.cpp:162
+#: src/synfig/target_cairo.cpp:173
 msgid "Not supported render method"
 msgstr ""
 
-#: src/synfig/target_cairo.cpp:169 src/synfig/target_cairo_tile.cpp:248
-#: src/synfig/target_scanline.cpp:418 src/synfig/target_tile.cpp:396
+#: src/synfig/target_cairo.cpp:180 src/synfig/target_cairo_tile.cpp:259
+#: src/synfig/target_scanline.cpp:420 src/synfig/target_tile.cpp:398
 msgid "Caught string :"
 msgstr "捕捉到字符:"
 
-#: src/synfig/target_cairo.cpp:174 src/synfig/target_cairo_tile.cpp:253
-#: src/synfig/target_scanline.cpp:423 src/synfig/target_tile.cpp:401
+#: src/synfig/target_cairo.cpp:185 src/synfig/target_cairo_tile.cpp:264
+#: src/synfig/target_scanline.cpp:425 src/synfig/target_tile.cpp:403
 msgid "Ran out of memory (Probably a bug)"
 msgstr "超出内存(可能是个 Bug)"
 
-#: src/synfig/target_cairo.cpp:179 src/synfig/target_cairo_tile.cpp:258
-#: src/synfig/target_scanline.cpp:428 src/synfig/target_tile.cpp:406
+#: src/synfig/target_cairo.cpp:190 src/synfig/target_cairo_tile.cpp:269
+#: src/synfig/target_scanline.cpp:430 src/synfig/target_tile.cpp:408
 msgid "Caught unknown error, rethrowing..."
 msgstr "捕捉到未知错误,正在重新抛出..."
 
-#: src/synfig/target_cairo.cpp:190
+#: src/synfig/target_cairo.cpp:201
 msgid "Cairo Surface bad status"
 msgstr ""
 
@@ -2897,24 +2925,24 @@ msgstr ""
 msgid "Bad Tile Size"
 msgstr "坏 Tile 大小"
 
-#: src/synfig/target_cairo_tile.cpp:142 src/synfig/target_cairo_tile.cpp:240
-#: src/synfig/target_scanline.cpp:203 src/synfig/target_scanline.cpp:249
-#: src/synfig/target_scanline.cpp:348 src/synfig/target_scanline.cpp:396
+#: src/synfig/target_cairo_tile.cpp:148 src/synfig/target_cairo_tile.cpp:251
+#: src/synfig/target_scanline.cpp:205 src/synfig/target_scanline.cpp:251
+#: src/synfig/target_scanline.cpp:350 src/synfig/target_scanline.cpp:398
 #: src/synfig/target_tile.cpp:225
 msgid "Accelerated Renderer Failure"
 msgstr "加速渲染器失败"
 
-#: src/synfig/target_cairo_tile.cpp:150
+#: src/synfig/target_cairo_tile.cpp:157
 #, c-format
 msgid "Bad surface: %s"
 msgstr ""
 
-#: src/synfig/target_cairo_tile.cpp:156 src/synfig/target_tile.cpp:179
+#: src/synfig/target_cairo_tile.cpp:164 src/synfig/target_tile.cpp:179
 #: src/synfig/target_tile.cpp:245
 msgid "add_tile():Unable to put surface on target"
 msgstr "添加标题():未能放置面到目标上"
 
-#: src/synfig/target_cairo_tile.cpp:211
+#: src/synfig/target_cairo_tile.cpp:222
 msgid "Can't start frame"
 msgstr ""
 
@@ -2938,277 +2966,317 @@ msgid ""
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:276 src/synfig/value.cpp:308 src/synfig/value.cpp:360
+#: src/synfig/value.cpp:370 src/synfig/value.cpp:406 src/synfig/value.cpp:467
 msgid "bool"
 msgstr "布尔"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:277 src/synfig/value.cpp:310 src/synfig/value.cpp:358
+#: src/synfig/value.cpp:371 src/synfig/value.cpp:408 src/synfig/value.cpp:465
 msgid "integer"
 msgstr "整数"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:278 src/synfig/value.cpp:312
+#: src/synfig/value.cpp:372 src/synfig/value.cpp:410
 msgid "angle"
 msgstr "角度"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:279 src/synfig/value.cpp:314 src/synfig/value.cpp:352
+#: src/synfig/value.cpp:373 src/synfig/value.cpp:412 src/synfig/value.cpp:459
 msgid "time"
 msgstr "时间"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:280 src/synfig/value.cpp:316 src/synfig/value.cpp:355
+#: src/synfig/value.cpp:374 src/synfig/value.cpp:414 src/synfig/value.cpp:462
 msgid "real"
 msgstr "实数"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:281 src/synfig/value.cpp:318
+#: src/synfig/value.cpp:375 src/synfig/value.cpp:416
 msgid "vector"
 msgstr "向量"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:282 src/synfig/value.cpp:320
+#: src/synfig/value.cpp:376 src/synfig/value.cpp:418
 msgid "color"
 msgstr "颜色"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:283 src/synfig/value.cpp:322
+#: src/synfig/value.cpp:377 src/synfig/value.cpp:420
 msgid "segment"
 msgstr "线段"
 
-#: src/synfig/value.cpp:284
+#: src/synfig/value.cpp:378
 msgid "bline_point"
 msgstr "BLine 点"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:285 src/synfig/value.cpp:326
+#: src/synfig/value.cpp:379 src/synfig/value.cpp:424
+msgid "matrix"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:380 src/synfig/value.cpp:426
+msgid "bone_weight_pair"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:381 src/synfig/value.cpp:428
 msgid "width_point"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:286 src/synfig/value.cpp:328
+#: src/synfig/value.cpp:382 src/synfig/value.cpp:430
 msgid "dash_item"
 msgstr ""
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:287 src/synfig/value.cpp:330
+#: src/synfig/value.cpp:383 src/synfig/value.cpp:432
 msgid "list"
 msgstr "清单"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:288 src/synfig/value.cpp:332
+#: src/synfig/value.cpp:384 src/synfig/value.cpp:434
 msgid "canvas"
 msgstr "画布"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:289 src/synfig/value.cpp:334
+#: src/synfig/value.cpp:385 src/synfig/value.cpp:436
 msgid "string"
 msgstr "字符串"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:290 src/synfig/value.cpp:336
+#: src/synfig/value.cpp:386 src/synfig/value.cpp:438
 msgid "gradient"
 msgstr "渐变"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:291 src/synfig/value.cpp:338
+#: src/synfig/value.cpp:387 src/synfig/value.cpp:440
+msgid "bone_object"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:388 src/synfig/value.cpp:442
+msgid "bone_valuenode"
+msgstr ""
+
+#. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
+#: src/synfig/value.cpp:389 src/synfig/value.cpp:444
 msgid "nil"
 msgstr "无"
 
 #. TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types
-#: src/synfig/value.cpp:324
+#: src/synfig/value.cpp:422
 msgid "spline_point"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:141 src/synfig/valuenode_radialcomposite.cpp:234
+#: src/synfig/valuenode.cpp:147 src/synfig/valuenode_radialcomposite.cpp:234
 msgid "Radial Composite"
 msgstr "半径复合"
 
-#: src/synfig/valuenode.cpp:142 src/synfig/valuenode_reference.cpp:123
+#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_reference.cpp:123
 msgid "Reference"
 msgstr "引用"
 
-#: src/synfig/valuenode.cpp:144 src/synfig/valuenode_segcalctangent.cpp:106
+#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_segcalctangent.cpp:106
 msgid "Segment Tangent"
 msgstr "线段切线"
 
-#: src/synfig/valuenode.cpp:145 src/synfig/valuenode_segcalcvertex.cpp:104
+#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_segcalcvertex.cpp:104
 msgid "Segment Vertex"
 msgstr "线段顶点"
 
-#: src/synfig/valuenode.cpp:146 src/synfig/valuenode_stripes.cpp:81
+#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_stripes.cpp:81
 #: src/synfig/valuenode_stripes.cpp:171
 msgid "Stripes"
 msgstr "条纹"
 
-#: src/synfig/valuenode.cpp:148 src/synfig/valuenode_twotone.cpp:135
+#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_twotone.cpp:135
 msgid "Two-Tone"
 msgstr "双色调"
 
-#: src/synfig/valuenode.cpp:150 src/synfig/valuenode_dynamiclist.cpp:755
+#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_dynamiclist.cpp:762
 msgid "Dynamic List"
 msgstr "动态清单"
 
-#: src/synfig/valuenode.cpp:151 src/synfig/valuenode_gradientrotate.cpp:78
+#: src/synfig/valuenode.cpp:157 src/synfig/valuenode_gradientrotate.cpp:78
 #: src/synfig/valuenode_gradientrotate.cpp:146
 msgid "Gradient Rotate"
 msgstr "渐变旋转"
 
-#: src/synfig/valuenode.cpp:152 src/synfig/valuenode_sine.cpp:110
+#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_sine.cpp:110
 msgid "Sine"
 msgstr "正弦"
 
-#: src/synfig/valuenode.cpp:154 src/synfig/valuenode_timedswap.cpp:221
+#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_timedswap.cpp:221
 msgid "Timed Swap"
 msgstr "定时交换"
 
-#: src/synfig/valuenode.cpp:155 src/synfig/valuenode_repeat_gradient.cpp:84
+#: src/synfig/valuenode.cpp:161 src/synfig/valuenode_repeat_gradient.cpp:84
 #: src/synfig/valuenode_repeat_gradient.cpp:185
 msgid "Repeat Gradient"
 msgstr "重复渐变"
 
-#: src/synfig/valuenode.cpp:156 src/synfig/valuenode_exp.cpp:106
+#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_exp.cpp:106
 msgid "Exponential"
 msgstr "指数"
 
-#: src/synfig/valuenode.cpp:158 src/synfig/valuenode_blinecalctangent.cpp:184
+#: src/synfig/valuenode.cpp:164 src/synfig/valuenode_blinecalctangent.cpp:184
 msgid "Spline Tangent"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:159 src/synfig/valuenode_blinecalcvertex.cpp:152
+#: src/synfig/valuenode.cpp:165 src/synfig/valuenode_blinecalcvertex.cpp:152
 msgid "Spline Vertex"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:160 src/synfig/valuenode_range.cpp:257
+#: src/synfig/valuenode.cpp:166 src/synfig/valuenode_range.cpp:257
 msgid "Range"
 msgstr "范围"
 
-#: src/synfig/valuenode.cpp:162 src/synfig/valuenode_switch.cpp:133
+#: src/synfig/valuenode.cpp:168 src/synfig/valuenode_switch.cpp:133
 #: src/synfig/valuenode_switch.cpp:163
 msgid "Switch"
 msgstr "开关"
 
-#: src/synfig/valuenode.cpp:163 src/synfig/valuenode_cos.cpp:109
+#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_cos.cpp:109
 msgid "Cos"
 msgstr "余弦"
 
-#: src/synfig/valuenode.cpp:164
+#: src/synfig/valuenode.cpp:170
 msgid "aTan2"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:165
+#: src/synfig/valuenode.cpp:171
 msgid "Reverse Tangent"
 msgstr "反正切"
 
-#: src/synfig/valuenode.cpp:167 src/synfig/valuenode_reciprocal.cpp:147
+#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_reciprocal.cpp:147
 msgid "Reciprocal"
 msgstr "倒数"
 
-#: src/synfig/valuenode.cpp:169 src/synfig/valuenode_integer.cpp:172
+#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_integer.cpp:172
 msgid "Integer"
 msgstr "整数"
 
-#: src/synfig/valuenode.cpp:171 src/synfig/valuenode_blinecalcwidth.cpp:155
+#: src/synfig/valuenode.cpp:177 src/synfig/valuenode_blinecalcwidth.cpp:155
 msgid "Spline Width"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:173 src/synfig/valuenode_vectorangle.cpp:128
+#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_vectorangle.cpp:128
 msgid "Vector Angle"
 msgstr "向量角度"
 
-#: src/synfig/valuenode.cpp:174 src/synfig/valuenode_vectorlength.cpp:127
+#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_vectorlength.cpp:127
 msgid "Vector Length"
 msgstr "向量长度"
 
-#: src/synfig/valuenode.cpp:175 src/synfig/valuenode_vectorx.cpp:127
+#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_vectorx.cpp:127
 msgid "Vector X"
 msgstr "向量 X"
 
-#: src/synfig/valuenode.cpp:176 src/synfig/valuenode_vectory.cpp:127
+#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_vectory.cpp:127
 msgid "Vector Y"
 msgstr "向量 Y"
 
-#: src/synfig/valuenode.cpp:177
+#: src/synfig/valuenode.cpp:183
 msgid "Gradient Color"
 msgstr "渐变色"
 
-#: src/synfig/valuenode.cpp:178
+#: src/synfig/valuenode.cpp:184
 msgid "Dot Product"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:179 src/synfig/valuenode_timestring.cpp:119
+#: src/synfig/valuenode.cpp:185 src/synfig/valuenode_timestring.cpp:119
 msgid "Time String"
 msgstr "时间字符串"
 
-#: src/synfig/valuenode.cpp:180 src/synfig/valuenode_real.cpp:161
+#: src/synfig/valuenode.cpp:186 src/synfig/valuenode_real.cpp:161
 #: src/synfig/valuenode_realstring.cpp:175
 msgid "Real"
 msgstr "实数"
 
-#: src/synfig/valuenode.cpp:181 src/synfig/valuenode_realstring.cpp:125
+#: src/synfig/valuenode.cpp:187 src/synfig/valuenode_realstring.cpp:125
 msgid "Real String"
 msgstr "实数字符串"
 
-#: src/synfig/valuenode.cpp:182 src/synfig/valuenode_join.cpp:144
+#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_join.cpp:144
 msgid "Joined List"
 msgstr "加入的清单"
 
-#: src/synfig/valuenode.cpp:183
+#: src/synfig/valuenode.cpp:189
 msgid "Angle String"
 msgstr "角度字符串"
 
-#: src/synfig/valuenode.cpp:184
+#: src/synfig/valuenode.cpp:190
 msgid "Int String"
 msgstr "整数字符串"
 
-#: src/synfig/valuenode.cpp:185
+#: src/synfig/valuenode.cpp:191
 msgid "Logarithm"
 msgstr "对数"
 
-#: src/synfig/valuenode.cpp:187
+#: src/synfig/valuenode.cpp:192
 msgid "Greyed"
 msgstr "变灰的"
 
-#: src/synfig/valuenode.cpp:188 src/synfig/valuenode_pow.cpp:162
+#: src/synfig/valuenode.cpp:193 src/synfig/valuenode_pow.cpp:162
 #: src/synfig/valuenode_pow.cpp:185
 msgid "Power"
 msgstr "幂"
 
-#: src/synfig/valuenode.cpp:189 src/synfig/valuenode_compare.cpp:149
+#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_compare.cpp:149
 msgid "Compare"
 msgstr "比较"
 
-#: src/synfig/valuenode.cpp:190
+#: src/synfig/valuenode.cpp:195
 msgid "Not"
 msgstr "非"
 
-#: src/synfig/valuenode.cpp:191
+#: src/synfig/valuenode.cpp:196
 msgid "And"
 msgstr "与"
 
-#: src/synfig/valuenode.cpp:192
+#: src/synfig/valuenode.cpp:197
 msgid "Or"
 msgstr "或"
 
-#: src/synfig/valuenode.cpp:194 src/synfig/valuenode_wplist.cpp:360
+#: src/synfig/valuenode.cpp:199
+msgid "Bone Influence"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:200
+msgid "Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:201
+msgid "Root Bone"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:202
+msgid "Static List"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:203
+msgid "Bone Weight Pair"
+msgstr ""
+
+#: src/synfig/valuenode.cpp:205 src/synfig/valuenode_wplist.cpp:360
 msgid "WPList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:195
+#: src/synfig/valuenode.cpp:206
 msgid "DIList"
 msgstr ""
 
-#: src/synfig/valuenode.cpp:233
+#: src/synfig/valuenode.cpp:241
 #, c-format
 msgid "Bad type: ValueNode '%s' doesn't accept type '%s'"
 msgstr "错误类型:值节点‘%s’不接受‘%s’类型"
 
-#: src/synfig/valuenode.cpp:513
+#: src/synfig/valuenode.cpp:540
 msgid "Placeholder"
 msgstr "位置标志符"
 
-#: src/synfig/valuenode.h:61
+#: src/synfig/valuenode.h:62
 #, c-format
 msgid "%s:%d wrong type for %s: need %s but got %s"
 msgstr "%s:%d,%s的错误类型:需要%s却得到%s"
@@ -3275,32 +3343,32 @@ msgstr "链接2"
 msgid "Second operand of the AND operation"
 msgstr ""
 
-#: src/synfig/valuenode_animated.cpp:355 src/synfig/valuenode_animated.cpp:379
-#: src/synfig/valuenode_animated.cpp:703 src/synfig/valuenode_animated.cpp:721
-#: src/synfig/valuenode_animated.cpp:801 src/synfig/valuenode_animated.cpp:820
+#: src/synfig/valuenode_animated.cpp:357 src/synfig/valuenode_animated.cpp:381
+#: src/synfig/valuenode_animated.cpp:709 src/synfig/valuenode_animated.cpp:727
+#: src/synfig/valuenode_animated.cpp:811 src/synfig/valuenode_animated.cpp:830
 msgid "A waypoint already exists at this point in time"
 msgstr "在这个时间点上已存在一个航点"
 
-#: src/synfig/valuenode_animated.cpp:1134
+#: src/synfig/valuenode_animated.cpp:1173
 #, c-format
 msgid "%s: You cannot use a %s in an animated ValueNode"
 msgstr "%s:您不能在有动画的值节点中使用一个%s"
 
-#: src/synfig/valuenode_animated.cpp:1169
+#: src/synfig/valuenode_animated.cpp:1208
 msgid "Animated"
 msgstr "动画"
 
-#: src/synfig/valuenode_bline.cpp:977 src/synfig/valuenode_dynamiclist.cpp:661
+#: src/synfig/valuenode_bline.cpp:982 src/synfig/valuenode_dynamiclist.cpp:667
 #: src/synfig/valuenode_wplist.cpp:336
 msgid "No entries in list"
 msgstr "清单中没有条目"
 
-#: src/synfig/valuenode_bline.cpp:980 src/synfig/valuenode_dynamiclist.cpp:664
+#: src/synfig/valuenode_bline.cpp:985 src/synfig/valuenode_dynamiclist.cpp:670
 #: src/synfig/valuenode_wplist.cpp:339
 msgid "No entries in ret_list"
 msgstr "没有条目在 Ret_list"
 
-#: src/synfig/valuenode_bline.cpp:989 src/synfig/valuenode_bline.cpp:1023
+#: src/synfig/valuenode_bline.cpp:994 src/synfig/valuenode_bline.cpp:1111
 #, c-format
 msgid "Vertex %03d"
 msgstr "顶点%03d"
@@ -3320,7 +3388,7 @@ msgid "The position of the linked tangent on the Spline (0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_blinecalctangent.cpp:256
-#: src/synfig/valuenode_composite.cpp:574
+#: src/synfig/valuenode_composite.cpp:584
 #: src/synfig/valuenode_gradientrotate.cpp:169
 #: src/synfig/valuenode_linear.cpp:213
 msgid "Offset"
@@ -3374,190 +3442,186 @@ msgstr ""
 msgid "When checked, the width is spline length based"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:219
+#: src/synfig/valuenode_composite.cpp:229
 msgid "Bad type for composite"
 msgstr "复合的错误类型"
 
-#: src/synfig/valuenode_composite.cpp:464
+#: src/synfig/valuenode_composite.cpp:474
 msgid "Red"
 msgstr "红"
 
-#: src/synfig/valuenode_composite.cpp:465
+#: src/synfig/valuenode_composite.cpp:475
 msgid "The red component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:468
+#: src/synfig/valuenode_composite.cpp:478
 msgid "Green"
 msgstr "绿"
 
-#: src/synfig/valuenode_composite.cpp:469
+#: src/synfig/valuenode_composite.cpp:479
 msgid "The green component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:472
+#: src/synfig/valuenode_composite.cpp:482
 msgid "Blue"
 msgstr "蓝"
 
-#: src/synfig/valuenode_composite.cpp:473
+#: src/synfig/valuenode_composite.cpp:483
 msgid "The blue component of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:476
+#: src/synfig/valuenode_composite.cpp:486
 msgid "Alpha"
 msgstr "透明"
 
-#: src/synfig/valuenode_composite.cpp:477
+#: src/synfig/valuenode_composite.cpp:487
 msgid "The alpha of the color"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:482
+#: src/synfig/valuenode_composite.cpp:492
 msgid "Vertex 1"
 msgstr "顶点1"
 
-#: src/synfig/valuenode_composite.cpp:483
+#: src/synfig/valuenode_composite.cpp:493
 msgid "The first vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:486
-#: src/synfig/valuenode_composite.cpp:526
+#: src/synfig/valuenode_composite.cpp:496
+#: src/synfig/valuenode_composite.cpp:536
 msgid "Tangent 1"
 msgstr "切线1"
 
-#: src/synfig/valuenode_composite.cpp:487
+#: src/synfig/valuenode_composite.cpp:497
 msgid "The first tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:490
+#: src/synfig/valuenode_composite.cpp:500
 msgid "Vertex 2"
 msgstr "顶点2"
 
-#: src/synfig/valuenode_composite.cpp:491
+#: src/synfig/valuenode_composite.cpp:501
 msgid "The second vertex of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:494
-#: src/synfig/valuenode_composite.cpp:530
+#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:540
 msgid "Tangent 2"
 msgstr "切线2"
 
-#: src/synfig/valuenode_composite.cpp:495
+#: src/synfig/valuenode_composite.cpp:505
 msgid "The second tangent of the segment"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:500
+#: src/synfig/valuenode_composite.cpp:510
 msgid "X-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:501
+#: src/synfig/valuenode_composite.cpp:511
 msgid "The X-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:504
+#: src/synfig/valuenode_composite.cpp:514
 msgid "Y-Axis"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:505
+#: src/synfig/valuenode_composite.cpp:515
 msgid "The Y-Axis component of the vector"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:510
+#: src/synfig/valuenode_composite.cpp:520
 msgid "Vertex"
 msgstr "顶点"
 
-#: src/synfig/valuenode_composite.cpp:511
+#: src/synfig/valuenode_composite.cpp:521
 msgid "The vertex of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:515
+#: src/synfig/valuenode_composite.cpp:525
 msgid "The width of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:519
+#: src/synfig/valuenode_composite.cpp:529
 msgid "Defines the Off and On position relative to neighbours"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:522
+#: src/synfig/valuenode_composite.cpp:532
 msgid "Split"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:523
+#: src/synfig/valuenode_composite.cpp:533
 msgid "When checked, tangents are independent"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:527
+#: src/synfig/valuenode_composite.cpp:537
 msgid "The first tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:531
+#: src/synfig/valuenode_composite.cpp:541
 msgid "The second tangent of the Spline Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:537
+#: src/synfig/valuenode_composite.cpp:547
 msgid "The [0,1] position of the Width Point over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:541
+#: src/synfig/valuenode_composite.cpp:551
 msgid "The width of the Width Point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:544
-#: src/synfig/valuenode_composite.cpp:584
+#: src/synfig/valuenode_composite.cpp:554
+#: src/synfig/valuenode_composite.cpp:594
 msgid "Side Type Before"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:545
 #: src/synfig/valuenode_composite.cpp:555
+#: src/synfig/valuenode_composite.cpp:565
 msgid "Defines the interpolation type of the width point"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:547
 #: src/synfig/valuenode_composite.cpp:557
+#: src/synfig/valuenode_composite.cpp:567
 msgid "Interpolate"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:554
-#: src/synfig/valuenode_composite.cpp:593
+#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:603
 msgid "Side Type After"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:564
+#: src/synfig/valuenode_composite.cpp:574
 msgid "Lower Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:565
+#: src/synfig/valuenode_composite.cpp:575
 msgid "Defines the position at start of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:568
+#: src/synfig/valuenode_composite.cpp:578
 msgid "Upper Boundary"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:569
+#: src/synfig/valuenode_composite.cpp:579
 msgid "Defines the position at end of the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:575
+#: src/synfig/valuenode_composite.cpp:585
 msgid "The offset length of the Dash Item over the Spline"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:579
+#: src/synfig/valuenode_composite.cpp:589
 #: src/synfig/valuenode_timedswap.cpp:260
 msgid "Length"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:580
+#: src/synfig/valuenode_composite.cpp:590
 msgid "The length of the Dash Item"
 msgstr ""
 
-#: src/synfig/valuenode_composite.cpp:585
-#: src/synfig/valuenode_composite.cpp:594
+#: src/synfig/valuenode_composite.cpp:595
+#: src/synfig/valuenode_composite.cpp:604
 msgid "Defines the side type of the dash item"
 msgstr ""
 
-#: src/synfig/valuenode_const.cpp:127
-msgid "Static"
-msgstr "静态"
-
 #: src/synfig/valuenode_compare.cpp:168
 msgid "The left side of the comparison"
 msgstr ""
@@ -3622,12 +3686,12 @@ msgstr ""
 msgid "Amount increment of the index"
 msgstr ""
 
-#: src/synfig/valuenode_dynamiclist.cpp:655
+#: src/synfig/valuenode_dynamiclist.cpp:661
 msgid "List type/item type mismatch, throwing away mismatch"
 msgstr "清单类型/项目不匹配,抛弃不匹配的"
 
-#: src/synfig/valuenode_dynamiclist.cpp:703
-#: src/synfig/valuenode_dynamiclist.cpp:957
+#: src/synfig/valuenode_dynamiclist.cpp:709
+#: src/synfig/valuenode_dynamiclist.cpp:964
 #, c-format
 msgid "Item %03d"
 msgstr "项目%03d"
@@ -3951,7 +4015,7 @@ msgid "Intersection"
 msgstr "交集"
 
 #: src/synfig/valuenode_step.cpp:213
-msgid "Value that define whether the step is centerd on the value [0,1]"
+msgid "Value that define whether the step is centered on the value [0,1]"
 msgstr ""
 
 #: src/synfig/valuenode_stripes.cpp:189 src/synfig/valuenode_twotone.cpp:153
@@ -4084,195 +4148,195 @@ msgstr ""
 msgid "WidthPoint %03d"
 msgstr ""
 
-#: src/tool/main.cpp:133
+#: src/tool/main.cpp:140
 msgid "FATAL: Synfig Version Mismatch"
 msgstr "致命错误:Synfig 版本不匹配"
 
-#: src/tool/main.cpp:169
+#: src/tool/main.cpp:176
 msgid "Settings"
 msgstr ""
 
-#: src/tool/main.cpp:171
+#: src/tool/main.cpp:178
 msgid "Specify output target (Default: PNG)"
 msgstr ""
 
-#: src/tool/main.cpp:172
+#: src/tool/main.cpp:179
 msgid "Set the image width in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:173
+#: src/tool/main.cpp:180
 msgid "Set the image height in pixels (Use zero for file default)"
 msgstr ""
 
-#: src/tool/main.cpp:174
+#: src/tool/main.cpp:181
 msgid "Set the diagonal size of image window (Span)"
 msgstr "设置图像窗口的对角大小(跨径)"
 
-#: src/tool/main.cpp:175
+#: src/tool/main.cpp:182
 msgid "Set antialias amount for parametric renderer."
 msgstr "设置参数化渲染器的抗锯齿量。"
 
-#: src/tool/main.cpp:176
+#: src/tool/main.cpp:183
 #, c-format
 msgid "Specify image quality for accelerated renderer (Default: %d)"
 msgstr ""
 
-#: src/tool/main.cpp:177
+#: src/tool/main.cpp:184
 msgid "Gamma"
 msgstr ""
 
-#: src/tool/main.cpp:178
+#: src/tool/main.cpp:185
 msgid "Enable multithreaded renderer using the specified number of threads"
 msgstr ""
 
-#: src/tool/main.cpp:179
+#: src/tool/main.cpp:186
 msgid "Specify input filename"
 msgstr ""
 
-#: src/tool/main.cpp:180
+#: src/tool/main.cpp:187
 msgid "Specify output filename"
 msgstr "指定输出的文件名"
 
-#: src/tool/main.cpp:181
+#: src/tool/main.cpp:188
 msgid ""
 "Output file sequence separator string (Use double quotes if you want to use "
 "spaces)"
 msgstr ""
 
-#: src/tool/main.cpp:182
+#: src/tool/main.cpp:189
 msgid "Render the canvas with the given id instead of the root."
 msgstr "渲染所给出的id号的画布,而非根画布。"
 
-#: src/tool/main.cpp:183
+#: src/tool/main.cpp:190
 msgid "Set the frame rate"
 msgstr "设定帧率"
 
-#: src/tool/main.cpp:184
+#: src/tool/main.cpp:191
 msgid "Render a single frame at <seconds>"
 msgstr "渲染单帧<seconds>"
 
-#: src/tool/main.cpp:185 src/tool/main.cpp:186
+#: src/tool/main.cpp:192 src/tool/main.cpp:193
 msgid "Set the starting time"
 msgstr "设定起始时间"
 
-#: src/tool/main.cpp:187
+#: src/tool/main.cpp:194
 msgid "Set the ending time"
 msgstr "设定结尾时间"
 
-#: src/tool/main.cpp:188
+#: src/tool/main.cpp:195
 msgid "Set the physical resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:189
+#: src/tool/main.cpp:196
 msgid "Set the physical X resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:190
+#: src/tool/main.cpp:197
 msgid "Set the physical Y resolution (Dots-per-inch)"
 msgstr ""
 
-#: src/tool/main.cpp:193
+#: src/tool/main.cpp:200
 msgid "Switch options"
 msgstr ""
 
-#: src/tool/main.cpp:195
+#: src/tool/main.cpp:202
 msgid "Output verbosity level"
 msgstr ""
 
-#: src/tool/main.cpp:196
+#: src/tool/main.cpp:203
 msgid "Quiet mode (No progress/time-remaining display)"
 msgstr "安静模式(不显示进度/剩余时间)"
 
-#: src/tool/main.cpp:197
+#: src/tool/main.cpp:204
 msgid "Print benchmarks"
 msgstr ""
 
-#: src/tool/main.cpp:200
+#: src/tool/main.cpp:207
 msgid "Misc options"
 msgstr ""
 
-#: src/tool/main.cpp:202
+#: src/tool/main.cpp:209
 msgid "Append layers in <filename> to composition"
 msgstr "添加<filename>中的层到作品总"
 
-#: src/tool/main.cpp:203
+#: src/tool/main.cpp:210
 msgid "Print out specified details of the root canvas"
 msgstr "打印该根画布的特殊细节"
 
-#: src/tool/main.cpp:204 src/tool/main.cpp:230
+#: src/tool/main.cpp:211 src/tool/main.cpp:237
 msgid "Print out the list of exported canvases in the composition"
 msgstr ""
 
-#: src/tool/main.cpp:207
+#: src/tool/main.cpp:214
 msgid "FFMPEG target options"
 msgstr ""
 
-#: src/tool/main.cpp:209
+#: src/tool/main.cpp:216
 msgid "Set the codec for the video. See --ffmpeg-video-codecs"
 msgstr ""
 
-#: src/tool/main.cpp:210
+#: src/tool/main.cpp:217
 msgid "Set the bitrate for the output video"
 msgstr ""
 
-#: src/tool/main.cpp:213
+#: src/tool/main.cpp:220
 msgid "Synfig info options"
 msgstr ""
 
-#: src/tool/main.cpp:215
+#: src/tool/main.cpp:222
 msgid "Produce this help message"
 msgstr ""
 
-#: src/tool/main.cpp:216
+#: src/tool/main.cpp:223
 msgid "Print out the list of available importers"
 msgstr "打印可用的输入器列表"
 
-#: src/tool/main.cpp:217
+#: src/tool/main.cpp:224
 msgid "Print out misc build information"
 msgstr "打印杂项构建信息"
 
-#: src/tool/main.cpp:218
+#: src/tool/main.cpp:225
 msgid "Print out the list of available layers"
 msgstr "打印可用的层列表"
 
-#: src/tool/main.cpp:219
+#: src/tool/main.cpp:226
 msgid "Print out layer's description, parameter info, etc."
 msgstr "打印层的描述,参数信息,等等。"
 
-#: src/tool/main.cpp:220
+#: src/tool/main.cpp:227
 msgid "Print out license information"
 msgstr "打印许可证信息"
 
-#: src/tool/main.cpp:221
+#: src/tool/main.cpp:228
 msgid "Print out the list of loaded modules"
 msgstr "打印已加载的模块列表"
 
-#: src/tool/main.cpp:222
+#: src/tool/main.cpp:229
 msgid "Print out the list of available targets"
 msgstr "打印可用的目标列表"
 
-#: src/tool/main.cpp:223
+#: src/tool/main.cpp:230
 msgid ""
 "Print out the list of available video codecs when encoding through FFMPEG"
 msgstr ""
 
-#: src/tool/main.cpp:224
+#: src/tool/main.cpp:231
 msgid "Print out the list of available ValueNodes"
 msgstr "打印可用的值节点列表"
 
-#: src/tool/main.cpp:225
+#: src/tool/main.cpp:232
 msgid "Print out version information"
 msgstr "打印版本信息"
 
-#: src/tool/main.cpp:234
+#: src/tool/main.cpp:241
 msgid "Synfig debug flags"
 msgstr ""
 
-#: src/tool/main.cpp:236
+#: src/tool/main.cpp:243
 msgid "Test GUID generation"
 msgstr "测试 GUID 生产"
 
-#: src/tool/main.cpp:237
+#: src/tool/main.cpp:244
 msgid "Test signal implementation"
 msgstr "测试信号实现"
 
@@ -4336,157 +4400,157 @@ msgstr ""
 msgid "Done."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:113
+#: src/tool/optionsprocessor.cpp:114
 msgid "Unrecognised canvas variable: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:114
+#: src/tool/optionsprocessor.cpp:115
 msgid "Recognized variables are:"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:131
+#: src/tool/optionsprocessor.cpp:132
 msgid "verbosity set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:146
+#: src/tool/optionsprocessor.cpp:147
 msgid "Threads set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:224
+#: src/tool/optionsprocessor.cpp:225
 msgid "Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:225
+#: src/tool/optionsprocessor.cpp:226
 msgid "Localized Layer Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:227
+#: src/tool/optionsprocessor.cpp:228
 msgid "Version: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:232
+#: src/tool/optionsprocessor.cpp:233
 msgid "param - "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:234
+#: src/tool/optionsprocessor.cpp:235
 msgid " (not critical)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:235
+#: src/tool/optionsprocessor.cpp:236
 msgid "\tLocalized Name: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:239
+#: src/tool/optionsprocessor.cpp:240
 msgid "\tDescription: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:243
+#: src/tool/optionsprocessor.cpp:244
 msgid "\tHint: "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:309
+#: src/tool/optionsprocessor.cpp:310
 #, c-format
 msgid "Antialiasing set to %d, (%d samples per pixel)"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:316
+#: src/tool/optionsprocessor.cpp:317
 #, c-format
 msgid "Span set to %d units"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:324
+#: src/tool/optionsprocessor.cpp:325
 #, c-format
 msgid "Frame rate set to %d frames per second"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:334
+#: src/tool/optionsprocessor.cpp:335
 #, c-format
 msgid "Physical resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:343
+#: src/tool/optionsprocessor.cpp:344
 #, c-format
 msgid "Physical X resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:352
+#: src/tool/optionsprocessor.cpp:353
 #, c-format
 msgid "Physical Y resolution set to %f dpi"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:379
+#: src/tool/optionsprocessor.cpp:380
 msgid "Rendering frame at "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:385
+#: src/tool/optionsprocessor.cpp:386
 msgid "Gamma argument is currently ignored"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:400
+#: src/tool/optionsprocessor.cpp:401
 #, c-format
 msgid "Resolution set to %dx%d"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:417
+#: src/tool/optionsprocessor.cpp:418
 msgid "Both video codec and bitrate parameters are necessary."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:437
+#: src/tool/optionsprocessor.cpp:438
 #, c-format
 msgid "Video codec \"%s\" is not supported."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:440
+#: src/tool/optionsprocessor.cpp:441
 #, c-format
 msgid "Target video codec set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:446
+#: src/tool/optionsprocessor.cpp:447
 #, c-format
 msgid "Target bitrate set to %dk"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:452
+#: src/tool/optionsprocessor.cpp:453
 #, c-format
 msgid "Output file sequence separator set to %s"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:487
+#: src/tool/optionsprocessor.cpp:488
 #, c-format
 msgid "Unable to load '%s'."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:494
+#: src/tool/optionsprocessor.cpp:495
 msgid "No input file provided."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:499
+#: src/tool/optionsprocessor.cpp:500
 msgid "Target set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:513
+#: src/tool/optionsprocessor.cpp:514
 msgid "Quality set to "
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:532
+#: src/tool/optionsprocessor.cpp:533
 #, c-format
 msgid ""
 "Unable to find canvas with ID \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:538
+#: src/tool/optionsprocessor.cpp:539
 #, c-format
 msgid ""
 "Invalid canvas name \"%s\" in %s.\n"
 "Throwing out job..."
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:557
+#: src/tool/optionsprocessor.cpp:558
 msgid "Unable to append '"
 msgstr ""
 
-#: src/tool/optionsprocessor.cpp:571
+#: src/tool/optionsprocessor.cpp:572
 msgid "Appended contents of "
 msgstr ""
 
diff --git a/src/Makefile.in b/src/Makefile.in
index f8db67c..3d48b26 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -213,6 +212,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -368,12 +368,12 @@ clean-libtool:
 	-rm -rf .libs _libs
 
 # This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS):
 	@fail= failcom='exit 1'; \
 	for f in x $$MAKEFLAGS; do \
 	  case $$f in \
@@ -383,7 +383,11 @@ $(RECURSIVE_TARGETS):
 	done; \
 	dot_seen=no; \
 	target=`echo $@ | sed s/-recursive//`; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	for subdir in $$list; do \
 	  echo "Making $$target in $$subdir"; \
 	  if test "$$subdir" = "."; then \
 	    dot_seen=yes; \
@@ -397,37 +401,6 @@ $(RECURSIVE_TARGETS):
 	if test "$$dot_seen" = "no"; then \
 	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
 	fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-	@fail= failcom='exit 1'; \
-	for f in x $$MAKEFLAGS; do \
-	  case $$f in \
-	    *=* | --[!k]*);; \
-	    *k*) failcom='fail=yes';; \
-	  esac; \
-	done; \
-	dot_seen=no; \
-	case "$@" in \
-	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-	  *) list='$(SUBDIRS)' ;; \
-	esac; \
-	rev=''; for subdir in $$list; do \
-	  if test "$$subdir" = "."; then :; else \
-	    rev="$$subdir $$rev"; \
-	  fi; \
-	done; \
-	rev="$$rev ."; \
-	target=`echo $@ | sed s/-recursive//`; \
-	for subdir in $$rev; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	  || eval $$failcom; \
-	done && test -z "$$fail"
 tags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
 	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
@@ -436,6 +409,10 @@ ctags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
 	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
 	done
+cscopelist-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
+	done
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -499,6 +476,20 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -659,22 +650,23 @@ ps-am:
 
 uninstall-am:
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
-	install-am install-strip tags-recursive
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) \
+	cscopelist-recursive ctags-recursive install-am install-strip \
+	tags-recursive
 
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
 	all all-am check check-am clean clean-generic clean-libtool \
-	ctags ctags-recursive distclean distclean-generic \
-	distclean-libtool distclean-tags distdir dvi dvi-am html \
-	html-am info info-am install install-am install-data \
-	install-data-am install-dvi install-dvi-am install-exec \
-	install-exec-am install-html install-html-am install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs installdirs-am maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
-	uninstall uninstall-am
+	cscopelist cscopelist-recursive ctags ctags-recursive \
+	distclean distclean-generic distclean-libtool distclean-tags \
+	distdir dvi dvi-am html html-am info info-am install \
+	install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	installdirs-am maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+	ps ps-am tags tags-recursive uninstall uninstall-am
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/src/modules/Makefile.in b/src/modules/Makefile.in
index 3bf48e2..ab784e1 100644
--- a/src/modules/Makefile.in
+++ b/src/modules/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -244,6 +243,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -467,12 +467,12 @@ uninstall-sysconfDATA:
 	dir='$(DESTDIR)$(sysconfdir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+#     (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS):
 	@fail= failcom='exit 1'; \
 	for f in x $$MAKEFLAGS; do \
 	  case $$f in \
@@ -482,7 +482,11 @@ $(RECURSIVE_TARGETS):
 	done; \
 	dot_seen=no; \
 	target=`echo $@ | sed s/-recursive//`; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	for subdir in $$list; do \
 	  echo "Making $$target in $$subdir"; \
 	  if test "$$subdir" = "."; then \
 	    dot_seen=yes; \
@@ -496,37 +500,6 @@ $(RECURSIVE_TARGETS):
 	if test "$$dot_seen" = "no"; then \
 	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
 	fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-	@fail= failcom='exit 1'; \
-	for f in x $$MAKEFLAGS; do \
-	  case $$f in \
-	    *=* | --[!k]*);; \
-	    *k*) failcom='fail=yes';; \
-	  esac; \
-	done; \
-	dot_seen=no; \
-	case "$@" in \
-	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-	  *) list='$(SUBDIRS)' ;; \
-	esac; \
-	rev=''; for subdir in $$list; do \
-	  if test "$$subdir" = "."; then :; else \
-	    rev="$$subdir $$rev"; \
-	  fi; \
-	done; \
-	rev="$$rev ."; \
-	target=`echo $@ | sed s/-recursive//`; \
-	for subdir in $$rev; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	  || eval $$failcom; \
-	done && test -z "$$fail"
 tags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
 	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
@@ -535,6 +508,10 @@ ctags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
 	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
 	done
+cscopelist-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
+	done
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -598,6 +575,20 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -761,23 +752,24 @@ ps-am:
 
 uninstall-am: uninstall-sysconfDATA
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
-	install-am install-strip tags-recursive
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) \
+	cscopelist-recursive ctags-recursive install-am install-strip \
+	tags-recursive
 
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
 	all all-am check check-am clean clean-generic clean-libtool \
-	ctags ctags-recursive distclean distclean-generic \
-	distclean-libtool distclean-tags distdir dvi dvi-am html \
-	html-am info info-am install install-am install-data \
-	install-data-am install-dvi install-dvi-am install-exec \
-	install-exec-am install-html install-html-am install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip install-sysconfDATA \
-	installcheck installcheck-am installdirs installdirs-am \
-	maintainer-clean maintainer-clean-generic mostlyclean \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags tags-recursive uninstall uninstall-am \
-	uninstall-sysconfDATA
+	cscopelist cscopelist-recursive ctags ctags-recursive \
+	distclean distclean-generic distclean-libtool distclean-tags \
+	distdir dvi dvi-am html html-am info info-am install \
+	install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip install-sysconfDATA installcheck installcheck-am \
+	installdirs installdirs-am maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic \
+	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
+	uninstall uninstall-am uninstall-sysconfDATA
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/src/modules/lyr_freetype/Makefile.am b/src/modules/lyr_freetype/Makefile.am
index a778e78..6c425e9 100644
--- a/src/modules/lyr_freetype/Makefile.am
+++ b/src/modules/lyr_freetype/Makefile.am
@@ -2,7 +2,7 @@
 
 MAINTAINERCLEANFILES = Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
diff --git a/src/modules/lyr_freetype/Makefile.in b/src/modules/lyr_freetype/Makefile.in
index 693541c..37b4fa6 100644
--- a/src/modules/lyr_freetype/Makefile.in
+++ b/src/modules/lyr_freetype/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -56,7 +55,8 @@ host_triplet = @host@
 @WITH_FONTCONFIG_TRUE@@WITH_FREETYPE_TRUE at am__append_1 = @FONTCONFIG_LIBS@
 @WITH_FONTCONFIG_TRUE@@WITH_FREETYPE_TRUE at am__append_2 = @FONTCONFIG_CFLAGS@
 subdir = src/modules/lyr_freetype
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(top_srcdir)/config/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
@@ -244,6 +244,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -347,7 +348,7 @@ top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 MAINTAINERCLEANFILES = Makefile.in
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
@@ -436,12 +437,14 @@ uninstall-moduleLTLIBRARIES:
 
 clean-moduleLTLIBRARIES:
 	-test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES)
-	@list='$(module_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(module_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 liblyr_freetype.la: $(liblyr_freetype_la_OBJECTS) $(liblyr_freetype_la_DEPENDENCIES) $(EXTRA_liblyr_freetype_la_DEPENDENCIES) 
 	$(liblyr_freetype_la_LINK) $(am_liblyr_freetype_la_rpath) $(liblyr_freetype_la_OBJECTS) $(liblyr_freetype_la_LIBADD) $(LIBS)
 
@@ -544,6 +547,20 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -689,18 +706,19 @@ uninstall-am: uninstall-moduleLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-moduleLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-moduleLTLIBRARIES install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am uninstall-moduleLTLIBRARIES
+	clean-libtool clean-moduleLTLIBRARIES cscopelist ctags \
+	distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-moduleLTLIBRARIES \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-moduleLTLIBRARIES
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/src/modules/lyr_freetype/lyr_freetype.cpp b/src/modules/lyr_freetype/lyr_freetype.cpp
index 53d94a9..7f5cdaa 100644
--- a/src/modules/lyr_freetype/lyr_freetype.cpp
+++ b/src/modules/lyr_freetype/lyr_freetype.cpp
@@ -41,7 +41,7 @@
 
 #include "lyr_freetype.h"
 #endif
-
+#include <synfig/cairo_renddesc.h>
 #include <pango/pangocairo.h>
 
 using namespace std;
@@ -93,27 +93,34 @@ Layer_Freetype::Layer_Freetype()
 {
 	face=0;
 
-	size=Vector(0.25,0.25);
-	text=_("Text Layer");
-	color=Color::black();
-	origin=Vector(0,0);
-	orient=Vector(0.5,0.5);
-	compress=1.0;
-	vcompress=1.0;
-	weight=WEIGHT_NORMAL;
-	style=PANGO_STYLE_NORMAL;
-	family="Sans Serif";
-	use_kerning=true;
-	grid_fit=false;
+	param_size=ValueBase(Vector(0.25,0.25));
+	param_text=ValueBase(_("Text Layer"));
+	param_color=ValueBase(Color::black());
+	param_origin=ValueBase(Vector(0,0));
+	param_orient=ValueBase(Vector(0.5,0.5));
+	param_compress=ValueBase(Real(1.0));
+	param_vcompress=ValueBase(Real(1.0));
+	param_weight=ValueBase(WEIGHT_NORMAL);
+	param_style=ValueBase(PANGO_STYLE_NORMAL);
+	param_family=ValueBase("Sans Serif");
+	param_use_kerning=ValueBase(true);
+	param_grid_fit=ValueBase(false);
+	param_invert=ValueBase(false);
+	param_font=ValueBase("");
+
 	old_version=false;
+
 	set_blend_method(Color::BLEND_COMPOSITE);
 	needs_sync_=true;
 
+	synfig::String family=param_family.get(synfig::String());
+	int style=param_style.get(int());
+	int weight=param_weight.get(int());
+
 	new_font(family,style,weight);
 
-	invert=false;
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 Layer_Freetype::~Layer_Freetype()
@@ -335,6 +342,7 @@ void fss2path(char *path, FSSpec *fss)
 bool
 Layer_Freetype::new_face(const String &newfont)
 {
+	synfig::String font=param_font.get(synfig::String());
 	int error;
 	FT_Long face_index=0;
 
@@ -463,23 +471,67 @@ Layer_Freetype::set_param(const String & param, const ValueBase &value)
 		return true;
 	}
 */
-	IMPORT_PLUS(family,new_font(family,style,weight));
-	IMPORT_PLUS(weight,new_font(family,style,weight));
-	IMPORT_PLUS(style,new_font(family,style,weight));
-	IMPORT_PLUS(size, if(old_version){size/=2.0;} needs_sync_=true );
-	IMPORT_PLUS(text,needs_sync_=true);
-	IMPORT_PLUS(origin,needs_sync_=true);
-	IMPORT_PLUS(color, { if (color.get_a() == 0) { if (converted_blend_) {
+	IMPORT_VALUE_PLUS(param_family,
+		{
+			synfig::String family=param_family.get(synfig::String());
+			int style=param_style.get(int());
+			int weight=param_weight.get(int());
+			new_font(family,style,weight);
+		}
+		);
+		
+	IMPORT_VALUE_PLUS(param_weight,
+		{
+			synfig::String family=param_family.get(synfig::String());
+			int style=param_style.get(int());
+			int weight=param_weight.get(int());
+			new_font(family,style,weight);
+		}
+		);
+	IMPORT_VALUE_PLUS(param_style,
+		{
+			synfig::String family=param_family.get(synfig::String());
+			int style=param_style.get(int());
+			int weight=param_weight.get(int());
+			new_font(family,style,weight);
+		}
+		);
+	IMPORT_VALUE_PLUS(param_size,
+		{
+			if(old_version)
+			{
+				synfig::Vector size=param_size.get(synfig::Vector());
+				size/=2.0;
+				param_size.set(size);
+			}
+			needs_sync_=true;
+		}
+		);
+	IMPORT_VALUE_PLUS(param_text,needs_sync_=true);
+	IMPORT_VALUE_PLUS(param_origin,needs_sync_=true);
+	IMPORT_VALUE_PLUS(param_color,
+		{
+			Color color=param_color.get(Color());
+			if (color.get_a() == 0)
+			{
+				if (converted_blend_)
+				{
 					set_blend_method(Color::BLEND_ALPHA_OVER);
-					color.set_a(1); } else transparent_color_ = true; } });
-	IMPORT(invert);
-	IMPORT_PLUS(orient,needs_sync_=true);
-	IMPORT_PLUS(compress,needs_sync_=true);
-	IMPORT_PLUS(vcompress,needs_sync_=true);
-	IMPORT_PLUS(use_kerning,needs_sync_=true);
-	IMPORT_PLUS(grid_fit,needs_sync_=true);
-
-	IMPORT_AS(origin,"pos");
+					color.set_a(1);
+					param_color.set(color);
+				} else transparent_color_ = true;
+			}
+		}
+		);
+	IMPORT_VALUE(param_invert);
+	IMPORT_VALUE_PLUS(param_orient,needs_sync_=true);
+	IMPORT_VALUE_PLUS(param_compress,needs_sync_=true);
+	IMPORT_VALUE_PLUS(param_vcompress,needs_sync_=true);
+	IMPORT_VALUE_PLUS(param_use_kerning,needs_sync_=true);
+	IMPORT_VALUE_PLUS(param_grid_fit,needs_sync_=true);
+	
+	if(param=="pos")
+		return set_param("origin", value);
 
 	return Layer_Composite::set_param(param,value);
 }
@@ -487,20 +539,20 @@ Layer_Freetype::set_param(const String & param, const ValueBase &value)
 ValueBase
 Layer_Freetype::get_param(const String& param)const
 {
-	EXPORT(font);
-	EXPORT(family);
-	EXPORT(style);
-	EXPORT(weight);
-	EXPORT(size);
-	EXPORT(text);
-	EXPORT(color);
-	EXPORT(origin);
-	EXPORT(orient);
-	EXPORT(compress);
-	EXPORT(vcompress);
-	EXPORT(use_kerning);
-	EXPORT(grid_fit);
-	EXPORT(invert);
+	EXPORT_VALUE(param_font);
+	EXPORT_VALUE(param_family);
+	EXPORT_VALUE(param_style);
+	EXPORT_VALUE(param_weight);
+	EXPORT_VALUE(param_size);
+	EXPORT_VALUE(param_text);
+	EXPORT_VALUE(param_color);
+	EXPORT_VALUE(param_origin);
+	EXPORT_VALUE(param_orient);
+	EXPORT_VALUE(param_compress);
+	EXPORT_VALUE(param_vcompress);
+	EXPORT_VALUE(param_use_kerning);
+	EXPORT_VALUE(param_grid_fit);
+	EXPORT_VALUE(param_invert);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -608,8 +660,9 @@ Layer_Freetype::sync()
 inline Color
 Layer_Freetype::color_func(const Point &point_ __attribute__ ((unused)), int quality __attribute__ ((unused)), float supersample __attribute__ ((unused)))const
 {
+	bool invert=param_invert.get(bool());
 	if (invert)
-		return color;
+		return param_color.get(Color());
 	else
 		return Color::alpha();
 }
@@ -634,18 +687,25 @@ Layer_Freetype::get_color(Context context, const synfig::Point &pos)const
 bool
 Layer_Freetype::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	bool use_kerning=param_use_kerning.get(bool());
+	bool grid_fit=param_grid_fit.get(bool());
+	bool invert=param_invert.get(bool());
+	Color color=param_color.get(Color());
+	synfig::Point origin=param_origin.get(Point());
+	synfig::Vector orient=param_orient.get(Vector());
+	
 	static synfig::RecMutex freetype_mutex;
 
 	if(needs_sync_)
 		const_cast<Layer_Freetype*>(this)->sync();
 
 	int error;
-	Vector size(Layer_Freetype::size*2);
+	Vector size(Layer_Freetype::param_size.get(synfig::Vector())*2);
 
 	if(!context.accelerated_render(surface,quality,renddesc,cb))
 		return false;
 
-	if(is_disabled() || text.empty())
+	if(is_disabled() || param_text.get(synfig::String()).empty())
 		return true;
 
 	// If there is no font loaded, just bail
@@ -655,7 +715,7 @@ Layer_Freetype::accelerated_render(Context context,Surface *surface,int quality,
 		return true;
 	}
 
-	String text(Layer_Freetype::text);
+	String text(Layer_Freetype::param_text.get(synfig::String()));
 	if(text=="@_FILENAME_@" && get_canvas() && !get_canvas()->get_file_name().empty())
 	{
 		text=basename(get_canvas()->get_file_name());
@@ -696,8 +756,8 @@ Layer_Freetype::accelerated_render(Context context,Surface *surface,int quality,
 	const float xerror(abs(size[0]*pw)/(float)face->size->metrics.x_ppem/1.13f/0.996);
 	const float yerror(abs(size[1]*ph)/(float)face->size->metrics.y_ppem/1.13f/0.996);
 	//synfig::info("xerror=%f, yerror=%f",xerror,yerror);
-	const float compress(Layer_Freetype::compress*xerror);
-	const float vcompress(Layer_Freetype::vcompress*yerror);
+	const float compress(Layer_Freetype::param_compress.get(Real())*xerror);
+	const float vcompress(Layer_Freetype::param_vcompress.get(Real())*yerror);
 
 	if(error)
 	{
@@ -921,47 +981,62 @@ Layer_Freetype::accelerated_render(Context context,Surface *surface,int quality,
 
 ////
 bool
-Layer_Freetype::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+Layer_Freetype::accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
-	const Point	tl(renddesc.get_tl());
-	const Point br(renddesc.get_br());
-	
-	const int	w(renddesc.get_w());
-	const int	h(renddesc.get_h());
-	
-	// Width and Height of a pixel
-	const Real pw = (br[0] - tl[0]) / w;
-	const Real ph = (br[1] - tl[1]) / h;
+	int style=param_style.get(int());
+	int weight=param_weight.get(int());
+	synfig::Vector size=param_size.get(Vector());
+	synfig::Real compress=param_compress.get(synfig::Real());
+	synfig::Real vcompress=param_vcompress.get(synfig::Real());
+	bool invert=param_invert.get(bool());
+	Color color=param_color.get(Color());
+	synfig::Point origin=param_origin.get(Point());
+	synfig::Vector orient=param_orient.get(Vector());
+	synfig::String font=param_font.get(synfig::String());
+	synfig::String text=param_text.get(synfig::String());
 	
-	const double sx(1/pw);
-	const double sy(1/ph);
-	const double tx((-tl[0]+origin[0])*sx);
-	const double ty((-tl[1]+origin[1])*sy);
-
 	if(!is_solid_color())
 	{
 		// Initially render what's behind us
-		if(!context.accelerated_cairorender(surface,quality,renddesc,cb))
+		if(!context.accelerated_cairorender(cr,quality,renddesc,cb))
 		{
 			if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Cairo Renderer Failure",__LINE__));
 			return false;
 		}
 	}
+	
+	RendDesc workdesc(renddesc);
+	
+	// Untransform the render desc
+	if(!cairo_renddesc_untransform(cr, workdesc))
+		return false;
 
+	// New expanded workdesc values
+	const int ww=workdesc.get_w();
+	const int wh=workdesc.get_h();
+	const double wtlx=workdesc.get_tl()[0];
+	const double wtly=workdesc.get_tl()[1];
+	const double wpw=workdesc.get_pw();
+	const double wph=workdesc.get_ph();
+	const double wsx=1/wpw;
+	const double wsy=1/wph;
+	const double wtx=(-wtlx+origin[0])*wsx;
+	const double wty=(-wtly+origin[1])*wsy;
+	
 	// Cairo context
 	cairo_surface_t* subimage;
 	cairo_surface_t* inverted;
-	subimage=cairo_surface_create_similar(surface, CAIRO_CONTENT_COLOR_ALPHA, w, h);
+	subimage=cairo_surface_create_similar(cairo_get_target(cr), CAIRO_CONTENT_COLOR_ALPHA, ww, wh);
 	cairo_t* subcr=cairo_create(subimage);
 	cairo_t* invertcr;
 	if(invert)
 	{
-		inverted=cairo_surface_create_similar(surface, CAIRO_CONTENT_COLOR_ALPHA, w, h);
+		inverted=cairo_surface_create_similar(cairo_get_target(cr), CAIRO_CONTENT_COLOR_ALPHA, ww, wh);
 		invertcr=cairo_create(inverted);
 		cairo_set_source_rgba(invertcr, color.get_r(), color.get_g(), color.get_b(), color.get_a());
 		cairo_paint_with_alpha(invertcr, get_amount());
 	}
-
+	
 	// Pango
 	PangoLayout *layout;
 	PangoFontDescription *font_description;
@@ -971,8 +1046,8 @@ Layer_Freetype::accelerated_cairorender(Context context,cairo_surface_t *surface
 	pango_font_description_set_weight (font_description, PangoWeight(weight));
 	pango_font_description_set_style (font_description, PangoStyle(style));
 	// The size is scaled to match Software render size (remove the scale?)
-	float sizex=1.75*fabs(size[0])*fabs(sx);
-	float sizey=1.75*fabs(size[1])*fabs(sy);
+	float sizex=1.75*fabs(size[0])*fabs(wsx);
+	float sizey=1.75*fabs(size[1])*fabs(wsy);
 	float vscale=sizey/sizex;
 	pango_font_description_set_absolute_size (font_description, sizex * PANGO_SCALE );
 	
@@ -987,14 +1062,14 @@ Layer_Freetype::accelerated_cairorender(Context context,cairo_surface_t *surface
 		pango_layout_set_alignment(layout, PANGO_ALIGN_RIGHT);
 	else
 		pango_layout_set_alignment(layout, PANGO_ALIGN_CENTER);
-		
+	
 	pango_layout_set_single_paragraph_mode(layout, false);
-
+	
 	// Calculate the logical and ink rectangles of the layout before add spacing
 	PangoRectangle ink_layout, logical_layout;
 	PangoRectangle ink_rect, logical_rect;
 	pango_layout_get_pixel_extents(layout, &ink_layout, &logical_layout);
-
+	
 	// Spacing
 	// Horizontal
 	PangoAttrList* attrlist=pango_attr_list_new();
@@ -1010,48 +1085,49 @@ Layer_Freetype::accelerated_cairorender(Context context,cairo_surface_t *surface
 	if(total_lines>1)
 		vspace=vspace_total/(total_lines-1);
 	pango_layout_set_spacing(layout, vspace*PANGO_SCALE);
-
+	
 	// Recalculate extents due to spacing changes
 	pango_layout_get_pixel_extents(layout, &ink_layout, &logical_layout);
-
+	
 	// Render text
 	cairo_save(subcr);
 	cairo_set_source_rgba(subcr, color.get_r(), color.get_g(), color.get_b(), color.get_a());
 	cairo_scale(subcr, 1.0, vscale);
 	pango_cairo_update_layout(subcr, layout);
-	cairo_move_to(subcr, tx-logical_layout.width*orient[0], (ty-(logical_layout.height+vspace_total)*vscale*orient[1])/vscale);
+	cairo_move_to(subcr, wtx-logical_layout.width*orient[0], (wty-(logical_layout.height+vspace_total)*vscale*orient[1])/vscale);
 	pango_cairo_show_layout(subcr, layout);
-
+	
 	// Debug ink and logical lines
 	if(0)
 	{
-		pango_layout_get_pixel_extents(layout, &ink_rect, &logical_rect);	
+		pango_layout_get_pixel_extents(layout, &ink_rect, &logical_rect);
 		// Render logical and ink rectangles
 		cairo_save(subcr);
 		cairo_set_source_rgb(subcr, 0.0, 1.0, 0.0);
 		cairo_set_line_width(subcr, 1.0);
-		cairo_rectangle(subcr, tx+ink_rect.x-0.5-logical_layout.width*orient[0],
-							ty+ink_rect.y-0.5-(logical_layout.height+vspace_total)*orient[1],
-							ink_rect.width,
-							ink_rect.height);
+		cairo_rectangle(subcr, wtx+ink_rect.x-0.5-logical_layout.width*orient[0],
+						wty+ink_rect.y-0.5-(logical_layout.height+vspace_total)*orient[1],
+						ink_rect.width,
+						ink_rect.height);
 		cairo_stroke(subcr);
 		cairo_restore(subcr);
-
+		
 		cairo_save(subcr);
 		cairo_set_line_width(subcr, 1.0);
 		cairo_set_source_rgb(subcr, 0.0, 0.0, 1.0);
-		cairo_rectangle(subcr, tx+logical_rect.x-0.5-logical_layout.width*orient[0],
-							ty+logical_rect.y-0.5-(logical_layout.height+vspace_total)*orient[1],
-							logical_rect.width,
-							logical_rect.height);
+		cairo_rectangle(subcr, wtx+logical_rect.x-0.5-logical_layout.width*orient[0],
+						wty+logical_rect.y-0.5-(logical_layout.height+vspace_total)*orient[1],
+						logical_rect.width,
+						logical_rect.height);
 		cairo_stroke(subcr);
-		cairo_move_to(subcr, tx+2, ty);
-		cairo_arc(subcr, tx, ty, 2.0, 0, 2*3.141516);
+		cairo_move_to(subcr, wtx+2, wty);
+		cairo_arc(subcr, wtx, wty, 2.0, 0, 2*3.141516);
 		cairo_fill(subcr);
 		cairo_restore(subcr);
 	}
 	cairo_restore(subcr);
 	
+	cairo_save(cr);
 	// Render the text on the target surface with the proper operator
 	if(invert)
 	{
@@ -1059,23 +1135,24 @@ Layer_Freetype::accelerated_cairorender(Context context,cairo_surface_t *surface
 		cairo_set_operator(invertcr, CAIRO_OPERATOR_DEST_OUT);
 		cairo_paint_with_alpha(invertcr, get_amount());
 	}
-	cairo_t* cr=cairo_create(surface);
-	cairo_save(cr);
+	// Need to scale down to user coordinates before pass to cr
+	cairo_translate(cr, wtlx, wtly);
+	cairo_scale(cr, wpw, wph);
 	if(invert)
 		cairo_set_source_surface(cr, inverted, 0, 0);
 	else
 		cairo_set_source_surface(cr, subimage, 0, 0);
 	if(is_solid_color())
 	{
-			cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
-			cairo_paint(cr);
+		cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
+		cairo_paint(cr);
 	}
 	else
 	{
 		cairo_paint_with_alpha_operator(cr, get_amount(), get_blend_method());
 	}
 	cairo_restore(cr);
-
+	
 	// Destroy and return
 	cairo_surface_destroy(subimage);
 	cairo_destroy(subcr);
@@ -1084,7 +1161,6 @@ Layer_Freetype::accelerated_cairorender(Context context,cairo_surface_t *surface
 		cairo_surface_destroy(inverted);
 		cairo_destroy(invertcr);
 	}
-	cairo_destroy(cr);
 	pango_attr_list_unref(attrlist);
 	g_object_unref (layout);
 	pango_font_description_free (font_description);
diff --git a/src/modules/lyr_freetype/lyr_freetype.h b/src/modules/lyr_freetype/lyr_freetype.h
index 3c29cc6..79fdcef 100644
--- a/src/modules/lyr_freetype/lyr_freetype.h
+++ b/src/modules/lyr_freetype/lyr_freetype.h
@@ -112,23 +112,36 @@ class Layer_Freetype : public synfig::Layer_Composite, public synfig::Layer_NoDe
 {
 	SYNFIG_LAYER_MODULE_EXT
 private:
+	//!Parameter: (synfig::String) text of the layer;
+	ValueBase param_text;
+	//!Parameter: (synfig::Color) color of the text;
+	ValueBase param_color;
+	//!Parameter: (synfig::String) font family used in the text
+	ValueBase param_family;
+	//!Parameter: (int) style used in the font
+	ValueBase param_style;
+	//!Parameter: (int) weight used in the font
+	ValueBase param_weight;
+	//!Parameter: (synfig::Real) horizontal spacing
+	ValueBase param_compress;
+	//!Parameter: (synfig::Real) vertical spacing
+	ValueBase param_vcompress;
+	//!Parameter: (synfig::Vector) size of the text
+	ValueBase param_size;
+	//!Parameter: (synfig::Vector) text orientation
+	ValueBase param_orient;
+	//!Parameter: (synfig::Point) text position
+	ValueBase param_origin;
+	//!Parameter: (synfig::String) font used in the text
+	ValueBase param_font;
+	//!Parameter: (bool)
+	ValueBase param_use_kerning;
+	//!Parameter: (bool)
+	ValueBase param_grid_fit;
+	//!Parameter: (bool) inverts the rendered text
+	ValueBase param_invert;
 
 	FT_Face face;
-	synfig::String font;
-	synfig::String family;
-	synfig::String text;
-	synfig::Vector size;
-	synfig::Vector orient;
-	synfig::Color color;
-	synfig::Point origin;
-	synfig::Real compress;
-	synfig::Real vcompress;
-
-	int style;
-	int weight;
-	bool use_kerning;
-	bool grid_fit;
-	bool invert;
 
 	bool old_version;
 	bool needs_sync_;
@@ -147,7 +160,7 @@ public:
 	virtual ValueBase get_param(const String & param)const;
 	virtual Color get_color(Context context, const synfig::Point &pos)const;
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context,cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 
 	virtual Vocab get_param_vocab()const;
 
diff --git a/src/modules/lyr_std/Makefile.am b/src/modules/lyr_std/Makefile.am
index 8dc51b1..624bb6a 100644
--- a/src/modules/lyr_std/Makefile.am
+++ b/src/modules/lyr_std/Makefile.am
@@ -3,7 +3,7 @@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
diff --git a/src/modules/lyr_std/Makefile.in b/src/modules/lyr_std/Makefile.in
index d7323aa..dedbfa5 100644
--- a/src/modules/lyr_std/Makefile.in
+++ b/src/modules/lyr_std/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -54,7 +53,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/modules/lyr_std
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(top_srcdir)/config/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
@@ -243,6 +243,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -348,7 +349,7 @@ top_srcdir = @top_srcdir@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
@@ -473,12 +474,14 @@ uninstall-moduleLTLIBRARIES:
 
 clean-moduleLTLIBRARIES:
 	-test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES)
-	@list='$(module_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(module_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 liblyr_std.la: $(liblyr_std_la_OBJECTS) $(liblyr_std_la_DEPENDENCIES) $(EXTRA_liblyr_std_la_DEPENDENCIES) 
 	$(liblyr_std_la_LINK) -rpath $(moduledir) $(liblyr_std_la_OBJECTS) $(liblyr_std_la_LIBADD) $(LIBS)
 
@@ -733,6 +736,20 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -878,18 +895,19 @@ uninstall-am: uninstall-moduleLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-moduleLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-moduleLTLIBRARIES install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am uninstall-moduleLTLIBRARIES
+	clean-libtool clean-moduleLTLIBRARIES cscopelist ctags \
+	distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-moduleLTLIBRARIES \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-moduleLTLIBRARIES
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/src/modules/lyr_std/bevel.cpp b/src/modules/lyr_std/bevel.cpp
index b8ffd6f..43cbe7d 100644
--- a/src/modules/lyr_std/bevel.cpp
+++ b/src/modules/lyr_std/bevel.cpp
@@ -41,6 +41,7 @@
 #include <synfig/value.h>
 #include <synfig/valuenode.h>
 #include <synfig/segment.h>
+#include <synfig/cairo_renddesc.h>
 
 #include <cstring>
 #include <ETL/pen>
@@ -80,23 +81,27 @@ inline void clamp(synfig::Vector &v)
 
 Layer_Bevel::Layer_Bevel():
 	Layer_Composite	(0.75,Color::BLEND_ONTO),
-	softness(0.1),
-	type(Blur::FASTGAUSSIAN),
-	color1(Color::white()),
-	color2(Color::black()),
-	depth(0.2)
+	param_type(ValueBase(int(Blur::FASTGAUSSIAN))),
+	param_softness (ValueBase(Real(0.1))),
+	param_color1(ValueBase(Color::white())),
+	param_color2(ValueBase(Color::black())),
+	param_depth(ValueBase(Real(0.2)))
 {
-	angle=Angle::deg(135);
+	param_angle=ValueBase(Angle::deg(135));
 	calc_offset();
-	use_luma=false;
-	solid=false;
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	param_use_luma=ValueBase(false);
+	param_solid=ValueBase(false);
+
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 void
 Layer_Bevel::calc_offset()
 {
+	synfig::Angle angle=param_angle.get(synfig::Angle());
+	synfig::Real depth=param_depth.get(synfig::Real());
+	
 	offset[0]=Angle::cos(angle).get()*depth;
 	offset[1]=Angle::sin(angle).get()*depth;
 
@@ -107,14 +112,20 @@ Layer_Bevel::calc_offset()
 bool
 Layer_Bevel::set_param(const String &param, const ValueBase &value)
 {
-	IMPORT_PLUS(softness,softness=softness>0?softness:0);
-	IMPORT(color1);
-	IMPORT(color2);
-	IMPORT_PLUS(depth,calc_offset());
-	IMPORT_PLUS(angle,calc_offset());
-	IMPORT(type);
-	IMPORT(use_luma);
-	IMPORT(solid);
+	IMPORT_VALUE_PLUS(param_softness,
+		{
+			synfig::Real softness=param_softness.get(Real());
+			softness=softness>0?softness:0;
+			param_softness.set(softness);
+		}
+		);
+	IMPORT_VALUE(param_color1);
+	IMPORT_VALUE(param_color2);
+	IMPORT_VALUE_PLUS(param_depth,calc_offset());
+	IMPORT_VALUE_PLUS(param_angle,calc_offset());
+	IMPORT_VALUE(param_type);
+	IMPORT_VALUE(param_use_luma);
+	IMPORT_VALUE(param_solid);
 
 	return Layer_Composite::set_param(param,value);
 }
@@ -122,14 +133,14 @@ Layer_Bevel::set_param(const String &param, const ValueBase &value)
 ValueBase
 Layer_Bevel::get_param(const String &param)const
 {
-	EXPORT(type);
-	EXPORT(softness);
-	EXPORT(color1);
-	EXPORT(color2);
-	EXPORT(depth);
-	EXPORT(angle);
-	EXPORT(use_luma);
-	EXPORT(solid);
+	EXPORT_VALUE(param_type);
+	EXPORT_VALUE(param_softness);
+	EXPORT_VALUE(param_color1);
+	EXPORT_VALUE(param_color2);
+	EXPORT_VALUE(param_depth);
+	EXPORT_VALUE(param_angle);
+	EXPORT_VALUE(param_use_luma);
+	EXPORT_VALUE(param_solid);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -140,6 +151,11 @@ Layer_Bevel::get_param(const String &param)const
 Color
 Layer_Bevel::get_color(Context context, const Point &pos)const
 {
+	synfig::Real softness=param_softness.get(Real());
+	int type=param_type.get(int());
+	synfig::Color color1=param_color1.get(synfig::Color());
+	synfig::Color color2=param_color2.get(synfig::Color());
+	
 	const Vector size(softness,softness);
 	Point blurpos = Blur(size,type)(pos);
 
@@ -163,6 +179,13 @@ Layer_Bevel::get_color(Context context, const Point &pos)const
 bool
 Layer_Bevel::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	synfig::Real softness=param_softness.get(Real());
+	int type=param_type.get(int());
+	synfig::Color color1=param_color1.get(synfig::Color());
+	synfig::Color color2=param_color2.get(synfig::Color());
+	bool use_luma=param_use_luma.get(bool());
+	bool solid=param_solid.get(bool());
+	
 	int x,y;
 	SuperCallback stageone(cb,0,5000,10000);
 	SuperCallback stagetwo(cb,5000,10000,10000);
@@ -352,21 +375,31 @@ Layer_Bevel::accelerated_render(Context context,Surface *surface,int quality, co
 
 ////
 bool
-Layer_Bevel::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+Layer_Bevel::accelerated_cairorender(Context context, cairo_t *cr,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	synfig::Real softness=param_softness.get(Real());
+	int type=param_type.get(int());
+	synfig::Color color1=param_color1.get(synfig::Color());
+	synfig::Color color2=param_color2.get(synfig::Color());
+	bool use_luma=param_use_luma.get(bool());
+	bool solid=param_solid.get(bool());
+
 	int x,y;
 	SuperCallback stageone(cb,0,5000,10000);
 	SuperCallback stagetwo(cb,5000,10000,10000);
 	
-	const int	w = renddesc.get_w(),
-	h = renddesc.get_h();
-	const Real	pw = renddesc.get_pw(),
-	ph = renddesc.get_ph();
-	const Vector size(softness,softness);
-	
 	RendDesc	workdesc(renddesc);
-	cairo_surface_t		*worksurface;
+	cairo_surface_t		*worksurface, *surface;
 	etl::surface<float> blurred;
+
+	// Untransform the render desc
+	if(!cairo_renddesc_untransform(cr, workdesc))
+		return false;
+
+	const int	w = workdesc.get_w(), h = workdesc.get_h();
+	const double	pw = workdesc.get_pw(),	ph = workdesc.get_ph();
+	const Point tl=workdesc.get_tl();
+	const Vector size(softness,softness);
 	
 	//callbacks depend on how long the blur takes
 	if(size[0] || size[1])
@@ -389,7 +422,6 @@ Layer_Bevel::accelerated_cairorender(Context context,cairo_surface_t *surface,in
 	}
 	
 	//expand the working surface to accommodate the blur
-	
 	//the expanded size = 1/2 the size in each direction rounded up
 	int	halfsizex = (int) (abs(size[0]*.5/pw) + 3),
 	halfsizey = (int) (abs(size[1]*.5/ph) + 3);
@@ -443,11 +475,24 @@ Layer_Bevel::accelerated_cairorender(Context context,cairo_surface_t *surface,in
 			break;
 		}
 	}
-	
+
+	// New expanded workdesc values
+	const int ww=workdesc.get_w();
+	const int wh=workdesc.get_h();
+	const double wtlx=workdesc.get_tl()[0];
+	const double wtly=workdesc.get_tl()[1];
+	const double wpw=workdesc.get_pw();
+	const double wph=workdesc.get_ph();
+
 	// setup the worksurface
-	worksurface=cairo_surface_create_similar(surface, CAIRO_CONTENT_COLOR_ALPHA, workdesc.get_w(), workdesc.get_h());
+	worksurface=cairo_surface_create_similar(cairo_get_target(cr), CAIRO_CONTENT_COLOR_ALPHA, ww, wh);
+	surface=cairo_surface_create_similar(cairo_get_target(cr), CAIRO_CONTENT_COLOR_ALPHA, w, h);
+	cairo_t* subcr=cairo_create(worksurface);
+	cairo_scale(subcr, 1/wpw, 1/wph);
+	cairo_translate(subcr, -wtlx, -wtly);
+
 	//render the background onto the expanded surface
-	if(!context.accelerated_cairorender(worksurface,quality,workdesc,&stageone))
+	if(!context.accelerated_cairorender(subcr,quality,workdesc,&stageone))
 		return false;
 	
 	// Extract the CairoSurface from the cairo_surface_t
@@ -487,12 +532,13 @@ Layer_Bevel::accelerated_cairorender(Context context,cairo_surface_t *surface,in
 	
 	//blur the image
 	Blur(size,type,&stagetwo)(blurred,workdesc.get_br()-workdesc.get_tl(),blurred);
-		
-	int u = halfsizex+abs(offset_u), v = halfsizey+abs(offset_v);
-	for(y=0;y<renddesc.get_h();y++,v++)
+
+	// Add the bevel effect
+	int u = halfsizex+abs(offset_u), v = halfsizey+abs(offset_v);	
+	for(y=0;y<h;y++,v++)
 	{
 		u = halfsizex+abs(offset_u);
-		for(x=0;x<renddesc.get_w();x++,u++)
+		for(x=0;x<w;x++,u++)
 		{
 			Real alpha(0);
 			Color shade;
@@ -540,25 +586,33 @@ Layer_Bevel::accelerated_cairorender(Context context,cairo_surface_t *surface,in
 			
 			
 			if(shade.get_a())
-			{
-				cairosurface[y][x]=CairoColor(Color::blend(shade,Color(cairoworksurface[v][u].demult_alpha()),get_amount(),get_blend_method())).premult_alpha();
-			}
-			else cairosurface[y][x] = cairoworksurface[v][u];
+				cairosurface[y][x]=CairoColor::blend(CairoColor(shade),cairoworksurface[v][u].demult_alpha(),get_amount(),get_blend_method()).premult_alpha();
+			else
+				cairosurface[y][x] = cairoworksurface[v][u];
 		}
 	}
 	cairoworksurface.unmap_cairo_image();
 	cairosurface.unmap_cairo_image();
 	cairo_surface_destroy(worksurface);
-	
+
+	// Now lets put the result in the output surface
+	cairo_save(cr);
+	cairo_translate(cr, tl[0], tl[1]);
+	cairo_scale(cr, pw, ph);
+	cairo_set_source_surface(cr, surface, 0, 0);
+	cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
+	cairo_paint(cr);
+	cairo_restore(cr);
+	cairo_surface_destroy(surface);
+
 	if(cb && !cb->amount_complete(10000,10000))
 	{
-		//if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Renderer Failure",__LINE__));
+		if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Renderer Failure",__LINE__));
 		return false;
 	}
 	
 	return true;
 }
-
 ////
 
 Layer::Vocab
@@ -607,6 +661,9 @@ Layer_Bevel::get_param_vocab(void)const
 Rect
 Layer_Bevel::get_full_bounding_rect(Context context)const
 {
+	synfig::Real softness=param_softness.get(Real());
+	synfig::Real depth=param_depth.get(synfig::Real());
+
 	if(is_disabled())
 		return context.get_full_bounding_rect();
 
diff --git a/src/modules/lyr_std/bevel.h b/src/modules/lyr_std/bevel.h
index cc6c923..565cc77 100644
--- a/src/modules/lyr_std/bevel.h
+++ b/src/modules/lyr_std/bevel.h
@@ -43,20 +43,26 @@ class Layer_Bevel : public synfig::Layer_Composite
 {
 	SYNFIG_LAYER_MODULE_EXT
 private:
-	synfig::Real 	softness;
-	int				type;
-
-	synfig::Color	color1;
-	synfig::Color	color2;
-
-	synfig::Angle	angle;
-	synfig::Real		depth;
-
+	//!Parameter: (int) type of blur to use
+	ValueBase param_type;
+	//!Parameter: (synfig::Real) amount of blur
+	ValueBase param_softness;
+	//!Parameter: (synfig::Color) light color
+	ValueBase param_color1;
+	//!Parameter: (synfig::Color) dark color
+	ValueBase param_color2;
+	//!Parameter: (synfig::Angle) angle of the light source
+	ValueBase param_angle;
+	//!Parameter: (synfig::Real) depth of the bevel
+	ValueBase param_depth;
+	//!Parameter: (bool) use luma
+	ValueBase param_use_luma;
+	//!Parameter: (bool) solid
+	ValueBase param_solid;
+	
 	synfig::Vector	offset;
 	synfig::Vector	offset45;
 
-	bool use_luma;
-	bool solid;
 
 	void calc_offset();
 public:
@@ -69,7 +75,7 @@ public:
 	virtual Color get_color(Context context, const Point &pos)const;
 
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context, cairo_t *cr,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 
 	virtual synfig::Rect get_full_bounding_rect(Context context)const;
 	virtual Vocab get_param_vocab()const;
diff --git a/src/modules/lyr_std/booleancurve.cpp b/src/modules/lyr_std/booleancurve.cpp
index d7b87db..944f250 100644
--- a/src/modules/lyr_std/booleancurve.cpp
+++ b/src/modules/lyr_std/booleancurve.cpp
@@ -88,8 +88,11 @@ bool BooleanCurve::set_param(const String & param, const synfig::ValueBase &valu
 
 ValueBase BooleanCurve::get_param(const String & param)const
 {
-	EXPORT(regions);
-
+	if(param=="regions")
+	{
+		ValueBase ret(regions);
+		return ret;
+	}
 	EXPORT_NAME();
 	EXPORT_VERSION();
 
diff --git a/src/modules/lyr_std/clamp.cpp b/src/modules/lyr_std/clamp.cpp
index 4fc9520..b192130 100644
--- a/src/modules/lyr_std/clamp.cpp
+++ b/src/modules/lyr_std/clamp.cpp
@@ -64,18 +64,23 @@ SYNFIG_LAYER_SET_CVS_ID(Layer_Clamp,"$Id$");
 /* === E N T R Y P O I N T ================================================= */
 
 Layer_Clamp::Layer_Clamp():
-	invert_negative(false),
-	clamp_ceiling(true),
-	ceiling(1.0f),
-	floor(0.0f)
+	param_invert_negative(ValueBase(false)),
+	param_clamp_ceiling(ValueBase(true)),
+	param_ceiling(ValueBase(Real(1.0f))),
+	param_floor(ValueBase(Real(0.0f)))
 {
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 inline Color
 Layer_Clamp::clamp_color(const Color &in)const
 {
+	bool invert_negative=param_invert_negative.get(bool());
+	bool clamp_ceiling=param_clamp_ceiling.get(bool());
+	synfig::Real ceiling=param_ceiling.get(synfig::Real());
+	synfig::Real floor=param_floor.get(synfig::Real());
+	
 	Color ret(in);
 
 	if(ret.get_a()==0)
@@ -126,10 +131,10 @@ Layer_Clamp::clamp_color(const Color &in)const
 bool
 Layer_Clamp::set_param(const String & param, const ValueBase &value)
 {
-	IMPORT(invert_negative);
-	IMPORT(clamp_ceiling);
-	IMPORT(ceiling);
-	IMPORT(floor);
+	IMPORT_VALUE(param_invert_negative);
+	IMPORT_VALUE(param_clamp_ceiling);
+	IMPORT_VALUE(param_ceiling);
+	IMPORT_VALUE(param_floor);
 
 	return false;
 }
@@ -137,11 +142,10 @@ Layer_Clamp::set_param(const String & param, const ValueBase &value)
 ValueBase
 Layer_Clamp::get_param(const String &param)const
 {
-	EXPORT(invert_negative);
-	EXPORT(clamp_ceiling);
-
-	EXPORT(ceiling);
-	EXPORT(floor);
+	EXPORT_VALUE(param_invert_negative);
+	EXPORT_VALUE(param_clamp_ceiling);
+	EXPORT_VALUE(param_ceiling);
+	EXPORT_VALUE(param_floor);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
diff --git a/src/modules/lyr_std/clamp.h b/src/modules/lyr_std/clamp.h
index 7a72bb3..0c82d3a 100644
--- a/src/modules/lyr_std/clamp.h
+++ b/src/modules/lyr_std/clamp.h
@@ -43,12 +43,14 @@ class Layer_Clamp : public Layer
 	SYNFIG_LAYER_MODULE_EXT
 
 private:
-
-	bool invert_negative;
-	bool clamp_ceiling;
-
-	float ceiling;
-	float floor;
+	//!Parameter: (bool)
+	ValueBase param_invert_negative;
+	//!Parameter: (bool)
+	ValueBase param_clamp_ceiling;
+	//!Parameter: (synfig::Real)
+	ValueBase param_ceiling;
+	//!Parameter: (synfig::Real)
+	ValueBase param_floor;
 
 	Color clamp_color(const Color &in)const;
 
diff --git a/src/modules/lyr_std/curvewarp.cpp b/src/modules/lyr_std/curvewarp.cpp
index 1d90409..7893020 100644
--- a/src/modules/lyr_std/curvewarp.cpp
+++ b/src/modules/lyr_std/curvewarp.cpp
@@ -40,6 +40,7 @@
 #include <synfig/surface.h>
 #include <synfig/valuenode.h>
 #include <ETL/calculus>
+#include <synfig/cairo_renddesc.h>
 
 #endif
 
@@ -149,17 +150,23 @@ find_closest_to_bline(bool fast, const std::vector<synfig::BLinePoint>& bline,co
 inline void
 CurveWarp::sync()
 {
+	std::vector<synfig::BLinePoint> bline(param_bline.get_list().begin(),param_bline.get_list().end());
+	Point start_point=param_start_point.get(Point());
+	Point end_point=param_end_point.get(Point());
+	
 	curve_length_=calculate_distance(bline);
 	perp_ = (end_point - start_point).perp().norm();
 }
 
 CurveWarp::CurveWarp():
-	origin(0,0),
-	perp_width(1),
-	start_point(-2.5,-0.5),
-	end_point(2.5,-0.3),
-	fast(true)
+	param_origin(ValueBase(Point(0,0))),
+	param_perp_width(ValueBase(Real(1))),
+	param_start_point(ValueBase(Point(-2.5,-0.5))),
+	param_end_point(ValueBase(Point(2.5,-0.3))),
+	param_bline(ValueBase(std::vector<synfig::BLinePoint>())),
+	param_fast(ValueBase(true))
 {
+	std::vector<synfig::BLinePoint> bline;
 	bline.push_back(BLinePoint());
 	bline.push_back(BLinePoint());
 	bline[0].set_vertex(Point(-2.5,0));
@@ -168,15 +175,23 @@ CurveWarp::CurveWarp():
 	bline[1].set_tangent(Point(1, -0.1));
 	bline[0].set_width(1.0f);
 	bline[1].set_width(1.0f);
-
+	param_bline.set(bline);
 	sync();
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 inline Point
 CurveWarp::transform(const Point &point_, Real *dist, Real *along, int quality)const
 {
+	std::vector<synfig::BLinePoint> bline(param_bline.get_list().begin(),param_bline.get_list().end());
+	Point start_point=param_start_point.get(Point());
+	Point end_point=param_end_point.get(Point());
+	Point origin=param_origin.get(Point());
+	bool fast=param_fast.get(bool());
+	Real perp_width=param_perp_width.get(Real());
+
 	Vector tangent;
 	Vector diff;
 	Point p1;
@@ -345,21 +360,15 @@ CurveWarp::hit_check(synfig::Context context, const synfig::Point &point)const
 bool
 CurveWarp::set_param(const String & param, const ValueBase &value)
 {
-	IMPORT(origin);
-	IMPORT(start_point);
-	IMPORT(end_point);
-	IMPORT(fast);
-	IMPORT(perp_width);
-
-	if(param=="bline" && value.get_type()==ValueBase::TYPE_LIST)
-	{
-		bline=value;
-		sync();
+	IMPORT_VALUE(param_origin);
+	IMPORT_VALUE(param_start_point);
+	IMPORT_VALUE(param_end_point);
+	IMPORT_VALUE(param_fast);
+	IMPORT_VALUE(param_perp_width);
+	IMPORT_VALUE_PLUS(param_bline, sync());
 
-		return true;
-	}
-
-	IMPORT_AS(origin,"offset");
+	if(param=="offset")
+		return set_param("origin", value);
 
 	return false;
 }
@@ -367,12 +376,12 @@ CurveWarp::set_param(const String & param, const ValueBase &value)
 ValueBase
 CurveWarp::get_param(const String & param)const
 {
-	EXPORT(origin);
-	EXPORT(start_point);
-	EXPORT(end_point);
-	EXPORT(bline);
-	EXPORT(fast);
-	EXPORT(perp_width);
+	EXPORT_VALUE(param_origin);
+	EXPORT_VALUE(param_start_point);
+	EXPORT_VALUE(param_end_point);
+	EXPORT_VALUE(param_bline);
+	EXPORT_VALUE(param_fast);
+	EXPORT_VALUE(param_perp_width);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -387,7 +396,7 @@ CurveWarp::get_param_vocab()const
 
 	ret.push_back(ParamDesc("origin")
 				  .set_local_name(_("Origin"))
-				  .set_description(_("Position of the source line"))
+				  .set_description(_("Position of the destiny Spline line"))
 	);
 	ret.push_back(ParamDesc("perp_width")
 				  .set_local_name(_("Width"))
@@ -425,6 +434,9 @@ CurveWarp::get_color(Context context, const Point &point)const
 bool
 CurveWarp::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	Point start_point=param_start_point.get(Point());
+	Point end_point=param_end_point.get(Point());
+
 	SuperCallback stageone(cb,0,9000,10000);
 	SuperCallback stagetwo(cb,9000,10000,10000);
 
@@ -601,11 +613,19 @@ CurveWarp::accelerated_render(Context context,Surface *surface,int quality, cons
 /////
 
 bool
-CurveWarp::accelerated_cairorender(Context context,cairo_surface_t *csurface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+CurveWarp::accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc_, ProgressCallback *cb)const
 {
+	Point start_point=param_start_point.get(Point());
+	Point end_point=param_end_point.get(Point());
+
 	SuperCallback stageone(cb,0,9000,10000);
 	SuperCallback stagetwo(cb,9000,10000,10000);
 	
+	RendDesc renddesc(renddesc_);
+	// Untransform the render desc
+	if(!cairo_renddesc_untransform(cr, renddesc))
+		return false;
+	
 	int x,y;
 	
 	const Real pw(renddesc.get_pw()),ph(renddesc.get_ph());
@@ -691,7 +711,7 @@ if (along > max_along) max_along = along
 	
 #define MAXPIX 10000
 	if (src_w > MAXPIX) src_w = MAXPIX;
-		if (src_h > MAXPIX) src_h = MAXPIX;
+	if (src_h > MAXPIX) src_h = MAXPIX;
 	
 	// this is an attempt to remove artifacts around tile edges - the
 	// cubic interpolation uses at most 2 pixels either side of the
@@ -711,25 +731,35 @@ if (along > max_along) max_along = along
 	src_desc.set_br(src_br);
 	src_desc.set_wh(src_w, src_h);
 	
-			// render the context onto a new surface
-//		Surface source;
-//	source.set_wh(src_w,src_h);
 	
-	cairo_surface_t* csource;
-	csource=cairo_surface_create_similar(csurface,CAIRO_CONTENT_COLOR_ALPHA, src_w, src_h);
-	if(!context.accelerated_cairorender(csource,quality,src_desc,&stageone))
+	// New expanded renddesc values
+	const double wpw=src_desc.get_pw();
+	const double wph=src_desc.get_ph();
+	const double wtlx=src_desc.get_tl()[0];
+	const double wtly=src_desc.get_tl()[1];
+
+	// render the context onto a new surface
+	
+	cairo_surface_t* csource, *cresult;
+	csource=cairo_surface_create_similar(cairo_get_target(cr),CAIRO_CONTENT_COLOR_ALPHA, src_w, src_h);
+	cresult=cairo_surface_create_similar(cairo_get_target(cr),CAIRO_CONTENT_COLOR_ALPHA, w, h);
+	cairo_t *subcr=cairo_create(csource);
+	cairo_scale(subcr, 1/wpw, 1/wph);
+	cairo_translate(subcr, -wtlx, -wtly);
+
+	if(!context.accelerated_cairorender(subcr,quality,src_desc,&stageone))
 		return false;
+	// don't needed anymore
+	cairo_destroy(subcr);
+	//access to pixels
 	CairoSurface source(csource);
 	source.map_cairo_image();
 	
-	CairoSurface surface(csurface);
-	surface.map_cairo_image();
+	CairoSurface result(cresult);
+	result.map_cairo_image();
 	float u,v;
 	Point pos, tmp;
-	
-//	surface->set_wh(w,h);
-//	surface.clear();
-	
+		
 	if(quality<=4)				// CUBIC
 		for(y=0,pos[1]=tl[1];y<h;y++,pos[1]+=ph)
 		{
@@ -739,9 +769,9 @@ if (along > max_along) max_along = along
 				u=(tmp[0]-src_tl[0])/src_pw;
 				v=(tmp[1]-src_tl[1])/src_ph;
 				if(u<0 || v<0 || u>=src_w || v>=src_h || isnan(u) || isnan(v))
-					surface[y][x]=CairoColor(context.get_color(tmp)).premult_alpha();
+					result[y][x]=CairoColor(context.get_color(tmp)).premult_alpha();
 				else
-					surface[y][x]=source.cubic_sample_cooked(u,v);
+					result[y][x]=source.cubic_sample_cooked(u,v);
 			}
 			if((y&31)==0 && cb && !stagetwo.amount_complete(y,h)) return false;
 		}
@@ -754,9 +784,9 @@ if (along > max_along) max_along = along
 				u=(tmp[0]-src_tl[0])/src_pw;
 				v=(tmp[1]-src_tl[1])/src_ph;
 				if(u<0 || v<0 || u>=src_w || v>=src_h || isnan(u) || isnan(v))
-					surface[y][x]=CairoColor(context.get_color(tmp)).premult_alpha();
+					result[y][x]=CairoColor(context.get_color(tmp)).premult_alpha();
 				else
-					surface[y][x]=source.linear_sample_cooked(u,v);
+					result[y][x]=source.linear_sample_cooked(u,v);
 			}
 			if((y&31)==0 && cb && !stagetwo.amount_complete(y,h)) return false;
 		}
@@ -769,15 +799,30 @@ if (along > max_along) max_along = along
 				u=(tmp[0]-src_tl[0])/src_pw;
 				v=(tmp[1]-src_tl[1])/src_ph;
 				if(u<0 || v<0 || u>=src_w || v>=src_h || isnan(u) || isnan(v))
-					surface[y][x]=CairoColor(context.get_color(tmp)).premult_alpha();
+					result[y][x]=CairoColor(context.get_color(tmp)).premult_alpha();
 				else
-					surface[y][x]=source[floor_to_int(v)][floor_to_int(u)];
+					result[y][x]=source[floor_to_int(v)][floor_to_int(u)];
 			}
 			if((y&31)==0 && cb && !stagetwo.amount_complete(y,h)) return false;
 		}
 	
-	surface.unmap_cairo_image();
+	result.unmap_cairo_image();
 	source.unmap_cairo_image();
+	
+	cairo_surface_destroy(csource);
+	// Now paint it on the context
+	cairo_save(cr);
+	
+	cairo_translate(cr, tl[0], tl[1]);
+	cairo_scale(cr, pw, ph);
+	cairo_set_source_surface(cr, cresult, 0, 0);
+	cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
+	cairo_paint(cr);
+	
+	cairo_restore(cr);
+	
+	cairo_surface_destroy(cresult);
+	
 	// Mark our progress as finished
 	if(cb && !cb->amount_complete(10000,10000))
 		return false;
diff --git a/src/modules/lyr_std/curvewarp.h b/src/modules/lyr_std/curvewarp.h
index 11c1f08..9e29ed8 100644
--- a/src/modules/lyr_std/curvewarp.h
+++ b/src/modules/lyr_std/curvewarp.h
@@ -51,15 +51,21 @@ class CurveWarp : public Layer
 	SYNFIG_LAYER_MODULE_EXT
 
 private:
-	std::vector<synfig::BLinePoint> bline;
+	//!Parameter: (Point) origin of the warp
+	ValueBase param_origin;
+	//!Parameter: (Real) perpendicular expansion
+	ValueBase param_perp_width;
+	//!Parameter: (Point) start point of source
+	ValueBase param_start_point;
+	//!Parameter: (Point) end point of source
+	ValueBase param_end_point;
+	//!Parameter: (std::vector<synfig::BlinePoint>) spline of the warp
+	ValueBase param_bline;
+	//!Parameter: (bool)
+	ValueBase param_fast;
 
-	Point origin;
-	Real perp_width;
-	Point start_point;
-	Point end_point;
-	Real curve_length_;
 	Vector perp_;
-	bool fast;
+	Real curve_length_;
 
 	void sync();
 
@@ -71,7 +77,7 @@ public:
 	virtual Point transform(const Point &point_, Real *dist=NULL, Real *along=0, int quality=10)const;
 	virtual Color get_color(Context context, const Point &pos)const;
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context,cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 	synfig::Layer::Handle hit_check(synfig::Context context, const synfig::Point &point)const;
 
 	virtual Vocab get_param_vocab()const;
diff --git a/src/modules/lyr_std/import.cpp b/src/modules/lyr_std/import.cpp
index 7dd9aad..1c400b2 100644
--- a/src/modules/lyr_std/import.cpp
+++ b/src/modules/lyr_std/import.cpp
@@ -65,11 +65,12 @@ SYNFIG_LAYER_SET_CVS_ID(Import,"$Id$");
 
 /* === M E T H O D S ======================================================= */
 
-Import::Import()
+Import::Import():
+	param_filename(ValueBase(String())),
+	param_time_offset(ValueBase(Time(0)))
 {
-	time_offset=0;
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 Import::~Import()
@@ -79,17 +80,17 @@ Import::~Import()
 void
 Import::on_canvas_set()
 {
-	if(get_canvas())set_param("filename",filename);
+	if(get_canvas())set_param("filename",param_filename);
 }
 
 bool
 Import::set_param(const String & param, const ValueBase &value)
 {
 	try{
-	IMPORT(time_offset);
-	if(param=="filename" && value.same_type_as(filename))
+	IMPORT_VALUE(param_time_offset);
+IMPORT_VALUE_PLUS(param_filename,
 	{
-		set_param_static(param, value.get_static());
+		String filename=param_filename.get(String());
 		if(!get_canvas())
 		{
 			filename=value.get(filename);
@@ -97,6 +98,7 @@ Import::set_param(const String & param, const ValueBase &value)
 			cimporter=0;
 			surface.clear();
 			csurface.set_cairo_surface(NULL);
+			param_filename.set(filename);
 			return true;
 		}
 
@@ -137,6 +139,7 @@ Import::set_param(const String & param, const ValueBase &value)
 			cimporter=0;
 			surface.clear();
 			csurface.set_cairo_surface(NULL);
+			param_filename.set(filename);
 			return true;
 		}
 
@@ -173,6 +176,7 @@ Import::set_param(const String & param, const ValueBase &value)
 						filename=newfilename;
 						abs_filename=absolute_path(filename_with_path);
 						surface.clear();
+						param_filename.set(filename);
 						return false;
 					}
 				}
@@ -186,6 +190,7 @@ Import::set_param(const String & param, const ValueBase &value)
 				importer=newimporter;
 				filename=newfilename;
 				abs_filename=absolute_path(filename_with_path);
+				param_filename.set(filename);
 
 				return true;
 			}
@@ -198,15 +203,15 @@ Import::set_param(const String & param, const ValueBase &value)
 				
 				if(filename==newfilename && cimporter)
 				{
-				synfig::warning(strprintf(_("Filename seems to already be set to \"%s\" (%s)"),filename.c_str(),newfilename.c_str()));
-				return true;
+					synfig::warning(strprintf(_("Filename seems to already be set to \"%s\" (%s)"),filename.c_str(),newfilename.c_str()));
+					return true;
 				}
 				 assert(get_canvas());
 				 
 				 if(is_absolute_path(newfilename))
-				 filename_with_path=newfilename;
+					 filename_with_path=newfilename;
 				 else
-				 filename_with_path=get_canvas()->get_file_path()+ETL_DIRECTORY_SEPARATOR+newfilename;
+					 filename_with_path=get_canvas()->get_file_path()+ETL_DIRECTORY_SEPARATOR+newfilename;
 				 
 				 handle<CairoImporter> newimporter;
 				 
@@ -222,6 +227,7 @@ Import::set_param(const String & param, const ValueBase &value)
 						 filename=newfilename;
 						 abs_filename=absolute_path(filename_with_path);
 						 csurface.set_cairo_surface(NULL);
+						 param_filename.set(filename);
 						 return false;
 					 }
 				 }
@@ -237,6 +243,7 @@ Import::set_param(const String & param, const ValueBase &value)
 				 cimporter=newimporter;
 				 filename=newfilename;
 				 abs_filename=absolute_path(filename_with_path);
+				 param_filename.set(filename);
 				 
 				 return true;
 				
@@ -244,6 +251,7 @@ Import::set_param(const String & param, const ValueBase &value)
 			}
 		}
 	}
+	);
 	} catch(...) { set_amount(0); return false; }
 
 	return Layer_Bitmap::set_param(param,value);
@@ -252,21 +260,23 @@ Import::set_param(const String & param, const ValueBase &value)
 ValueBase
 Import::get_param(const String & param)const
 {
-	EXPORT(time_offset);
+	EXPORT_VALUE(param_time_offset);
 
 	if(get_canvas())
 	{
 		if(param=="filename")
 		{
 			ValueBase ret(ValueBase::TYPE_STRING);
-			ret.set_static(get_param_static(param));
+			// This line is needed to copy the internals of ValueBase from param_filename
+			ret=param_filename;
+			
 			string curpath(cleanup_path(absolute_path(get_canvas()->get_file_path())));
 			ret=relative_path(curpath,abs_filename);
 			return ret;
 		}
 	}
 	else
-		EXPORT(filename);
+		EXPORT_VALUE(param_filename);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -293,8 +303,9 @@ Import::get_param_vocab()const
 }
 
 void
-Import::set_time(Context context, Time time)const
+Import::set_time(IndependentContext context, Time time)const
 {
+	Time time_offset=param_time_offset.get(Time());
 	switch (get_method())
 	{
 	case SOFTWARE:
@@ -328,8 +339,9 @@ Import::set_time(Context context, Time time)const
 }
 
 void
-Import::set_time(Context context, Time time, const Point &pos)const
+Import::set_time(IndependentContext context, Time time, const Point &pos)const
 {
+	Time time_offset=param_time_offset.get(Time());
 	switch (get_method())
 	{
 		case SOFTWARE:
@@ -370,7 +382,7 @@ Import::set_render_method(Context context, RenderMethod x)
 		Layer_Bitmap::set_render_method(context, x); // set the method (and pass to the other layers)
 		importer=0; // invalidate the importer
 		cimporter=0;
-		set_param("filename", filename); // this will update the importer to the new type
+		set_param("filename", param_filename); // this will update the importer to the new type
 	}
 	else
 		context.set_render_method(x); // pass it down.
diff --git a/src/modules/lyr_std/import.h b/src/modules/lyr_std/import.h
index e219afd..7b2aa17 100644
--- a/src/modules/lyr_std/import.h
+++ b/src/modules/lyr_std/import.h
@@ -48,11 +48,14 @@ class Import : public Layer_Bitmap
 	SYNFIG_LAYER_MODULE_EXT
 
 private:
-	String filename;
+	//!Parameter: (String)
+	ValueBase param_filename;
+	//!Parameter: (Time)
+	ValueBase param_time_offset;
+
 	String abs_filename;
 	Importer::Handle importer;
 	CairoImporter::Handle cimporter;
-	Time time_offset;
 
 protected:
 	Import();
@@ -68,9 +71,9 @@ public:
 
 	virtual void on_canvas_set();
 
-	virtual void set_time(Context context, Time time)const;
+	virtual void set_time(IndependentContext context, Time time)const;
 
-	virtual void set_time(Context context, Time time, const Point &point)const;
+	virtual void set_time(IndependentContext context, Time time, const Point &point)const;
 	
 	virtual void set_render_method(Context context, RenderMethod x);
 };
diff --git a/src/modules/lyr_std/insideout.cpp b/src/modules/lyr_std/insideout.cpp
index 8dd633e..b149f64 100644
--- a/src/modules/lyr_std/insideout.cpp
+++ b/src/modules/lyr_std/insideout.cpp
@@ -62,23 +62,23 @@ SYNFIG_LAYER_SET_CVS_ID(InsideOut,"$Id$");
 /* === M E T H O D S ======================================================= */
 
 InsideOut::InsideOut():
-	origin(0,0)
+	param_origin(ValueBase(Point(0,0)))
 {
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 bool
 InsideOut::set_param(const String & param, const ValueBase &value)
 {
-	IMPORT(origin);
+	IMPORT_VALUE(param_origin);
 	return false;
 }
 
 ValueBase
 InsideOut::get_param(const String & param)const
 {
-	EXPORT(origin);
+	EXPORT_VALUE(param_origin);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -89,6 +89,7 @@ InsideOut::get_param(const String & param)const
 synfig::Layer::Handle
 InsideOut::hit_check(synfig::Context context, const synfig::Point &p)const
 {
+	Point origin=param_origin.get(Point());
 	Point pos(p-origin);
 	Real inv_mag=pos.inv_mag();
 	Point invpos(pos*inv_mag*inv_mag);
@@ -98,12 +99,23 @@ InsideOut::hit_check(synfig::Context context, const synfig::Point &p)const
 Color
 InsideOut::get_color(Context context, const Point &p)const
 {
+	Point origin=param_origin.get(Point());
 	Point pos(p-origin);
 	Real inv_mag=pos.inv_mag();
 	Point invpos(pos*inv_mag*inv_mag);
 	return context.get_color(invpos+origin);
 }
 
+CairoColor
+InsideOut::get_cairocolor(Context context, const Point &p)const
+{
+	Point origin=param_origin.get(Point());
+	Point pos(p-origin);
+	Real inv_mag=pos.inv_mag();
+	Point invpos(pos*inv_mag*inv_mag);
+	return context.get_cairocolor(invpos+origin);
+}
+
 class InsideOut_Trans : public Transform
 {
 	etl::handle<const InsideOut> layer;
@@ -112,21 +124,28 @@ public:
 
 	synfig::Vector perform(const synfig::Vector& x)const
 	{
-		Point pos(x-layer->origin);
+		Point origin=layer->param_origin.get(Point());
+		Point pos(x-origin);
 		Real inv_mag=pos.inv_mag();
 		if(!isnan(inv_mag))
-			return (pos*(inv_mag*inv_mag)+layer->origin);
+			return (pos*(inv_mag*inv_mag)+origin);
 		return x;
 	}
 
 	synfig::Vector unperform(const synfig::Vector& x)const
 	{
-		Point pos(x-layer->origin);
+		Point origin=layer->param_origin.get(Point());
+		Point pos(x-origin);
 		Real inv_mag=pos.inv_mag();
 		if(!isnan(inv_mag))
-			return (pos*(inv_mag*inv_mag)+layer->origin);
+			return (pos*(inv_mag*inv_mag)+origin);
 		return x;
 	}
+
+	synfig::String get_string()const
+	{
+		return "insideout";
+	}
 };
 etl::handle<Transform>
 InsideOut::get_transform()const
diff --git a/src/modules/lyr_std/insideout.h b/src/modules/lyr_std/insideout.h
index 9cae33b..59b1ea3 100644
--- a/src/modules/lyr_std/insideout.h
+++ b/src/modules/lyr_std/insideout.h
@@ -50,8 +50,8 @@ class InsideOut : public Layer
 	friend class InsideOut_Trans;
 
 private:
-
-	Point origin;
+	//!Parameter: (Point)
+	ValueBase param_origin;
 
 public:
 	InsideOut();
@@ -59,6 +59,7 @@ public:
 	virtual bool set_param(const String &param, const ValueBase &value);
 	virtual ValueBase get_param(const String &param)const;
 	virtual Color get_color(Context context, const Point &pos)const;
+	virtual CairoColor get_cairocolor(Context context, const Point &pos)const;
 	synfig::Layer::Handle hit_check(synfig::Context context, const synfig::Point &point)const;
 	virtual Vocab get_param_vocab()const;
 	virtual etl::handle<synfig::Transform> get_transform()const;
diff --git a/src/modules/lyr_std/julia.cpp b/src/modules/lyr_std/julia.cpp
index 4061b28..beff3e7 100644
--- a/src/modules/lyr_std/julia.cpp
+++ b/src/modules/lyr_std/julia.cpp
@@ -94,77 +94,82 @@ color_neg_flip(Color &color)
 
 /* === M E T H O D S ======================================================= */
 
-Julia::Julia():color_shift(angle::degrees(0))
+Julia::Julia():
+param_color_shift(ValueBase(Angle::deg(0)))
 {
-	icolor=Color::black();
-	ocolor=Color::black();
-	iterations=32;
-	color_shift=Angle::deg(0);
-
-	distort_inside=true;
-	distort_outside=true;
-	shade_inside=true;
-	shade_outside=true;
-	solid_inside=false;
-	solid_outside=false;
-	invert_inside=false;
-	invert_outside=false;
-	color_inside=true;
-	color_outside=false;
-	color_cycle=false;
-	smooth_outside=true;
-	broken=false;
-	seed=Point(0,0);
-
-	bailout=4;
-	lp=log(log(bailout));
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	param_icolor=ValueBase(Color::black());
+	param_ocolor=ValueBase(Color::black());
+	param_iterations=ValueBase(int(32));
+	param_color_shift=ValueBase(Angle::deg(0));
+	
+	param_distort_inside=ValueBase(true);
+	param_distort_outside=ValueBase(true);
+	param_shade_inside=ValueBase(true);
+	param_shade_outside=ValueBase(true);
+	param_solid_inside=ValueBase(false);
+	param_solid_outside=ValueBase(false);
+	param_invert_inside=ValueBase(false);
+	param_invert_outside=ValueBase(false);
+	param_color_inside=ValueBase(true);
+	param_color_outside=ValueBase(false);
+	param_color_cycle=ValueBase(false);
+	param_smooth_outside=ValueBase(true);
+	param_broken=ValueBase(false);
+	param_seed=ValueBase(Point(0,0));
+
+	param_bailout=ValueBase(Real(4));
+	lp=log(log(param_bailout.get(Real())));
+
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 bool
 Julia::set_param(const String & param, const ValueBase &value)
 {
 
-	IMPORT(icolor);
-	IMPORT(ocolor);
-	IMPORT(color_shift);
-	IMPORT(seed);
-
-	IMPORT(distort_inside);
-	IMPORT(distort_outside);
-	IMPORT(shade_inside);
-	IMPORT(shade_outside);
-	IMPORT(solid_inside);
-	IMPORT(solid_outside);
-	IMPORT(invert_inside);
-	IMPORT(invert_outside);
-	IMPORT(color_inside);
-	IMPORT(color_outside);
-
-	IMPORT(color_cycle);
-	IMPORT(smooth_outside);
-	IMPORT(broken);
-
-// TODO: Use IMPORT_PLUS
-	if(param=="iterations" && value.same_type_as(iterations))
+	IMPORT_VALUE(param_icolor);
+	IMPORT_VALUE(param_ocolor);
+	IMPORT_VALUE(param_color_shift);
+	IMPORT_VALUE(param_seed);
+
+	IMPORT_VALUE(param_distort_inside);
+	IMPORT_VALUE(param_distort_outside);
+	IMPORT_VALUE(param_shade_inside);
+	IMPORT_VALUE(param_shade_outside);
+	IMPORT_VALUE(param_solid_inside);
+	IMPORT_VALUE(param_solid_outside);
+	IMPORT_VALUE(param_invert_inside);
+	IMPORT_VALUE(param_invert_outside);
+	IMPORT_VALUE(param_color_inside);
+	IMPORT_VALUE(param_color_outside);
+
+	IMPORT_VALUE(param_color_cycle);
+	IMPORT_VALUE(param_smooth_outside);
+	IMPORT_VALUE(param_broken);
+
+	IMPORT_VALUE_PLUS(param_iterations,
 	{
+		int iterations=param_iterations.get(int());
 		iterations=value.get(iterations);
 		if(iterations<0)
 			iterations=0;
 		if(iterations>500000)
 			iterations=500000;
-		set_param_static(param, value.get_static());
+		param_iterations.set(iterations);
 		return true;
 	}
-	if(param=="bailout" && value.same_type_as(bailout))
+	);
+	IMPORT_VALUE_PLUS(param_bailout,
 	{
+		Real bailout=param_bailout.get(Real());
 		bailout=value.get(bailout);
 		bailout*=bailout;
 		lp=log(log(bailout));
-		set_param_static(param, value.get_static());
+		param_bailout.set(bailout);
 		return true;
 	}
+	);
 
 	return false;
 }
@@ -172,30 +177,31 @@ Julia::set_param(const String & param, const ValueBase &value)
 ValueBase
 Julia::get_param(const String & param)const
 {
-	EXPORT(icolor);
-	EXPORT(ocolor);
-	EXPORT(color_shift);
-	EXPORT(iterations);
-	EXPORT(seed);
-
-	EXPORT(distort_inside);
-	EXPORT(distort_outside);
-	EXPORT(shade_inside);
-	EXPORT(shade_outside);
-	EXPORT(solid_inside);
-	EXPORT(solid_outside);
-	EXPORT(invert_inside);
-	EXPORT(invert_outside);
-	EXPORT(color_inside);
-	EXPORT(color_outside);
-	EXPORT(color_cycle);
-	EXPORT(smooth_outside);
-	EXPORT(broken);
+	EXPORT_VALUE(param_icolor);
+	EXPORT_VALUE(param_ocolor);
+	EXPORT_VALUE(param_color_shift);
+	EXPORT_VALUE(param_iterations);
+	EXPORT_VALUE(param_seed);
+
+	EXPORT_VALUE(param_distort_inside);
+	EXPORT_VALUE(param_distort_outside);
+	EXPORT_VALUE(param_shade_inside);
+	EXPORT_VALUE(param_shade_outside);
+	EXPORT_VALUE(param_solid_inside);
+	EXPORT_VALUE(param_solid_outside);
+	EXPORT_VALUE(param_invert_inside);
+	EXPORT_VALUE(param_invert_outside);
+	EXPORT_VALUE(param_color_inside);
+	EXPORT_VALUE(param_color_outside);
+	EXPORT_VALUE(param_color_cycle);
+	EXPORT_VALUE(param_smooth_outside);
+	EXPORT_VALUE(param_broken);
 
 	if(param=="bailout")
 	{
-		ValueBase ret(sqrt(bailout));
-		ret.set_static(get_param_static(param));
+		// This line is needed to copy the static and interpolation options
+		ValueBase ret(param_bailout);
+		ret.set(sqrt(param_bailout.get(Real())));
 		return ret;
 	}
 
@@ -208,6 +214,26 @@ Julia::get_param(const String & param)const
 Color
 Julia::get_color(Context context, const Point &pos)const
 {
+	synfig::Color icolor=param_icolor.get(synfig::Color());
+	synfig::Color ocolor=param_ocolor.get(synfig::Color());
+	synfig::Angle color_shift=param_color_shift.get(synfig::Angle());
+	int iterations=param_iterations.get(int());
+	synfig::Point seed=param_seed.get(synfig::Point());
+	bool distort_inside=param_distort_inside.get(bool());
+	bool shade_inside=param_shade_inside.get(bool());
+	bool solid_inside=param_solid_inside.get(bool());
+	bool invert_inside=param_invert_inside.get(bool());
+	bool color_inside=param_color_inside.get(bool());
+	bool distort_outside=param_distort_outside.get(bool());
+	bool shade_outside=param_shade_outside.get(bool());
+	bool solid_outside=param_solid_outside.get(bool());
+	bool invert_outside=param_invert_outside.get(bool());
+	bool color_outside=param_color_outside.get(bool());
+
+	bool color_cycle=param_color_cycle.get(bool());
+	bool smooth_outside=param_smooth_outside.get(bool());
+	bool broken=param_broken.get(bool());
+
 	Real
 		cr, ci,
 		zr, zi,
diff --git a/src/modules/lyr_std/julia.h b/src/modules/lyr_std/julia.h
index 317ffb8..a7a7a59 100644
--- a/src/modules/lyr_std/julia.h
+++ b/src/modules/lyr_std/julia.h
@@ -49,29 +49,47 @@ class Julia : public synfig::Layer
 	SYNFIG_LAYER_MODULE_EXT
 
 private:
-
-	synfig::Color icolor;
-	synfig::Color ocolor;
-	synfig::Angle color_shift;
-	Real bailout;
+	//!Parameter: (synfig::Color)
+	ValueBase param_icolor;
+	//!Parameter: (synfig::Color)
+	ValueBase param_ocolor;
+	//!Parameter: (synfig::Angle)
+	ValueBase param_color_shift;
+	//!Parameter: (int)
+	ValueBase param_iterations;
+	//!Parameter: (synfig::Point)
+	ValueBase param_seed;
+	//!Parameter: (Real)
+	ValueBase param_bailout;
+	//!Parameter: (bool)
+	ValueBase param_distort_inside;
+	//!Parameter: (bool)
+	ValueBase param_shade_inside;
+	//!Parameter: (bool)
+	ValueBase param_solid_inside;
+	//!Parameter: (bool)
+	ValueBase param_invert_inside;
+	//!Parameter: (bool)
+	ValueBase param_color_inside;
+	//!Parameter: (bool)
+	ValueBase param_distort_outside;
+	//!Parameter: (bool)
+	ValueBase param_shade_outside;
+	//!Parameter: (bool)
+	ValueBase param_solid_outside;
+	//!Parameter: (bool)
+	ValueBase param_invert_outside;
+	//!Parameter: (bool)
+	ValueBase param_color_outside;
+	//!Parameter: (bool)
+	ValueBase param_color_cycle;
+	//!Parameter: (bool)
+	ValueBase param_smooth_outside;
+	//!Parameter: (bool)
+	ValueBase param_broken;
 	Real lp;
-	int iterations;
-	synfig::Point seed;
-
-	bool distort_inside;
-	bool distort_outside;
-	bool shade_inside;
-	bool shade_outside;
-	bool solid_inside;
-	bool solid_outside;
-	bool invert_inside;
-	bool invert_outside;
-	bool color_inside;
-	bool color_outside;
-
-	bool color_cycle;
-	bool smooth_outside;
-	bool broken;
+
+
 
 public:
 	Julia();
diff --git a/src/modules/lyr_std/mandelbrot.cpp b/src/modules/lyr_std/mandelbrot.cpp
index 9e7e4bd..f623b80 100644
--- a/src/modules/lyr_std/mandelbrot.cpp
+++ b/src/modules/lyr_std/mandelbrot.cpp
@@ -95,80 +95,80 @@ color_neg_flip(Color &color)
 /* === M E T H O D S ======================================================= */
 
 Mandelbrot::Mandelbrot():
-	gradient_offset_inside(0.0),
-	gradient_offset_outside(0.0),
-	gradient_loop_inside(true),
-	gradient_scale_outside(1.0),
-	gradient_inside(Color::alpha(),Color::black()),
-	gradient_outside(Color::alpha(),Color::black())
-{
-	iterations=32;
-//	color_shift=Angle::deg(0);
-
-	distort_inside=true;
-	distort_outside=true;
-	solid_inside=false;
-	solid_outside=false;
-	invert_inside=false;
-	invert_outside=false;
-	shade_inside=true;
-	shade_outside=true;
-
-	smooth_outside=true;
-	broken=false;
-
-	bailout=4;
-	lp=log(log(bailout));
-
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
-}
-
-bool
-Mandelbrot::set_param(const String & param, const ValueBase &value)
+	param_gradient_inside(ValueBase(Gradient(Color::alpha(),Color::black()))),
+	param_gradient_offset_inside(ValueBase(Real(0.0))),
+	param_gradient_loop_inside(ValueBase(true)),
+	param_gradient_outside(ValueBase(Gradient(Color::alpha(),Color::black()))),
+	param_gradient_offset_outside(ValueBase(Real(0.0))),
+	param_gradient_scale_outside(ValueBase(Real(1.0)))
 {
+	param_iterations=ValueBase(int(32));
 
-//	IMPORT(color_shift);
+	param_distort_inside=ValueBase(true);
+	param_distort_outside=ValueBase(true);
+	param_solid_inside=ValueBase(false);
+	param_solid_outside=ValueBase(false);
+	param_invert_inside=ValueBase(false);
+	param_invert_outside=ValueBase(false);
+	param_shade_inside=ValueBase(true);
+	param_shade_outside=ValueBase(true);
 
-	IMPORT(gradient_offset_inside);
-	IMPORT(gradient_offset_outside);
-	IMPORT(gradient_loop_inside);
-	IMPORT(gradient_scale_outside);
+	param_smooth_outside=ValueBase(true);
+	param_broken=ValueBase(false);
 
-	IMPORT(distort_inside);
-	IMPORT(distort_outside);
-	IMPORT(solid_inside);
-	IMPORT(solid_outside);
-	IMPORT(invert_inside);
-	IMPORT(invert_outside);
-	IMPORT(shade_inside);
-	IMPORT(shade_outside);
+	param_bailout=ValueBase(Real(4));
+	lp=log(log(param_bailout.get(Real())));
 
-	IMPORT(smooth_outside);
-	IMPORT(broken);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
+}
 
-	IMPORT(gradient_inside);
-	IMPORT(gradient_outside);
+bool
+Mandelbrot::set_param(const String & param, const ValueBase &value)
+{
 
-// TODO: Use IMPORT_PLUS
-	if(param=="iterations" && value.same_type_as(iterations))
-	{
-		iterations=value.get(iterations);
-		if(iterations<0)
-			iterations=0;
-		if(iterations>500000)
-			iterations=500000;
-		set_param_static(param, value.get_static());
-		return true;
-	}
-	if(param=="bailout" && value.same_type_as(bailout))
-	{
-		bailout=value.get(bailout);
-		bailout*=bailout;
-		lp=log(log(bailout));
-		set_param_static(param, value.get_static());
-		return true;
-	}
+	IMPORT_VALUE(param_gradient_offset_inside);
+	IMPORT_VALUE(param_gradient_offset_outside);
+	IMPORT_VALUE(param_gradient_loop_inside);
+	IMPORT_VALUE(param_gradient_scale_outside);
+
+	IMPORT_VALUE(param_distort_inside);
+	IMPORT_VALUE(param_distort_outside);
+	IMPORT_VALUE(param_solid_inside);
+	IMPORT_VALUE(param_solid_outside);
+	IMPORT_VALUE(param_invert_inside);
+	IMPORT_VALUE(param_invert_outside);
+	IMPORT_VALUE(param_shade_inside);
+	IMPORT_VALUE(param_shade_outside);
+
+	IMPORT_VALUE(param_smooth_outside);
+	IMPORT_VALUE(param_broken);
+
+	IMPORT_VALUE(param_gradient_inside);
+	IMPORT_VALUE(param_gradient_outside);
+
+	IMPORT_VALUE_PLUS(param_iterations,
+	  {
+		  int iterations=param_iterations.get(int());
+		  iterations=value.get(iterations);
+		  if(iterations<0)
+			  iterations=0;
+		  if(iterations>500000)
+			  iterations=500000;
+		  param_iterations.set(iterations);
+		  return true;
+	  }
+	  );
+	IMPORT_VALUE_PLUS(param_bailout,
+	  {
+		  Real bailout=param_bailout.get(Real());
+		  bailout=value.get(bailout);
+		  bailout*=bailout;
+		  lp=log(log(bailout));
+		  param_bailout.set(bailout);
+		  return true;
+	  }
+	  );
 
 	return false;
 }
@@ -176,37 +176,33 @@ Mandelbrot::set_param(const String & param, const ValueBase &value)
 ValueBase
 Mandelbrot::get_param(const String & param)const
 {
-//	EXPORT(icolor);
-//	EXPORT(ocolor);
-//	EXPORT(color_shift);
-	EXPORT(iterations);
-
-	EXPORT(gradient_offset_inside);
-	EXPORT(gradient_offset_outside);
-	EXPORT(gradient_loop_inside);
-	EXPORT(gradient_scale_outside);
-
-	EXPORT(distort_inside);
-	EXPORT(distort_outside);
-	EXPORT(solid_inside);
-	EXPORT(solid_outside);
-	EXPORT(invert_inside);
-	EXPORT(invert_outside);
-	EXPORT(shade_inside);
-	EXPORT(shade_outside);
-	EXPORT(smooth_outside);
-	EXPORT(broken);
-
-	EXPORT(gradient_inside);
-	EXPORT(gradient_outside);
-
+	EXPORT_VALUE(param_iterations);
+
+	EXPORT_VALUE(param_gradient_offset_inside);
+	EXPORT_VALUE(param_gradient_offset_outside);
+	EXPORT_VALUE(param_gradient_loop_inside);
+	EXPORT_VALUE(param_gradient_scale_outside);
+
+	EXPORT_VALUE(param_distort_inside);
+	EXPORT_VALUE(param_distort_outside);
+	EXPORT_VALUE(param_solid_inside);
+	EXPORT_VALUE(param_solid_outside);
+	EXPORT_VALUE(param_invert_inside);
+	EXPORT_VALUE(param_invert_outside);
+	EXPORT_VALUE(param_shade_inside);
+	EXPORT_VALUE(param_shade_outside);
+	EXPORT_VALUE(param_smooth_outside);
+	EXPORT_VALUE(param_broken);
+
+	EXPORT_VALUE(param_gradient_inside);
+	EXPORT_VALUE(param_gradient_outside);
 	if(param=="bailout")
 	{
-		ValueBase ret(sqrt(bailout));
-		ret.set_static(get_param_static(param));
+		// This line is needed to copy the static and interpolation options
+		ValueBase ret(param_bailout);
+		ret.set(sqrt(param_bailout.get(Real())));
 		return ret;
 	}
-
 	EXPORT_NAME();
 	EXPORT_VERSION();
 
@@ -301,6 +297,27 @@ Mandelbrot::get_param_vocab()const
 Color
 Mandelbrot::get_color(Context context, const Point &pos)const
 {
+	int iterations=param_iterations.get(int());
+	Real bailout=param_bailout.get(Real());
+	bool broken=param_broken.get(bool());
+
+	bool distort_inside=param_distort_inside.get(bool());
+	bool shade_inside=param_shade_inside.get(bool());
+	bool solid_inside=param_solid_inside.get(bool());
+	bool invert_inside=param_invert_inside.get(bool());
+	Gradient gradient_inside=param_gradient_inside.get(Gradient());
+	Real gradient_offset_inside=param_gradient_offset_inside.get(Real());
+	bool gradient_loop_inside=param_gradient_loop_inside.get(bool());
+
+	bool distort_outside=param_distort_outside.get(bool());
+	bool shade_outside=param_shade_outside.get(bool());
+	bool solid_outside=param_solid_outside.get(bool());
+	bool invert_outside=param_invert_outside.get(bool());
+	Gradient gradient_outside=param_gradient_outside.get(Gradient());
+	bool smooth_outside=param_smooth_outside.get(bool());
+	Real gradient_offset_outside=param_gradient_offset_outside.get(Real());
+	Real gradient_scale_outside=param_gradient_scale_outside.get(Real());
+	
 	Real
 		cr, ci,
 		zr, zi,
diff --git a/src/modules/lyr_std/mandelbrot.h b/src/modules/lyr_std/mandelbrot.h
index a5f514b..609626c 100644
--- a/src/modules/lyr_std/mandelbrot.h
+++ b/src/modules/lyr_std/mandelbrot.h
@@ -49,28 +49,44 @@ class Mandelbrot : public Layer
 	SYNFIG_LAYER_MODULE_EXT
 
 private:
-
-	Real bailout;
+	//!Parameter: (int)
+	ValueBase param_iterations;
+	//!Parameter: (Real)
+	ValueBase param_bailout;
 	Real lp;
-	int iterations;
-
-	bool smooth_outside;
-	bool broken;
-
-	bool distort_inside;
-	bool distort_outside;
-	bool solid_inside;
-	bool solid_outside;
-	bool invert_inside;
-	bool invert_outside;
-	bool shade_outside;
-	bool shade_inside;
-	Real gradient_offset_inside;
-	Real gradient_offset_outside;
-	bool gradient_loop_inside;
-	Real gradient_scale_outside;
-	Gradient gradient_inside;
-	Gradient gradient_outside;
+	//!Parameter: (bool)
+	ValueBase param_broken;
+
+	//!Parameter: (bool)
+	ValueBase param_distort_inside;
+	//!Parameter: (bool)
+	ValueBase param_shade_inside;
+	//!Parameter: (bool)
+	ValueBase param_solid_inside;
+	//!Parameter: (bool)
+	ValueBase param_invert_inside;
+	//!Parameter: (Gradient)
+	ValueBase param_gradient_inside;
+	//!Parameter: (Real)
+	ValueBase param_gradient_offset_inside;
+	//!Parameter: (bool)
+	ValueBase param_gradient_loop_inside;
+	//!Parameter: (bool)
+	ValueBase param_distort_outside;
+	//!Parameter: (bool)
+	ValueBase param_shade_outside;
+	//!Parameter: (bool)
+	ValueBase param_solid_outside;
+	//!Parameter: (bool)
+	ValueBase param_invert_outside;
+	//!Parameter: (Gradient)
+	ValueBase param_gradient_outside;
+	//!Parameter: (bool)
+	ValueBase param_smooth_outside;
+	//!Parameter: (Real)
+	ValueBase param_gradient_offset_outside;
+	//!Parameter: (Real)
+	ValueBase param_gradient_scale_outside;
 
 public:
 	Mandelbrot();
diff --git a/src/modules/lyr_std/rotate.cpp b/src/modules/lyr_std/rotate.cpp
index 40db884..e452338 100644
--- a/src/modules/lyr_std/rotate.cpp
+++ b/src/modules/lyr_std/rotate.cpp
@@ -65,13 +65,13 @@ SYNFIG_LAYER_SET_CVS_ID(Rotate,"$Id$");
 /* === E N T R Y P O I N T ================================================= */
 
 Rotate::Rotate():
-	origin	(0,0),
-	amount	(Angle::deg(0)),
+	param_origin (ValueBase(Vector(0,0))),
+	param_amount (ValueBase(Angle::deg(0))),
 	sin_val	(0),
 	cos_val	(1)
 {
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 Rotate::~Rotate()
@@ -81,16 +81,17 @@ Rotate::~Rotate()
 bool
 Rotate::set_param(const String & param, const ValueBase &value)
 {
-	IMPORT(origin);
+	IMPORT_VALUE(param_origin);
 
-	if(param=="amount" && value.same_type_as(amount))
+	IMPORT_VALUE_PLUS(param_amount,
 	{
-		amount=value.get(amount);
+		Angle amount=value.get(Angle());
 		sin_val=Angle::sin(amount).get();
 		cos_val=Angle::cos(amount).get();
-		set_param_static(param, value.get_static());
+		param_amount.set(amount);
 		return true;
 	}
+	);
 
 	return false;
 }
@@ -98,8 +99,8 @@ Rotate::set_param(const String & param, const ValueBase &value)
 ValueBase
 Rotate::get_param(const String &param)const
 {
-	EXPORT(origin);
-	EXPORT(amount);
+	EXPORT_VALUE(param_origin);
+	EXPORT_VALUE(param_amount);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -134,14 +135,21 @@ public:
 
 	synfig::Vector perform(const synfig::Vector& x)const
 	{
-		Point pos(x-layer->origin);
-		return Point(layer->cos_val*pos[0]-layer->sin_val*pos[1],layer->sin_val*pos[0]+layer->cos_val*pos[1])+layer->origin;
+		Vector origin=layer->param_origin.get(Vector());
+		Point pos(x-origin);
+		return Point(layer->cos_val*pos[0]-layer->sin_val*pos[1],layer->sin_val*pos[0]+layer->cos_val*pos[1])+origin;
 	}
 
 	synfig::Vector unperform(const synfig::Vector& x)const
 	{
-		Point pos(x-layer->origin);
-		return Point(layer->cos_val*pos[0]+layer->sin_val*pos[1],-layer->sin_val*pos[0]+layer->cos_val*pos[1])+layer->origin;
+		Vector origin=layer->param_origin.get(Vector());
+		Point pos(x-origin);
+		return Point(layer->cos_val*pos[0]+layer->sin_val*pos[1],-layer->sin_val*pos[0]+layer->cos_val*pos[1])+origin;
+	}
+
+	synfig::String get_string()const
+	{
+		return "rotate";
 	}
 };
 etl::handle<Transform>
@@ -153,6 +161,7 @@ Rotate::get_transform()const
 synfig::Layer::Handle
 Rotate::hit_check(synfig::Context context, const synfig::Point &p)const
 {
+	Vector origin=param_origin.get(Vector());
 	Point pos(p-origin);
 	Point newpos(cos_val*pos[0]+sin_val*pos[1],-sin_val*pos[0]+cos_val*pos[1]);
 	newpos+=origin;
@@ -162,6 +171,7 @@ Rotate::hit_check(synfig::Context context, const synfig::Point &p)const
 Color
 Rotate::get_color(Context context, const Point &p)const
 {
+	Vector origin=param_origin.get(Vector());
 	Point pos(p-origin);
 	Point newpos(cos_val*pos[0]+sin_val*pos[1],-sin_val*pos[0]+cos_val*pos[1]);
 	newpos+=origin;
@@ -171,6 +181,9 @@ Rotate::get_color(Context context, const Point &p)const
 bool
 Rotate::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	Vector origin=param_origin.get(Vector());
+	Angle amount=param_amount.get(Angle());
+	
 	if(amount.dist(Angle::deg(0))==Angle::deg(0))
 		return context.accelerated_render(surface,quality,renddesc,cb);
 	if(amount.dist(Angle::deg(180))==Angle::deg(0))
@@ -337,114 +350,38 @@ Rotate::accelerated_render(Context context,Surface *surface,int quality, const R
 	return true;
 }
 
-////////
+///////////
+
 bool
-Rotate::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+Rotate::accelerated_cairorender(Context context, cairo_t *cr,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	Vector origin=param_origin.get(Vector());
+	Angle amount=param_amount.get(Angle());
 
-	const Point	otl(renddesc.get_tl());
-	const Point obr(renddesc.get_br());
-	const int	w(renddesc.get_w());
-	const int	h(renddesc.get_h());
-	
-	// Width and Height of a pixel
-	const Real pw = (obr[0] - otl[0]) / w;
-	const Real ph = (obr[1] - otl[1]) / h;
-	
-	// These are the scale values
-	const double sx(1/pw);
-	const double sy(1/ph);
-
-//	if(amount.dist(Angle::deg(0))==Angle::deg(0))
-//		return context.accelerated_cairorender(surface,quality,renddesc,cb);
-//	if(amount.dist(Angle::deg(180))==Angle::deg(0))
-//	{
-//		RendDesc desc(renddesc);
-//		desc.clear_flags();
-//		Point tmp;
-//		tmp=renddesc.get_tl()-origin;
-//		desc.set_tl(Point(-tmp[0],-tmp[1])+origin);
-//		tmp=renddesc.get_br()-origin;
-//		desc.set_br(Point(-tmp[0],-tmp[1])+origin);
-//		return context.accelerated_cairorender(surface,quality,desc,cb);
-//	}
-	Point tl(renddesc.get_tl()-origin);
-	Point br(renddesc.get_br()-origin);
-	
-	{
-		Point rot_tl(cos_val*tl[0]+sin_val*tl[1],-sin_val*tl[0]+cos_val*tl[1]);
-		Point rot_br(cos_val*br[0]+sin_val*br[1],-sin_val*br[0]+cos_val*br[1]);
-		Point rot_tr(cos_val*br[0]+sin_val*tl[1],-sin_val*br[0]+cos_val*tl[1]);
-		Point rot_bl(cos_val*tl[0]+sin_val*br[1],-sin_val*tl[0]+cos_val*br[1]);
-		rot_tl+=origin;
-		rot_br+=origin;
-		rot_tr+=origin;
-		rot_bl+=origin;
-		
-		Point min_point(min(min(min(rot_tl[0],rot_br[0]),rot_tr[0]),rot_bl[0]),min(min(min(rot_tl[1],rot_br[1]),rot_tr[1]),rot_bl[1]));
-		Point max_point(max(max(max(rot_tl[0],rot_br[0]),rot_tr[0]),rot_bl[0]),max(max(max(rot_tl[1],rot_br[1]),rot_tr[1]),rot_bl[1]));
-		
-		if(tl[0]>br[0])
-		{
-			tl[0]=max_point[0];
-			br[0]=min_point[0];
-		}
-		else
-		{
-			br[0]=max_point[0];
-			tl[0]=min_point[0];
-		}
-		if(tl[1]>br[1])
-		{
-			tl[1]=max_point[1];
-			br[1]=min_point[1];
-		}
-		else
-		{
-			br[1]=max_point[1];
-			tl[1]=min_point[1];
-		}
-	}
-	Real pww=(renddesc.get_w())/(renddesc.get_br()[0]-renddesc.get_tl()[0]);
-	Real phh=(renddesc.get_h())/(renddesc.get_br()[1]-renddesc.get_tl()[1]);
-	// we're going to round the canvas size to an integer number of pixels, so round the
-	// tl-br rectangle accordingly - otherwise we see the jittering described in bug 2152666
-	br[0] -= (pww*(br[0]-tl[0]) - round_to_int(pww*(br[0]-tl[0]))) / pww;
-	br[1] -= (phh*(br[1]-tl[1]) - round_to_int(phh*(br[1]-tl[1]))) / phh;
-		
-	RendDesc desc(renddesc);
-	desc.clear_flags();
-	desc.set_tl(tl);
-	desc.set_br(br);
-	desc.set_wh(round_to_int(pww*(br[0]-tl[0])),round_to_int(phh*(br[1]-tl[1])));
-	
-	cairo_surface_t* source=cairo_surface_create_similar(surface, CAIRO_CONTENT_COLOR_ALPHA, desc.get_w(), desc.get_h());
+	const double rtx(origin[0]);
+	const double rty(origin[1]);
 
-	if(!context.accelerated_cairorender(source,quality,desc,cb))
-		return false;
+	float angle=Angle::rad(amount).get();
 	
-	cairo_t *cr=cairo_create(surface);
 	cairo_save(cr);
+	cairo_translate(cr, rtx, rty);
+	cairo_rotate(cr, angle);
+	cairo_translate(cr, -rtx, -rty);
 
-	float angle=Angle::rad(amount).get();
-	cairo_translate(cr, (origin[0]-otl[0])*sx, (origin[1]-otl[1])*sy);
-	cairo_rotate(cr, -1.0*angle);
-	cairo_translate(cr, -(origin[0]-otl[0])*sx, -(origin[1]-otl[1])*sy);
-	cairo_set_source_surface(cr, source, (tl[0]-otl[0])*sx, (tl[1]-otl[1])*sy);
-
+	// is this really useful?
 	if(quality>8) cairo_pattern_set_filter(cairo_get_source(cr), CAIRO_FILTER_FAST);
 	else if(quality>=4) cairo_pattern_set_filter(cairo_get_source(cr), CAIRO_FILTER_GOOD);
 	else cairo_pattern_set_filter(cairo_get_source(cr), CAIRO_FILTER_BEST);
-
-	cairo_set_operator(cr, CAIRO_OPERATOR_OVER); // again this has to be the real operator
-	cairo_paint(cr);
+	
+	if(!context.accelerated_cairorender(cr,quality,renddesc,cb))
+	{
+		cairo_restore(cr);
+		return false;
+	}
 	cairo_restore(cr);
-	cairo_surface_destroy(source);
-	cairo_destroy(cr);
-	return true;
-
+	return true;	
 }
-///////////
+
 Rect
 Rotate::get_full_bounding_rect(Context context)const
 {
diff --git a/src/modules/lyr_std/rotate.h b/src/modules/lyr_std/rotate.h
index 2deca3d..628fb94 100644
--- a/src/modules/lyr_std/rotate.h
+++ b/src/modules/lyr_std/rotate.h
@@ -50,8 +50,10 @@ class Rotate : public Layer
 	SYNFIG_LAYER_MODULE_EXT
 	friend class Rotate_Trans;
 private:
-	Vector origin;
-	Angle amount;
+	//!Parameter: (Vector)
+	ValueBase param_origin;
+	//!Parameter: (Angle)
+	ValueBase param_amount;
 
 	Real sin_val;
 	Real cos_val;
@@ -63,7 +65,7 @@ public:
 	virtual ValueBase get_param(const synfig::String & param)const;
 	virtual Color get_color(Context context, const Point &pos)const;
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 	synfig::Layer::Handle hit_check(synfig::Context context, const synfig::Point &point)const;
 	virtual Vocab get_param_vocab()const;
 	virtual Rect get_full_bounding_rect(Context context)const;
diff --git a/src/modules/lyr_std/shade.cpp b/src/modules/lyr_std/shade.cpp
index 7b226ab..0a7c46b 100644
--- a/src/modules/lyr_std/shade.cpp
+++ b/src/modules/lyr_std/shade.cpp
@@ -42,6 +42,7 @@
 #include <synfig/value.h>
 #include <synfig/valuenode.h>
 #include <synfig/segment.h>
+#include <synfig/cairo_renddesc.h>
 
 #include <cstring>
 #include <ETL/pen>
@@ -79,28 +80,48 @@ inline void clamp(synfig::Vector &v)
 
 Layer_Shade::Layer_Shade():
 	Layer_Composite	(0.75,Color::BLEND_BEHIND),
-	size(0.1,0.1),
-	type(Blur::FASTGAUSSIAN),
-	color(Color::black()),
-	origin(0.2,-0.2),
-	invert(false)
+	param_size(ValueBase(Vector(0.1,0.1))),
+	param_type(ValueBase(int(Blur::FASTGAUSSIAN))),
+	param_color(ValueBase(Color::black())),
+	param_origin(ValueBase(Vector(0.2,-0.2))),
+	param_invert(ValueBase(false))
 {
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 bool
 Layer_Shade::set_param(const String &param, const ValueBase &value)
 {
-	IMPORT_PLUS(size,clamp(size));
-	IMPORT(type);
-	IMPORT_PLUS(color, { if (color.get_a() == 0) { if (converted_blend_) {
+	IMPORT_VALUE_PLUS(param_size,
+		{
+			synfig::Vector size=param_size.get(synfig::Vector());
+			clamp(size);
+			param_size.set(size);
+		}
+		);
+	IMPORT_VALUE(param_type);
+	IMPORT_VALUE_PLUS(param_color,
+		{
+			synfig::Color color=param_color.get(synfig::Color());
+			if (color.get_a() == 0)
+			{
+				if (converted_blend_)
+				{
 					set_blend_method(Color::BLEND_ALPHA_OVER);
-					color.set_a(1); } else transparent_color_ = true; } });
-	IMPORT(origin);
-	IMPORT(invert);
+					color.set_a(1);
+					param_color.set(color);
+				}
+				else
+					transparent_color_ = true;
+			}
+		}
+		);
+	IMPORT_VALUE(param_origin);
+	IMPORT_VALUE(param_invert);
 
-	IMPORT_AS(origin,"offset");
+	if(param=="offset")
+		return set_param("origin", value);
 
 	return Layer_Composite::set_param(param,value);
 }
@@ -108,11 +129,11 @@ Layer_Shade::set_param(const String &param, const ValueBase &value)
 ValueBase
 Layer_Shade::get_param(const String &param)const
 {
-	EXPORT(size);
-	EXPORT(type);
-	EXPORT(color);
-	EXPORT(origin);
-	EXPORT(invert);
+	EXPORT_VALUE(param_size);
+	EXPORT_VALUE(param_type);
+	EXPORT_VALUE(param_color);
+	EXPORT_VALUE(param_origin);
+	EXPORT_VALUE(param_invert);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -123,6 +144,12 @@ Layer_Shade::get_param(const String &param)const
 Color
 Layer_Shade::get_color(Context context, const Point &pos)const
 {
+	synfig::Vector size=param_size.get(synfig::Vector());
+	int type=param_type.get(int());
+	synfig::Color color=param_color.get(synfig::Color());
+	synfig::Vector origin=param_origin.get(synfig::Vector());
+	bool invert=param_invert.get(bool());
+	
 	Point blurpos = Blur(size,type)(pos);
 
 	if(get_amount()==0.0)
@@ -141,6 +168,12 @@ Layer_Shade::get_color(Context context, const Point &pos)const
 bool
 Layer_Shade::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	synfig::Vector size=param_size.get(synfig::Vector());
+	int type=param_type.get(int());
+	synfig::Color color=param_color.get(synfig::Color());
+	synfig::Vector origin=param_origin.get(synfig::Vector());
+	bool invert=param_invert.get(bool());
+
 	int x,y;
 
 	const int	w = renddesc.get_w(),
@@ -372,20 +405,51 @@ Layer_Shade::accelerated_render(Context context,Surface *surface,int quality, co
 
 ///
 bool
-Layer_Shade::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+Layer_Shade::accelerated_cairorender(Context context,cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
-	int x,y;
+	synfig::Vector size=param_size.get(synfig::Vector());
+	int type=param_type.get(int());
+	synfig::Color color=param_color.get(synfig::Color());
+	synfig::Vector origin=param_origin.get(synfig::Vector());
+	bool invert=param_invert.get(bool());
 
-	const int	w = renddesc.get_w(),
-	h = renddesc.get_h();
-	const Real	pw = renddesc.get_pw(),
-	ph = renddesc.get_ph();
+	int x,y;
+	SuperCallback stageone(cb,0,5000,10000);
+	SuperCallback stagetwo(cb,5000,10000,10000);
 	
 	RendDesc	workdesc(renddesc);
 	cairo_surface_t		*worksurface;
 	etl::surface<float> blurred;
 	
-	//expand the working surface to accommodate the blur	
+	// Untransform the render desc
+	if(!cairo_renddesc_untransform(cr, workdesc))
+		return false;
+	
+	const int w=workdesc.get_w(), h=workdesc.get_h();
+	const double pw=(workdesc.get_br()[0]-workdesc.get_tl()[0])/w;
+	const double ph=(workdesc.get_br()[1]-workdesc.get_tl()[1])/h;
+
+	//callbacks depend on how long the blur takes
+	if(size[0] || size[1])
+	{
+		if(type == Blur::DISC)
+		{
+			stageone = SuperCallback(cb,0,5000,10000);
+			stagetwo = SuperCallback(cb,5000,10000,10000);
+		}
+		else
+		{
+			stageone = SuperCallback(cb,0,9000,10000);
+			stagetwo = SuperCallback(cb,9000,10000,10000);
+		}
+	}
+	else
+	{
+		stageone = SuperCallback(cb,0,9999,10000);
+		stagetwo = SuperCallback(cb,9999,10000,10000);
+	}
+
+	//expand the working surface to accommodate the blur
 	//the expanded size = 1/2 the size in each direction rounded up
 	int	halfsizex = (int) (abs(size[0]*.5/pw) + 3),
 	halfsizey = (int) (abs(size[1]*.5/ph) + 3);
@@ -460,44 +524,33 @@ Layer_Shade::accelerated_cairorender(Context context,cairo_surface_t *surface,in
 			break;
 		}
 	}
-	SuperCallback stageone(cb,0,5000,10000);
-	SuperCallback stagetwo(cb,5000,10000,10000);
-	
-	//callbacks depend on how long the blur takes
-	if(size[0] || size[1])
-	{
-		if(type == Blur::DISC)
-		{
-			stageone = SuperCallback(cb,0,5000,10000);
-			stagetwo = SuperCallback(cb,5000,10000,10000);
-		}
-		else
-		{
-			stageone = SuperCallback(cb,0,9000,10000);
-			stagetwo = SuperCallback(cb,9000,10000,10000);
-		}
-	}
-	else
-	{
-		stageone = SuperCallback(cb,0,9999,10000);
-		stagetwo = SuperCallback(cb,9999,10000,10000);
-	}
 	
+	// New expanded workdesc values
+	const int ww=workdesc.get_w();
+	const int wh=workdesc.get_h();
+	const double wtlx=workdesc.get_tl()[0];
+	const double wtly=workdesc.get_tl()[1];
 	
 	// setup the worksurface
-	worksurface=cairo_surface_create_similar(surface, CAIRO_CONTENT_COLOR_ALPHA, workdesc.get_w(), workdesc.get_h());
+	worksurface=cairo_surface_create_similar(cairo_get_target(cr), CAIRO_CONTENT_COLOR_ALPHA, ww, wh);
+	cairo_t* subcr=cairo_create(worksurface);
+	cairo_scale(subcr, 1/pw, 1/ph);
+	cairo_translate(subcr, -wtlx, -wtly);
 
 	//render the background onto the expanded surface
-	if(!context.accelerated_cairorender(worksurface,quality,workdesc,&stageone))
+	if(!context.accelerated_cairorender(subcr,quality,workdesc,&stageone))
 		return false;
 	// copy the background on the target surface if applies
 	if(!is_solid_color())
 	{
-		cairo_t *cr=cairo_create(surface);
-		cairo_set_source_surface(cr, worksurface, -halfsizex+(origin_u<0?origin_u:0), -halfsizey+(origin_v<0?origin_v:0));
+		//cairo_translate(subcr, origin[0], origin[1]);
+		cairo_save(cr);
+		cairo_translate(cr, wtlx, wtly);
+		cairo_scale(cr, pw, ph);
+		cairo_set_source_surface(cr, worksurface, 0, 0);
 		cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
 		cairo_paint(cr);
-		cairo_destroy(cr);
+		cairo_restore(cr);
 	}
 	
 	// Extract the CairoSurface from the cairo_surface_t
@@ -532,18 +585,21 @@ Layer_Shade::accelerated_cairorender(Context context,cairo_surface_t *surface,in
 		}
 	
 	cairoworksurface.unmap_cairo_image();
-
-	// Now lets blend the result in the output surface
-	cairo_t *cr=cairo_create(surface);
-	cairo_set_source_surface(cr, worksurface, -halfsizex+(origin_u<0?origin_u:0)-origin_u, -halfsizey+(origin_v<0?origin_v:0)-origin_v);
-	cairo_paint_with_alpha_operator(cr, 1.0, get_blend_method()); // TODO: add cairo_paint_opertor function when alpha=1.0 (it is quicker)
-	cairo_destroy(cr);
 	
+	// Now lets blend the result in the output surface
+	cairo_save(cr);
+	cairo_translate(cr, origin[0], origin[1]);
+	cairo_translate(cr, wtlx, wtly);
+	cairo_scale(cr, pw, ph);
+	cairo_set_source_surface(cr, worksurface, 0, 0);
+	cairo_paint_with_alpha_operator(cr, 1.0, get_blend_method());
+	// TODO: add cairo_paint_opertor function when alpha=1.0 (it is quicker)
+	cairo_restore(cr);
 	cairo_surface_destroy(worksurface);
-		
+	
 #undef GAUSSIAN_ADJUSTMENT
 #undef SCALE_FACTOR
-
+	
 	if(cb && !cb->amount_complete(10000,10000))
 	{
 		//if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Renderer Failure",__LINE__));
@@ -593,6 +649,10 @@ Layer_Shade::get_param_vocab(void)const
 Rect
 Layer_Shade::get_full_bounding_rect(Context context)const
 {
+	synfig::Vector size=param_size.get(synfig::Vector());
+	synfig::Vector origin=param_origin.get(synfig::Vector());
+	bool invert=param_invert.get(bool());
+
 	if(is_disabled())
 		return context.get_full_bounding_rect();
 
diff --git a/src/modules/lyr_std/shade.h b/src/modules/lyr_std/shade.h
index 62528c5..a4ad2ff 100644
--- a/src/modules/lyr_std/shade.h
+++ b/src/modules/lyr_std/shade.h
@@ -42,11 +42,16 @@ class Layer_Shade : public synfig::Layer_Composite
 {
 	SYNFIG_LAYER_MODULE_EXT
 private:
-	synfig::Vector 	size;
-	int				type;
-	synfig::Color	color;
-	synfig::Vector	origin;
-	bool invert;
+	//!Parameter: (synfig::Vector)
+	ValueBase param_size;
+	//!Parameter: (int)
+	ValueBase param_type;
+	//!Parameter: (synfig::Color)
+	ValueBase param_color;
+	//!Parameter: (synfig::Vector)
+	ValueBase param_origin;
+	//!Parameter: (bool)
+	ValueBase param_invert;
 
 public:
 	Layer_Shade();
@@ -58,7 +63,7 @@ public:
 	virtual Color get_color(Context context, const Point &pos)const;
 
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context,cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 	virtual Rect get_full_bounding_rect(Context context)const;
 	virtual Vocab get_param_vocab()const;
 	virtual bool reads_context()const { return true; }
diff --git a/src/modules/lyr_std/sphere_distort.cpp b/src/modules/lyr_std/sphere_distort.cpp
index a58d068..7397821 100644
--- a/src/modules/lyr_std/sphere_distort.cpp
+++ b/src/modules/lyr_std/sphere_distort.cpp
@@ -41,6 +41,7 @@
 #include <synfig/value.h>
 #include <synfig/valuenode.h>
 #include <synfig/transform.h>
+#include <synfig/cairo_renddesc.h>
 
 #include <synfig/curve_helper.h>
 
@@ -81,60 +82,54 @@ SYNFIG_LAYER_SET_CVS_ID(Layer_SphereDistort,"$Id$");
 
 /* === E N T R Y P O I N T ================================================= */
 
-Layer_SphereDistort::Layer_SphereDistort()
-:center(0,0),
-radius(1),
-percent(1.0),
-type(TYPE_NORMAL),
-clip(false)
+Layer_SphereDistort::Layer_SphereDistort():
+param_center(ValueBase(Vector(0,0))),
+param_radius(ValueBase(double(1))),
+param_amount(ValueBase(double(1))),
+param_type(ValueBase(int(TYPE_NORMAL))),
+param_clip(ValueBase(false))
 {
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 
 bool
 Layer_SphereDistort::set_param(const String & param, const ValueBase &value)
 {
-	IMPORT_PLUS(center,sync());
-	IMPORT_PLUS(radius,sync());
-	IMPORT(type);
-	IMPORT_AS(percent,"amount");
-	IMPORT(clip);
+	IMPORT_VALUE_PLUS(param_center,sync());
+	IMPORT_VALUE_PLUS(param_radius,sync());
+	IMPORT_VALUE(param_type);
+	IMPORT_VALUE(param_amount);
+	IMPORT_VALUE(param_clip);
 
-	if(param=="percent")
-	{
-		if(dynamic_param_list().count("percent"))
-		{
-			connect_dynamic_param("amount",dynamic_param_list().find("percent")->second);
-			disconnect_dynamic_param("percent");
-			synfig::warning("Layer_SphereDistort::::set_param(): Updated valuenode connection to use the new \"amount\" parameter.");
-		}
-		else
-			synfig::warning("Layer_SphereDistort::::set_param(): The parameter \"segment_list\" is deprecated. Use \"bline\" instead.");
-	}
+	if(param=="percent" && param_amount.get_type()==value.get_type())
+		return set_param("amount", value);
 
-	return false;
+	return Layer::set_param(param,value);
 }
 
 ValueBase
 Layer_SphereDistort::get_param(const String &param)const
 {
-	EXPORT(center);
-	EXPORT(radius);
-	EXPORT(type);
-	EXPORT_AS(percent,"amount");
-	EXPORT(clip);
+	EXPORT_VALUE(param_center);
+	EXPORT_VALUE(param_radius);
+	EXPORT_VALUE(param_type);
+	EXPORT_VALUE(param_amount);
+	EXPORT_VALUE(param_clip);
+	if(param=="percent")
+		return get_param("amount");
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
 
-	return ValueBase();
+	return Layer::get_param(param);
 }
 
 void
 Layer_SphereDistort::sync()
 {
+// Remove me?
 }
 
 Layer::Vocab
@@ -306,6 +301,12 @@ inline Point sphtrans(const Point &p, const Point &center, const Real &radius,
 synfig::Layer::Handle
 Layer_SphereDistort::hit_check(synfig::Context context, const synfig::Point &pos)const
 {
+	Vector center=param_center.get(Vector());
+	double radius=param_radius.get(double());
+	double percent=param_amount.get(double());
+	int type=param_type.get(int());
+	bool clip=param_clip.get(bool());
+	
 	bool clipped;
 	Point point(sphtrans(pos,center,radius,percent,type,clipped));
 	if(clip && clipped)
@@ -316,6 +317,12 @@ Layer_SphereDistort::hit_check(synfig::Context context, const synfig::Point &pos
 Color
 Layer_SphereDistort::get_color(Context context, const Point &pos)const
 {
+	Vector center=param_center.get(Vector());
+	double radius=param_radius.get(double());
+	double percent=param_amount.get(double());
+	int type=param_type.get(int());
+	bool clip=param_clip.get(bool());
+
 	bool clipped;
 	Point point(sphtrans(pos,center,radius,percent,type,clipped));
 	if(clip && clipped)
@@ -324,7 +331,8 @@ Layer_SphereDistort::get_color(Context context, const Point &pos)const
 }
 
 #if 1
-bool Layer_SphereDistort::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+bool
+Layer_SphereDistort::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
 	/*	Things to consider:
 		1) Block expansion for distortion (ouch... quality level??)
@@ -337,6 +345,11 @@ bool Layer_SphereDistort::accelerated_render(Context context,Surface *surface,in
 	*/
 
 	//bounding box reject
+	Vector center=param_center.get(Vector());
+	double radius=param_radius.get(double());
+	double percent=param_amount.get(double());
+	int type=param_type.get(int());
+	bool clip=param_clip.get(bool());
 	{
 		Rect	sphr;
 
@@ -532,6 +545,249 @@ bool Layer_SphereDistort::accelerated_render(Context context,Surface *surface,in
 
 	return true;
 }
+
+////////
+bool
+Layer_SphereDistort::accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc_, ProgressCallback *cb)const
+{
+	/*	Things to consider:
+	 1) Block expansion for distortion (ouch... quality level??)
+	 2) Bounding box clipping
+	 3) Super sampling for better visual quality (based on the quality level?)
+	 4) Interpolation type for sampling (based on quality level?)
+	 
+	 //things to defer until after
+	 super sampling, non-linear interpolation
+	 */
+	
+	Vector center=param_center.get(Vector());
+	double radius=param_radius.get(double());
+	double percent=param_amount.get(double());
+	int type=param_type.get(int());
+	bool clip=param_clip.get(bool());
+
+	RendDesc	renddesc(renddesc_);
+	
+	// Untransform the render desc
+	if(!cairo_renddesc_untransform(cr, renddesc))
+		return false;
+	
+	//bounding box reject
+	{
+		Rect	sphr;
+		
+		sphr.set_point(center[0]-radius,center[1]-radius);
+		sphr.expand(center[0]+radius,center[1]+radius);
+		
+		//get the bounding box of the transform
+		Rect	windr;
+		
+		//and the bounding box of the rendering
+		windr.set_point(renddesc.get_tl()[0],renddesc.get_tl()[1]);
+		windr.expand(renddesc.get_br()[0],renddesc.get_br()[1]);
+		
+		//test bounding boxes for collision
+		if( (type == TYPE_NORMAL && !intersect(sphr,windr)) ||
+		   (type == TYPE_DISTH && (sphr.minx >= windr.maxx || windr.minx >= sphr.maxx)) ||
+		   (type == TYPE_DISTV && (sphr.miny >= windr.maxy || windr.miny >= sphr.maxy)) )
+		{
+			if (clip)
+			{
+				cairo_set_operator(cr, CAIRO_OPERATOR_CLEAR);
+				cairo_paint(cr);
+				return true;
+			}
+			else
+				return context.accelerated_cairorender(cr,quality,renddesc,cb);
+		}
+	}
+	
+	//Ok, so we overlap some... now expand the window for rendering
+	RendDesc r = renddesc;
+	cairo_surface_t* background, *result;
+	int nl=0,nt=0,nr=0,nb=0, nw=0,nh=0;
+	
+	// grab the current renddesc interesting values
+	const Real pw = renddesc.get_pw(),ph = renddesc.get_ph();
+	const Point tl = renddesc.get_tl(), br = renddesc.get_br();
+	const int w = renddesc.get_w(), h = renddesc.get_h();
+	
+	{
+		//must enlarge window by pixel coordinates so go!
+		
+		//need to figure out closest and farthest point and distort THOSE
+		
+		Point origin[4] = {tl,tl,br,br};
+		Vector v[4] = {Vector(0,br[1]-tl[1]),
+			Vector(br[0]-tl[0],0),
+			Vector(0,tl[1]-br[1]),
+			Vector(tl[0]-br[0],0)};
+		
+		Point close(0,0);
+		Real t = 0;
+		Rect	expandr(tl,br);
+		
+		//expandr.set_point(tl[0],tl[1]);
+		//expandr.expand(br[0],br[1]);
+		
+		for(int i=0; i<4; ++i)
+		{
+			Vector p_o = center-origin[i];
+			
+			//project onto left line
+			t = (p_o*v[i])/v[i].mag_squared();
+			
+			//clamp
+			if(t < 0) t = 0; if(t > 1) t = 1;
+			
+			close = origin[i] + v[i]*t;
+			
+			//now get transforms and expand the rectangle to accommodate
+			Point p = sphtrans(close,center,radius,percent,type);
+			expandr.expand(p[0],p[1]);
+			p = sphtrans(origin[i],center,radius,percent,type);
+			expandr.expand(p[0],p[1]);
+			p = sphtrans(origin[i]+v[i],center,radius,percent,type);
+			expandr.expand(p[0],p[1]);
+		}
+		
+		//now that we have the bounding rectangle of ALL the pixels (should be...)
+		//order it so that it's in the same orientation as the tl,br pair
+		
+		Point ntl(0,0),nbr(0,0);
+		
+		//sort x
+		if(tl[0] < br[0])
+		{
+			ntl[0] = expandr.minx;
+			nbr[0] = expandr.maxx;
+		}
+		else
+		{
+			ntl[0] = expandr.maxx;
+			nbr[0] = expandr.minx;
+		}
+		
+		//sort y
+		if(tl[1] < br[1])
+		{
+			ntl[1] = expandr.miny;
+			nbr[1] = expandr.maxy;
+		}
+		else
+		{
+			ntl[1] = expandr.maxy;
+			nbr[1] = expandr.miny;
+		}
+		
+		//now expand the window as needed
+		Vector temp = ntl-tl;
+		
+		//pixel offset
+		nl = (int)(temp[0]/pw)-1;
+		nt = (int)(temp[1]/ph)-1;
+		
+		temp = nbr - br;
+		nr = (int)(temp[0]/pw)+1;
+		nb = (int)(temp[1]/ph)+1;
+		
+		nw = renddesc.get_w() + nr - nl;
+		nh = renddesc.get_h() + nb - nt;
+		
+		r.set_subwindow(nl,nt,nw,nh);
+	}
+	// New values for expanded
+	const double wpw =r.get_pw();
+	const double wph =r.get_ph();
+	const double wtlx=r.get_tl()[0];
+	const double wtly=r.get_tl()[1];
+
+	// now we know the sice of the needed background, create the cairo surface
+	background=cairo_surface_create_similar(cairo_get_target(cr), CAIRO_CONTENT_COLOR_ALPHA, nw, nh);
+	result=cairo_surface_create_similar(cairo_get_target(cr), CAIRO_CONTENT_COLOR_ALPHA, w, h);
+	// render the background
+	cairo_t* subcr=cairo_create(background);
+	cairo_scale(subcr, 1/wpw, 1/wph);
+	cairo_translate(subcr, -wtlx, -wtly);
+	if(!context.accelerated_cairorender(subcr,quality,r,cb))
+	{
+		synfig::warning("Cairo SphereDistort: Layer below failed");
+		return false;
+	}
+	cairo_destroy(subcr);
+	//now distort and check to make sure we aren't overshooting our bounds here
+	
+	Point sample = tl, sub = tl, trans(0,0);
+	float xs = 0,ys = 0;
+	int y=0,x=0;
+	Real invpw = 1/pw, invph = 1/ph;
+	Point rtl = r.get_tl();
+	
+	CairoSurface cresult(result);
+	if(!cresult.map_cairo_image())
+	{
+		synfig::warning("Sphere Distort: map cairo surface failed");
+		return false;
+	}
+	CairoSurface cbackground(background);
+	if(!cbackground.map_cairo_image())
+	{
+		synfig::warning("Sphere Distort: map cairo surface failed");
+		return false;
+	}
+	
+	for(y = 0; y < h; ++y, sample[1] += ph)
+	{
+		sub = sample;
+		for(x = 0; x < w; ++x, sub[0] += pw)
+		{
+			bool clipped;
+			trans=sphtrans(sub,center,radius,percent,type,clipped);
+			if(clip && clipped)
+			{
+				cresult[y][x]=CairoColor::alpha();
+				continue;
+			}
+			
+			xs = (trans[0]-rtl[0])*invpw;
+			ys = (trans[1]-rtl[1])*invph;
+			
+			if(!(xs >= 0 && xs < nw && ys >= 0 && ys < nh))
+			{
+				cresult[y][x]=context.get_cairocolor(trans).premult_alpha();
+				continue;
+			}
+			
+			//sample at that pixel location based on the quality
+			if(quality <= 4)	// cubic
+				cresult[y][x]=cbackground.cubic_sample_cooked(xs, ys).premult_alpha();
+			else if(quality <= 5) // cosine
+				cresult[y][x]=cbackground.cosine_sample_cooked(xs, ys).premult_alpha();
+			else if(quality <= 6) // linear
+				cresult[y][x]=cbackground.linear_sample_cooked(xs, ys).premult_alpha();
+			else				// nearest
+				cresult[y][x]=cbackground[round_to_int(ys)][round_to_int(xs)].premult_alpha();
+		}
+	}
+	cresult.unmap_cairo_image();
+	cbackground.unmap_cairo_image();
+	
+	cairo_surface_destroy(background);
+	
+	cairo_save(cr);
+	
+	cairo_translate(cr, tl[0], tl[1]);
+	cairo_scale(cr, pw, ph);
+	cairo_set_source_surface(cr, result, 0, 0);
+	cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
+	cairo_paint(cr);
+	
+	cairo_restore(cr);
+	cairo_surface_destroy(result);
+	
+	return true;
+}
+
 #endif
 
 class synfig::Spherize_Trans : public synfig::Transform
@@ -542,12 +798,17 @@ public:
 
 	synfig::Vector perform(const synfig::Vector& x)const
 	{
-		return sphtrans(x,layer->center,layer->radius,-layer->percent,layer->type);
+		return sphtrans(x,layer->param_center.get(Vector()),layer->param_radius.get(double()),-layer->param_amount.get(double()),layer->param_type.get(int()));
 	}
 
 	synfig::Vector unperform(const synfig::Vector& x)const
 	{
-		return sphtrans(x,layer->center,layer->radius,layer->percent,layer->type);
+		return sphtrans(x,layer->param_center.get(Vector()),layer->param_radius.get(double()),-layer->param_amount.get(double()),layer->param_type.get(int()));
+	}
+
+	synfig::String get_string()const
+	{
+		return "spheredistort";
 	}
 };
 
@@ -560,6 +821,11 @@ Layer_SphereDistort::get_transform()const
 Rect
 Layer_SphereDistort::get_bounding_rect()const
 {
+	Vector center=param_center.get(Vector());
+	double radius=param_radius.get(double());
+	int type=param_type.get(int());
+	bool clip=param_clip.get(bool());
+
 	Rect bounds(Rect::full_plane());
 
 	if (clip)
diff --git a/src/modules/lyr_std/sphere_distort.h b/src/modules/lyr_std/sphere_distort.h
index acf2b0b..9079101 100644
--- a/src/modules/lyr_std/sphere_distort.h
+++ b/src/modules/lyr_std/sphere_distort.h
@@ -47,22 +47,19 @@ class Layer_SphereDistort : public Layer
 	friend class Spherize_Trans;
 
 private:
-
-	Vector center;
-	double radius;
-
-	double percent;
-
-	int		type;
-
-//	static Point sphtrans(const Point &xoff, const Point &center, const Real &radius, const Real &percent, int type);
-
-//	static double spherify(double xoff);
-//	static double unspherify(double xoff);
-
-	bool clip;
-
-	synfig::Rect bounds;
+	
+	//!Parameter (Vector)
+	ValueBase param_center;
+	//!Parameter (double)
+	ValueBase param_radius;
+	//!Parameter (double)
+	ValueBase param_amount;
+	//!Parameter (int)
+	ValueBase param_type;
+	//!Parameter (bool)
+	ValueBase param_clip;
+
+	Rect bounds;
 
 	void sync();
 
@@ -70,19 +67,20 @@ public:
 
 	Layer_SphereDistort();
 
-	virtual bool set_param(const String & param, const synfig::ValueBase &value);
+	virtual bool set_param(const String & param, const ValueBase &value);
 
 	virtual ValueBase get_param(const String & param)const;
 
 	virtual Color get_color(Context context, const Point &pos)const;
 
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	synfig::Layer::Handle hit_check(synfig::Context context, const synfig::Point &point)const;
+	virtual bool accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	Layer::Handle hit_check(Context context, const Point &point)const;
 
 	virtual Rect get_bounding_rect()const;
 
 	virtual Vocab get_param_vocab()const;
-	virtual etl::handle<synfig::Transform> get_transform()const;
+	virtual etl::handle<Transform> get_transform()const;
 }; // END of class Layer_SphereDistort
 
 }
diff --git a/src/modules/lyr_std/stretch.cpp b/src/modules/lyr_std/stretch.cpp
index 99b1574..75ffa02 100644
--- a/src/modules/lyr_std/stretch.cpp
+++ b/src/modules/lyr_std/stretch.cpp
@@ -66,19 +66,19 @@ SYNFIG_LAYER_SET_CVS_ID(Layer_Stretch,"$Id$");
 /* === E N T R Y P O I N T ================================================= */
 
 Layer_Stretch::Layer_Stretch():
-	amount(1,1),
-	center(0,0)
+	param_amount(ValueBase(Point(1,1))),
+	param_center(ValueBase(Point(0,0)))
 {
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 
 bool
 Layer_Stretch::set_param(const String & param, const ValueBase &value)
 {
-	IMPORT(amount);
-	IMPORT(center);
+	IMPORT_VALUE(param_amount);
+	IMPORT_VALUE(param_center);
 
 	return false;
 }
@@ -86,8 +86,8 @@ Layer_Stretch::set_param(const String & param, const ValueBase &value)
 ValueBase
 Layer_Stretch::get_param(const String &param)const
 {
-	EXPORT(amount);
-	EXPORT(center);
+	EXPORT_VALUE(param_amount);
+	EXPORT_VALUE(param_center);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -117,6 +117,9 @@ Layer_Stretch::get_param_vocab()const
 synfig::Layer::Handle
 Layer_Stretch::hit_check(synfig::Context context, const synfig::Point &pos)const
 {
+	Vector amount=param_amount.get(Vector());
+	Point center=param_center.get(Point());
+	
 	Point npos(pos);
 	npos[0]=(npos[0]-center[0])/amount[0]+center[0];
 	npos[1]=(npos[1]-center[1])/amount[1]+center[1];
@@ -126,6 +129,9 @@ Layer_Stretch::hit_check(synfig::Context context, const synfig::Point &pos)const
 Color
 Layer_Stretch::get_color(Context context, const Point &pos)const
 {
+	Vector amount=param_amount.get(Vector());
+	Point center=param_center.get(Point());
+
 	Point npos(pos);
 	npos[0]=(npos[0]-center[0])/amount[0]+center[0];
 	npos[1]=(npos[1]-center[1])/amount[1]+center[1];
@@ -140,14 +146,25 @@ public:
 
 	synfig::Vector perform(const synfig::Vector& x)const
 	{
-		return Vector((x[0]-layer->center[0])*layer->amount[0]+layer->center[0],
-					  (x[1]-layer->center[1])*layer->amount[1]+layer->center[1]);
+		Vector amount=layer->param_amount.get(Vector());
+		Point center=layer->param_center.get(Point());
+
+		return Vector((x[0]-center[0])*amount[0]+center[0],
+					  (x[1]-center[1])*amount[1]+center[1]);
 	}
 
 	synfig::Vector unperform(const synfig::Vector& x)const
 	{
-		return Vector((x[0]-layer->center[0])/layer->amount[0]+layer->center[0],
-					  (x[1]-layer->center[1])/layer->amount[1]+layer->center[1]);
+		Vector amount=layer->param_amount.get(Vector());
+		Point center=layer->param_center.get(Point());
+
+		return Vector((x[0]-center[0])/amount[0]+center[0],
+					  (x[1]-center[1])/amount[1]+center[1]);
+	}
+
+	synfig::String get_string()const
+	{
+		return "stretch";
 	}
 };
 etl::handle<Transform>
@@ -159,6 +176,9 @@ Layer_Stretch::get_transform()const
 bool
 Layer_Stretch::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	Vector amount=param_amount.get(Vector());
+	Point center=param_center.get(Point());
+
 	if (amount[0] == 0 || amount[1] == 0)
 	{
 		surface->set_wh(renddesc.get_w(), renddesc.get_h());
@@ -182,40 +202,44 @@ Layer_Stretch::accelerated_render(Context context,Surface *surface,int quality,
 	return context.accelerated_render(surface,quality,desc,cb);
 }
 
-//////
+
+
 bool
-Layer_Stretch::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+Layer_Stretch::accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	Vector amount=param_amount.get(Vector());
+	Point center=param_center.get(Point());
+
 	if (amount[0] == 0 || amount[1] == 0)
 	{
-		cairo_t* cr=cairo_create(surface);
 		cairo_set_operator(cr, CAIRO_OPERATOR_CLEAR);
 		cairo_fill(cr);
 		return true;
 	}
+	const double stx(center[0]);
+	const double sty(center[1]);
 	
-	RendDesc desc(renddesc);
-	desc.clear_flags();
-    // Adjust the top_left and bottom_right points
-	// for our zoom amount
-	Point npos;
-	npos[0]=(desc.get_tl()[0]-center[0])/amount[0]+center[0];
-	npos[1]=(desc.get_tl()[1]-center[1])/amount[1]+center[1];
-	desc.set_tl(npos);
-	npos[0]=(desc.get_br()[0]-center[0])/amount[0]+center[0];
-	npos[1]=(desc.get_br()[1]-center[1])/amount[1]+center[1];
-	desc.set_br(npos);
-	
-	// Render the scene
-	return context.accelerated_cairorender(surface,quality,desc,cb);
-}
+	cairo_save(cr);
+	cairo_translate(cr, stx, sty);
+	cairo_scale(cr, amount[0], amount[1]);
+	cairo_translate(cr, -stx, -sty);
 
-/////
+	if(!context.accelerated_cairorender(cr,quality,renddesc,cb))
+	{
+		cairo_restore(cr);
+		return false;
+	}
+	cairo_restore(cr);
+	return true;
+}
 
 
 Rect
 Layer_Stretch::get_full_bounding_rect(Context context)const
 {
+	Vector amount=param_amount.get(Vector());
+	Point center=param_center.get(Point());
+
 	Rect rect(context.get_full_bounding_rect());
 	Point min(rect.get_min()), max(rect.get_max());
 
diff --git a/src/modules/lyr_std/stretch.h b/src/modules/lyr_std/stretch.h
index f69b514..b08fcf0 100644
--- a/src/modules/lyr_std/stretch.h
+++ b/src/modules/lyr_std/stretch.h
@@ -47,9 +47,10 @@ class Layer_Stretch : public Layer
 	friend class ::Stretch_Trans;
 
 private:
-
-	Vector amount;
-	Point center;
+	//!Parameter (Vector)
+	ValueBase param_amount;
+	//!Parameter (Point)
+	ValueBase param_center;
 
 public:
 
@@ -62,7 +63,7 @@ public:
 	virtual Color get_color(Context context, const Point &pos)const;
 
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context, cairo_t *cr,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 	synfig::Layer::Handle hit_check(synfig::Context context, const synfig::Point &point)const;
 
 	virtual Vocab get_param_vocab()const;
diff --git a/src/modules/lyr_std/stroboscope.cpp b/src/modules/lyr_std/stroboscope.cpp
index 4d0dce8..745fdf8 100644
--- a/src/modules/lyr_std/stroboscope.cpp
+++ b/src/modules/lyr_std/stroboscope.cpp
@@ -68,7 +68,9 @@ SYNFIG_LAYER_SET_CVS_ID(Layer_Stroboscope,"$Id$");
 
 Layer_Stroboscope::Layer_Stroboscope()
 {
-	frequency=2.0;
+	param_frequency=ValueBase(float(2.0));
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 Layer_Stroboscope::~Layer_Stroboscope()
@@ -78,7 +80,7 @@ Layer_Stroboscope::~Layer_Stroboscope()
 bool
 Layer_Stroboscope::set_param(const String & param, const ValueBase &value)
 {
-	IMPORT(frequency);
+	IMPORT_VALUE(param_frequency);
 
 	return Layer::set_param(param,value);
 }
@@ -86,7 +88,7 @@ Layer_Stroboscope::set_param(const String & param, const ValueBase &value)
 ValueBase
 Layer_Stroboscope::get_param(const String & param)const
 {
-	EXPORT(frequency);
+	EXPORT_VALUE(param_frequency);
 	EXPORT_NAME();
 	EXPORT_VERSION();
 
@@ -107,8 +109,10 @@ Layer_Stroboscope::get_param_vocab()const
 }
 
 void
-Layer_Stroboscope::set_time(Context context, Time t)const
+Layer_Stroboscope::set_time(IndependentContext context, Time t)const
 {
+	float frequency=param_frequency.get(float());
+	
 	Time ret_time=Time::begin();
 	if(frequency > 0.0)
 		ret_time = Time(1.0)/frequency*floor(t*frequency);
@@ -128,8 +132,9 @@ Layer_Stroboscope::accelerated_render(Context context,Surface *surface,int quali
 	return context.accelerated_render(surface,quality,renddesc,cb);
 }
 
+
 bool
-Layer_Stroboscope::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+Layer_Stroboscope::accelerated_cairorender(Context context,cairo_t *cr,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
-	return context.accelerated_cairorender(surface,quality,renddesc,cb);
+	return context.accelerated_cairorender(cr,quality,renddesc,cb);
 }
diff --git a/src/modules/lyr_std/stroboscope.h b/src/modules/lyr_std/stroboscope.h
index 51639c8..44a247b 100644
--- a/src/modules/lyr_std/stroboscope.h
+++ b/src/modules/lyr_std/stroboscope.h
@@ -49,7 +49,8 @@ class Layer_Stroboscope : public Layer
 	SYNFIG_LAYER_MODULE_EXT
 
 private:
-	float	frequency;
+	//!Parameter (float)
+	ValueBase param_frequency;
 
 protected:
 	Layer_Stroboscope();
@@ -64,9 +65,9 @@ public:
 	virtual Vocab get_param_vocab()const;
 	virtual Color get_color(Context context, const Point &pos)const;
 
-	virtual void set_time(Context context, Time time)const;
+	virtual void set_time(IndependentContext context, Time time)const;
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context,cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 };
 /* === E N D =============================================================== */
 
diff --git a/src/modules/lyr_std/supersample.cpp b/src/modules/lyr_std/supersample.cpp
index a9010ed..a379ccd 100644
--- a/src/modules/lyr_std/supersample.cpp
+++ b/src/modules/lyr_std/supersample.cpp
@@ -41,6 +41,7 @@
 #include <synfig/surface.h>
 #include <synfig/value.h>
 #include <synfig/valuenode.h>
+#include <synfig/cairo_renddesc.h>
 
 #include <synfig/target.h>
 #include <synfig/render.h>
@@ -62,29 +63,40 @@ SYNFIG_LAYER_SET_CVS_ID(SuperSample,"$Id$");
 
 /* === M E T H O D S ======================================================= */
 
-SuperSample::SuperSample():width(2),height(2)
+SuperSample::SuperSample():
+param_width(ValueBase(int(2))),
+param_height(ValueBase(int(2)))
 {
-	scanline=false;
-	alpha_aware=true;
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	param_scanline=ValueBase(false);
+	param_alpha_aware=ValueBase(true);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
+
 }
 
 bool
 SuperSample::set_param(const String & param, const ValueBase &value)
 {
-	IMPORT_PLUS(width,
-		if(value.get(int()) < 1) width = 1;
-		else width=value.get(int());
-		return true;
-		)
-	IMPORT_PLUS(height,
-		if(value.get(int()) < 1) height = 1;
-		else height=value.get(int());
-		return true;
-		)
-	IMPORT(scanline);
-	IMPORT(alpha_aware);
+	IMPORT_VALUE_PLUS(param_width,
+		{
+			int width=param_width.get(int());
+			if(value.get(int()) < 1) width = 1;
+			else width=value.get(int());
+			param_width.set(width);
+			return true;
+		}
+		);
+	IMPORT_VALUE_PLUS(param_height,
+		{
+			int height=param_height.get(int());
+			if(value.get(int()) < 1) height = 1;
+			else height=value.get(int());
+			param_height.set(height);
+			return true;
+		}
+		);
+	IMPORT_VALUE(param_scanline);
+	IMPORT_VALUE(param_alpha_aware);
 
 	return false;
 }
@@ -92,10 +104,10 @@ SuperSample::set_param(const String & param, const ValueBase &value)
 ValueBase
 SuperSample::get_param(const String& param)const
 {
-	EXPORT(width);
-	EXPORT(height);
-    EXPORT(scanline);
-    EXPORT(alpha_aware);
+	EXPORT_VALUE(param_width);
+	EXPORT_VALUE(param_height);
+    EXPORT_VALUE(param_scanline);
+    EXPORT_VALUE(param_alpha_aware);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -106,6 +118,11 @@ SuperSample::get_param(const String& param)const
 bool
 SuperSample::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	int width=param_width.get(int());
+	int height=param_height.get(int());
+	bool scanline=param_scanline.get(bool());
+	bool alpha_aware=param_alpha_aware.get(bool());
+	
 	// don't bother supersampling if our quality is too low.
 	if(quality>=10)
 		return context.accelerated_render(surface,quality,renddesc,cb);
@@ -131,7 +148,7 @@ SuperSample::accelerated_render(Context context,Surface *surface,int quality, co
 		}
 		target->set_rend_desc(&desc);
 
-		if(!render(context-1,target,desc,&subcb))
+		if(!render(context.get_previous(),target,desc,&subcb))
 		{
 			if(cb)cb->error(strprintf(__FILE__"%d: Scanline Renderer Failure",__LINE__));
 			return false;
@@ -216,26 +233,52 @@ SuperSample::accelerated_render(Context context,Surface *surface,int quality, co
 	return true;
 }
 
+
 ////
 bool
-SuperSample::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+SuperSample::accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	int width=param_width.get(int());
+	int height=param_height.get(int());
+
 	// don't bother supersampling if our quality is too low.
 	if(quality>=10 || (width==1 && height==1))
-		return context.accelerated_cairorender(surface,quality,renddesc,cb);
+		return context.accelerated_cairorender(cr,quality,renddesc,cb);
 	
 	RendDesc desc(renddesc);
-		
+	// Untransform the render desc
+	if(!cairo_renddesc_untransform(cr, desc))
+		return false;
+
+	//grab values before expand
+	const double pw=desc.get_pw();
+	const double ph=desc.get_ph();
+	const double tlx=desc.get_tl()[0];
+	const double tly=desc.get_tl()[1];
+	
+	// Expand the renddesc
 	desc.clear_flags();
 	desc.set_wh(desc.get_w()*width,desc.get_h()*height);
-	cairo_surface_t* tempsurface=cairo_surface_create_similar(surface, CAIRO_CONTENT_COLOR_ALPHA, renddesc.get_w()*width, renddesc.get_h()*height);
-	// Render the scene
-	if(!context.accelerated_cairorender(tempsurface,quality,desc,cb))
-		{
-			if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Renderer Failure",__LINE__));
-			return false;
-		}
 	
+	// New expanded desc values
+	const int ww=desc.get_w();
+	const int wh=desc.get_h();
+	const double wtlx=desc.get_tl()[0];
+	const double wtly=desc.get_tl()[1];
+	const double wpw=desc.get_pw();
+	const double wph=desc.get_ph();
+	
+	cairo_surface_t* tempsurface=cairo_surface_create_similar(cairo_get_target(cr), CAIRO_CONTENT_COLOR_ALPHA, ww, wh);
+	cairo_t* tempcr=cairo_create(tempsurface);
+	cairo_scale(tempcr, 1/wpw, 1/wph);
+	cairo_translate(tempcr, -wtlx, -wtly);
+	// Render the scene
+	if(!context.accelerated_cairorender(tempcr,quality,desc,cb))
+	{
+		if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Renderer Failure",__LINE__));
+		return false;
+	}
+	cairo_destroy(tempcr);
 	// Calculate the scales values
 	float scalex=1.0/width;
 	float scaley=1.0/height;
@@ -264,18 +307,22 @@ SuperSample::accelerated_cairorender(Context context,cairo_surface_t *surface,in
 			anti=CAIRO_ANTIALIAS_FAST;
 			break;
 	}
-	cairo_t* cr=cairo_create(surface);
+	cairo_save(cr);
+
+	cairo_translate(cr, tlx, tly);
+	cairo_scale(cr, pw, ph);
+
 	cairo_scale(cr, scalex, scaley);
 	cairo_set_source_surface(cr, tempsurface, 0,0);
-	cairo_pattern_set_filter(cairo_get_source(cr), filter);
-	
 	cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
+	cairo_pattern_set_filter(cairo_get_source(cr), filter);
 	cairo_set_antialias(cr, anti);
 	cairo_paint(cr);
 	
-	cairo_destroy(cr);
+	cairo_restore(cr);
+	
 	cairo_surface_destroy(tempsurface);
-		
+	
 	return true;
 }
 
diff --git a/src/modules/lyr_std/supersample.h b/src/modules/lyr_std/supersample.h
index 8369d17..48003af 100644
--- a/src/modules/lyr_std/supersample.h
+++ b/src/modules/lyr_std/supersample.h
@@ -47,8 +47,10 @@ class SuperSample : public synfig::Layer
 	SYNFIG_LAYER_MODULE_EXT
 
 private:
-	int width, height;
-	bool scanline,alpha_aware;
+	//!Parameter (int)
+	ValueBase param_width, param_height;
+	//!Parameter (bool)
+	ValueBase param_scanline, param_alpha_aware;
 public:
 	SuperSample();
 
@@ -57,7 +59,7 @@ public:
 	virtual ValueBase get_param(const String & param)const;
 
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context,cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 	virtual synfig::Rect get_bounding_rect(Context context)const;
 
 	virtual Vocab get_param_vocab()const;
diff --git a/src/modules/lyr_std/timeloop.cpp b/src/modules/lyr_std/timeloop.cpp
index 64ed420..5cd98e0 100644
--- a/src/modules/lyr_std/timeloop.cpp
+++ b/src/modules/lyr_std/timeloop.cpp
@@ -68,13 +68,14 @@ SYNFIG_LAYER_SET_CVS_ID(Layer_TimeLoop,"$Id$");
 Layer_TimeLoop::Layer_TimeLoop()
 {
 	old_version=false;
-	only_for_positive_duration=false;
-	symmetrical=true;
-	link_time=0;
-	local_time=0;
-	duration=1;
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	param_only_for_positive_duration=ValueBase(false);
+	param_symmetrical=ValueBase(true);
+	param_link_time=ValueBase(Time(0));
+	param_local_time=ValueBase(Time(0));
+	param_duration=ValueBase(Time(1));
+
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 Layer_TimeLoop::~Layer_TimeLoop()
@@ -86,16 +87,24 @@ Layer_TimeLoop::set_param(const String & param, const ValueBase &value)
 {
 	if(old_version)
 	{
-		IMPORT(start_time);
-		IMPORT(end_time);
+		if(param=="start_time" && value.same_type_as(start_time))
+		{
+			value.put(&start_time);
+			return true;
+		}
+		if(param=="end_time" && value.same_type_as(end_time))
+		{
+			value.put(&end_time);
+			return true;
+		}
 	}
 	else
 	{
-		IMPORT(local_time);
-		IMPORT(link_time);
-		IMPORT(duration);
-		IMPORT(only_for_positive_duration);
-		IMPORT(symmetrical);
+		IMPORT_VALUE(param_local_time);
+		IMPORT_VALUE(param_link_time);
+		IMPORT_VALUE(param_duration);
+		IMPORT_VALUE(param_only_for_positive_duration);
+		IMPORT_VALUE(param_symmetrical);
 	}
 
 	return Layer::set_param(param,value);
@@ -104,11 +113,11 @@ Layer_TimeLoop::set_param(const String & param, const ValueBase &value)
 ValueBase
 Layer_TimeLoop::get_param(const String & param)const
 {
-	EXPORT(link_time);
-	EXPORT(local_time);
-	EXPORT(duration);
-	EXPORT(only_for_positive_duration);
-	EXPORT(symmetrical);
+	EXPORT_VALUE(param_link_time);
+	EXPORT_VALUE(param_local_time);
+	EXPORT_VALUE(param_duration);
+	EXPORT_VALUE(param_only_for_positive_duration);
+	EXPORT_VALUE(param_symmetrical);
 	EXPORT_NAME();
 	EXPORT_VERSION();
 
@@ -160,6 +169,8 @@ Layer_TimeLoop::set_version(const String &ver)
 void
 Layer_TimeLoop::reset_version()
 {
+	Time link_time, local_time, duration;
+	bool only_for_positive_duration, symmetrical;
 	// if we're not converting from an old version of the layer, there's nothing to do
 	if (!old_version)
 		return;
@@ -181,8 +192,14 @@ Layer_TimeLoop::reset_version()
 	only_for_positive_duration = true;
 	symmetrical = false;
 
+	param_local_time.set(local_time);
+	param_duration.set(duration);
+	param_only_for_positive_duration.set(only_for_positive_duration);
+	param_symmetrical.set(symmetrical);
+	
 	//! \todo layer version 0.1 acted differently before start_time was reached - possibly due to a bug
 	link_time = 0;
+	param_link_time.set(link_time);
 
 	// convert the dynamic parameters
 	const DynamicParamList &dpl = dynamic_param_list();
@@ -219,8 +236,14 @@ Layer_TimeLoop::reset_version()
 }
 
 void
-Layer_TimeLoop::set_time(Context context, Time t)const
+Layer_TimeLoop::set_time(IndependentContext context, Time t)const
 {
+	Time link_time=param_link_time.get(Time());
+	Time local_time=param_local_time.get(Time());
+	Time duration=param_duration.get(Time());
+	bool only_for_positive_duration=param_only_for_positive_duration.get(bool());
+	bool symmetrical=param_symmetrical.get(bool());
+	
 	Time time = t;
 	float document_fps=get_canvas()->rend_desc().get_frame_rate();
 	if (!only_for_positive_duration || duration > 0)
@@ -272,8 +295,9 @@ Layer_TimeLoop::accelerated_render(Context context,Surface *surface,int quality,
 	return context.accelerated_render(surface,quality,renddesc,cb);
 }
 
+
 bool
-Layer_TimeLoop::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+Layer_TimeLoop::accelerated_cairorender(Context context,cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
-	return context.accelerated_cairorender(surface,quality,renddesc,cb);
+	return context.accelerated_cairorender(cr,quality,renddesc,cb);
 }
diff --git a/src/modules/lyr_std/timeloop.h b/src/modules/lyr_std/timeloop.h
index 3013f90..5ab2f2e 100644
--- a/src/modules/lyr_std/timeloop.h
+++ b/src/modules/lyr_std/timeloop.h
@@ -48,15 +48,20 @@ class Layer_TimeLoop : public Layer
 	SYNFIG_LAYER_MODULE_EXT
 
 private:
-	Time	link_time;
-	Time	local_time;
-	Time	duration;
+	//! Parameter: (Time)
+	ValueBase param_link_time;
+	//! Parameter: (Time)
+	ValueBase param_local_time;
+	//! Parameter: (Time)
+	ValueBase param_duration;
+	//! Parameter: (bool)
+	ValueBase param_only_for_positive_duration;
+	//! Parameter: (bool)
+	ValueBase param_symmetrical; // the 0.1 version of this layer behaved differently before 'start_time' was reached
 
 	Time	start_time;
 	Time	end_time;
 	bool	old_version;
-	bool	only_for_positive_duration;
-	bool	symmetrical; // the 0.1 version of this layer behaved differently before 'start_time' was reached
 
 protected:
 	Layer_TimeLoop();
@@ -73,9 +78,9 @@ public:
 	virtual void reset_version();
 	virtual Color get_color(Context context, const Point &pos)const;
 
-	virtual void set_time(Context context, Time time)const;
+	virtual void set_time(IndependentContext context, Time time)const;
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(Context context, cairo_surface_t *surface, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 };
 
 /* === E N D =============================================================== */
diff --git a/src/modules/lyr_std/translate.cpp b/src/modules/lyr_std/translate.cpp
index a285de5..72a44fa 100644
--- a/src/modules/lyr_std/translate.cpp
+++ b/src/modules/lyr_std/translate.cpp
@@ -63,10 +63,10 @@ SYNFIG_LAYER_SET_CVS_ID(Translate,"$Id$");
 
 /* === E N T R Y P O I N T ================================================= */
 
-Translate::Translate():origin(0,0)
+Translate::Translate():param_origin(ValueBase(Vector(0,0)))
 {
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 Translate::~Translate()
@@ -76,7 +76,7 @@ Translate::~Translate()
 bool
 Translate::set_param(const String & param, const ValueBase &value)
 {
-	IMPORT(origin);
+	IMPORT_VALUE(param_origin);
 
 	return false;
 }
@@ -84,7 +84,7 @@ Translate::set_param(const String & param, const ValueBase &value)
 ValueBase
 Translate::get_param(const String& param)const
 {
-	EXPORT(origin);
+	EXPORT_VALUE(param_origin);
 	EXPORT_NAME();
 	EXPORT_VERSION();
 
@@ -107,12 +107,14 @@ Translate::get_param_vocab()const
 synfig::Layer::Handle
 Translate::hit_check(synfig::Context context, const synfig::Point &pos)const
 {
+	Vector origin=param_origin.get(Vector());
 	return context.hit_check(pos-origin);
 }
 
 Color
 Translate::get_color(Context context, const Point &pos)const
 {
+	Vector origin=param_origin.get(Vector());
 	return context.get_color(pos-origin);
 }
 
@@ -124,12 +126,17 @@ public:
 
 	synfig::Vector perform(const synfig::Vector& x)const
 	{
-		return x+layer->origin;
+		return x+layer->param_origin.get(Vector());
 	}
 
 	synfig::Vector unperform(const synfig::Vector& x)const
 	{
-		return x-layer->origin;
+		return x-layer->param_origin.get(Vector());
+	}
+
+	synfig::String get_string()const
+	{
+		return "translate";
 	}
 };
 etl::handle<Transform>
@@ -141,6 +148,7 @@ Translate::get_transform()const
 bool
 Translate::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	Vector origin=param_origin.get(Vector());
 	RendDesc desc(renddesc);
 
 	desc.clear_flags();
@@ -159,29 +167,26 @@ Translate::accelerated_render(Context context,Surface *surface,int quality, cons
 
 /////
 bool
-Translate::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+Translate::accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
-	RendDesc desc(renddesc);
-	
-	desc.clear_flags();
-	desc.set_tl(desc.get_tl()-origin);
-	desc.set_br(desc.get_br()-origin);
-	
-	// Render the scene
-	if(!context.accelerated_cairorender(surface,quality,desc,cb))
+	Vector origin=param_origin.get(Vector());
+	cairo_save(cr);
+	cairo_translate(cr, origin[0], origin[1]);
+
+	if(!context.accelerated_cairorender(cr,quality,renddesc,cb))
 	{
-		if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Cairo Renderer Failure",__LINE__));
+		cairo_restore(cr);
 		return false;
 	}
-	
+	cairo_restore(cr);
 	return true;
 }
 
 /////
 
-
 Rect
 Translate::get_full_bounding_rect(Context context)const
 {
+	Vector origin=param_origin.get(Vector());
 	return context.get_full_bounding_rect() + origin;
 }
diff --git a/src/modules/lyr_std/translate.h b/src/modules/lyr_std/translate.h
index 115f349..1f88dff 100644
--- a/src/modules/lyr_std/translate.h
+++ b/src/modules/lyr_std/translate.h
@@ -51,7 +51,8 @@ class Translate : public Layer
 	SYNFIG_LAYER_MODULE_EXT
 	friend class Translate_Trans;
 private:
-	Vector origin;
+	//! Parameter: (Vector)
+	ValueBase param_origin;
 public:
 	Translate();
 	~Translate();
@@ -60,7 +61,7 @@ public:
 	virtual ValueBase get_param(const String & param)const;
 	virtual Color get_color(Context context, const Point &pos)const;
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 	virtual Vocab get_param_vocab()const;
 	virtual synfig::Rect get_full_bounding_rect(Context context)const;
 	synfig::Layer::Handle hit_check(synfig::Context context, const synfig::Point &point)const;
diff --git a/src/modules/lyr_std/twirl.cpp b/src/modules/lyr_std/twirl.cpp
index adce7de..63228fd 100644
--- a/src/modules/lyr_std/twirl.cpp
+++ b/src/modules/lyr_std/twirl.cpp
@@ -66,24 +66,24 @@ SYNFIG_LAYER_SET_CVS_ID(Twirl,"$Id$");
 
 Twirl::Twirl():
 	Layer_Composite(1.0,Color::BLEND_STRAIGHT),
-	center(0,0),
-	radius(1.0),
-	rotations(Angle::zero()),
-	distort_inside(true),
-	distort_outside(false)
+	param_center(ValueBase(Point(0,0))),
+	param_radius(ValueBase(Real(1.0))),
+	param_rotations(ValueBase(Angle::zero())),
+	param_distort_inside(ValueBase(true)),
+	param_distort_outside(ValueBase(false))
 {
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 bool
 Twirl::set_param(const String & param, const ValueBase &value)
 {
-	IMPORT(center);
-	IMPORT(radius);
-	IMPORT(rotations);
-	IMPORT(distort_inside);
-	IMPORT(distort_outside);
+	IMPORT_VALUE(param_center);
+	IMPORT_VALUE(param_radius);
+	IMPORT_VALUE(param_rotations);
+	IMPORT_VALUE(param_distort_inside);
+	IMPORT_VALUE(param_distort_outside);
 
 	return Layer_Composite::set_param(param,value);
 }
@@ -91,11 +91,11 @@ Twirl::set_param(const String & param, const ValueBase &value)
 ValueBase
 Twirl::get_param(const String &param)const
 {
-	EXPORT(center);
-	EXPORT(radius);
-	EXPORT(rotations);
-	EXPORT(distort_inside);
-	EXPORT(distort_outside);
+	EXPORT_VALUE(param_center);
+	EXPORT_VALUE(param_radius);
+	EXPORT_VALUE(param_rotations);
+	EXPORT_VALUE(param_distort_inside);
+	EXPORT_VALUE(param_distort_outside);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -142,6 +142,12 @@ Twirl::get_param_vocab()const
 synfig::Point
 Twirl::distort(const synfig::Point &pos,bool reverse)const
 {
+	synfig::Point center=param_center.get(synfig::Point());
+	synfig::Real radius=param_radius.get(synfig::Real());
+	synfig::Angle rotations=param_rotations.get(synfig::Angle());
+	bool distort_inside=param_distort_inside.get(bool());
+	bool distort_outside=param_distort_outside.get(bool());
+	
 	Point centered(pos-center);
 	Real mag(centered.mag());
 
@@ -198,6 +204,11 @@ public:
 	{
 		return layer->distort(x,false);
 	}
+
+	synfig::String get_string()const
+	{
+		return "twirl";
+	}
 };
 etl::handle<Transform>
 Twirl::get_transform()const
diff --git a/src/modules/lyr_std/twirl.h b/src/modules/lyr_std/twirl.h
index fbd7ef1..9b20d7b 100644
--- a/src/modules/lyr_std/twirl.h
+++ b/src/modules/lyr_std/twirl.h
@@ -49,16 +49,16 @@ class Twirl : public synfig::Layer_Composite
 	friend class Twirl_Trans;
 
 private:
-
-	synfig::Point center;
-
-	synfig::Real radius;
-
-	synfig::Angle rotations;
-
-	bool distort_inside;
-
-	bool distort_outside;
+	//! Parameter: (synfig::Point)
+	synfig::ValueBase param_center;
+	//! Parameter: (synfig::Real)
+	synfig::ValueBase param_radius;
+	//! Parameter: (synfig::Angle)
+	synfig::ValueBase param_rotations;
+	//! Parameter: (bool)
+	synfig::ValueBase param_distort_inside;
+	//! Parameter: (bool)
+	synfig::ValueBase param_distort_outside;
 
 	synfig::Point distort(const synfig::Point &pos, bool reverse=false)const;
 public:
diff --git a/src/modules/lyr_std/warp.cpp b/src/modules/lyr_std/warp.cpp
index 55a71e7..1841f77 100644
--- a/src/modules/lyr_std/warp.cpp
+++ b/src/modules/lyr_std/warp.cpp
@@ -43,6 +43,7 @@
 #include <synfig/value.h>
 #include <synfig/valuenode.h>
 #include <synfig/transform.h>
+#include <synfig/cairo_renddesc.h>
 #include <ETL/misc>
 
 #endif
@@ -65,18 +66,18 @@ SYNFIG_LAYER_SET_CVS_ID(Warp,"$Id$");
 /* === E N T R Y P O I N T ================================================= */
 
 Warp::Warp():
-	src_tl	(-2,2),
-	src_br	(2,-2),
-	dest_tl	(-1.8,2.1),
-	dest_tr	(1.8,2.1),
-	dest_bl	(-2.2,-2),
-	dest_br	(2.2,-2),
-	clip	(true)
+	param_src_tl  (ValueBase(Point(-2,2))),
+	param_src_br  (ValueBase(Point(2,-2))),
+	param_dest_tl (ValueBase(Point(-1.8,2.1))),
+	param_dest_tr (ValueBase(Point(1.8,2.1))),
+	param_dest_bl (ValueBase(Point(-2.2,-2))),
+	param_dest_br (ValueBase(Point(2.2,-2))),
+	param_clip	  (ValueBase(true))
 {
+	param_horizon=ValueBase(Real(4));
 	sync();
-	horizon=4;
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 Warp::~Warp()
@@ -208,7 +209,12 @@ Warp::sync()
 	matrix[0][2]=matrix[0][0]*dest_tl[0] + matrix[0][1]*dest_tl[1];
 	matrix[1][2]=matrix[1][0]*dest_tl[0] + matrix[1][1]*dest_tl[1];
 */
-
+	Point src_tl=param_src_tl.get(Point());
+	Point src_br=param_src_br.get(Point());
+	Point dest_tl=param_dest_tl.get(Point());
+	Point dest_tr=param_dest_tr.get(Point());
+	Point dest_bl=param_dest_bl.get(Point());
+	Point dest_br=param_dest_br.get(Point());
 #define matrix tmp
 	Real tmp[3][3];
 
@@ -335,14 +341,14 @@ Warp::sync()
 bool
 Warp::set_param(const String & param, const ValueBase &value)
 {
-	IMPORT_PLUS(src_tl,sync());
-	IMPORT_PLUS(src_br,sync());
-	IMPORT_PLUS(dest_tl,sync());
-	IMPORT_PLUS(dest_tr,sync());
-	IMPORT_PLUS(dest_bl,sync());
-	IMPORT_PLUS(dest_br,sync());
-	IMPORT(clip);
-	IMPORT(horizon);
+	IMPORT_VALUE_PLUS(param_src_tl,sync());
+	IMPORT_VALUE_PLUS(param_src_br,sync());
+	IMPORT_VALUE_PLUS(param_dest_tl,sync());
+	IMPORT_VALUE_PLUS(param_dest_tr,sync());
+	IMPORT_VALUE_PLUS(param_dest_bl,sync());
+	IMPORT_VALUE_PLUS(param_dest_br,sync());
+	IMPORT_VALUE(param_clip);
+	IMPORT_VALUE(param_horizon);
 
 	return false;
 }
@@ -350,14 +356,14 @@ Warp::set_param(const String & param, const ValueBase &value)
 ValueBase
 Warp::get_param(const String &param)const
 {
-	EXPORT(src_tl);
-	EXPORT(src_br);
-	EXPORT(dest_tl);
-	EXPORT(dest_tr);
-	EXPORT(dest_bl);
-	EXPORT(dest_br);
-	EXPORT(clip);
-	EXPORT(horizon);
+	EXPORT_VALUE(param_src_tl);
+	EXPORT_VALUE(param_src_br);
+	EXPORT_VALUE(param_dest_tl);
+	EXPORT_VALUE(param_dest_tr);
+	EXPORT_VALUE(param_dest_bl);
+	EXPORT_VALUE(param_dest_br);
+	EXPORT_VALUE(param_clip);
+	EXPORT_VALUE(param_horizon);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -438,6 +444,11 @@ public:
 		//Point pos(x-layer->origin);
 		//return Point(layer->cos_val*pos[0]+layer->sin_val*pos[1],-layer->sin_val*pos[0]+layer->cos_val*pos[1])+layer->origin;
 	}
+
+	synfig::String get_string()const
+	{
+		return "warp";
+	}
 };
 etl::handle<Transform>
 Warp::get_transform()const
@@ -448,6 +459,10 @@ Warp::get_transform()const
 synfig::Layer::Handle
 Warp::hit_check(synfig::Context context, const synfig::Point &p)const
 {
+	Point src_tl=param_src_tl.get(Point());
+	Point src_br=param_src_br.get(Point());
+	bool clip=param_clip.get(bool());
+	
 	Point newpos(transform_forward(p));
 
 	if(clip)
@@ -463,6 +478,11 @@ Warp::hit_check(synfig::Context context, const synfig::Point &p)const
 Color
 Warp::get_color(Context context, const Point &p)const
 {
+	Point src_tl=param_src_tl.get(Point());
+	Point src_br=param_src_br.get(Point());
+	Real horizon=param_horizon.get(Real());
+	bool clip=param_clip.get(bool());
+
 	Point newpos(transform_forward(p));
 
 	if(clip)
@@ -484,6 +504,15 @@ Warp::get_color(Context context, const Point &p)const
 bool
 Warp::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	Point src_tl=param_src_tl.get(Point());
+	Point src_br=param_src_br.get(Point());
+	Point dest_tl=param_dest_tl.get(Point());
+	Point dest_tr=param_dest_tr.get(Point());
+	Point dest_bl=param_dest_bl.get(Point());
+	Point dest_br=param_dest_br.get(Point());
+	Real horizon=param_horizon.get(Real());
+	bool clip=param_clip.get(bool());
+
 	SuperCallback stageone(cb,0,9000,10000);
 	SuperCallback stagetwo(cb,9000,10000,10000);
 
@@ -802,11 +831,26 @@ Warp::accelerated_render(Context context,Surface *surface,int quality, const Ren
 
 //////////
 bool
-Warp::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+Warp::accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc_, ProgressCallback *cb)const
 {
+	Point src_tl=param_src_tl.get(Point());
+	Point src_br=param_src_br.get(Point());
+	Point dest_tl=param_dest_tl.get(Point());
+	Point dest_tr=param_dest_tr.get(Point());
+	Point dest_bl=param_dest_bl.get(Point());
+	Point dest_br=param_dest_br.get(Point());
+	Real horizon=param_horizon.get(Real());
+	bool clip=param_clip.get(bool());
+
 	SuperCallback stageone(cb,0,9000,10000);
 	SuperCallback stagetwo(cb,9000,10000,10000);
 	
+	
+	RendDesc renddesc(renddesc_);
+	// Untransform the render desc
+	if(!cairo_renddesc_untransform(cr, renddesc))
+		return false;
+	
 	Real pw=(renddesc.get_w())/(renddesc.get_br()[0]-renddesc.get_tl()[0]);
 	Real ph=(renddesc.get_h())/(renddesc.get_br()[1]-renddesc.get_tl()[1]);
 	
@@ -827,10 +871,10 @@ Warp::accelerated_cairorender(Context context,cairo_surface_t *surface,int quali
 	// Quick exclusion clip, if necessary
 	if(clip && !intersect(render_rect,dest_rect))
 	{
-		cairo_t* cr=cairo_create(surface);
+		cairo_save(cr);
 		cairo_set_operator(cr, CAIRO_OPERATOR_CLEAR);
 		cairo_paint(cr);
-		cairo_destroy(cr);
+		cairo_restore(cr);
 		return true;
 	}
 	
@@ -910,10 +954,10 @@ Warp::accelerated_cairorender(Context context,cairo_surface_t *surface,int quali
 		
 		if(!init_point_set)
 		{
-			cairo_t* cr=cairo_create(surface);
+			cairo_save(cr);
 			cairo_set_operator(cr, CAIRO_OPERATOR_CLEAR);
 			cairo_paint(cr);
-			cairo_destroy(cr);
+			cairo_restore(cr);
 			return true;
 		}
 		zoom_factor=(1+(maxz-minz));
@@ -921,7 +965,7 @@ Warp::accelerated_cairorender(Context context,cairo_surface_t *surface,int quali
 	}
 	
 #ifdef ACCEL_WARP_IS_BROKEN
-	return Layer::accelerated_cairorender(context,surface,quality,renddesc, cb);
+	return Layer::accelerated_cairorender(context,cr,quality,renddesc, cb);
 #else
 	
 	/*swap(tl[1],br[1]);
@@ -976,8 +1020,6 @@ Warp::accelerated_cairorender(Context context,cairo_surface_t *surface,int quali
 		tl[1]=min_point[1];
 	}
 	
-	
-	
 	const int tmp_d(max(renddesc.get_w(),renddesc.get_h()));
 	Real src_pw=(tmp_d*zoom_factor)/(br[0]-tl[0]);
 	Real src_ph=(tmp_d*zoom_factor)/(br[1]-tl[1]);
@@ -993,10 +1035,10 @@ Warp::accelerated_cairorender(Context context,cairo_surface_t *surface,int quali
 	//synfig::warning("surface to render: [%f,%f]-[%f,%f] %dx%d",desc.get_tl()[0],desc.get_tl()[1],desc.get_br()[0],desc.get_br()[1],desc.get_w(),desc.get_h());
 	if(desc.get_w()==0 && desc.get_h()==0)
 	{
-		cairo_t* cr=cairo_create(surface);
+		cairo_save(cr);
 		cairo_set_operator(cr, CAIRO_OPERATOR_CLEAR);
 		cairo_paint(cr);
-		cairo_destroy(cr);
+		cairo_restore(cr);
 		return true;
 	}
 	
@@ -1004,16 +1046,17 @@ Warp::accelerated_cairorender(Context context,cairo_surface_t *surface,int quali
 	src_pw=(desc.get_w())/(desc.get_br()[0]-desc.get_tl()[0]);
 	src_ph=(desc.get_h())/(desc.get_br()[1]-desc.get_tl()[1]);
 	
-	cairo_surface_t* source=cairo_surface_create_similar(surface, CAIRO_CONTENT_COLOR_ALPHA, desc.get_w(),desc.get_h());
-	
-	if(!context.accelerated_cairorender(source,quality,desc,&stageone))
+	cairo_surface_t* source=cairo_surface_create_similar(cairo_get_target(cr), CAIRO_CONTENT_COLOR_ALPHA, desc.get_w(),desc.get_h());
+	cairo_surface_t* surface=cairo_surface_create_similar(cairo_get_target(cr), CAIRO_CONTENT_COLOR_ALPHA,renddesc.get_w(), renddesc.get_h());
+	cairo_t* subcr=cairo_create(source);
+	cairo_scale(subcr, 1/desc.get_pw(), 1/desc.get_ph());
+	cairo_translate(subcr, -desc.get_tl()[0], -desc.get_tl()[1]);
+
+	if(!context.accelerated_cairorender(subcr,quality,desc,&stageone))
 		return false;
 	
-	cairo_t* cr=cairo_create(surface);
-	cairo_set_operator(cr, CAIRO_OPERATOR_CLEAR);
-	cairo_paint(cr);
-	cairo_destroy(cr);
-	
+	cairo_destroy(subcr);
+		
 	int surfacew, surfaceh, sourcew, sourceh;
 	
 	CairoSurface csurface(surface);
@@ -1026,7 +1069,7 @@ Warp::accelerated_cairorender(Context context,cairo_surface_t *surface,int quali
 	surfaceh=csurface.get_h();
 	sourcew=csource.get_w();
 	sourceh=csource.get_h();
-
+	
 	CairoSurface::pen pen(csurface.begin());
 	
 	// Do the warp
@@ -1060,7 +1103,7 @@ Warp::accelerated_cairorender(Context context,cairo_surface_t *surface,int quali
 					else if(quality<=6)
 						csurface[y][x]=csource.linear_sample_cooked(u,v);
 					else
-					// NEAREST_NEIGHBOR
+						// NEAREST_NEIGHBOR
 						csurface[y][x]=csource[floor_to_int(v)][floor_to_int(u)];
 				}
 			}
@@ -1079,7 +1122,18 @@ Warp::accelerated_cairorender(Context context,cairo_surface_t *surface,int quali
 	csurface.unmap_cairo_image();
 	csource.unmap_cairo_image();
 	cairo_surface_destroy(source);
-
+	
+	cairo_save(cr);
+	
+	cairo_translate(cr, renddesc.get_tl()[0], renddesc.get_tl()[1]);
+	cairo_scale(cr, renddesc.get_pw(), renddesc.get_ph());
+	cairo_set_source_surface(cr, surface, 0, 0);
+	cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
+	cairo_paint(cr);
+	
+	cairo_restore(cr);
+	
+	cairo_surface_destroy(surface);
 	return true;
 }
 
@@ -1094,6 +1148,10 @@ Warp::get_full_bounding_rect(Context context)const
 {
 //	return Rect::full_plane();
 
+	Point src_tl=param_src_tl.get(Point());
+	Point src_br=param_src_br.get(Point());
+	bool clip=param_clip.get(bool());
+
 	Rect under(context.get_full_bounding_rect());
 
 	if(clip)
diff --git a/src/modules/lyr_std/warp.h b/src/modules/lyr_std/warp.h
index d9311c3..ac608dc 100644
--- a/src/modules/lyr_std/warp.h
+++ b/src/modules/lyr_std/warp.h
@@ -51,10 +51,17 @@ class Warp : public Layer
 	SYNFIG_LAYER_MODULE_EXT
 	friend class Warp_Trans;
 private:
-
-	Point src_tl,src_br,dest_tl,dest_tr,dest_bl,dest_br;
-
-	Real horizon;
+	//! Parameters: (Point)
+	ValueBase param_src_tl;
+	ValueBase param_src_br;
+	ValueBase param_dest_tl;
+	ValueBase param_dest_tr;
+	ValueBase param_dest_bl;
+	ValueBase param_dest_br;
+	//! Parameter: (Real)
+	ValueBase param_horizon;
+	//! Parameter: (bool)
+	ValueBase param_clip;
 
 	Real cache_a,cache_b,cache_c,cache_d,cache_e,cache_f,cache_i,cache_j;
 
@@ -67,7 +74,6 @@ private:
 	Real transform_forward_z(const Point& p)const;
 	Real transform_backward_z(const Point& p)const;
 
-	bool clip;
 
 public:
 	void sync();
@@ -82,7 +88,7 @@ public:
 	virtual ValueBase get_param(const synfig::String & param)const;
 	virtual Color get_color(Context context, const Point &pos)const;
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 	synfig::Layer::Handle hit_check(synfig::Context context, const synfig::Point &point)const;
 	virtual Vocab get_param_vocab()const;
 	virtual etl::handle<synfig::Transform> get_transform()const;
diff --git a/src/modules/lyr_std/xorpattern.cpp b/src/modules/lyr_std/xorpattern.cpp
index d9ed0d9..9beeb9d 100644
--- a/src/modules/lyr_std/xorpattern.cpp
+++ b/src/modules/lyr_std/xorpattern.cpp
@@ -63,20 +63,21 @@ SYNFIG_LAYER_SET_CVS_ID(XORPattern,"$Id$");
 
 XORPattern::XORPattern():
 	Layer_Composite(1.0,Color::BLEND_COMPOSITE),
-	origin(0.125,0.125),
-	size(0.25,0.25)
+	param_origin(ValueBase(Vector(0.125,0.125))),
+	param_size(ValueBase(Vector(0.25,0.25)))
 {
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 bool
 XORPattern::set_param(const String & param, const ValueBase &value)
 {
-	IMPORT(origin);
-	IMPORT(size);
+	IMPORT_VALUE(param_origin);
+	IMPORT_VALUE(param_size);
 
-	IMPORT_AS(origin,"pos");
+	if(param=="pos")
+		return set_param("origin", value);
 
 	return Layer_Composite::set_param(param,value);
 }
@@ -84,8 +85,8 @@ XORPattern::set_param(const String & param, const ValueBase &value)
 ValueBase
 XORPattern::get_param(const String & param)const
 {
-	EXPORT(origin);
-	EXPORT(size);
+	EXPORT_VALUE(param_origin);
+	EXPORT_VALUE(param_size);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -96,6 +97,9 @@ XORPattern::get_param(const String & param)const
 Color
 XORPattern::get_color(Context context, const Point &point)const
 {
+	Point origin=param_origin.get(Point());
+	Point size=param_size.get(Point());
+	
 	if(get_amount()==0.0)
 		return context.get_color(point);
 
diff --git a/src/modules/lyr_std/xorpattern.h b/src/modules/lyr_std/xorpattern.h
index b58aa70..fac862b 100644
--- a/src/modules/lyr_std/xorpattern.h
+++ b/src/modules/lyr_std/xorpattern.h
@@ -51,9 +51,10 @@ class XORPattern : public synfig::Layer_Composite, public synfig::Layer_NoDeform
 	SYNFIG_LAYER_MODULE_EXT
 
 private:
-
-	Point origin;
-	Point size;
+	//! Parameter: (Point)
+	ValueBase param_origin;
+	//! Parameter: (Point)
+	ValueBase param_size;
 
 public:
 	XORPattern();
diff --git a/src/modules/lyr_std/zoom.cpp b/src/modules/lyr_std/zoom.cpp
index cc66132..5ae5f32 100644
--- a/src/modules/lyr_std/zoom.cpp
+++ b/src/modules/lyr_std/zoom.cpp
@@ -61,19 +61,19 @@ SYNFIG_LAYER_SET_CVS_ID(Zoom,"$Id$");
 /* === E N T R Y P O I N T ================================================= */
 
 Zoom::Zoom():
-	center(0,0),
-	amount(0)
+	param_center(ValueBase(Vector(0,0))),
+	param_amount(ValueBase(Real(0)))
 {
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 bool
 Zoom::set_param(const String & param, const ValueBase &value)
 {
 
-	IMPORT(center);
-	IMPORT(amount);
+	IMPORT_VALUE(param_center);
+	IMPORT_VALUE(param_amount);
 
 	return false;
 }
@@ -81,8 +81,8 @@ Zoom::set_param(const String & param, const ValueBase &value)
 ValueBase
 Zoom::get_param(const String &param)const
 {
-	EXPORT(center);
-	EXPORT(amount);
+	EXPORT_VALUE(param_center);
+	EXPORT_VALUE(param_amount);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -98,6 +98,8 @@ Zoom::get_param_vocab()const
 	ret.push_back(ParamDesc("amount")
 		.set_local_name(_("Amount"))
 		.set_description(_("Amount to scale to"))
+		.set_origin("center")
+		.set_exponential()
 	);
 
 	ret.push_back(ParamDesc("center")
@@ -111,13 +113,15 @@ Zoom::get_param_vocab()const
 synfig::Layer::Handle
 Zoom::hit_check(synfig::Context context, const synfig::Point &pos)const
 {
-	return context.hit_check((pos-center)/exp(amount)+center);
+	Vector center=param_center.get(Vector());
+	return context.hit_check((pos-center)/exp(param_amount.get(Real()))+center);
 }
 
 Color
 Zoom::get_color(Context context, const Point &pos)const
 {
-	return context.get_color((pos-center)/exp(amount)+center);
+	Vector center=param_center.get(Vector());
+	return context.get_color((pos-center)/exp(param_amount.get(Real()))+center);
 }
 
 class Zoom_Trans : public Transform
@@ -128,12 +132,21 @@ public:
 
 	synfig::Vector perform(const synfig::Vector& x)const
 	{
-		return (x-layer->center)*exp(layer->amount)+layer->center;
+		Vector center=layer->param_center.get(Vector());
+		Real amount=layer->param_amount.get(Real());
+		return (x-center)*exp(amount)+center;
 	}
 
 	synfig::Vector unperform(const synfig::Vector& x)const
 	{
-		return (x-layer->center)/exp(layer->amount)+layer->center;
+		Vector center=layer->param_center.get(Vector());
+		Real amount=layer->param_amount.get(Real());
+		return (x-center)/exp(amount)+center;
+	}
+
+	synfig::String get_string()const
+	{
+		return "zoom";
 	}
 };
 etl::handle<Transform>
@@ -145,6 +158,9 @@ Zoom::get_transform()const
 bool
 Zoom::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	Vector center=param_center.get(Vector());
+	Real amount=param_amount.get(Real());
+
 	Vector::value_type zoomfactor=1.0/exp(amount);
 	RendDesc desc(renddesc);
 	desc.clear_flags();
@@ -158,21 +174,28 @@ Zoom::accelerated_render(Context context,Surface *surface,int quality, const Ren
 	return context.accelerated_render(surface,quality,desc,cb);
 }
 
+
 /////
 bool
-Zoom::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+Zoom::accelerated_cairorender(Context context, cairo_t *cr,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
-	Vector::value_type zoomfactor=1.0/exp(amount);
-	RendDesc desc(renddesc);
-	desc.clear_flags();
-	
-    // Adjust the top_left and bottom_right points
-	// for our zoom amount
-	desc.set_tl((desc.get_tl()-center)*zoomfactor+center);
-	desc.set_br((desc.get_br()-center)*zoomfactor+center);
+	Vector center=param_center.get(Vector());
+	Real amount=param_amount.get(Real());
+
+	double zoomfactor=exp(amount);
 	
-	// Render the scene
-	return context.accelerated_cairorender(surface,quality,desc,cb);
+	cairo_save(cr);
+	cairo_translate(cr, center[0], center[1]);
+	cairo_scale(cr, zoomfactor, zoomfactor);
+	cairo_translate(cr, -center[0], -center[1]);
+
+	if(!context.accelerated_cairorender(cr,quality,renddesc,cb))
+	{
+		cairo_restore(cr);
+		return false;
+	}
+	cairo_restore(cr);
+	return true;
 }
 /////
 
@@ -180,6 +203,7 @@ Zoom::accelerated_cairorender(Context context,cairo_surface_t *surface,int quali
 synfig::Rect
 Zoom::get_full_bounding_rect(synfig::Context context)const
 {
-	return (context.get_full_bounding_rect()-center)*exp(amount)+center;
+	Vector center=param_center.get(Vector());
+	return (context.get_full_bounding_rect()-center)*exp(param_amount.get(Real()))+center;
 }
 
diff --git a/src/modules/lyr_std/zoom.h b/src/modules/lyr_std/zoom.h
index 6bbf4ee..1752edc 100644
--- a/src/modules/lyr_std/zoom.h
+++ b/src/modules/lyr_std/zoom.h
@@ -48,8 +48,10 @@ class Zoom : public Layer
 	SYNFIG_LAYER_MODULE_EXT
 	friend class Zoom_Trans;
 private:
-	Vector center;
-	Real amount;
+	//! Parameter: (Vector)
+	ValueBase param_center;
+	//!Parameter: (Real)
+	ValueBase param_amount;
 public:
 	Zoom();
 
@@ -57,7 +59,7 @@ public:
 	virtual ValueBase get_param(const String & param)const;
 	virtual Color get_color(Context context, const Point &pos)const;
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 	synfig::Layer::Handle hit_check(synfig::Context context, const synfig::Point &point)const;
 	virtual Vocab get_param_vocab()const;
 	virtual synfig::Rect get_full_bounding_rect(synfig::Context context)const;
diff --git a/src/modules/mod_bmp/Makefile.am b/src/modules/mod_bmp/Makefile.am
index d367d2e..b5d8569 100644
--- a/src/modules/mod_bmp/Makefile.am
+++ b/src/modules/mod_bmp/Makefile.am
@@ -3,7 +3,7 @@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
diff --git a/src/modules/mod_bmp/Makefile.in b/src/modules/mod_bmp/Makefile.in
index 10b8086..5eca3c3 100644
--- a/src/modules/mod_bmp/Makefile.in
+++ b/src/modules/mod_bmp/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -54,7 +53,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/modules/mod_bmp
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(top_srcdir)/config/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
@@ -234,6 +234,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -339,7 +340,7 @@ top_srcdir = @top_srcdir@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
@@ -428,12 +429,14 @@ uninstall-moduleLTLIBRARIES:
 
 clean-moduleLTLIBRARIES:
 	-test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES)
-	@list='$(module_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(module_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 libmod_bmp.la: $(libmod_bmp_la_OBJECTS) $(libmod_bmp_la_DEPENDENCIES) $(EXTRA_libmod_bmp_la_DEPENDENCIES) 
 	$(libmod_bmp_la_LINK) -rpath $(moduledir) $(libmod_bmp_la_OBJECTS) $(libmod_bmp_la_LIBADD) $(LIBS)
 
@@ -544,6 +547,20 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -689,18 +706,19 @@ uninstall-am: uninstall-moduleLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-moduleLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-moduleLTLIBRARIES install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am uninstall-moduleLTLIBRARIES
+	clean-libtool clean-moduleLTLIBRARIES cscopelist ctags \
+	distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-moduleLTLIBRARIES \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-moduleLTLIBRARIES
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/src/modules/mod_dv/Makefile.am b/src/modules/mod_dv/Makefile.am
index bbd1f63..21a216b 100644
--- a/src/modules/mod_dv/Makefile.am
+++ b/src/modules/mod_dv/Makefile.am
@@ -3,7 +3,7 @@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
diff --git a/src/modules/mod_dv/Makefile.in b/src/modules/mod_dv/Makefile.in
index 596e016..c6f99f5 100644
--- a/src/modules/mod_dv/Makefile.in
+++ b/src/modules/mod_dv/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -54,7 +53,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/modules/mod_dv
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(top_srcdir)/config/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
@@ -237,6 +237,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -342,7 +343,7 @@ top_srcdir = @top_srcdir@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
@@ -429,12 +430,14 @@ uninstall-moduleLTLIBRARIES:
 
 clean-moduleLTLIBRARIES:
 	-test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES)
-	@list='$(module_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(module_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 libmod_dv.la: $(libmod_dv_la_OBJECTS) $(libmod_dv_la_DEPENDENCIES) $(EXTRA_libmod_dv_la_DEPENDENCIES) 
 	$(libmod_dv_la_LINK) $(am_libmod_dv_la_rpath) $(libmod_dv_la_OBJECTS) $(libmod_dv_la_LIBADD) $(LIBS)
 
@@ -537,6 +540,20 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -682,18 +699,19 @@ uninstall-am: uninstall-moduleLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-moduleLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-moduleLTLIBRARIES install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am uninstall-moduleLTLIBRARIES
+	clean-libtool clean-moduleLTLIBRARIES cscopelist ctags \
+	distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-moduleLTLIBRARIES \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-moduleLTLIBRARIES
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/src/modules/mod_dv/trgt_dv.cpp b/src/modules/mod_dv/trgt_dv.cpp
index 896ae6c..a21ef99 100644
--- a/src/modules/mod_dv/trgt_dv.cpp
+++ b/src/modules/mod_dv/trgt_dv.cpp
@@ -34,7 +34,7 @@
 
 #include <ETL/stringf>
 #include "trgt_dv.h"
-#include <stdio.h>
+#include <cstdio>
 #include <sys/types.h>
 #if HAVE_SYS_WAIT_H
  #include <sys/wait.h>
diff --git a/src/modules/mod_example/Makefile.am b/src/modules/mod_example/Makefile.am
index bd4566f..f8529d5 100644
--- a/src/modules/mod_example/Makefile.am
+++ b/src/modules/mod_example/Makefile.am
@@ -3,7 +3,7 @@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
diff --git a/src/modules/mod_example/Makefile.in b/src/modules/mod_example/Makefile.in
index 87603e6..9ef15a8 100644
--- a/src/modules/mod_example/Makefile.in
+++ b/src/modules/mod_example/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -54,7 +53,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/modules/mod_example
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(top_srcdir)/config/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
@@ -236,6 +236,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -341,7 +342,7 @@ top_srcdir = @top_srcdir@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
@@ -432,12 +433,14 @@ uninstall-moduleLTLIBRARIES:
 
 clean-moduleLTLIBRARIES:
 	-test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES)
-	@list='$(module_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(module_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 libmod_example.la: $(libmod_example_la_OBJECTS) $(libmod_example_la_DEPENDENCIES) $(EXTRA_libmod_example_la_DEPENDENCIES) 
 	$(libmod_example_la_LINK) -rpath $(moduledir) $(libmod_example_la_OBJECTS) $(libmod_example_la_LIBADD) $(LIBS)
 
@@ -556,6 +559,20 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -701,18 +718,19 @@ uninstall-am: uninstall-moduleLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-moduleLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-moduleLTLIBRARIES install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am uninstall-moduleLTLIBRARIES
+	clean-libtool clean-moduleLTLIBRARIES cscopelist ctags \
+	distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-moduleLTLIBRARIES \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-moduleLTLIBRARIES
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/src/modules/mod_example/filledrect.cpp b/src/modules/mod_example/filledrect.cpp
index 2b261be..4781f53 100644
--- a/src/modules/mod_example/filledrect.cpp
+++ b/src/modules/mod_example/filledrect.cpp
@@ -39,6 +39,7 @@
 #include <synfig/surface.h>
 #include <synfig/value.h>
 #include <synfig/valuenode.h>
+#include <synfig/cairo_renddesc.h>
 #include <ETL/pen>
 
 #include "filledrect.h"
@@ -68,28 +69,38 @@ SYNFIG_LAYER_SET_CVS_ID(FilledRect,"$Id$");
 
 FilledRect::FilledRect():
 	Layer_Composite(1.0,Color::BLEND_COMPOSITE),
-	color(Color::black()),
-	point1(0,0),
-	point2(1,1),
-	feather_x(0),
-	feather_y(0),
-	bevel(0),
-	bevCircle(0)
+	param_color(ValueBase(Color::black())),
+	param_point1(ValueBase(Vector(0,0))),
+	param_point2(ValueBase(Vector(1,1))),
+	param_feather_x(ValueBase(Real(0))),
+	param_feather_y(ValueBase(Real(0))),
+	param_bevel(ValueBase(Real(0))),
+	param_bevCircle(ValueBase(bool(false)))
 {
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 bool
 FilledRect::set_param(const String & param, const ValueBase &value)
 {
-	IMPORT(color);
-	IMPORT(point1);
-	IMPORT(point2);
-	IMPORT_PLUS(feather_x, if(feather_x<0)feather_x=0;);
-	IMPORT_PLUS(feather_y, if(feather_y<0)feather_y=0;);
-	IMPORT(bevel);
-	IMPORT(bevCircle);
+	IMPORT_VALUE(param_color);
+	IMPORT_VALUE(param_point1);
+	IMPORT_VALUE(param_point2);
+	IMPORT_VALUE_PLUS(param_feather_x,
+		{
+			Real feather_x=param_feather_x.get(Real());
+			if(feather_x<0) feather_x=0;
+			param_feather_x.set(feather_x);
+		});
+	IMPORT_VALUE_PLUS(param_feather_y,
+		  {
+			  Real feather_y=param_feather_y.get(Real());
+			  if(feather_y<0) feather_y=0;
+			  param_feather_y.set(feather_y);
+		  });
+	IMPORT_VALUE(param_bevel);
+	IMPORT_VALUE(param_bevCircle);
 
 	return Layer_Composite::set_param(param,value);
 }
@@ -97,13 +108,13 @@ FilledRect::set_param(const String & param, const ValueBase &value)
 ValueBase
 FilledRect::get_param(const String &param)const
 {
-	EXPORT(color);
-	EXPORT(point1);
-	EXPORT(point2);
-	EXPORT(feather_x);
-	EXPORT(feather_y);
-	EXPORT(bevel);
-	EXPORT(bevCircle);
+	EXPORT_VALUE(param_color);
+	EXPORT_VALUE(param_point1);
+	EXPORT_VALUE(param_point2);
+	EXPORT_VALUE(param_feather_x);
+	EXPORT_VALUE(param_feather_y);
+	EXPORT_VALUE(param_bevel);
+	EXPORT_VALUE(param_bevCircle);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -134,15 +145,18 @@ FilledRect::get_param_vocab()const
 
 	ret.push_back(ParamDesc("feather_x")
 		.set_local_name(_("Feather X"))
+		.set_is_distance()
 	);
 
 	ret.push_back(ParamDesc("feather_y")
 		.set_local_name(_("Feather Y"))
+		.set_is_distance()
 	);
 
 	ret.push_back(ParamDesc("bevel")
 		.set_local_name(_("Bevel"))
 		.set_description(_("Use Bevel for the corners"))
+		.set_is_distance()
 	);
 
 	ret.push_back(ParamDesc("bevCircle")
@@ -176,6 +190,14 @@ FilledRect::hit_check(synfig::Context context, const synfig::Point &point)const
 bool
 FilledRect::get_color(const Point &pos, Color &out, Real &outamount) const
 {
+	Color color=param_color.get(Color());
+	Point point1=param_point1.get(Point());
+	Point point2=param_point2.get(Point());
+	Real feather_x=param_feather_x.get(Real());
+	Real feather_y=param_feather_y.get(Real());
+	Real bevel=param_bevel.get(Real());
+	bool bevCircle=param_bevCircle.get(bool());
+	
 	Point p[2] = {point1,point2};
 	Real swap;
 
@@ -349,6 +371,9 @@ FilledRect::get_color(Context context, const Point &pos)const
 bool
 FilledRect::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	Point point1=param_point1.get(Point());
+	Point point2=param_point2.get(Point());
+
 	// Width and Height of a pixel
 	const Point br(renddesc.get_br()), tl(renddesc.get_tl());
 	const int w = renddesc.get_w(), h = renddesc.get_h();
@@ -592,3 +617,123 @@ FilledRect::accelerated_render(Context context,Surface *surface,int quality, con
 
 	return true;
 }
+
+///////
+bool
+FilledRect::accelerated_cairorender(Context context, cairo_t *cr,int quality, const RendDesc &renddesc_, ProgressCallback *cb)const
+{
+	Point point1=param_point1.get(Point());
+	Point point2=param_point2.get(Point());
+
+	RendDesc	renddesc(renddesc_);
+	
+	// Untransform the render desc
+	if(!cairo_renddesc_untransform(cr, renddesc))
+		return false;
+
+	// Width and Height of a pixel
+	const Point br(renddesc.get_br()), tl(renddesc.get_tl());
+	const int w = renddesc.get_w(), h = renddesc.get_h();
+	
+	const double wpp = (br[0]-tl[0])/w;
+	const double hpp = (br[1]-tl[1])/h;
+	
+	//the bounds of the rectangle
+	Point p[2] = {point1,point2};
+	
+	if((p[0][0] > p[1][0]) ^ (wpp < 0))
+	{
+		swap(p[0][0],p[1][0]);
+	}
+	
+	if((p[0][1] > p[1][1]) ^ (hpp < 0))
+	{
+		swap(p[0][1],p[1][1]);
+	}
+	
+	//the integer coordinates
+	int y_start = (int)((p[0][1] - tl[1])/hpp +.5); 	//round start up
+	int x_start = (int)((p[0][0] - tl[0])/wpp +.5);
+	int y_end = (int)((p[1][1] - tl[1])/hpp +.5);	//and ends up
+	int x_end =	(int)((p[1][0] - tl[0])/wpp +.5);
+	
+	y_start = max(0,y_start);
+	x_start = max(0,x_start);
+	y_end = min(h,y_end);
+	x_end = min(w,x_end);
+	
+	SuperCallback supercb(cb,0,9000,10000);
+	
+	if(y_start >= h || x_start > w	|| x_end < 0 || y_end < 0)
+	{
+		if(!context.accelerated_cairorender(cr,quality,renddesc,&supercb))
+		{
+			if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Cairo Renderer Failure",__LINE__));
+			return false;
+		}
+		
+		return true;
+	}
+	
+	Real xf_start = tl[0] + x_start*wpp;
+	Point pos(xf_start,tl[1] + y_start*hpp);
+	
+	Color 	clr = Color::black();
+	Real	amt;
+
+	cairo_surface_t* surface;
+	
+	surface=cairo_surface_create_similar(cairo_get_target(cr), CAIRO_CONTENT_COLOR_ALPHA, w, h);
+	cairo_t* subcr=cairo_create(surface);
+	cairo_scale(subcr, 1/wpp, 1/hpp);
+	cairo_translate(subcr, -tl[0], -tl[1]);
+
+	
+	if(!context.accelerated_cairorender(subcr,quality,renddesc,&supercb))
+	{
+		if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Cairo Renderer Failure",__LINE__));
+		return false;
+	}
+	
+	cairo_destroy(subcr);
+
+	CairoSurface csurface(surface);
+	if(!csurface.map_cairo_image())
+	{
+		synfig::warning("Filled Rect: map cairo surface failed");
+		return false;
+	}
+
+	for(int y = y_start; y < y_end; y++, pos[1] += hpp)
+	{
+		pos[0] = xf_start;
+		for(int x = x_start; x < x_end; x++, pos[0] += wpp)
+		{
+			if(get_color(pos,clr,amt))
+			{
+				if(amt==1.0 && get_blend_method()==Color::BLEND_STRAIGHT)
+					csurface[y][x] = CairoColor(clr).premult_alpha();
+				else
+					csurface[y][x] = CairoColor::blend(CairoColor(clr),csurface[y][x],amt,get_blend_method()).premult_alpha();
+				
+			}
+		}
+	}
+	
+	csurface.unmap_cairo_image();
+	// paint surface on cr
+	cairo_save(cr);
+	cairo_translate(cr, tl[0], tl[1]);
+	cairo_scale(cr, wpp, hpp);
+	cairo_set_source_surface(cr, surface, 0, 0);
+	cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
+	cairo_paint(cr);
+	cairo_restore(cr);
+
+	cairo_surface_destroy(surface);
+	// Mark our progress as finished
+	if(cb && !cb->amount_complete(10000,10000))
+		return false;
+	
+	return true;
+}
diff --git a/src/modules/mod_example/filledrect.h b/src/modules/mod_example/filledrect.h
index 38f4fec..a63e720 100644
--- a/src/modules/mod_example/filledrect.h
+++ b/src/modules/mod_example/filledrect.h
@@ -39,41 +39,48 @@
 
 /* === C L A S S E S & S T R U C T S ======================================= */
 
-class FilledRect : public synfig::Layer_Composite, public synfig::Layer_NoDeform
+using namespace synfig;
+using namespace std;
+using namespace etl;
+
+class FilledRect : public Layer_Composite, public Layer_NoDeform
 {
 	SYNFIG_LAYER_MODULE_EXT
 
 private:
-
-	synfig::Color color;
-
-	synfig::Point point1;
-	synfig::Point point2;
-
-	synfig::Real feather_x;
-	synfig::Real feather_y;
-
-	synfig::Real	bevel;
-
-	bool		bevCircle;
-
-	bool get_color(const synfig::Point &pos, synfig::Color &out, synfig::Real &outamount)const;
+	//! Parameter: (Color)
+	ValueBase param_color;
+	//! Parameter: (Point)
+	ValueBase param_point1;
+	//! Parameter: (Point)
+	ValueBase param_point2;
+	//! Parameter: Real)
+	ValueBase param_feather_x;
+	//! Parameter: (Real)
+	ValueBase param_feather_y;
+	//! Parameter: (Real)
+	ValueBase param_bevel;
+	//! Parameter: (bool)
+	ValueBase param_bevCircle;
+
+	bool get_color(const Point &pos, Color &out, Real &outamount)const;
 
 public:
 
 	FilledRect();
 
-	virtual bool set_param(const synfig::String & param, const synfig::ValueBase &value);
+	virtual bool set_param(const String & param, const ValueBase &value);
 
-	virtual synfig::ValueBase get_param(const synfig::String & param)const;
+	virtual ValueBase get_param(const String & param)const;
 
-	virtual synfig::Color get_color(synfig::Context context, const synfig::Point &pos)const;
+	virtual Color get_color(Context context, const Point &pos)const;
 
-	virtual bool accelerated_render(synfig::Context context,synfig::Surface *surface,int quality, const synfig::RendDesc &renddesc, synfig::ProgressCallback *cb)const;
+	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 
 	virtual Vocab get_param_vocab()const;
 
-	virtual synfig::Layer::Handle hit_check(synfig::Context context, const synfig::Point &point)const;
+	virtual Layer::Handle hit_check(Context context, const Point &point)const;
 }; // END of class FilledRect
 
 /* === E N D =============================================================== */
diff --git a/src/modules/mod_example/metaballs.cpp b/src/modules/mod_example/metaballs.cpp
index d9430e5..15e4456 100644
--- a/src/modules/mod_example/metaballs.cpp
+++ b/src/modules/mod_example/metaballs.cpp
@@ -67,43 +67,38 @@ SYNFIG_LAYER_SET_CVS_ID(Metaballs,"$Id$");
 
 Metaballs::Metaballs():
 	Layer_Composite(1.0,Color::BLEND_COMPOSITE),
-	gradient(Color::black(), Color::white()),
-	threshold(0),
-	threshold2(1),
-	positive(false)
+	param_gradient(ValueBase(Gradient(Color::black(), Color::white()))),
+	param_centers(ValueBase(std::vector<synfig::Point>())),
+	param_radii(ValueBase(std::vector<synfig::Real>())),
+	param_weights(ValueBase(std::vector<synfig::Real>())),
+	param_threshold(ValueBase(Real(0))),
+	param_threshold2(ValueBase(Real(1))),
+	param_positive(ValueBase(false))
 {
+	std::vector<synfig::Point> centers;
+	std::vector<synfig::Real> radii;
+	std::vector<synfig::Real> weights;
 	centers.push_back(Point( 0, -1.5));	radii.push_back(2.5);	weights.push_back(1);
 	centers.push_back(Point(-2,  1));	radii.push_back(2.5);	weights.push_back(1);
 	centers.push_back(Point( 2,  1));	radii.push_back(2.5);	weights.push_back(1);
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	param_centers.set(centers);
+	param_radii.set(radii);
+	param_weights.set(weights);
+	
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 bool
 Metaballs::set_param(const String & param, const ValueBase &value)
 {
-	if(	param=="centers" && value.same_type_as(centers))
-	{
-		centers = value;
-		return true;
-	}
-
-	if(	param=="weights" && value.same_type_as(weights))
-	{
-		weights = value;
-		return true;
-	}
-
-	if(	param=="radii" && value.same_type_as(radii))
-	{
-		radii = value;
-		return true;
-	}
-
-	IMPORT(gradient);
-	IMPORT(threshold);
-	IMPORT(threshold2);
-	IMPORT(positive);
+	IMPORT_VALUE(param_centers);
+	IMPORT_VALUE(param_radii);
+	IMPORT_VALUE(param_weights);
+	IMPORT_VALUE(param_gradient);
+	IMPORT_VALUE(param_threshold);
+	IMPORT_VALUE(param_threshold2);
+	IMPORT_VALUE(param_positive);
 
 	return Layer_Composite::set_param(param,value);
 }
@@ -111,14 +106,13 @@ Metaballs::set_param(const String & param, const ValueBase &value)
 ValueBase
 Metaballs::get_param(const String &param)const
 {
-	EXPORT(gradient);
-
-	EXPORT(radii);
-	EXPORT(weights);
-	EXPORT(centers);
-	EXPORT(threshold);
-	EXPORT(threshold2);
-	EXPORT(positive);
+	EXPORT_VALUE(param_gradient);
+	EXPORT_VALUE(param_radii);
+	EXPORT_VALUE(param_weights);
+	EXPORT_VALUE(param_centers);
+	EXPORT_VALUE(param_threshold);
+	EXPORT_VALUE(param_threshold2);
+	EXPORT_VALUE(param_positive);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -184,6 +178,8 @@ Metaballs::hit_check(synfig::Context context, const synfig::Point &point)const
 Real
 Metaballs::densityfunc(const synfig::Point &p, const synfig::Point &c, Real R)const
 {
+	bool positive=param_positive.get(bool());
+	
 	const Real dx = p[0] - c[0];
 	const Real dy = p[1] - c[1];
 
@@ -204,6 +200,12 @@ Metaballs::densityfunc(const synfig::Point &p, const synfig::Point &c, Real R)co
 Real
 Metaballs::totaldensity(const Point &pos)const
 {
+	std::vector<synfig::Point> centers(param_centers.get_list().begin(),param_centers.get_list().end());
+	std::vector<synfig::Real> radii(param_radii.get_list().begin(),param_radii.get_list().end());
+	std::vector<synfig::Real> weights(param_weights.get_list().begin(),param_weights.get_list().end());
+	synfig::Real threshold=param_threshold.get(Real());
+	synfig::Real threshold2=param_threshold2.get(Real());
+
 	Real density = 0;
 
 	//sum up weighted functions
@@ -216,6 +218,7 @@ Metaballs::totaldensity(const Point &pos)const
 Color
 Metaballs::get_color(Context context, const Point &pos)const
 {
+	Gradient gradient=param_gradient.get(Gradient());
 	if(get_amount()==1.0 && get_blend_method()==Color::BLEND_STRAIGHT)
 		return gradient(totaldensity(pos));
 	else
@@ -225,6 +228,7 @@ Metaballs::get_color(Context context, const Point &pos)const
 CairoColor
 Metaballs::get_cairocolor(Context context, const Point &pos)const
 {
+	Gradient gradient=param_gradient.get(Gradient());
 	if(get_amount()==1.0 && get_blend_method()==Color::BLEND_STRAIGHT)
 		return CairoColor(gradient(totaldensity(pos)));
 	else
@@ -235,6 +239,8 @@ Metaballs::get_cairocolor(Context context, const Point &pos)const
 bool
 Metaballs::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	Gradient gradient=param_gradient.get(Gradient());
+	
 	// Width and Height of a pixel
 	const Point br(renddesc.get_br()), tl(renddesc.get_tl());
 	const int 	 w(renddesc.get_w()), 	h(renddesc.get_h());
diff --git a/src/modules/mod_example/metaballs.h b/src/modules/mod_example/metaballs.h
index a1d7770..93ec494 100644
--- a/src/modules/mod_example/metaballs.h
+++ b/src/modules/mod_example/metaballs.h
@@ -44,17 +44,20 @@ class Metaballs : public synfig::Layer_Composite, public synfig::Layer_NoDeform
 	SYNFIG_LAYER_MODULE_EXT
 
 private:
-
-	synfig::Gradient gradient;
-
-	std::vector<synfig::Point>	centers;
-	std::vector<synfig::Real>	radii;
-	std::vector<synfig::Real>	weights;
-
-	synfig::Real	threshold;
-	synfig::Real	threshold2;
-
-	bool positive;
+	//! Parameter: (Gradient)
+	synfig::ValueBase param_gradient;
+	//! Parameter: (std::vector<synfig::Point>)
+	synfig::ValueBase param_centers;
+	//! Parameter: (std::vector<synfig::Real>)
+	synfig::ValueBase param_radii;
+	//! Parameter: (std::vector<synfig::Real>)
+	synfig::ValueBase param_weights;
+	//! Parameter: (synfig::Real)
+	synfig::ValueBase param_threshold;
+	//! Parameter: (synfig::Real)
+	synfig::ValueBase param_threshold2;
+	//! Parameter: (bool)
+	synfig::ValueBase param_positive;
 
 	synfig::Real densityfunc(const synfig::Point &p, const synfig::Point &c, synfig::Real R)const;
 
diff --git a/src/modules/mod_example/simplecircle.cpp b/src/modules/mod_example/simplecircle.cpp
index e41096e..9038b13 100644
--- a/src/modules/mod_example/simplecircle.cpp
+++ b/src/modules/mod_example/simplecircle.cpp
@@ -67,20 +67,20 @@ SYNFIG_LAYER_SET_CVS_ID(SimpleCircle,"$Id$");
 
 SimpleCircle::SimpleCircle():
 	Layer_Composite(1.0,Color::BLEND_COMPOSITE),
-	color(Color::black()),
-	center(0,0),
-	radius(0.5)
+	param_color(ValueBase(Color::black())),
+	param_center(ValueBase(Point(0,0))),
+	param_radius(ValueBase(Real(0.5)))
 {
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 bool
 SimpleCircle::set_param(const String & param, const ValueBase &value)
 {
-	IMPORT(color);
-	IMPORT(center);
-	IMPORT(radius);
+	IMPORT_VALUE(param_color);
+	IMPORT_VALUE(param_center);
+	IMPORT_VALUE(param_radius);
 
 	return Layer_Composite::set_param(param,value);
 }
@@ -88,9 +88,9 @@ SimpleCircle::set_param(const String & param, const ValueBase &value)
 ValueBase
 SimpleCircle::get_param(const String &param)const
 {
-	EXPORT(color);
-	EXPORT(center);
-	EXPORT(radius);
+	EXPORT_VALUE(param_color);
+	EXPORT_VALUE(param_center);
+	EXPORT_VALUE(param_radius);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -117,6 +117,7 @@ SimpleCircle::get_param_vocab()const
 		.set_local_name(_("Radius"))
 		.set_description(_("This is the radius of the circle"))
 		.set_origin("center")
+		.set_is_distance()
 	);
 
 	return ret;
@@ -125,6 +126,9 @@ SimpleCircle::get_param_vocab()const
 Color
 SimpleCircle::get_color(Context context, const Point &pos)const
 {
+	Color color=param_color.get(Color());
+	Point center=param_center.get(Point());
+	Real radius=param_radius.get(Real());
 
 	if((pos-center).mag()<radius)
 	{
@@ -140,6 +144,9 @@ SimpleCircle::get_color(Context context, const Point &pos)const
 synfig::Layer::Handle
 SimpleCircle::hit_check(synfig::Context context, const synfig::Point &pos)const
 {
+	Point center=param_center.get(Point());
+	Real radius=param_radius.get(Real());
+
 	if((pos-center).mag()<radius)
 		return const_cast<SimpleCircle*>(this);
 	else
@@ -190,3 +197,47 @@ SimpleCircle::accelerated_render(Context context,Surface *surface,int quality, c
 	return true;
 }
 */
+
+
+bool
+SimpleCircle::accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+{
+	Color color=param_color.get(Color());
+	Point center=param_center.get(Point());
+	Real radius=param_radius.get(Real());
+
+	SuperCallback supercb(cb,0,9500,10000);
+	
+	if(get_amount()==1.0 && get_blend_method()==Color::BLEND_STRAIGHT)
+	{
+		cairo_save(cr);
+		cairo_set_operator(cr, CAIRO_OPERATOR_CLEAR);
+		cairo_paint(cr);
+		cairo_restore(cr);
+	}
+	else
+	{
+		if(!context.accelerated_cairorender(cr,quality,renddesc,&supercb))
+			return false;
+		if(get_amount()==0)
+			return true;
+	}
+	// Grab the rgba values
+	const float r(color.get_r());
+	const float g(color.get_g());
+	const float b(color.get_b());
+	const float a(color.get_a());
+		
+	
+	cairo_save(cr);
+	cairo_arc(cr, center[0], center[1], radius, 0.0f, 2*M_PI);
+	cairo_clip(cr);
+	cairo_set_source_rgba(cr, r, g, b, a);
+	cairo_paint_with_alpha_operator(cr, get_amount(), get_blend_method());
+	cairo_restore(cr);
+	
+	if(cb && !cb->amount_complete(10000,10000))
+		return false;
+	
+	return true;
+}
diff --git a/src/modules/mod_example/simplecircle.h b/src/modules/mod_example/simplecircle.h
index 766d336..da3a010 100644
--- a/src/modules/mod_example/simplecircle.h
+++ b/src/modules/mod_example/simplecircle.h
@@ -39,31 +39,36 @@
 
 /* === C L A S S E S & S T R U C T S ======================================= */
 
-class SimpleCircle : public synfig::Layer_Composite, public synfig::Layer_NoDeform
+using namespace synfig;
+using namespace std;
+using namespace etl;
+
+class SimpleCircle : public Layer_Composite, public Layer_NoDeform
 {
 	SYNFIG_LAYER_MODULE_EXT
 
 private:
-
-	synfig::Color color;
-
-	synfig::Point center;
-
-	synfig::Real radius;
+	//! Parameter: (Color)
+	ValueBase param_color;
+	//! Parameter: (Point)
+	ValueBase param_center;
+	//! Parameter: (Real)
+	ValueBase param_radius;
 
 public:
 
 	SimpleCircle();
 
-	virtual bool set_param(const synfig::String & param, const synfig::ValueBase &value);
+	virtual bool set_param(const String & param, const ValueBase &value);
 
-	virtual synfig::ValueBase get_param(const synfig::String & param)const;
+	virtual ValueBase get_param(const String & param)const;
 
-	virtual synfig::Color get_color(synfig::Context context, const synfig::Point &pos)const;
+	virtual Color get_color(Context context, const Point &pos)const;
 
-	//virtual bool accelerated_render(synfig::Context context,synfig::Surface *surface,int quality, const synfig::RendDesc &renddesc, synfig::ProgressCallback *cb)const;
+	//virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 
-	synfig::Layer::Handle hit_check(synfig::Context context, const synfig::Point &point)const;
+	Layer::Handle hit_check(Context context, const Point &point)const;
 
 	virtual Vocab get_param_vocab()const;
 }; // END of class SimpleCircle
diff --git a/src/modules/mod_ffmpeg/Makefile.am b/src/modules/mod_ffmpeg/Makefile.am
index d67be26..08d4e6d 100644
--- a/src/modules/mod_ffmpeg/Makefile.am
+++ b/src/modules/mod_ffmpeg/Makefile.am
@@ -3,7 +3,7 @@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
diff --git a/src/modules/mod_ffmpeg/Makefile.in b/src/modules/mod_ffmpeg/Makefile.in
index e668213..0dcd8f7 100644
--- a/src/modules/mod_ffmpeg/Makefile.in
+++ b/src/modules/mod_ffmpeg/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -54,7 +53,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/modules/mod_ffmpeg
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(top_srcdir)/config/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
@@ -241,6 +241,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -346,7 +347,7 @@ top_srcdir = @top_srcdir@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
@@ -435,12 +436,14 @@ uninstall-moduleLTLIBRARIES:
 
 clean-moduleLTLIBRARIES:
 	-test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES)
-	@list='$(module_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(module_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 libmod_ffmpeg.la: $(libmod_ffmpeg_la_OBJECTS) $(libmod_ffmpeg_la_DEPENDENCIES) $(EXTRA_libmod_ffmpeg_la_DEPENDENCIES) 
 	$(libmod_ffmpeg_la_LINK) $(am_libmod_ffmpeg_la_rpath) $(libmod_ffmpeg_la_OBJECTS) $(libmod_ffmpeg_la_LIBADD) $(LIBS)
 
@@ -551,6 +554,20 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -696,18 +713,19 @@ uninstall-am: uninstall-moduleLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-moduleLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-moduleLTLIBRARIES install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am uninstall-moduleLTLIBRARIES
+	clean-libtool clean-moduleLTLIBRARIES cscopelist ctags \
+	distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-moduleLTLIBRARIES \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-moduleLTLIBRARIES
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp b/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp
index 0afd1d9..d486436 100644
--- a/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp
+++ b/src/modules/mod_ffmpeg/mptr_ffmpeg.cpp
@@ -36,6 +36,7 @@
 #include "mptr_ffmpeg.h"
 #include <stdio.h>
 #include <sys/types.h>
+#include <synfig/general.h>
 #if HAVE_SYS_WAIT_H
  #include <sys/wait.h>
 #endif
@@ -101,8 +102,17 @@ ffmpeg_mptr::seek_to(int frame)
 #if defined(WIN32_PIPE_TO_PROCESSES)
 
 		string command;
-
-		command=strprintf("ffmpeg -ss 00:00:00.%d -i \"%s\" -an -f image2pipe -vcodec ppm -\n",frame,filename.c_str());
+		
+		String binary_path = synfig::get_binary_path("");
+		if (binary_path != "")
+			binary_path = etl::dirname(binary_path)+ETL_DIRECTORY_SEPARATOR;
+		binary_path += "ffmpeg.exe";
+
+		command=strprintf("\"%s\" -ss 00:00:00.%d -i \"%s\" -an -f image2pipe -vcodec ppm -\n",binary_path.c_str(),frame,filename.c_str());
+		
+		// This covers the dumb cmd.exe behavior.
+		// See: http://eli.thegreenplace.net/2011/01/28/on-spaces-in-the-paths-of-programs-and-files-on-windows/
+		command = "\"" + command + "\"";
 
 		file=popen(command.c_str(),POPEN_BINARY_READ_TYPE);
 
@@ -111,14 +121,14 @@ ffmpeg_mptr::seek_to(int frame)
 		int p[2];
 
 		if (pipe(p)) {
-			cerr<<"Unable to open pipe to ffmpeg"<<endl;
+			cerr<<"Unable to open pipe to ffmpeg (no pipe)"<<endl;
 			return false;
 		};
 
 		pid = fork();
 
 		if (pid == -1) {
-			cerr<<"Unable to open pipe to ffmpeg"<<endl;
+			cerr<<"Unable to open pipe to ffmpeg (pid == -1)"<<endl;
 			return false;
 		}
 
@@ -128,7 +138,7 @@ ffmpeg_mptr::seek_to(int frame)
 			close(p[0]);
 			// Dup pipein to stdout
 			if( dup2( p[1], STDOUT_FILENO ) == -1 ){
-				cerr<<"Unable to open pipe to ffmpeg"<<endl;
+				cerr<<"Unable to open pipe to ffmpeg (dup2( p[1], STDOUT_FILENO ) == -1)"<<endl;
 				return false;
 			}
 			// Close the unneeded pipein
@@ -136,7 +146,7 @@ ffmpeg_mptr::seek_to(int frame)
 			string time = strprintf("00:00:00.%d",frame);
 			execlp("ffmpeg", "ffmpeg", "-ss", time.c_str(), "-i", filename.c_str(), "-an", "-f", "image2pipe", "-vcodec", "ppm", "-", (const char *)NULL);
 			// We should never reach here unless the exec failed
-			cerr<<"Unable to open pipe to ffmpeg"<<endl;
+			cerr<<"Unable to open pipe to ffmpeg (exec failed)"<<endl;
 			_exit(1);
 		} else {
 			// Parent process
diff --git a/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp b/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp
index 52318d6..5735cb7 100644
--- a/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp
+++ b/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp
@@ -35,7 +35,7 @@
 
 #include <ETL/stringf>
 #include "trgt_ffmpeg.h"
-#include <stdio.h>
+#include <cstdio>
 #include <sys/types.h>
 #if HAVE_SYS_WAIT_H
  #include <sys/wait.h>
@@ -160,6 +160,8 @@ ffmpeg_trgt::set_rend_desc(RendDesc *given_desc)
 bool
 ffmpeg_trgt::init()
 {
+	synfig::info("ffmpeg_trgt::init called...");
+	
 	imagecount=desc.get_frame_start();
 	if(desc.get_frame_end()-desc.get_frame_start()>0)
 		multi_image=true;
@@ -170,27 +172,38 @@ ffmpeg_trgt::init()
 
 	string command;
 
+	String binary_path = synfig::get_binary_path("");
+	if (binary_path != "")
+		binary_path = etl::dirname(binary_path)+ETL_DIRECTORY_SEPARATOR;
+	binary_path += "ffmpeg.exe";
+
 	if( filename.c_str()[0] == '-' )
-		command = strprintf("ffmpeg -f image2pipe -vcodec ppm -an"
-							" -r %f -i pipe: -loop_input"
+		command = strprintf("\"%s\" -f image2pipe -vcodec ppm -an"
+							" -r %f -i pipe: -loop 1"
 							" -metadata title=\"%s\" "
 							" -vcodec %s -b %ik"
 							" -y -- \"%s\"\n",
+							binary_path.c_str(),
 							desc.get_frame_rate(),
 							get_canvas()->get_name().c_str(),
 							video_codec.c_str(), bitrate,
 							filename.c_str());
 	else
-		command = strprintf("ffmpeg -f image2pipe -vcodec ppm -an"
-							" -r %f -i pipe: -loop_input"
+		command = strprintf("\"%s\" -f image2pipe -vcodec ppm -an"
+							" -r %f -i pipe: -loop 1"
 							" -metadata title=\"%s\" "
 							"-vcodec %s -b %ik"
 							" -y -- \"%s\"\n",
+							binary_path.c_str(),
 							desc.get_frame_rate(),
 							get_canvas()->get_name().c_str(),
 							video_codec.c_str(), bitrate,
 							filename.c_str());
 
+	// This covers the dumb cmd.exe behavior.
+	// See: http://eli.thegreenplace.net/2011/01/28/on-spaces-in-the-paths-of-programs-and-files-on-windows/
+	command = "\"" + command + "\"";
+
 	file=popen(command.c_str(),POPEN_BINARY_WRITE_TYPE);
 
 #elif defined(UNIX_PIPE_TO_PROCESSES)
@@ -198,14 +211,14 @@ ffmpeg_trgt::init()
 	int p[2];
 
 	if (pipe(p)) {
-		synfig::error(_("Unable to open pipe to ffmpeg"));
+		synfig::error(_("Unable to open pipe to ffmpeg (no pipe)"));
 		return false;
 	};
 
 	pid = fork();
 
 	if (pid == -1) {
-		synfig::error(_("Unable to open pipe to ffmpeg"));
+		synfig::error(_("Unable to open pipe to ffmpeg (pid == -1)"));
 		return false;
 	}
 
@@ -215,7 +228,7 @@ ffmpeg_trgt::init()
 		close(p[1]);
 		// Dup pipeout to stdin
 		if( dup2( p[0], STDIN_FILENO ) == -1 ){
-			synfig::error(_("Unable to open pipe to ffmpeg"));
+			synfig::error(_("Unable to open pipe to ffmpeg (dup2( p[0], STDIN_FILENO ) == -1)"));
 			return false;
 		}
 		// Close the unneeded pipeout
@@ -227,7 +240,7 @@ ffmpeg_trgt::init()
 				execlp("ffmpeg", "ffmpeg", "-f", "image2pipe", "-vcodec",
 					   "ppm", "-an", "-r",
 					   strprintf("%f", desc.get_frame_rate()).c_str(),
-					   "-i", "pipe:", "-loop_input", "-metadata",
+					   "-i", "pipe:", "-loop", "1", "-metadata",
 						strprintf("title=\"%s\"", get_canvas()->get_name().c_str()).c_str(),
 						"-vcodec", video_codec.c_str(),
 						"-b", strprintf("%ik", bitrate).c_str(),
@@ -237,7 +250,7 @@ ffmpeg_trgt::init()
 				execlp("ffmpeg", "ffmpeg", "-f", "image2pipe", "-vcodec",
 					   "ppm", "-an", "-r",
 					   strprintf("%f", desc.get_frame_rate()).c_str(),
-					   "-i", "pipe:", "-loop_input", "-metadata",
+					   "-i", "pipe:", "-loop", "1", "-metadata",
 						strprintf("title=\"%s\"", get_canvas()->get_name().c_str()).c_str(),
 						"-vcodec", video_codec.c_str(),
 						"-b", strprintf("%ik", bitrate).c_str(),
@@ -249,7 +262,7 @@ ffmpeg_trgt::init()
 				execlp("ffmpeg", "ffmpeg", "-f", "image2pipe", "-vcodec",
 					   "ppm", "-an", "-r",
 					   strprintf("%f", desc.get_frame_rate()).c_str(),
-					   "-i", "pipe:", "-loop_input",
+					   "-i", "pipe:", "-loop", "1",
 					   "-metadata",
 					   strprintf("title=\"%s\"", get_canvas()->get_name().c_str()).c_str(),
 					   "-vcodec", video_codec.c_str(),
@@ -260,7 +273,7 @@ ffmpeg_trgt::init()
 				execlp("ffmpeg", "ffmpeg", "-f", "image2pipe", "-vcodec",
 					   "ppm", "-an", "-r",
 					   strprintf("%f", desc.get_frame_rate()).c_str(),
-					   "-i", "pipe:", "-loop_input",
+					   "-i", "pipe:", "-loop", "1",
 					   "-metadata",
 					   strprintf("title=\"%s\"", get_canvas()->get_name().c_str()).c_str(),
 					   "-vcodec", video_codec.c_str(),
@@ -269,7 +282,7 @@ ffmpeg_trgt::init()
 		}
 
 		// We should never reach here unless the exec failed
-		synfig::error(_("Unable to open pipe to ffmpeg"));
+		synfig::error(_("Unable to open pipe to ffmpeg (exec failed)"));
 		return false;
 	} else {
 		// Parent process
@@ -287,7 +300,7 @@ ffmpeg_trgt::init()
 
 	if(!file)
 	{
-		synfig::error(_("Unable to open pipe to ffmpeg"));
+		synfig::error(_("Unable to open pipe to ffmpeg (no file)"));
 		return false;
 	}
 
diff --git a/src/modules/mod_filter/Makefile.am b/src/modules/mod_filter/Makefile.am
index 45f06e1..2e0597b 100644
--- a/src/modules/mod_filter/Makefile.am
+++ b/src/modules/mod_filter/Makefile.am
@@ -3,7 +3,7 @@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
diff --git a/src/modules/mod_filter/Makefile.in b/src/modules/mod_filter/Makefile.in
index 5e2462f..feba891 100644
--- a/src/modules/mod_filter/Makefile.in
+++ b/src/modules/mod_filter/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -54,7 +53,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/modules/mod_filter
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(top_srcdir)/config/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
@@ -238,6 +238,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -343,7 +344,7 @@ top_srcdir = @top_srcdir@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
@@ -441,12 +442,14 @@ uninstall-moduleLTLIBRARIES:
 
 clean-moduleLTLIBRARIES:
 	-test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES)
-	@list='$(module_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(module_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 libmod_filter.la: $(libmod_filter_la_OBJECTS) $(libmod_filter_la_DEPENDENCIES) $(EXTRA_libmod_filter_la_DEPENDENCIES) 
 	$(libmod_filter_la_LINK) -rpath $(moduledir) $(libmod_filter_la_OBJECTS) $(libmod_filter_la_LIBADD) $(LIBS)
 
@@ -597,6 +600,20 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -742,18 +759,19 @@ uninstall-am: uninstall-moduleLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-moduleLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-moduleLTLIBRARIES install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am uninstall-moduleLTLIBRARIES
+	clean-libtool clean-moduleLTLIBRARIES cscopelist ctags \
+	distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-moduleLTLIBRARIES \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-moduleLTLIBRARIES
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/src/modules/mod_filter/blur.cpp b/src/modules/mod_filter/blur.cpp
index 95dcc3e..8d03595 100644
--- a/src/modules/mod_filter/blur.cpp
+++ b/src/modules/mod_filter/blur.cpp
@@ -42,6 +42,7 @@
 #include <synfig/value.h>
 #include <synfig/valuenode.h>
 #include <synfig/segment.h>
+#include <synfig/cairo_renddesc.h>
 
 #include <cstring>
 #include <ETL/pen>
@@ -80,19 +81,24 @@ inline void clamp(synfig::Vector &v)
 
 Blur_Layer::Blur_Layer():
 	Layer_Composite(1.0,Color::BLEND_STRAIGHT),
-	size(0.1,0.1),
-	type(Blur::FASTGAUSSIAN)
+	param_size(ValueBase(Point(0.1,0.1))),
+	param_type(ValueBase(int(Blur::FASTGAUSSIAN)))
 {
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
-	set_param_static("blend_method", true);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 bool
 Blur_Layer::set_param(const String &param, const ValueBase &value)
 {
-	IMPORT_PLUS(size,clamp(size));
-	IMPORT(type);
+	IMPORT_VALUE_PLUS(param_size,
+		{
+			synfig::Point size=param_size.get(Point());
+			clamp(size);
+			param_size.set(size);
+		});
+		
+	IMPORT_VALUE(param_type);
 
 	return Layer_Composite::set_param(param,value);
 }
@@ -100,8 +106,8 @@ Blur_Layer::set_param(const String &param, const ValueBase &value)
 ValueBase
 Blur_Layer::get_param(const String &param)const
 {
-	EXPORT(size);
-	EXPORT(type);
+	EXPORT_VALUE(param_size);
+	EXPORT_VALUE(param_type);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -112,6 +118,9 @@ Blur_Layer::get_param(const String &param)const
 Color
 Blur_Layer::get_color(Context context, const Point &pos)const
 {
+	synfig::Point size=param_size.get(Point());
+	int type=param_type.get(int());
+	
 	Point blurpos = Blur(size,type)(pos);
 
 	if(get_amount()==1.0 && get_blend_method()==Color::BLEND_STRAIGHT)
@@ -126,6 +135,9 @@ Blur_Layer::get_color(Context context, const Point &pos)const
 bool
 Blur_Layer::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	synfig::Point size=param_size.get(Point());
+	int type=param_type.get(int());
+
 	// don't do anything at quality 10
 	if (quality == 10)
 		return context.accelerated_render(surface,quality,renddesc,cb);
@@ -239,26 +251,19 @@ Blur_Layer::accelerated_render(Context context,Surface *surface,int quality, con
 
 /////
 bool
-Blur_Layer::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+Blur_Layer::accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	synfig::Point size=param_size.get(Point());
+	int type=param_type.get(int());
+
 	// don't do anything at quality 10
 	if (quality == 10)
-		return context.accelerated_cairorender(surface,quality,renddesc,cb);
+		return context.accelerated_cairorender(cr,quality,renddesc,cb);
 	
-	// int x,y;
 	SuperCallback stageone(cb,0,5000,10000);
 	SuperCallback stagetwo(cb,5000,10000,10000);
-	
-	const int	w = renddesc.get_w(), h = renddesc.get_h();
-	const Real	pw = renddesc.get_pw(),	ph = renddesc.get_ph();
-	
-	const Point	tl(renddesc.get_tl());
-	const Point br(renddesc.get_br());
-	
-	RendDesc	workdesc(renddesc);
-	cairo_surface_t	*worksurface, *blurred;
-
-	//callbacks depend on how long the blur takes
+	// Calculate the callbacks sizes
+	// callbacks depend on how long the blur takes
 	if(size[0] || size[1])
 	{
 		if(type == Blur::DISC)
@@ -277,12 +282,20 @@ Blur_Layer::accelerated_cairorender(Context context,cairo_surface_t *surface,int
 		stageone = SuperCallback(cb,0,9999,10000);
 		stagetwo = SuperCallback(cb,9999,10000,10000);
 	}
+
+	RendDesc	workdesc(renddesc);
+	cairo_surface_t	*worksurface, *blurred;
 	
-	//expand the working surface to accommodate the blur
+	if(!cairo_renddesc_untransform(cr, workdesc))
+		return false;
 	
+	// Expand the working surface to accommodate the blur
 	//the expanded size = 1/2 the size in each direction rounded up
-	int	halfsizex = (int) (abs(size[0]*.5/pw) + 3),
-	halfsizey = (int) (abs(size[1]*.5/ph) + 3);
+	int w=workdesc.get_w(), h=workdesc.get_h();
+	const double wpw=(workdesc.get_br()[0]-workdesc.get_tl()[0])/w;
+	const double wph=(workdesc.get_br()[1]-workdesc.get_tl()[1])/h;
+	int	halfsizex = (int) (abs(size[0]*.5/wpw) + 3),
+	halfsizey = (int) (abs(size[1]*.5/wph) + 3);
 	
 	//expand by 1/2 size in each direction on either side
 	switch(type)
@@ -324,31 +337,60 @@ Blur_Layer::accelerated_cairorender(Context context,cairo_surface_t *surface,int
 		}
 	}
 	
-	worksurface=cairo_surface_create_similar(surface, CAIRO_CONTENT_COLOR_ALPHA, workdesc.get_w(), workdesc.get_h());
-	//render the background onto the expanded surface
-	if(!context.accelerated_cairorender(worksurface,quality,workdesc,&stageone))
+	// New expanded workdesc values
+	const int ww=workdesc.get_w();
+	const int wh=workdesc.get_h();
+	const double wtlx=workdesc.get_tl()[0];
+	const double wtly=workdesc.get_tl()[1];
+	
+	// Create a surface to work on
+	worksurface=cairo_surface_create_similar(cairo_get_target(cr), CAIRO_CONTENT_COLOR_ALPHA, ww, wh);
+	// Create one new cairo_t* to render the layer's context on worksurface
+	cairo_t* cr2=cairo_create(worksurface);
+	// We need to scale up the surface to the pixel size to be able to make the blur
+	cairo_scale(cr2, 1/wpw, 1/wph);
+	cairo_translate(cr2, -wtlx, -wtly);
+	// Lets render the background onto the expanded surface
+	if(!context.accelerated_cairorender(cr2,quality,workdesc,&stageone))
 	{
 		if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Cairo Renderer Failure",__LINE__));
 		cairo_surface_destroy(worksurface);
 		return false;
 	}
-	blurred=cairo_surface_create_similar(surface, CAIRO_CONTENT_COLOR_ALPHA, workdesc.get_w(), workdesc.get_h());
-	
+	// If the context was rendered, then blur it.
+	blurred=cairo_surface_create_similar(worksurface, CAIRO_CONTENT_COLOR_ALPHA, ww, wh);
 	//blur the image
 	Blur(size,type,&stagetwo)(worksurface,workdesc.get_br()-workdesc.get_tl(),blurred);
-
-	cairo_t *cr=cairo_create(surface);
+	// We are done with cr2, destroy it
+	cairo_destroy(cr2);
+	// Let's composite the two surfaces: blurred over worksurface
+	cr2=cairo_create(worksurface);
+	cairo_set_source_surface(cr2, blurred, 0, 0);
+	cairo_paint_with_alpha_operator(cr2, get_amount(), get_blend_method());
+	cairo_destroy(cr2);
+	// Now let's paint the blurred result on the cairo context.
+	// But first we need to scale it down to the user coordinate space so when the
+	// blurred surface is treated as the rest of layers it scales right to pixel size.
+	// WE need to scale down the same that we scaled up to access the pixels.
+	// This iwhat we would obtain:
+	// [T][S][DRAW1][T1'][S1'][Blur][T1][S1][DRAW2]
+	//                              ------CR2-----
+	//                        -----image surface--
+	// --------------CR---------------------------
+	// Where:
+	// [T][S] are the user to device transformation from renddesc
+	// [DRAW1] are potential cairo operations before the blur layer
+	// [T1][S1] are the user to device transformations from workdesc
+	// [T1'][S1'] are the inverse of above
+	// [DRAW2]is the cairo drawing operations below the blur
 	cairo_save(cr);
-	cairo_set_source_surface(cr, worksurface, -halfsizex, -halfsizey);
+	cairo_translate(cr, wtlx, wtly);
+	cairo_scale(cr, wpw, wph);
+	// then set the source surface the worksurface
+	cairo_set_source_surface(cr, worksurface, 0, 0);
 	cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
 	cairo_paint(cr);
 	cairo_restore(cr);
-	
-	cairo_save(cr);
-	cairo_set_source_surface(cr, blurred, -halfsizex, -halfsizey);
-	cairo_paint_with_alpha_operator(cr, get_amount(), get_blend_method());
-	cairo_restore(cr);
-
 	if(cb && !cb->amount_complete(10000,10000))
 	{
 		if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Renderer Failure",__LINE__));
@@ -356,12 +398,11 @@ Blur_Layer::accelerated_cairorender(Context context,cairo_surface_t *surface,int
 	}
 	cairo_surface_destroy(blurred);
 	cairo_surface_destroy(worksurface);
-	cairo_destroy(cr);
-	return true;
-	
+	return true;	
 }
 
-/////
+
+
 
 Layer::Vocab
 Blur_Layer::get_param_vocab(void)const
@@ -389,6 +430,8 @@ Blur_Layer::get_param_vocab(void)const
 Rect
 Blur_Layer::get_full_bounding_rect(Context context)const
 {
+	synfig::Point size=param_size.get(Point());
+
 	if(is_disabled() || Color::is_onto(get_blend_method()))
 		return context.get_full_bounding_rect();
 
diff --git a/src/modules/mod_filter/blur.h b/src/modules/mod_filter/blur.h
index a22d5ea..cb026f0 100644
--- a/src/modules/mod_filter/blur.h
+++ b/src/modules/mod_filter/blur.h
@@ -42,8 +42,10 @@ class Blur_Layer : public Layer_Composite
 {
 	SYNFIG_LAYER_MODULE_EXT
 private:
-	synfig::Point 	size;
-	int				type;
+	//! Parameter: (synfig::Point)
+	ValueBase param_size;
+	//! Parameter: (int)
+	ValueBase param_type;
 
 public:
 	Blur_Layer();
@@ -55,7 +57,7 @@ public:
 	virtual Color get_color(Context context, const Point &pos)const;
 
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 	virtual synfig::Rect get_full_bounding_rect(Context context)const;
 
 	virtual Vocab get_param_vocab()const;
diff --git a/src/modules/mod_filter/colorcorrect.cpp b/src/modules/mod_filter/colorcorrect.cpp
index d81e5f8..7d4b1a3 100644
--- a/src/modules/mod_filter/colorcorrect.cpp
+++ b/src/modules/mod_filter/colorcorrect.cpp
@@ -39,6 +39,7 @@
 #include <synfig/surface.h>
 #include <synfig/value.h>
 #include <synfig/valuenode.h>
+#include <synfig/cairo_renddesc.h>
 
 #endif
 
@@ -64,20 +65,26 @@ SYNFIG_LAYER_SET_CVS_ID(Layer_ColorCorrect,"$Id$");
 /* === E N T R Y P O I N T ================================================= */
 
 Layer_ColorCorrect::Layer_ColorCorrect():
-	hue_adjust(Angle::zero()),
-	brightness(0),
-	contrast(1.0),
-	exposure(0.0)
+	param_hue_adjust(ValueBase(Angle::zero())),
+	param_brightness(ValueBase(Real(0))),
+	param_contrast(ValueBase(Real(1.0))),
+	param_exposure(ValueBase(Real(0.0))),
+	param_gamma(ValueBase(Real(1.0)))
 {
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 inline Color
 Layer_ColorCorrect::correct_color(const Color &in)const
 {
+	Angle hue_adjust=param_hue_adjust.get(Angle());
+	Real _brightness=param_brightness.get(Real());
+	Real contrast=param_contrast.get(Real());
+	Real exposure=param_exposure.get(Real());
+	
 	Color ret(in);
-	Real brightness((this->brightness-0.5)*this->contrast+0.5);
+	Real brightness((_brightness-0.5)*contrast+0.5);
 
 	if(gamma.get_gamma_r()!=1.0)
 	{
@@ -167,32 +174,31 @@ Layer_ColorCorrect::correct_color(const Color &in)const
 bool
 Layer_ColorCorrect::set_param(const String & param, const ValueBase &value)
 {
-	IMPORT(hue_adjust);
-	IMPORT(brightness);
-	IMPORT(contrast);
-	IMPORT(exposure);
+	IMPORT_VALUE(param_hue_adjust);
+	IMPORT_VALUE(param_brightness);
+	IMPORT_VALUE(param_contrast);
+	IMPORT_VALUE(param_exposure);
 
-	if(param=="gamma" && value.get_type()==ValueBase::TYPE_REAL)
-	{
-		gamma.set_gamma(1.0/value.get(Real()));
-		set_param_static(param, value.get_static());
-		return true;
-	}
+	IMPORT_VALUE_PLUS(param_gamma,
+		{
+			gamma.set_gamma(1.0/param_gamma.get(Real()));
+			return true;
+		});
 	return false;
 }
 
 ValueBase
 Layer_ColorCorrect::get_param(const String &param)const
 {
-	EXPORT(hue_adjust);
-	EXPORT(brightness);
-	EXPORT(contrast);
-	EXPORT(exposure);
+	EXPORT_VALUE(param_hue_adjust);
+	EXPORT_VALUE(param_brightness);
+	EXPORT_VALUE(param_contrast);
+	EXPORT_VALUE(param_exposure);
 
 	if(param=="gamma")
 	{
-		ValueBase ret(1.0/gamma.get_gamma());
-		ret.set_static(get_param_static(param));
+		ValueBase ret=param_gamma;
+		ret.set(1.0/gamma.get_gamma());
 		return ret;
 	}
 
@@ -260,14 +266,34 @@ Layer_ColorCorrect::accelerated_render(Context context,Surface *surface,int qual
 }
 
 bool
-Layer_ColorCorrect::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+Layer_ColorCorrect::accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc_, ProgressCallback *cb)const
 {
-	SuperCallback supercb(cb,0,9500,10000);
+	RendDesc	renddesc(renddesc_);
 	
-	if(!context.accelerated_cairorender(surface,quality,renddesc,&supercb))
+	// Untransform the render desc
+	if(!cairo_renddesc_untransform(cr, renddesc))
 		return false;
 	
+	const Real pw(renddesc.get_pw()),ph(renddesc.get_ph());
+	const Point tl(renddesc.get_tl());
+	const int w(renddesc.get_w());
+	const int h(renddesc.get_h());
+
 	int x,y;
+
+	SuperCallback supercb(cb,0,9500,10000);
+
+	cairo_surface_t *surface;
+	
+	surface=cairo_surface_create_similar(cairo_get_target(cr), CAIRO_CONTENT_COLOR_ALPHA, w, h);
+	cairo_t* subcr=cairo_create(surface);
+	cairo_scale(subcr, 1/pw, 1/ph);
+	cairo_translate(subcr, -tl[0], -tl[1]);
+	
+	if(!context.accelerated_cairorender(subcr,quality,renddesc,&supercb))
+		return false;
+
+	cairo_destroy(subcr);
 	
 	CairoSurface csurface(surface);
 	csurface.map_cairo_image();
@@ -279,6 +305,17 @@ Layer_ColorCorrect::accelerated_cairorender(Context context,cairo_surface_t *sur
 			pen.put_value(CairoColor(correct_color(Color(pen.get_value().demult_alpha())).clamped()).premult_alpha());
 	
 	csurface.unmap_cairo_image();
+	
+	// paint surface on cr
+	cairo_save(cr);
+	cairo_translate(cr, tl[0], tl[1]);
+	cairo_scale(cr, pw, ph);
+	cairo_set_source_surface(cr, surface, 0, 0);
+	cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
+	cairo_paint(cr);
+	cairo_restore(cr);
+	
+	cairo_surface_destroy(surface);
 	// Mark our progress as finished
 	if(cb && !cb->amount_complete(10000,10000))
 		return false;
@@ -286,7 +323,6 @@ Layer_ColorCorrect::accelerated_cairorender(Context context,cairo_surface_t *sur
 	return true;
 }
 
-
 Rect
 Layer_ColorCorrect::get_full_bounding_rect(Context context)const
 {
diff --git a/src/modules/mod_filter/colorcorrect.h b/src/modules/mod_filter/colorcorrect.h
index e5855bd..1f987d9 100644
--- a/src/modules/mod_filter/colorcorrect.h
+++ b/src/modules/mod_filter/colorcorrect.h
@@ -46,12 +46,18 @@ class Layer_ColorCorrect : public Layer
 	SYNFIG_LAYER_MODULE_EXT
 
 private:
-
-	Angle hue_adjust;
-	Real brightness;
-	Real contrast;
-	Real exposure;
-
+	//! Parameter: (Angle)
+	ValueBase param_hue_adjust;
+	//! Parameter: (Real)
+	ValueBase param_brightness;
+	//! Parameter: (Real)
+	ValueBase param_contrast;
+	//! Parameter: (Real)
+	ValueBase param_exposure;
+	//! Parameter: (Real)
+	ValueBase param_gamma;
+	// This gamma member is kept to avoid need to recalculate the gamma table
+	// on each pixel
 	Gamma gamma;
 
 	Color correct_color(const Color &in)const;
@@ -69,7 +75,7 @@ public:
 	virtual Rect get_full_bounding_rect(Context context)const;
 
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context,cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 
 	virtual Vocab get_param_vocab()const;
 }; // END of class Layer_ColorCorrect
diff --git a/src/modules/mod_filter/halftone.cpp b/src/modules/mod_filter/halftone.cpp
index 8e8ba9e..f385e4e 100644
--- a/src/modules/mod_filter/halftone.cpp
+++ b/src/modules/mod_filter/halftone.cpp
@@ -86,6 +86,11 @@ Halftone::operator()(const Point &point, const float& luma, float supersample)co
 float
 Halftone::mask(synfig::Point point)const
 {
+	int type=param_type.get(int());
+	Point origin=param_origin.get(Point());
+	Vector size=param_size.get(Vector());
+	Angle angle=param_angle.get(Angle());
+	
 	float radius1;
 	float radius2;
 
diff --git a/src/modules/mod_filter/halftone.h b/src/modules/mod_filter/halftone.h
index c75df2c..1635108 100644
--- a/src/modules/mod_filter/halftone.h
+++ b/src/modules/mod_filter/halftone.h
@@ -30,6 +30,7 @@
 
 #include <synfig/vector.h>
 #include <synfig/angle.h>
+#include <synfig/value.h>
 
 /* === M A C R O S ========================================================= */
 
@@ -42,15 +43,21 @@
 /* === T Y P E D E F S ===================================================== */
 
 /* === C L A S S E S & S T R U C T S ======================================= */
+using namespace synfig;
+using namespace std;
+using namespace etl;
 
 class Halftone
 {
 public:
-
-	int type;
-	synfig::Point origin;
-	synfig::Vector size;
-	synfig::Angle angle;
+	//! Parameter: (int)
+	ValueBase param_type;
+	//! Parameter: (synfig::Point)
+	ValueBase param_origin;
+	//! Parameter: (synfig::Vector)
+	ValueBase param_size;
+	//! Parameter: (synfig::Angle)
+	ValueBase param_angle;
 
 	float mask(synfig::Point point)const;
 
diff --git a/src/modules/mod_filter/halftone2.cpp b/src/modules/mod_filter/halftone2.cpp
index 87959cb..f578c31 100644
--- a/src/modules/mod_filter/halftone2.cpp
+++ b/src/modules/mod_filter/halftone2.cpp
@@ -42,6 +42,7 @@
 #include <synfig/surface.h>
 #include <synfig/value.h>
 #include <synfig/valuenode.h>
+#include <synfig/cairo_renddesc.h>
 
 #endif
 
@@ -65,23 +66,25 @@ SYNFIG_LAYER_SET_CVS_ID(Halftone2,"$Id$");
 /* === M E T H O D S ======================================================= */
 
 Halftone2::Halftone2():
-	color_dark(Color::black()),
-	color_light(Color::white())
+	Layer_Composite(1.0,Color::BLEND_STRAIGHT),
+	param_color_dark(ValueBase(Color::black())),
+	param_color_light(ValueBase(Color::white()))
 {
-	halftone.origin=(synfig::Point(0,0));
-	halftone.size=(synfig::Vector(0.25,0.25));
-	halftone.angle=(Angle::zero());
-	halftone.type=TYPE_SYMMETRIC;
+	halftone.param_origin=ValueBase(synfig::Point(0,0));
+	halftone.param_size=ValueBase(synfig::Vector(0.25,0.25));
+	halftone.param_angle=ValueBase(Angle::zero());
+	halftone.param_type=ValueBase(int(TYPE_SYMMETRIC));
 
-	set_blend_method(Color::BLEND_STRAIGHT);
-
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 inline Color
 Halftone2::color_func(const Point &point, float supersample,const Color& color)const
 {
+	Color color_dark=param_color_dark.get(Color());
+	Color color_light=param_color_light.get(Color());
+
 	const float amount(halftone(point,color.get_y(),supersample));
 	Color halfcolor;
 
@@ -100,7 +103,7 @@ Halftone2::color_func(const Point &point, float supersample,const Color& color)c
 inline float
 Halftone2::calc_supersample(const synfig::Point &/*x*/, float pw,float /*ph*/)const
 {
-	return abs(pw/(halftone.size).mag());
+	return abs(pw/(halftone.param_size.get(Vector())).mag());
 }
 
 synfig::Layer::Handle
@@ -112,15 +115,16 @@ Halftone2::hit_check(synfig::Context /*context*/, const synfig::Point &/*point*/
 bool
 Halftone2::set_param(const String & param, const ValueBase &value)
 {
-	IMPORT(color_dark);
-	IMPORT(color_light);
+	IMPORT_VALUE(param_color_dark);
+	IMPORT_VALUE(param_color_light);
 
-	IMPORT_AS(halftone.size,"size");
-	IMPORT_AS(halftone.type,"type");
-	IMPORT_AS(halftone.angle,"angle");
-	IMPORT_AS(halftone.origin,"origin");
+	HALFTONE2_IMPORT_VALUE(halftone.param_size);
+	HALFTONE2_IMPORT_VALUE(halftone.param_type);
+	HALFTONE2_IMPORT_VALUE(halftone.param_angle);
+	HALFTONE2_IMPORT_VALUE(halftone.param_origin);
 
-	IMPORT_AS(halftone.origin,"offset");
+	if(param=="offset")
+		return set_param("origin", value);
 
 	return Layer_Composite::set_param(param,value);
 }
@@ -128,13 +132,13 @@ Halftone2::set_param(const String & param, const ValueBase &value)
 ValueBase
 Halftone2::get_param(const String & param)const
 {
-	EXPORT_AS(halftone.size,"size");
-	EXPORT_AS(halftone.type,"type");
-	EXPORT_AS(halftone.angle,"angle");
-	EXPORT_AS(halftone.origin,"origin");
+	EXPORT_VALUE(param_color_dark);
+	EXPORT_VALUE(param_color_light);
 
-	EXPORT(color_dark);
-	EXPORT(color_light);
+	HALFTONE2_EXPORT_VALUE(halftone.param_size);
+	HALFTONE2_EXPORT_VALUE(halftone.param_type);
+	HALFTONE2_EXPORT_VALUE(halftone.param_angle);
+	HALFTONE2_EXPORT_VALUE(halftone.param_origin);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -205,7 +209,7 @@ Halftone2::accelerated_render(Context context,Surface *surface,int quality, cons
 	const Point tl(renddesc.get_tl());
 	const int w(surface->get_w());
 	const int h(surface->get_h());
-	const float supersample_size(abs(pw/(halftone.size).mag()));
+	const float supersample_size(abs(pw/(halftone.param_size.get(Vector())).mag()));
 
 	Surface::pen pen(surface->begin());
 	Point pos;
@@ -248,28 +252,48 @@ Halftone2::accelerated_render(Context context,Surface *surface,int quality, cons
 	return true;
 }
 
-
+///
 ///
 bool
-Halftone2::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+Halftone2::accelerated_cairorender(Context context,cairo_t *cr,int quality, const RendDesc &renddesc_, ProgressCallback *cb)const
 {
-	SuperCallback supercb(cb,0,9500,10000);
+	RendDesc	renddesc(renddesc_);
 	
-	if(!context.accelerated_cairorender(surface,quality,renddesc,&supercb))
+	// Untransform the render desc
+	if(!cairo_renddesc_untransform(cr, renddesc))
 		return false;
+
+	const Real pw(renddesc.get_pw()),ph(renddesc.get_ph());
+	const Point tl(renddesc.get_tl());
+	const int w(renddesc.get_w());
+	const int h(renddesc.get_h());
+	const float supersample_size(abs(pw/(halftone.param_size.get(Vector())).mag()));
+
+	SuperCallback supercb(cb,0,9500,10000);
+	
 	if(get_amount()==0)
 		return true;
-	
+		
+	cairo_surface_t *surface;
+
+	surface=cairo_surface_create_similar(cairo_get_target(cr), CAIRO_CONTENT_COLOR_ALPHA, w, h);
+	cairo_t* subcr=cairo_create(surface);
+	cairo_scale(subcr, 1/pw, 1/ph);
+	cairo_translate(subcr, -tl[0], -tl[1]);
+	if(!context.accelerated_cairorender(subcr,quality,renddesc,&supercb))
+	{
+		if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Cairo Renderer Failure",__LINE__));
+		return false;
+	}
+	cairo_destroy(subcr);
+
 	CairoSurface csurface(surface);
+
 	if(!csurface.map_cairo_image())
 		return false;
-	const Real pw(renddesc.get_pw()),ph(renddesc.get_ph());
-	const Point tl(renddesc.get_tl());
-	const int w(csurface.get_w());
-	const int h(csurface.get_h());
-	const float supersample_size(abs(pw/(halftone.size).mag()));
-	
+
 	CairoSurface::pen pen(csurface.begin());
+	
 	Point pos;
 	int x,y;
 	
@@ -278,13 +302,13 @@ Halftone2::accelerated_cairorender(Context context,cairo_surface_t *surface,int
 		for(y=0,pos[1]=tl[1];y<h;y++,pen.inc_y(),pen.dec_x(x),pos[1]+=ph)
 			for(x=0,pos[0]=tl[0];x<w;x++,pen.inc_x(),pos[0]+=pw)
 				pen.put_value(
-					CairoColor(color_func(
-										  pos,
-										  supersample_size,
-										  Color(pen.get_value().demult_alpha())
-										 )
-					).premult_alpha()
-				);
+							  CairoColor(color_func(
+													pos,
+													supersample_size,
+													Color(pen.get_value().demult_alpha())
+													)
+										 ).premult_alpha()
+							  );
 	}
 	else
 	{
@@ -293,23 +317,33 @@ Halftone2::accelerated_cairorender(Context context,cairo_surface_t *surface,int
 			{
 				Color val=Color(pen.get_value().demult_alpha());
 				pen.put_value(
-						CairoColor(Color::blend(
-											  color_func(
-														 pos,
-														 supersample_size,
-														 val
-														 ),
-											  val,
-											  get_amount(),
-											  get_blend_method()
-											  ).clamped()
-						).premult_alpha()
-				);
+							  CairoColor(Color::blend(
+													  color_func(
+																 pos,
+																 supersample_size,
+																 val
+																 ),
+													  val,
+													  get_amount(),
+													  get_blend_method()
+													  ).clamped()
+										 ).premult_alpha()
+							  );
 			}
-				
+		
 	}
-
+	
 	csurface.unmap_cairo_image();
+	// paint surface on cr
+	cairo_save(cr);
+	cairo_translate(cr, tl[0], tl[1]);
+	cairo_scale(cr, pw, ph);
+	cairo_set_source_surface(cr, surface, 0, 0);
+	cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
+	cairo_paint(cr);
+	cairo_restore(cr);
+	
+	cairo_surface_destroy(surface);
 	// Mark our progress as finished
 	if(cb && !cb->amount_complete(10000,10000))
 		return false;
diff --git a/src/modules/mod_filter/halftone2.h b/src/modules/mod_filter/halftone2.h
index 0b8cd1c..9ae2a83 100644
--- a/src/modules/mod_filter/halftone2.h
+++ b/src/modules/mod_filter/halftone2.h
@@ -37,6 +37,18 @@
 #include "halftone.h"
 
 /* === M A C R O S ========================================================= */
+#define HALFTONE2_IMPORT_VALUE(x)                                             \
+	if (#x=="halftone.param_"+param && x.get_type()==value.get_type())        \
+		{                                                                     \
+			x=value;                                                          \
+			return true;                                                      \
+		}                                                                     \
+
+#define HALFTONE2_EXPORT_VALUE(x)                                             \
+	if (#x=="halftone.param_"+param)                                          \
+		{                                                                     \
+			return x;                                                         \
+		}                                                                     \
 
 /* === T Y P E D E F S ===================================================== */
 
@@ -50,10 +62,12 @@ class Halftone2 : public Layer_Composite
 	SYNFIG_LAYER_MODULE_EXT
 
 private:
-
+	//! Parameter: (class Halftone)
 	Halftone halftone;
-	Color	color_dark;
-	Color	color_light;
+	//! Parameter: (Color)
+	ValueBase param_color_dark;
+	//! Parameter: (Color)
+	ValueBase param_color_light;
 
 	Color color_func(const Point &x, float supersample,const Color &under_color)const;
 
@@ -68,7 +82,7 @@ public:
 	virtual ValueBase get_param(const String &param)const;
 	virtual Color get_color(Context context, const Point &pos)const;
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context,cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 	Layer::Handle hit_check(Context context, const Point &point)const;
 	virtual Vocab get_param_vocab()const;
 	virtual bool reads_context()const { return true; }
diff --git a/src/modules/mod_filter/halftone3.cpp b/src/modules/mod_filter/halftone3.cpp
index 06c5331..ed0f7a1 100644
--- a/src/modules/mod_filter/halftone3.cpp
+++ b/src/modules/mod_filter/halftone3.cpp
@@ -42,6 +42,7 @@
 #include <synfig/surface.h>
 #include <synfig/value.h>
 #include <synfig/valuenode.h>
+#include <synfig/cairo_renddesc.h>
 
 #endif
 
@@ -67,32 +68,33 @@ SYNFIG_LAYER_SET_CVS_ID(Halftone3,"$Id$");
 
 /* === M E T H O D S ======================================================= */
 
-Halftone3::Halftone3()
+Halftone3::Halftone3():
+Layer_Composite(1.0,Color::BLEND_STRAIGHT)
 {
-	size=(synfig::Vector(0.25,0.25));
-	type=TYPE_SYMMETRIC;
+	param_size=ValueBase(synfig::Vector(0.25,0.25));
+	param_type=ValueBase(int(TYPE_SYMMETRIC));
 
 	for(int i=0;i<3;i++)
 	{
-		tone[i].size=size;
-		tone[i].type=type;
-		tone[i].origin=(synfig::Point(0,0));
-		tone[i].angle=Angle::deg(30.0)*(float)i;
+		tone[i].param_size=param_size;
+		tone[i].param_type=param_type;
+		tone[i].param_origin=ValueBase(synfig::Point(0,0));
+		tone[i].param_angle=ValueBase(Angle::deg(30.0)*(float)i);
 	}
 
-	subtractive=true;
+	param_subtractive=ValueBase(true);
 
-	if(subtractive)
+	if(param_subtractive.get(bool()))
 	{
-		color[0]=Color::cyan();
-		color[1]=Color::magenta();
-		color[2]=Color::yellow();
+		param_color[0].set(Color::cyan());
+		param_color[1].set(Color::magenta());
+		param_color[2].set(Color::yellow());
 	}
 	else
 	{
-		color[0]=Color::red();
-		color[1]=Color::green();
-		color[2]=Color::blue();
+		param_color[0].set(Color::red());
+		param_color[1].set(Color::green());
+		param_color[2].set(Color::blue());
 	}
 
 	set_blend_method(Color::BLEND_STRAIGHT);
@@ -102,23 +104,28 @@ Halftone3::Halftone3()
 			inverse_matrix[i][j]=(j==i)?1.0f:0.0f;
 
 	sync();
-
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 void
 Halftone3::sync()
 {
+	bool subtractive=param_subtractive.get(bool());
+	Color color[3];
+	for(int i=0;i<3;i++)
+		color[i]=param_color[i].get(Color());
+
+	// Is this needed? set_param does the same!
 	for(int i=0;i<3;i++)
 	{
-		tone[i].size=size;
-		tone[i].type=type;
+		tone[i].param_size=param_size;
+		tone[i].param_type=param_type;
 	}
 
 #define matrix inverse_matrix
 	//float matrix[3][3];
-
 	if(subtractive)
 	{
 		for(int i=0;i<3;i++)
@@ -198,6 +205,11 @@ Halftone3::sync()
 inline Color
 Halftone3::color_func(const Point &point, float supersample,const Color& in_color)const
 {
+	bool subtractive=param_subtractive.get(bool());
+	Color color[3];
+	for(int i=0;i<3;i++)
+		color[i]=param_color[i].get(Color());
+
 	Color halfcolor;
 
 	float chan[3];
@@ -236,7 +248,7 @@ Halftone3::color_func(const Point &point, float supersample,const Color& in_colo
 inline float
 Halftone3::calc_supersample(const synfig::Point &/*x*/, float pw,float /*ph*/)const
 {
-	return abs(pw/(tone[0].size).mag());
+	return abs(pw/(tone[0].param_size.get(Vector())).mag());
 }
 
 synfig::Layer::Handle
@@ -248,27 +260,37 @@ Halftone3::hit_check(synfig::Context /*context*/, const synfig::Point &/*point*/
 bool
 Halftone3::set_param(const String & param, const ValueBase &value)
 {
-	IMPORT_PLUS(size, {tone[0].size=size; tone[1].size=size; tone[2].size=size;});
-	IMPORT_PLUS(type, {tone[0].type=type; tone[1].type=type; tone[2].type=type;});
-
-	IMPORT_PLUS(color[0],sync());
-	IMPORT_PLUS(color[1],sync());
-	IMPORT_PLUS(color[2],sync());
-
-	IMPORT_PLUS(subtractive,sync());
-
-	IMPORT(tone[0].angle);
-	IMPORT(tone[0].origin);
+	IMPORT_VALUE_PLUS(param_size,
+		{
+			for(int i=0;i<3;i++)
+				tone[i].param_size=param_size;
 
-	IMPORT(tone[1].angle);
-	IMPORT(tone[1].origin);
+		});
+	IMPORT_VALUE_PLUS(param_type,
+		{
+			for(int i=0;i<3;i++)
+				tone[i].param_type=param_type;
+		});
 
-	IMPORT(tone[2].angle);
-	IMPORT(tone[2].origin);
+	IMPORT_VALUE_PLUS(param_color[0],sync());
+	IMPORT_VALUE_PLUS(param_color[1],sync());
+	IMPORT_VALUE_PLUS(param_color[2],sync());
 
-	IMPORT_AS(tone[0].origin,"tone[0].offset");
-	IMPORT_AS(tone[1].origin,"tone[1].offset");
-	IMPORT_AS(tone[2].origin,"tone[2].offset");
+	IMPORT_VALUE_PLUS(param_subtractive,sync());
+	for(int i=0;i<3;i++)
+		if ((param==strprintf("tone[%d].angle",i) || param==strprintf("tone[%d].angle",i))
+			&& tone[i].param_angle.get_type()==value.get_type())
+		{
+			tone[i].param_angle=value;
+			return true;
+		}
+	for(int i=0;i<3;i++)
+		if ((param==strprintf("tone[%d].origin",i) || param==strprintf("tone[%d].origin",i))
+			&& tone[i].param_origin.get_type()==value.get_type())
+		{
+			tone[i].param_origin=value;
+			return true;
+		}
 
 	return Layer_Composite::set_param(param,value);
 }
@@ -276,23 +298,20 @@ Halftone3::set_param(const String & param, const ValueBase &value)
 ValueBase
 Halftone3::get_param(const String & param)const
 {
-	EXPORT(size);
-	EXPORT(type);
-
-	EXPORT(color[0]);
-	EXPORT(color[1]);
-	EXPORT(color[2]);
-
-	EXPORT(subtractive);
+	EXPORT_VALUE(param_size);
+	EXPORT_VALUE(param_type);
 
-	EXPORT(tone[0].angle);
-	EXPORT(tone[0].origin);
+	EXPORT_VALUE(param_color[0]);
+	EXPORT_VALUE(param_color[1]);
+	EXPORT_VALUE(param_color[2]);
 
-	EXPORT(tone[1].angle);
-	EXPORT(tone[1].origin);
-
-	EXPORT(tone[2].angle);
-	EXPORT(tone[2].origin);
+	EXPORT_VALUE(param_subtractive);
+	for(int i=0;i<3;i++)
+		if (param==strprintf("tone[%d].angle",i))
+			return tone[i].param_angle;
+	for(int i=0;i<3;i++)
+		if (param==strprintf("tone[%d].origin",i))
+			return tone[i].param_origin;
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -368,7 +387,7 @@ Halftone3::accelerated_render(Context context,Surface *surface,int quality, cons
 	const Point tl(renddesc.get_tl());
 	const int w(surface->get_w());
 	const int h(surface->get_h());
-	const float supersample_size(abs(pw/(tone[0].size).mag()));
+	const float supersample_size(abs(pw/(tone[0].param_size.get(Vector())).mag()));
 
 	Surface::pen pen(surface->begin());
 	Point pos;
@@ -412,26 +431,47 @@ Halftone3::accelerated_render(Context context,Surface *surface,int quality, cons
 }
 
 ////
+////
 bool
-Halftone3::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+Halftone3::accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc_, ProgressCallback *cb)const
 {
-	SuperCallback supercb(cb,0,9500,10000);
+	RendDesc	renddesc(renddesc_);
 	
-	if(!context.accelerated_cairorender(surface,quality,renddesc,&supercb))
+	// Untransform the render desc
+	if(!cairo_renddesc_untransform(cr, renddesc))
 		return false;
+	
+	const Real pw(renddesc.get_pw()),ph(renddesc.get_ph());
+	const Point tl(renddesc.get_tl());
+	const int w(renddesc.get_w());
+	const int h(renddesc.get_h());
+	const float supersample_size(abs(pw/(tone[0].param_size.get(Vector())).mag()));
+	
+	SuperCallback supercb(cb,0,9500,10000);
+	
 	if(get_amount()==0)
 		return true;
 	
+	cairo_surface_t *surface;
+	
+	surface=cairo_surface_create_similar(cairo_get_target(cr), CAIRO_CONTENT_COLOR_ALPHA, w, h);
+	cairo_t* subcr=cairo_create(surface);
+	cairo_scale(subcr, 1/pw, 1/ph);
+	cairo_translate(subcr, -tl[0], -tl[1]);
+	if(!context.accelerated_cairorender(subcr,quality,renddesc,&supercb))
+	{
+		if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Cairo Renderer Failure",__LINE__));
+		return false;
+	}
+	cairo_destroy(subcr);
+	
 	CairoSurface csurface(surface);
+	
 	if(!csurface.map_cairo_image())
 		return false;
-	const Real pw(renddesc.get_pw()),ph(renddesc.get_ph());
-	const Point tl(renddesc.get_tl());
-	const int w(csurface.get_w());
-	const int h(csurface.get_h());
-	const float supersample_size(abs(pw/(tone[0].size).mag()));
 	
 	CairoSurface::pen pen(csurface.begin());
+	
 	Point pos;
 	int x,y;
 	
@@ -440,12 +480,13 @@ Halftone3::accelerated_cairorender(Context context,cairo_surface_t *surface,int
 		for(y=0,pos[1]=tl[1];y<h;y++,pen.inc_y(),pen.dec_x(x),pos[1]+=ph)
 			for(x=0,pos[0]=tl[0];x<w;x++,pen.inc_x(),pos[0]+=pw)
 				pen.put_value(
-					CairoColor(color_func(
-							pos,
-							supersample_size,
-							Color(pen.get_value().demult_alpha())
-							)).premult_alpha()
-				);
+							  CairoColor(color_func(
+													pos,
+													supersample_size,
+													Color(pen.get_value().demult_alpha())
+													)
+										 ).premult_alpha()
+							  );
 	}
 	else
 	{
@@ -454,23 +495,33 @@ Halftone3::accelerated_cairorender(Context context,cairo_surface_t *surface,int
 			{
 				Color val=Color(pen.get_value().demult_alpha());
 				pen.put_value(
-					  CairoColor(Color::blend(
-								  color_func(
-											 pos,
-											 supersample_size,
-											 val
-											 ),
-								  val,
-								  get_amount(),
-								  get_blend_method()
-								  ).clamped()
-						 ).premult_alpha()
-				);
+							  CairoColor(Color::blend(
+													  color_func(
+																 pos,
+																 supersample_size,
+																 val
+																 ),
+													  val,
+													  get_amount(),
+													  get_blend_method()
+													  ).clamped()
+										 ).premult_alpha()
+							  );
 			}
 		
 	}
 	
 	csurface.unmap_cairo_image();
+	// paint surface on cr
+	cairo_save(cr);
+	cairo_translate(cr, tl[0], tl[1]);
+	cairo_scale(cr, pw, ph);
+	cairo_set_source_surface(cr, surface, 0, 0);
+	cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
+	cairo_paint(cr);
+	cairo_restore(cr);
+	
+	cairo_surface_destroy(surface);
 	// Mark our progress as finished
 	if(cb && !cb->amount_complete(10000,10000))
 		return false;
diff --git a/src/modules/mod_filter/halftone3.h b/src/modules/mod_filter/halftone3.h
index 82120fe..5b8783d 100644
--- a/src/modules/mod_filter/halftone3.h
+++ b/src/modules/mod_filter/halftone3.h
@@ -37,6 +37,12 @@
 #include "halftone.h"
 
 /* === M A C R O S ========================================================= */
+#define HALFTONE3_IMPORT_VALUE(x)                                             \
+	if (#x=="tone[i].param_"+param && x.get_type()==value.get_type())         \
+		{                                                                     \
+			x=value;                                                          \
+			return true;                                                      \
+		}                                                                     \
 
 /* === T Y P E D E F S ===================================================== */
 
@@ -50,13 +56,18 @@ class Halftone3 : public Layer_Composite
 	SYNFIG_LAYER_MODULE_EXT
 
 private:
-
-	Vector size;
-	int type;
+	//! Parameter: (Vector)
+	ValueBase param_size;
+	//! Parameter: (int)
+	ValueBase param_type;
+	//! Parameter: (class Halftone)
 	Halftone tone[3];
-	Color	color[3];
+	//! Parameter: (Color)
+	ValueBase param_color[3];
+	//! Parameter: (bool)
+	ValueBase param_subtractive;
+
 	float inverse_matrix[3][3];
-	bool subtractive;
 
 	Color color_func(const Point &x, float supersample,const Color &under_color)const;
 
@@ -73,7 +84,7 @@ public:
 	virtual ValueBase get_param(const String &param)const;
 	virtual Color get_color(Context context, const Point &pos)const;
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 	Layer::Handle hit_check(Context context, const Point &point)const;
 	virtual Vocab get_param_vocab()const;
 	virtual bool reads_context()const { return true; }
diff --git a/src/modules/mod_filter/lumakey.cpp b/src/modules/mod_filter/lumakey.cpp
index ea22e02..c92c488 100644
--- a/src/modules/mod_filter/lumakey.cpp
+++ b/src/modules/mod_filter/lumakey.cpp
@@ -42,6 +42,7 @@
 #include <synfig/value.h>
 #include <synfig/valuenode.h>
 #include <synfig/segment.h>
+#include <synfig/cairo_renddesc.h>
 
 #endif
 
@@ -68,8 +69,7 @@ LumaKey::LumaKey():
 	Layer_Composite	(1.0,Color::BLEND_STRAIGHT)
 {
 	set_blend_method(Color::BLEND_STRAIGHT);
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+
 }
 
 
@@ -163,12 +163,36 @@ LumaKey::accelerated_render(Context context,Surface *surface,int quality, const
 
 ////
 bool
-LumaKey::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+LumaKey::accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc_, ProgressCallback *cb)const
 {
+	RendDesc	renddesc(renddesc_);
+	
+	// Untransform the render desc
+	if(!cairo_renddesc_untransform(cr, renddesc))
+		return false;
+	
+	const Real pw(renddesc.get_pw()),ph(renddesc.get_ph());
+	const Point tl(renddesc.get_tl());
+	const int w(renddesc.get_w());
+	const int h(renddesc.get_h());
+	
 	SuperCallback supercb(cb,0,9500,10000);
 	
-	if(!context.accelerated_cairorender(surface,quality,renddesc,&supercb))
+	if(get_amount()==0)
+		return true;
+	
+	cairo_surface_t *surface;
+	
+	surface=cairo_surface_create_similar(cairo_get_target(cr), CAIRO_CONTENT_COLOR_ALPHA, w, h);
+	cairo_t* subcr=cairo_create(surface);
+	cairo_scale(subcr, 1/pw, 1/ph);
+	cairo_translate(subcr, -tl[0], -tl[1]);
+	if(!context.accelerated_cairorender(subcr,quality,renddesc,&supercb))
+	{
+		if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Cairo Renderer Failure",__LINE__));
 		return false;
+	}
+	cairo_destroy(subcr);
 
 	int x,y;
 	
@@ -180,8 +204,8 @@ LumaKey::accelerated_cairorender(Context context,cairo_surface_t *surface,int qu
 	}
 	CairoSurface::pen pen(cairosurface.begin());
 	
-	for(y=0;y<renddesc.get_h();y++,pen.inc_y(),pen.dec_x(x))
-		for(x=0;x<renddesc.get_w();x++,pen.inc_x())
+	for(y=0;y<h;y++,pen.inc_y(),pen.dec_x(x))
+		for(x=0;x<w;x++,pen.inc_x())
 		{
 			Color tmp(Color(pen.get_value().demult_alpha()));
 			tmp.set_a(tmp.get_y()*tmp.get_a());
@@ -190,6 +214,14 @@ LumaKey::accelerated_cairorender(Context context,cairo_surface_t *surface,int qu
 		}
 	
 	cairosurface.unmap_cairo_image();
+	// paint surface on cr
+	cairo_save(cr);
+	cairo_translate(cr, tl[0], tl[1]);
+	cairo_scale(cr, pw, ph);
+	cairo_set_source_surface(cr, surface, 0, 0);
+	cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
+	cairo_paint(cr);
+	cairo_restore(cr);
 	// Mark our progress as finished
 	if(cb && !cb->amount_complete(10000,10000))
 		return false;
diff --git a/src/modules/mod_filter/lumakey.h b/src/modules/mod_filter/lumakey.h
index 1d6cc09..8dca842 100644
--- a/src/modules/mod_filter/lumakey.h
+++ b/src/modules/mod_filter/lumakey.h
@@ -65,7 +65,7 @@ public:
 	virtual Rect get_bounding_rect(Context context)const;
 
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 	virtual bool reads_context()const { return true; }
 }; // END of class LumaKey
 
diff --git a/src/modules/mod_filter/radialblur.cpp b/src/modules/mod_filter/radialblur.cpp
index 7d93fd3..366cb26 100644
--- a/src/modules/mod_filter/radialblur.cpp
+++ b/src/modules/mod_filter/radialblur.cpp
@@ -43,6 +43,7 @@
 #include <synfig/valuenode.h>
 #include <synfig/transform.h>
 #include <ETL/misc>
+#include <synfig/cairo_renddesc.h>
 
 #endif
 
@@ -65,13 +66,12 @@ SYNFIG_LAYER_SET_CVS_ID(RadialBlur,"$Id$");
 
 RadialBlur::RadialBlur():
 	Layer_Composite(1.0,Color::BLEND_STRAIGHT),
-	origin	(0,0),
-	size	(0.2),
-	fade_out(false)
+	param_origin (ValueBase(Vector(0,0))),
+	param_size(ValueBase(Real(0.2))),
+	param_fade_out(ValueBase(false))
 {
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
-	set_param_static("blend_method",true);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 RadialBlur::~RadialBlur()
@@ -81,9 +81,9 @@ RadialBlur::~RadialBlur()
 bool
 RadialBlur::set_param(const String & param, const ValueBase &value)
 {
-	IMPORT(origin);
-	IMPORT(size);
-	IMPORT(fade_out);
+	IMPORT_VALUE(param_origin);
+	IMPORT_VALUE(param_size);
+	IMPORT_VALUE(param_fade_out);
 
 	return Layer_Composite::set_param(param,value);
 }
@@ -91,9 +91,9 @@ RadialBlur::set_param(const String & param, const ValueBase &value)
 ValueBase
 RadialBlur::get_param(const String &param)const
 {
-	EXPORT(origin);
-	EXPORT(size);
-	EXPORT(fade_out);
+	EXPORT_VALUE(param_origin);
+	EXPORT_VALUE(param_size);
+	EXPORT_VALUE(param_fade_out);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -134,6 +134,10 @@ RadialBlur::get_color(Context context, const Point &p)const
 bool
 RadialBlur::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	Vector origin=param_origin.get(Vector());
+	Real size=param_size.get(Real());
+	bool fade_out=param_fade_out.get(bool());
+	
 	// don't do anything at quality 10
 	if (quality == 10)
 		return context.accelerated_render(surface,quality,renddesc,cb);
@@ -323,3 +327,204 @@ RadialBlur::accelerated_render(Context context,Surface *surface,int quality, con
 
 	return true;
 }
+
+
+/////
+bool
+RadialBlur::accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc_, ProgressCallback *cb)const
+{
+	Vector origin=param_origin.get(Vector());
+	Real size=param_size.get(Real());
+	bool fade_out=param_fade_out.get(bool());
+
+	RendDesc	renddesc(renddesc_);
+	
+	// Untransform the render desc
+	if(!cairo_renddesc_untransform(cr, renddesc))
+		return false;
+
+	// don't do anything at quality 10
+	if (quality == 10)
+		return context.accelerated_cairorender(cr,quality,renddesc,cb);
+	
+	if(cb && !cb->amount_complete(0,10000))
+		return false;
+	
+	const Point tl(renddesc.get_tl()), br(renddesc.get_br());
+	const int w(renddesc.get_w()), h(renddesc.get_h());
+	const Real pw(renddesc.get_pw()),ph(renddesc.get_ph());
+	
+	Rect rect(tl, br);
+	Point pos;
+
+	cairo_surface_t* background, *result;
+
+	// find how far towards the origin of the blur we are going to
+	// wander for each of the 4 corners of our tile, expanding the
+	// render description for each of them if necessary
+	int x, y;
+	for(y=0,pos[1]=tl[1];y<h;y+=(h-1),pos[1]+=ph*(h-1))
+		for(x=0,pos[0]=tl[0];x<w;x+=(w-1),pos[0]+=pw*(w-1))
+			rect.expand((pos-origin)*(1.0f-size) + origin);
+	
+	// round out to the nearest pixel
+	Point tmp_surface_tl = Point(tl[0] - pw*(int((tl[0]-rect.get_min()[0])/pw+1-1e-6)),
+								 tl[1] - ph*(int((tl[1]-rect.get_max()[1])/ph+1-1e-6)));
+	Point tmp_surface_br = Point(br[0] + pw*(int((rect.get_max()[0]-br[0])/pw+2-1e-6)),
+								 br[1] + ph*(int((rect.get_min()[1]-br[1])/ph+2-1e-6)));
+	
+	// round to nearest integer width and height (should be very
+	// nearly whole numbers already, but don't want to round 5.99999
+	// down to 5)
+	int tmp_surface_width = int((tmp_surface_br[0]-tmp_surface_tl[0])/pw + 0.5);
+	int tmp_surface_height = int((tmp_surface_br[1]-tmp_surface_tl[1])/ph + 0.5);
+	
+	RendDesc desc(renddesc);
+	desc.clear_flags();
+	desc.set_wh(tmp_surface_width,tmp_surface_height);
+	desc.set_tl(tmp_surface_tl);
+	desc.set_br(tmp_surface_br);
+
+	// New values for expanded
+	const double wpw =desc.get_pw();
+	const double wph =desc.get_ph();
+	const double wtlx=desc.get_tl()[0];
+	const double wtly=desc.get_tl()[1];
+
+	// Create the temporal surface
+	background=cairo_surface_create_similar(cairo_get_target(cr), CAIRO_CONTENT_COLOR_ALPHA, tmp_surface_width, tmp_surface_height);
+	result=cairo_surface_create_similar(cairo_get_target(cr), CAIRO_CONTENT_COLOR_ALPHA, w, h);
+	// render the layers beneath us
+	cairo_t* subcr=cairo_create(background);
+	cairo_scale(subcr, 1/wpw, 1/wph);
+	cairo_translate(subcr, -wtlx, -wtly);
+	if(!context.accelerated_cairorender(subcr,quality,desc,cb))
+		return false;
+	cairo_destroy(subcr);
+	
+	// copy the part of the layers beneath us that corresponds to this tile
+	subcr=cairo_create(result);
+	cairo_scale(subcr, 1/pw, 1/ph);
+	cairo_translate(subcr, -tl[0]+tmp_surface_tl[0], -tl[1]+tmp_surface_tl[1]);
+	cairo_scale(subcr, pw, ph);
+	cairo_set_operator(subcr, CAIRO_OPERATOR_SOURCE);
+	cairo_set_source_surface(subcr, background, 0, 0);
+	cairo_paint(subcr);
+	cairo_destroy(subcr);
+	
+	// Map the two surfaces to access the pixels
+	CairoSurface cresult(result);
+	if(!cresult.map_cairo_image())
+	{
+		synfig::warning("Radial Blur: Cairo map image failed!");
+		return false;
+	}
+	
+	CairoSurface cbackground(background);
+	if(!cbackground.map_cairo_image())
+	{
+		synfig::warning("Radial Blur: Cairo map image failed!");
+		return false;
+	}
+	//We need to use a accumulator to perform the average sum;
+#define TMP_SURFACE(j,i)	(((CairoColorAccumulator)((cbackground)[j][i])))
+	
+	// loop through the pixels
+	for(y=0,pos[1]=tl[1];y<h;y++,pos[1]+=ph)
+		for(x=0,pos[0]=tl[0];x<w;x++,pos[0]+=pw)
+		{
+			Point
+			begin(pos-tmp_surface_tl),
+			end((pos-origin)*(1.0f-size) + origin-tmp_surface_tl);
+			begin[0]/=pw;begin[1]/=ph;
+			end[0]/=pw;end[1]/=ph;
+			
+			CairoColorAccumulator pool(CairoColor::alpha());
+			int poolsize(0);
+			
+			int x0(round_to_int(begin[0])),
+			y0(round_to_int(begin[1])),
+			x1(round_to_int(end[0])),
+			y1(round_to_int(end[1]));
+			
+			int i;
+			int steep = 1;
+			int sx, sy;  /* step positive or negative (1 or -1) */
+			int dx, dy;  /* delta (difference in X and Y between points) */
+			int e;
+			int w(tmp_surface_width), h(tmp_surface_height);
+			
+			dx = abs(x1 - x0);
+			sx = ((x1 - x0) > 0) ? 1 : -1;
+			dy = abs(y1 - y0);
+			sy = ((y1 - y0) > 0) ? 1 : -1;
+			if (dy > dx)
+			{
+				steep = 0;
+				swap(x0, y0);
+				swap(dx, dy);
+				swap(sx, sy);
+				swap(w,h);
+			}
+			e = (dy << 1) - dx;
+			for (i = 0; i < dx; i++)
+			{
+				if(y0>=0 && x0>=0 && y0<h && x0<w)
+				{
+					if(fade_out)
+					{
+						if (steep)
+							pool+=TMP_SURFACE(y0,x0)*(i-dx);
+						else
+							pool+=TMP_SURFACE(x0,y0)*(i-dx);
+						poolsize+=(i-dx);
+					}
+					else
+					{
+						if (steep)
+							pool+=TMP_SURFACE(y0,x0);
+						else
+							pool+=TMP_SURFACE(x0,y0);
+						poolsize+=1;
+					}
+				} else
+					printf("%s:%d unexpected %d >= %d or %d >= %d?\n", __FILE__, __LINE__, x0, w, y0, h);
+				
+				while (e >= 0)
+				{
+					y0 += sy;
+					e -= (dx << 1);
+				}
+				x0 += sx;
+				e += (dy << 1);
+			}
+			if(poolsize)
+			{
+				pool/=poolsize;
+				cresult[y][x]=CairoColor::blend(CairoColor(pool), cresult[y][x], get_amount(), get_blend_method());
+			}
+		}
+	
+#undef TMP_SURFACE
+	
+	cbackground.unmap_cairo_image();
+	cresult.unmap_cairo_image();
+
+	cairo_surface_destroy(background);
+
+	cairo_save(cr);
+	
+	cairo_translate(cr, tl[0], tl[1]);
+	cairo_scale(cr, pw, ph);
+	cairo_set_source_surface(cr, result, 0, 0);
+	cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
+	cairo_paint(cr);
+	
+	cairo_restore(cr);
+	cairo_surface_destroy(result);
+	
+	if(cb && !cb->amount_complete(10000,10000)) return false;
+	
+	// we are done
+	return true;
+}
diff --git a/src/modules/mod_filter/radialblur.h b/src/modules/mod_filter/radialblur.h
index 197eb2f..a50b917 100644
--- a/src/modules/mod_filter/radialblur.h
+++ b/src/modules/mod_filter/radialblur.h
@@ -49,9 +49,12 @@ class RadialBlur : public Layer_Composite
 	SYNFIG_LAYER_MODULE_EXT
 	friend class RadialBlur_Trans;
 private:
-	Vector origin;
-	Real size;
-	bool fade_out;
+	//! Parameter: (Vector)
+	ValueBase param_origin;
+	//! Parameter: (Real)
+	ValueBase param_size;
+	//! Parameter: (bool)
+	ValueBase param_fade_out;
 
 public:
 	RadialBlur();
@@ -61,6 +64,7 @@ public:
 	virtual ValueBase get_param(const synfig::String & param)const;
 	virtual Color get_color(Context context, const Point &pos)const;
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 	virtual Vocab get_param_vocab()const;
 	virtual bool reads_context()const { return true; }
 }; // END of class RadialBlur
diff --git a/src/modules/mod_geometry/Makefile.am b/src/modules/mod_geometry/Makefile.am
index 693356e..c98b556 100644
--- a/src/modules/mod_geometry/Makefile.am
+++ b/src/modules/mod_geometry/Makefile.am
@@ -3,7 +3,7 @@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
diff --git a/src/modules/mod_geometry/Makefile.in b/src/modules/mod_geometry/Makefile.in
index 4263ded..85dd71e 100644
--- a/src/modules/mod_geometry/Makefile.in
+++ b/src/modules/mod_geometry/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -54,7 +53,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/modules/mod_geometry
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(top_srcdir)/config/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
@@ -239,6 +239,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -344,7 +345,7 @@ top_srcdir = @top_srcdir@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
@@ -451,12 +452,14 @@ uninstall-moduleLTLIBRARIES:
 
 clean-moduleLTLIBRARIES:
 	-test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES)
-	@list='$(module_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(module_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 libmod_geometry.la: $(libmod_geometry_la_OBJECTS) $(libmod_geometry_la_DEPENDENCIES) $(EXTRA_libmod_geometry_la_DEPENDENCIES) 
 	$(libmod_geometry_la_LINK) -rpath $(moduledir) $(libmod_geometry_la_OBJECTS) $(libmod_geometry_la_LIBADD) $(LIBS)
 
@@ -607,6 +610,20 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -752,18 +769,19 @@ uninstall-am: uninstall-moduleLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-moduleLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-moduleLTLIBRARIES install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am uninstall-moduleLTLIBRARIES
+	clean-libtool clean-moduleLTLIBRARIES cscopelist ctags \
+	distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-moduleLTLIBRARIES \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-moduleLTLIBRARIES
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/src/modules/mod_geometry/advanced_outline.cpp b/src/modules/mod_geometry/advanced_outline.cpp
index 9797072..efada81 100644
--- a/src/modules/mod_geometry/advanced_outline.cpp
+++ b/src/modules/mod_geometry/advanced_outline.cpp
@@ -72,18 +72,22 @@ SYNFIG_LAYER_SET_CVS_ID(Advanced_Outline,"$Id$");
 Point line_intersection( const Point& p1, const Vector& t1, const Point& p2, const Vector& t2 );
 /* === M E T H O D S ======================================================= */
 
-Advanced_Outline::Advanced_Outline()
+Advanced_Outline::Advanced_Outline():
+param_bline(ValueBase(std::vector<synfig::BLinePoint>())),
+param_wplist(ValueBase(std::vector<synfig::WidthPoint>())),
+param_dilist(ValueBase(std::vector<synfig::DashItem>()))
 {
-	cusp_type_=TYPE_SHARP;
-	start_tip_= end_tip_= WidthPoint::TYPE_ROUNDED;
-	width_=1.0f;
-	expand_=0;
-	smoothness_=0.5;
-	dash_offset_=0.0;
-	homogeneous_=false;
-	dash_enabled_=false;
+	param_cusp_type = ValueBase(int(TYPE_SHARP));
+	param_start_tip = param_end_tip = ValueBase(int(WidthPoint::TYPE_ROUNDED));
+	param_width = ValueBase(Real(1.0f));
+	param_expand = ValueBase(Real(0));
+	param_smoothness = ValueBase(Real(0.5));
+	param_dash_offset = ValueBase(Real(0.0));
+	param_homogeneous = ValueBase(false);
+	param_dash_enabled = ValueBase(false);
+	param_fast = ValueBase(false);
+	
 	old_version=false;
-	fast_=false;
 	clear();
 
 	vector<BLinePoint> bline_point_list;
@@ -99,7 +103,8 @@ Advanced_Outline::Advanced_Outline()
 	bline_point_list[0].set_width(1.0f);
 	bline_point_list[1].set_width(1.0f);
 	bline_point_list[2].set_width(1.0f);
-	bline_=bline_point_list;
+	param_bline.set(bline_point_list);
+	
 	vector<WidthPoint> wpoint_list;
 	wpoint_list.push_back(WidthPoint());
 	wpoint_list.push_back(WidthPoint());
@@ -109,14 +114,14 @@ Advanced_Outline::Advanced_Outline()
 	wpoint_list[1].set_width(1.0);
 	wpoint_list[0].set_side_type_before(WidthPoint::TYPE_INTERPOLATE);
 	wpoint_list[1].set_side_type_after(WidthPoint::TYPE_INTERPOLATE);
-	wplist_=wpoint_list;
+	param_wplist.set(wpoint_list);
+	
 	vector<DashItem> ditem_list;
 	ditem_list.push_back(DashItem());
-	dilist_=ditem_list;
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
-	set_param_static("fast", true);
-
+	param_dilist.set(ditem_list);
+	
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 
@@ -127,6 +132,20 @@ Advanced_Outline::Advanced_Outline()
 void
 Advanced_Outline::sync()
 {
+	ValueBase bline_=param_bline;
+	ValueBase wplist_=param_wplist;
+	ValueBase dilist_=param_dilist;
+	int start_tip_=param_start_tip.get(int());
+	int end_tip_=param_end_tip.get(int());
+	int cusp_type_=param_cusp_type.get(int());
+	Real width_=param_width.get(Real());
+	Real expand_=param_expand.get(Real());
+	Real smoothness_=param_smoothness.get(Real());
+	bool homogeneous_=param_homogeneous.get(bool());
+	Real dash_offset_=param_dash_offset.get(Real());
+	bool dash_enabled_=param_dash_enabled.get(bool());
+	bool fast_=param_fast.get(bool());
+	
 	clear();
 	if (!bline_.get_list().size())
 	{
@@ -229,7 +248,8 @@ Advanced_Outline::sync()
 		// initialize the blinepoints positions iterators
 		hbpiter=hbline_pos.begin();
 		bpiter=bline_pos.begin();
-		Real biter_pos(*bpiter), hbiter_pos(*hbpiter);
+		// todo: why 'hbiter_pos' never used?
+		Real biter_pos(*bpiter) /* , hbiter_pos(*hbpiter) */ ;
 		bpiter++;
 		hbpiter++;
 		Real bnext_pos(*bpiter), hbnext_pos(*hbpiter);
@@ -838,7 +858,8 @@ Advanced_Outline::sync()
 					bnext++;
 					// Update blinepoints positions
 					biter_pos = bnext_pos;
-					hbiter_pos = hbnext_pos;
+					// todo: why 'hbiter_pos' never used?
+					//hbiter_pos = hbnext_pos;
 					bpiter++;
 					hbpiter++;
 					bnext_pos=*bpiter;
@@ -955,7 +976,8 @@ Advanced_Outline::sync()
 					bnext++;
 					// Update blinepoints positions
 					biter_pos = bnext_pos;
-					hbiter_pos = hbnext_pos;
+					// todo: why 'hbiter_pos' never used?
+					//hbiter_pos = hbnext_pos;
 					bpiter++;
 					hbpiter++;
 					bnext_pos=*bpiter;
@@ -1031,52 +1053,40 @@ Advanced_Outline::sync()
 bool
 Advanced_Outline::set_param(const String & param, const ValueBase &value)
 {
-	if(param=="bline" && value.get_type()==ValueBase::TYPE_LIST)
-	{
-		bline_=value;
-		return true;
-	}
-	IMPORT_AS(cusp_type_, "cusp_type");
-	IMPORT_AS(start_tip_, "start_tip");
-	IMPORT_AS(end_tip_, "end_tip");
-	IMPORT_AS(width_,"width");
-	IMPORT_AS(expand_, "expand");
-	IMPORT_AS(dash_offset_,"dash_offset");
-	IMPORT_AS(homogeneous_,"homogeneous");
-	IMPORT_AS(dash_enabled_, "dash_enabled");
-	IMPORT_AS(fast_, "fast");
-	if(param=="smoothness" && value.get_type()==ValueBase::TYPE_REAL)
-	{
-		if(value > 1.0) smoothness_=1.0;
-		else if(value < 0.0) smoothness_=0.0;
-		else smoothness_=value;
-		set_param_static("smoothness", value.get_static());
-		return true;
-	}
-	if(param=="wplist" && value.get_type()==ValueBase::TYPE_LIST)
-	{
-		wplist_=value;
-		return true;
-	}
-	if(param=="dilist" && value.get_type()==ValueBase::TYPE_LIST)
-	{
-		dilist_=value;
-		return true;
-	}
+
+	IMPORT_VALUE(param_bline);
+	IMPORT_VALUE(param_wplist);
+	IMPORT_VALUE(param_dilist);
+	IMPORT_VALUE(param_start_tip);
+	IMPORT_VALUE(param_end_tip);
+	IMPORT_VALUE(param_cusp_type);
+	IMPORT_VALUE(param_width);
+	IMPORT_VALUE(param_expand);
+	IMPORT_VALUE_PLUS(param_smoothness,
+		{
+			if(value > 1.0) param_smoothness.set(Real(1.0));
+			else if(value < 0.0) param_smoothness.set(Real(0.0));
+		}
+	);
+	IMPORT_VALUE(param_homogeneous);
+	IMPORT_VALUE(param_dash_offset);
+	IMPORT_VALUE(param_dash_enabled);
+	IMPORT_VALUE(param_fast);
+
 	if(param=="vector_list")
 		return false;
 	return Layer_Polygon::set_param(param,value);
 }
 
 void
-Advanced_Outline::set_time(Context context, Time time)const
+Advanced_Outline::set_time(IndependentContext context, Time time)const
 {
 	const_cast<Advanced_Outline*>(this)->sync();
 	context.set_time(time);
 }
 
 void
-Advanced_Outline::set_time(Context context, Time time, Vector pos)const
+Advanced_Outline::set_time(IndependentContext context, Time time, Vector pos)const
 {
 	const_cast<Advanced_Outline*>(this)->sync();
 	context.set_time(time,pos);
@@ -1093,19 +1103,20 @@ Advanced_Outline::set_version(const synfig::String &ver)
 ValueBase
 Advanced_Outline::get_param(const String& param)const
 {
-	EXPORT_AS(bline_, "bline");
-	EXPORT_AS(expand_, "expand");
-	EXPORT_AS(smoothness_, "smoothness");
-	EXPORT_AS(cusp_type_, "cusp_type");
-	EXPORT_AS(start_tip_,"start_tip");
-	EXPORT_AS(end_tip_,"end_tip");
-	EXPORT_AS(width_, "width");
-	EXPORT_AS(wplist_, "wplist");
-	EXPORT_AS(dash_offset_,"dash_offset");
-	EXPORT_AS(dilist_, "dilist");
-	EXPORT_AS(homogeneous_, "homogeneous");
-	EXPORT_AS(dash_enabled_,"dash_enabled");
-	EXPORT_AS(fast_, "fast");
+	EXPORT_VALUE(param_bline);
+	EXPORT_VALUE(param_wplist);
+	EXPORT_VALUE(param_dilist);
+	EXPORT_VALUE(param_start_tip);
+	EXPORT_VALUE(param_end_tip);
+	EXPORT_VALUE(param_cusp_type);
+	EXPORT_VALUE(param_width);
+	EXPORT_VALUE(param_expand);
+	EXPORT_VALUE(param_smoothness);
+	EXPORT_VALUE(param_homogeneous);
+	EXPORT_VALUE(param_dash_offset);
+	EXPORT_VALUE(param_dash_enabled);
+	EXPORT_VALUE(param_fast);
+
 	EXPORT_NAME();
 	EXPORT_VERSION();
 	if(param=="vector_list")
@@ -1296,6 +1307,9 @@ Advanced_Outline::bezier_to_bline(Real bezier_pos, Real origin, Real bezier_size
 void
 Advanced_Outline::add_tip(std::vector<Point> &side_a, std::vector<Point> &side_b, const Point vertex, const Vector tangent, const WidthPoint wp, const Real gv)
 {
+	Real width_=param_width.get(Real());
+	Real expand_=param_expand.get(Real());
+
 	Real w(gv*(expand_+width_*0.5*wp.get_width()));
 	// Side Before
 	switch (wp.get_side_type_before())
@@ -1413,6 +1427,8 @@ Advanced_Outline::add_tip(std::vector<Point> &side_a, std::vector<Point> &side_b
 void
 Advanced_Outline::add_cusp(std::vector<Point> &side_a, std::vector<Point> &side_b, const Point vertex, const Vector curr, const Vector last, Real w)
 {
+	int cusp_type_=param_cusp_type.get(int());
+
 	static int counter=0;
 	counter++;
 	const Vector t1(last.perp().norm());
@@ -1498,183 +1514,3 @@ Advanced_Outline::add_cusp(std::vector<Point> &side_a, std::vector<Point> &side_
 		break;
 	}
 }
-
-bool
-Advanced_Outline::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
-{
-	// Grab the rgba values
-	const float r(color.get_r());
-	const float g(color.get_g());
-	const float b(color.get_b());
-	const float a(color.get_a());
-	
-	// Window Boundaries
-	const Point	tl(renddesc.get_tl());
-	const Point br(renddesc.get_br());
-	const int	w(renddesc.get_w());
-	const int	h(renddesc.get_h());
-	
-	// Width and Height of a pixel
-	const Real pw = (br[0] - tl[0]) / w;
-	const Real ph = (br[1] - tl[1]) / h;
-	
-	// These are the scale and translation values
-	const double sx(1/pw);
-	const double sy(1/ph);
-	const double tx((-tl[0]+origin[0])*sx);
-	const double ty((-tl[1]+origin[1])*sy);
-
-	cairo_t* cr=cairo_create(surface);
-
-	// Let's render the outline in other surface
-	// Initially I'll fill it completely with the alpha color
-	cairo_surface_t* subimage;
-	// Let's calculate the subimage dimensions based on the feather value
-	//so make a separate surface
-	RendDesc	workdesc(renddesc);
-	int halfsizex(0), halfsizey(0);
-	if(feather && quality != 10)
-	{
-		//the expanded size = 1/2 the size in each direction rounded up
-		halfsizex = (int) (abs(feather*.5/pw) + 3),
-		halfsizey = (int) (abs(feather*.5/ph) + 3);
-		
-		//expand by 1/2 size in each direction on either side
-		switch(blurtype)
-		{
-			case Blur::DISC:
-			case Blur::BOX:
-			case Blur::CROSS:
-			{
-				workdesc.set_subwindow(-max(1,halfsizex),-max(1,halfsizey),w+2*max(1,halfsizex),h+2*max(1,halfsizey));
-				break;
-			}
-			case Blur::FASTGAUSSIAN:
-			{
-				if(quality < 4)
-				{
-					halfsizex*=2;
-					halfsizey*=2;
-				}
-				workdesc.set_subwindow(-max(1,halfsizex),-max(1,halfsizey),w+2*max(1,halfsizex),h+2*max(1,halfsizey));
-				break;
-			}
-			case Blur::GAUSSIAN:
-			{
-#define GAUSSIAN_ADJUSTMENT		(0.05)
-				Real	pw = (Real)workdesc.get_w()/(workdesc.get_br()[0]-workdesc.get_tl()[0]);
-				Real 	ph = (Real)workdesc.get_h()/(workdesc.get_br()[1]-workdesc.get_tl()[1]);
-				
-				pw=pw*pw;
-				ph=ph*ph;
-				
-				halfsizex = (int)(abs(pw)*feather*GAUSSIAN_ADJUSTMENT+0.5);
-				halfsizey = (int)(abs(ph)*feather*GAUSSIAN_ADJUSTMENT+0.5);
-				
-				halfsizex = (halfsizex + 1)/2;
-				halfsizey = (halfsizey + 1)/2;
-				workdesc.set_subwindow( -halfsizex, -halfsizey, w+2*halfsizex, h+2*halfsizey );
-				break;
-#undef GAUSSIAN_ADJUSTMENT
-			}
-		}
-	}
-	subimage=cairo_surface_create_similar(surface, CAIRO_CONTENT_COLOR_ALPHA, workdesc.get_w(), workdesc.get_h());
-	cairo_t* subcr=cairo_create(subimage);
-
-	cairo_save(subcr);
-	cairo_set_source_rgba(subcr, r, g, b, a);
-	// Now let's check if it is inverted
-	if(invert)
-	{
-		cairo_paint(subcr);
-	}
-	// Draw the outline
-	// Calculate new translations after expand the tile
-	const double extx((-workdesc.get_tl()[0]+origin[0])*sx);
-	const double exty((-workdesc.get_tl()[1]+origin[1])*sy);
-	
-	cairo_translate(subcr, extx , exty);
-	cairo_scale(subcr, sx, sy);
-	switch(winding_style)
-	{
-		case WINDING_NON_ZERO:
-			cairo_set_fill_rule(subcr, CAIRO_FILL_RULE_WINDING);
-			break;
-		default:
-			cairo_set_fill_rule(subcr, CAIRO_FILL_RULE_EVEN_ODD);
-			break;
-	}
-	if(!antialias)
-		cairo_set_antialias(subcr, CAIRO_ANTIALIAS_NONE);
-	if(invert)
-		cairo_set_operator(subcr, CAIRO_OPERATOR_CLEAR);
-	else
-		cairo_set_operator(subcr, CAIRO_OPERATOR_OVER);
-
-	// For any quality...
-	Layer_Shape::shape_to_cairo(subcr);
-	cairo_clip(subcr);
-	cairo_paint(subcr);
-	
-	cairo_restore(subcr);
-
-	if(feather && quality!=10)
-	{
-		etl::surface<float>	shapesurface;
-		shapesurface.set_wh(workdesc.get_w(),workdesc.get_h());
-		shapesurface.clear();
-		
-		CairoSurface cairosubimage(subimage);
-		if(!cairosubimage.map_cairo_image())
-		{
-			synfig::info("map cairo image failed");
-			return false;
-		}
-		// Extract the alpha values:
-		int x, y;
-		int wh(workdesc.get_h()), ww(workdesc.get_w());
-		float div=1.0/((float)(CairoColor::ceil));
-		for(y=0; y<wh; y++)
-			for(x=0;x<ww;x++)
-				shapesurface[y][x]=cairosubimage[y][x].get_a()*div;
-		// Blue the alpha values
-		Blur(feather,feather,blurtype,cb)(shapesurface,workdesc.get_br()-workdesc.get_tl(),shapesurface);
-		// repaint the cairosubimage with the result
-		Color ccolor(color);
-		for(y=0; y<wh; y++)
-			for(x=0;x<ww;x++)
-			{
-				float a=shapesurface[y][x];
-				ccolor.set_a(a);
-				ccolor.clamped();
-				cairosubimage[y][x]=CairoColor(ccolor).premult_alpha();
-			}
-		
-		cairosubimage.unmap_cairo_image();
-	}
-	// Put the (feathered) outline on the surface
-	if(!is_solid_color()) // we need to render the context before
-		if(!context.accelerated_cairorender(surface,quality,renddesc,cb))
-		{
-			if(cb)
-				cb->error(strprintf(__FILE__"%d: Accelerated Cairo Renderer Failure",__LINE__));
-			cairo_destroy(cr);
-			cairo_destroy(subcr);
-			cairo_surface_destroy(subimage);
-			return false;
-		}
-	cairo_save(cr);
-	const double px(tl[0]-workdesc.get_tl()[0]);
-	const double py(tl[1]-workdesc.get_tl()[1]);
-	cairo_set_source_surface(cr, subimage, -px*sx, -py*sy);
-	cairo_paint_with_alpha_operator(cr, get_amount(), get_blend_method());
-	cairo_restore(cr);
-	cairo_surface_destroy(subimage);
-	cairo_destroy(subcr);
-	cairo_destroy(cr);
-	
-	return true;
-
-}
-
diff --git a/src/modules/mod_geometry/advanced_outline.h b/src/modules/mod_geometry/advanced_outline.h
index 7137340..2c5474c 100644
--- a/src/modules/mod_geometry/advanced_outline.h
+++ b/src/modules/mod_geometry/advanced_outline.h
@@ -48,22 +48,34 @@ class Advanced_Outline : public synfig::Layer_Polygon
 {
 	SYNFIG_LAYER_MODULE_EXT
 private:
+	//! Parameter: type list of BlinePoint
+	ValueBase param_bline;
+	//! Parameter: type list of WidthPoint
+	ValueBase param_wplist;
+	//! Parameter: type list of DashItem
+	ValueBase param_dilist;
+	//! Parameter: (WidthPoint::SideType)
+	ValueBase param_start_tip;
+	//! Parameter: (WidthPoint::SideType)
+	ValueBase param_end_tip;
+	//! Parameter: (int)
+	ValueBase param_cusp_type;
+	//! Parameter: (Real)
+	ValueBase param_width;
+	//! Parameter: (Real)
+	ValueBase param_expand;
+	//! Parameter: (Real)
+	ValueBase param_smoothness;
+	//! Parameter: (bool)
+	ValueBase param_homogeneous;
+	//! Parameter: (Real)
+	ValueBase param_dash_offset;
+	//! Parameter: (bool)
+	ValueBase param_dash_enabled;
+	//! Parameter: (bool)
+	ValueBase param_fast;
 
-	synfig::ValueBase bline_;
-	synfig::ValueBase wplist_;
-	synfig::ValueBase dilist_;
-	WidthPoint::SideType start_tip_;
-	WidthPoint::SideType end_tip_;
-	int cusp_type_;
-	bool loop_;
-	synfig::Real width_;
-	synfig::Real expand_;
-	Real smoothness_;
-	bool homogeneous_;
-	Real dash_offset_;
-	bool dash_enabled_;
 	bool old_version;
-	bool fast_;
 
 public:
 	enum CuspType
@@ -79,13 +91,11 @@ public:
 	virtual bool set_param(const String & param, const synfig::ValueBase &value);
 	virtual ValueBase get_param(const String & param)const;
 	virtual Vocab get_param_vocab()const;
-	virtual void set_time(Context context, Time time)const;
-	virtual void set_time(Context context, Time time, Vector pos)const;
+	virtual void set_time(IndependentContext context, Time time)const;
+	virtual void set_time(IndependentContext context, Time time, Vector pos)const;
 	virtual bool set_version(const synfig::String &ver);
 	//! Connects the parameter to another Value Node. Implementation for this layer
 	virtual bool connect_dynamic_param(const String& param, etl::loose_handle<ValueNode> x );
-	virtual bool accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-
 
 private:
 
diff --git a/src/modules/mod_geometry/checkerboard.cpp b/src/modules/mod_geometry/checkerboard.cpp
index 10f2a4b..7b099f3 100644
--- a/src/modules/mod_geometry/checkerboard.cpp
+++ b/src/modules/mod_geometry/checkerboard.cpp
@@ -66,17 +66,20 @@ SYNFIG_LAYER_SET_CVS_ID(CheckerBoard,"$Id$");
 
 CheckerBoard::CheckerBoard():
 	Layer_Composite	(1.0,Color::BLEND_COMPOSITE),
-	color			(Color::black()),
-	origin			(Point(0.125,0.125)),
-	size			(Point(0.25,0.25))
+	param_color (ValueBase(Color::black())),
+	param_origin (ValueBase(Point(0.125,0.125))),
+	param_size (ValueBase(Point(0.25,0.25)))
 {
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 inline bool
 CheckerBoard::point_test(const synfig::Point& getpos)const
 {
+	Point origin=param_origin.get(Point());
+	Point size=param_size.get(Point());
+	
 	int val=((int)((getpos[0]-origin[0])/size[0])+(int)((getpos[1]-origin[1])/size[1]));
 	if(getpos[0]-origin[0] < 0.0)
 		val++;
@@ -88,15 +91,36 @@ CheckerBoard::point_test(const synfig::Point& getpos)const
 bool
 CheckerBoard::set_param(const String &param, const ValueBase &value)
 {
-	IMPORT_PLUS(color, { if (color.get_a() == 0) { if (converted_blend_) {
-					set_blend_method(Color::BLEND_ALPHA_OVER);
-					color.set_a(1); } else transparent_color_ = true; } });
-	IMPORT(origin);
-	IMPORT(size);
-
-	IMPORT_AS(origin,"pos");
-	IMPORT_AS(origin[0],"pos[0]");
-	IMPORT_AS(origin[1],"pos[1]");
+	IMPORT_VALUE_PLUS(param_color,
+	  {
+		  Color color(param_color.get(Color()));
+		  if (color.get_a() == 0)
+		  {
+			  if(converted_blend_)
+			  {
+				  set_blend_method(Color::BLEND_ALPHA_OVER);
+				  color.set_a(1);
+				  param_color.set(color);
+			  }
+			  else
+				  transparent_color_ = true;
+		  }
+	  }
+	  );
+	IMPORT_VALUE(param_origin);
+	IMPORT_VALUE(param_size);
+
+	if(param=="pos")
+		return set_param("origin", value);
+
+	for(int i=0;i<2;i++)
+		if(param==strprintf("pos[%d]",i) && value.get_type()==ValueBase::TYPE_REAL)
+		{
+			Point p=param_origin.get(Point());
+			p[i]=value.get(Real());
+			param_origin.set(p);
+			return true;
+		}
 
 	return Layer_Composite::set_param(param,value);
 }
@@ -104,9 +128,9 @@ CheckerBoard::set_param(const String &param, const ValueBase &value)
 ValueBase
 CheckerBoard::get_param(const String &param)const
 {
-	EXPORT(color);
-	EXPORT(origin);
-	EXPORT(size);
+	EXPORT_VALUE(param_color);
+	EXPORT_VALUE(param_origin);
+	EXPORT_VALUE(param_size);
 	EXPORT_NAME();
 	EXPORT_VERSION();
 
@@ -154,6 +178,8 @@ CheckerBoard::hit_check(synfig::Context context, const synfig::Point &getpos)con
 Color
 CheckerBoard::get_color(Context context, const Point &getpos)const
 {
+	Color color=param_color.get(Color());
+
 	if(get_amount()!=0.0 && point_test(getpos))
 	{
 		if(get_amount()==1.0 && get_blend_method()==Color::BLEND_STRAIGHT)
@@ -168,6 +194,8 @@ CheckerBoard::get_color(Context context, const Point &getpos)const
 bool
 CheckerBoard::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	Color color=param_color.get(Color());
+
 	SuperCallback supercb(cb,0,9500,10000);
 
 	if(!context.accelerated_render(surface,quality,renddesc,&supercb))
@@ -202,19 +230,22 @@ CheckerBoard::accelerated_render(Context context,Surface *surface,int quality, c
 }
 
 //////////
-
 bool
-CheckerBoard::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+CheckerBoard::accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
-	SuperCallback supercb(cb,0,9500,10000);
+	Color color=param_color.get(Color());
+	Point origin=param_origin.get(Point());
+	Point size=param_size.get(Point());
 
+	SuperCallback supercb(cb,0,9500,10000);
+	
 	if(!is_solid_color())
-		if(!context.accelerated_cairorender(surface,quality,renddesc,&supercb))
+		if(!context.accelerated_cairorender(cr,quality,renddesc,&supercb))
 			return false;
 	
 	if(get_amount()==0)
 		return true;
-
+	
 	const float r(color.get_r());
 	const float g(color.get_g());
 	const float b(color.get_b());
@@ -229,10 +260,8 @@ CheckerBoard::accelerated_cairorender(Context context,cairo_surface_t *surface,i
 	// Width and Height of a pixel
 	const Real pw = (br[0] - tl[0]) / w;
 	const Real ph = (br[1] - tl[1]) / h;
-
+	
 	// These are translation and scale values
-	const double tx(-tl[0]/pw);
-	const double ty(-tl[1]/ph);
 	const double sx(1/pw);
 	const double sy(1/ph);
 	
@@ -244,15 +273,20 @@ CheckerBoard::accelerated_cairorender(Context context,cairo_surface_t *surface,i
 	newsize[0]=((int)(2.0*newsize[0]*sx))/(2.0*sx);
 	newsize[1]=((int)(2.0*newsize[1]*sy))/(2.0*sy);
 	
+	if(!context.accelerated_cairorender(cr,quality,renddesc,cb))
+	{
+		if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Cairo Renderer Failure",__LINE__));
+		return false;
+	}
 	// Now let's render the minimum checkerboard in other surface
 	// Initially I'll fill it completely with the alpha color
 	// Create a similar image with the same dimensions than the minimum checkerboard
-	
 	RendDesc desc(renddesc);
 	// this will modify the w and h values in pixels.
 	desc.set_flags(RendDesc::PX_ASPECT|RendDesc::IM_SPAN);
 	desc.set_tl_br(Point(-newsize[0], +newsize[1]), Point(+newsize[0], -newsize[1]));
-	cairo_surface_t* subimage=cairo_surface_create_similar(surface, CAIRO_CONTENT_COLOR_ALPHA, desc.get_w(), desc.get_h());
+	cairo_surface_t* subimage=cairo_surface_create_similar(cairo_get_target(cr), CAIRO_CONTENT_COLOR_ALPHA, desc.get_w(), desc.get_h());
+	
 	cairo_t* subcr=cairo_create(subimage);
 	cairo_save(subcr);
 	cairo_set_source_rgba(subcr, r, g, b, a);
@@ -266,12 +300,12 @@ CheckerBoard::accelerated_cairorender(Context context,cairo_surface_t *surface,i
 	cairo_clip(subcr);
 	cairo_paint(subcr);
 	cairo_restore(subcr);
-	
-	cairo_t* cr=cairo_create(surface);
+
 	cairo_save(cr);
-	
-	cairo_translate(cr, tx+origin[0]*sx -newsize[0]*sx, ty+origin[1]*sy+newsize[1]*sy);
+	cairo_translate(cr, origin[0], origin[1]);
+	cairo_scale(cr, 1/sx, 1/sy);
 	cairo_pattern_t* pattern=cairo_pattern_create_for_surface(subimage);
+
 	cairo_pattern_set_extend (pattern, CAIRO_EXTEND_REPEAT);
 	cairo_set_source(cr, pattern);
 	if(is_solid_color())
@@ -284,11 +318,9 @@ CheckerBoard::accelerated_cairorender(Context context,cairo_surface_t *surface,i
 		cairo_paint_with_alpha_operator(cr, get_amount(), get_blend_method());
 	}
 	cairo_restore(cr);
-	cairo_surface_destroy(subimage);
-	cairo_pattern_destroy(pattern);
-	cairo_destroy(subcr);
-	cairo_destroy(cr);
 
+	cairo_pattern_destroy(pattern);
+	
 	// Mark our progress as finished
 	if(cb && !cb->amount_complete(10000,10000))
 		return false;
diff --git a/src/modules/mod_geometry/checkerboard.h b/src/modules/mod_geometry/checkerboard.h
index 7c36439..f29ed06 100644
--- a/src/modules/mod_geometry/checkerboard.h
+++ b/src/modules/mod_geometry/checkerboard.h
@@ -45,9 +45,12 @@ class CheckerBoard : public synfig::Layer_Composite, public synfig::Layer_NoDefo
 {
 	SYNFIG_LAYER_MODULE_EXT
 private:
-	synfig::Color color;
-	synfig::Point origin;
-	synfig::Point size;
+	//! Parameter: (Color)
+	synfig::ValueBase param_color;
+	//! Parameter: (Point)
+	synfig::ValueBase param_origin;
+	//! Parameter: (Point)
+	synfig::ValueBase param_size;
 
 	bool point_test(const synfig::Point& x)const;
 
@@ -65,7 +68,7 @@ public:
 	synfig::Layer::Handle hit_check(synfig::Context context, const synfig::Point &point)const;
 
 	virtual bool accelerated_render(synfig::Context context,synfig::Surface *surface,int quality, const synfig::RendDesc &renddesc, synfig::ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(synfig::Context context,cairo_surface_t *surface,int quality, const synfig::RendDesc &renddesc, synfig::ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(synfig::Context context, cairo_t *cr, int quality, const synfig::RendDesc &renddesc, synfig::ProgressCallback *cb)const;
 };
 
 /* === E N D =============================================================== */
diff --git a/src/modules/mod_geometry/circle.cpp b/src/modules/mod_geometry/circle.cpp
index eaf6fad..a09a00d 100644
--- a/src/modules/mod_geometry/circle.cpp
+++ b/src/modules/mod_geometry/circle.cpp
@@ -61,32 +61,50 @@ SYNFIG_LAYER_SET_CVS_ID(Circle,"$Id$");
 /* -- F U N C T I O N S ----------------------------------------------------- */
 
 Circle::Circle():
-	Layer_Composite	(1.0,Color::BLEND_COMPOSITE),
-	color			(Color::black()),
-	origin			(0,0),
-	radius			(1),
-	feather			(0),
-	invert			(false),
-	falloff			(FALLOFF_INTERPOLATION_LINEAR)
+	Layer_Composite (1.0,Color::BLEND_COMPOSITE),
+	param_color     (Color::black()),
+	param_origin    (Point(0,0)),
+	param_radius    (Real(1)),
+	param_feather   (Real(0)),
+	param_invert    (bool(false)),
+	param_falloff   (FALLOFF_INTERPOLATION_LINEAR)
 {
 	constructcache();
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 bool
 Circle::ImportParameters(const String &param, const ValueBase &value)
 {
-	IMPORT_PLUS(color, { if (color.get_a() == 0) { if (converted_blend_) {
-					set_blend_method(Color::BLEND_ALPHA_OVER);
-					color.set_a(1); } else transparent_color_ = true; } });
-	IMPORT(radius);
-	IMPORT_PLUS(feather, if(feather<0)feather=0;);
-	IMPORT(invert);
-	IMPORT(origin);
-	IMPORT(falloff);
-
-	IMPORT_AS(origin,"pos");
+	IMPORT_VALUE_PLUS(param_color,
+		  {
+			  Color color(param_color.get(Color()));
+			  if (color.get_a() == 0)
+			  {
+				  if(converted_blend_)
+				  {
+					  set_blend_method(Color::BLEND_ALPHA_OVER);
+					  color.set_a(1);
+					  param_color.set(color);
+				  }
+				  else
+					  transparent_color_ = true;
+			  }
+		  }
+	);
+	IMPORT_VALUE(param_radius);
+	IMPORT_VALUE_PLUS(param_feather,
+		if(param_feather.get(Real())<0)
+		{
+			param_feather.set(Real(0));
+		}
+	);
+	IMPORT_VALUE(param_invert);
+	IMPORT_VALUE(param_origin);
+	IMPORT_VALUE(param_falloff);
+	if(param=="pos")
+		return ImportParameters("origin",value);
 
 	return Layer_Composite::set_param(param,value);
 }
@@ -106,12 +124,12 @@ Circle::set_param(const String &param, const ValueBase &value)
 ValueBase
 Circle::get_param(const String &param)const
 {
-	EXPORT(color);
-	EXPORT(radius);
-	EXPORT(feather);
-	EXPORT(invert);
-	EXPORT(origin);
-	EXPORT(falloff);
+	EXPORT_VALUE(param_color);
+	EXPORT_VALUE(param_radius);
+	EXPORT_VALUE(param_feather);
+	EXPORT_VALUE(param_invert);
+	EXPORT_VALUE(param_origin);
+	EXPORT_VALUE(param_falloff);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -165,6 +183,11 @@ Circle::get_param_vocab()const
 synfig::Layer::Handle
 Circle::hit_check(synfig::Context context, const synfig::Point &point)const
 {
+	Real radius = param_radius.get(Real());
+	Real feather = param_feather.get(Real());
+	Point origin = param_origin.get(Point());
+	bool invert = param_invert.get(bool());
+	
 	Point temp=origin-point;
 
 	if(get_amount()==0)
@@ -278,6 +301,8 @@ Circle::InvCosineFalloff(const Circle::CircleDataCache &c, const Real &mag_sqd)
 
 void Circle::constructcache()
 {
+	Real radius = param_radius.get(Real());
+	Real feather = param_feather.get(Real());
 	cache.inner_radius = radius - feather;
 	if(cache.inner_radius < 0)
 		cache.inner_radius = 0;
@@ -295,6 +320,8 @@ void Circle::constructcache()
 
 Circle::FALLOFF_FUNC *Circle::GetFalloffFunc()const
 {
+	bool invert = param_invert.get(bool());
+	Falloff falloff = param_falloff.get(FALLOFF_SQUARED);
 	switch(falloff)
 	{
 	case FALLOFF_SQUARED:	return invert?InvSqdFalloff:SqdFalloff;
@@ -313,6 +340,11 @@ Circle::FALLOFF_FUNC *Circle::GetFalloffFunc()const
 Color
 Circle::get_color(Context context, const Point &point)const
 {
+	Real radius = param_radius.get(Real());
+	Real feather = param_feather.get(Real());
+	Point origin = param_origin.get(Point());
+	bool invert = param_invert.get(bool());
+	Color color(param_color.get(Color()));
 	if(is_disabled() || (radius==0 && invert==false && !feather))
 		return context.get_color(point);
 
@@ -421,6 +453,11 @@ Circle::get_color(Context context, const Point &point)const
 bool
 Circle::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	Real radius = param_radius.get(Real());
+	Real feather = param_feather.get(Real());
+	Point origin = param_origin.get(Point());
+	bool invert = param_invert.get(bool());
+	Color color(param_color.get(Color()));
 	// trivial case
 	if(is_disabled() || (radius==0 && invert==false && !feather))
 		return context.accelerated_render(surface,quality, renddesc, cb);
@@ -753,14 +790,19 @@ Circle::accelerated_render(Context context,Surface *surface,int quality, const R
 }
 
 ///////////
-
 bool
-Circle::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+Circle::accelerated_cairorender(Context context,cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	Real radius = param_radius.get(Real());
+	Real feather = param_feather.get(Real());
+	Point origin = param_origin.get(Point());
+	bool invert = param_invert.get(bool());
+	Color color(param_color.get(Color()));
+
 	// trivial case
 	if(is_disabled() || (radius==0 && invert==false && !feather))
-		return context.accelerated_cairorender(surface,quality, renddesc, cb);
-
+		return context.accelerated_cairorender(cr,quality, renddesc, cb);
+	
 	// Grab the rgba values
 	const float r(color.get_r());
 	const float g(color.get_g());
@@ -770,40 +812,19 @@ Circle::accelerated_cairorender(Context context,cairo_surface_t *surface,int qua
 	// Another trivial case
 	if(invert && radius==0 && is_solid_color())
 	{
-		cairo_t* cr=cairo_create(surface);
 		cairo_set_source_rgba(cr, r, g, b, a); // a=1.0
 		cairo_paint(cr);
 		cairo_restore(cr);
-		cairo_destroy(cr);
 		return true;
 	}
-	
-	// Window Boundaries
-	const Point	tl(renddesc.get_tl());
-	const Point br(renddesc.get_br());
-	const int	w(renddesc.get_w());
-	const int	h(renddesc.get_h());
-		
-	// Width and Height of a pixel
-	const Real pw = (br[0] - tl[0]) / w;
-	const Real ph = (br[1] - tl[1]) / h;
 
-	// These are the scale and translation values
-	const double tx(-tl[0]/pw);
-	const double ty(-tl[1]/ph);
-	const double sx(1/pw);
-	const double sy(1/ph);
-	
-	// True if circle is degenerated (out_radius <0)
-	bool degenerated(false);
-	
 	// Don't render feathering at all when quality is 10
 	// Cairo will take care of the anti-aliased appaerance
 	const Real newfeather = (quality == 10) ? 0 : feather;
-
+	
 	const Real in_radius=radius-newfeather>0?radius-newfeather:0;
 	const Real out_radius=radius+newfeather;
-
+	
 	const Real inner_radius = radius-newfeather>0 ? radius-newfeather : 0;
 	const Real outer_radius = radius+newfeather;
 	
@@ -823,342 +844,47 @@ Circle::accelerated_cairorender(Context context,cairo_surface_t *surface,int qua
 		diff_radii_sqd,double_feather
 	};
 	
-	const Point
-			out_bl(origin-Point(out_radius, out_radius)),
-			out_tr(origin+Point(out_radius, out_radius)),
-			in_bl(origin-Point(1.0, 1.0).norm()*in_radius),
-			in_tr(origin+Point(1.0, 1.0).norm()*in_radius);
-	
-	// if tr and bl are swaped then the circle is degenerated
-	if(out_bl[0] >= out_tr[0] || out_bl[1]>=out_tr[1]) degenerated=true;
-	
-	cairo_t* cr=cairo_create(surface);
-	// This is a rectangle with the same dimensions of the outer circle
-	const Rect shape_out(out_bl, out_tr);
-	const Rect shape_in(in_bl, in_tr);
-	// This is a rectangle with the same dimensions of the canvas
-	const Rect dest(tl, br);
-	Rect inter_out(dest);
-	Rect inter_in(dest);
-	// inter holds the intersection rectangle of canvas and circle.
-	inter_out&=shape_out;
-	inter_in&=shape_in;
-	
-	Point inter_out_min(inter_out.get_min());
-	Point inter_out_max(inter_out.get_max());
-	Point inter_in_min(inter_out.get_min());
-	Point inter_in_max(inter_out.get_max());
-
-	//let the rendering begin
-	SuperCallback supercb(cb,0,9000,10000);
+	if(!context.accelerated_cairorender(cr,quality,renddesc,cb))
+	{
+		if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Cairo Renderer Failure",__LINE__));
+		return false;
+	}
 	if(!newfeather)
 	{
 		if(invert)
 		{
-			if(
-			   is_solid_color()
-			   ||
-			   (get_blend_method() == Color::BLEND_COMPOSITE &&
-			   get_amount() == 1.0f &&
-			   color.get_a() == 1.0f)
-			   )
-			{
-				// Fill the surface with the color intially
-				cairo_save(cr);
-				cairo_set_source_rgba(cr, r, g, b, a); // a=1.0
-				cairo_paint(cr);
-				cairo_restore(cr);
-				
-				// Check for the case where there is nothing else to render
-				if (degenerated)
-				{
-					cairo_destroy(cr);
-					return true;
-				}
-				// Now clear a hole on the surface with out_radius
-				cairo_save(cr);
-				cairo_translate(cr, tx , ty);
-				cairo_scale(cr, sx, sy);
-				cairo_arc(cr, origin[0], origin[1], out_radius, 0., 2*M_PI);
-				cairo_clip(cr);
-				cairo_set_operator(cr, CAIRO_OPERATOR_CLEAR);
-				cairo_paint(cr);
-				cairo_restore(cr);
-				if(!is_solid_color())  // this means that it is just opaque.
-				{
-					// Since it is opaque it means that we don't
-					// need to render the context beyond the outer radius
-					// So first, modify the Render Description to render on
-					// the intersection only.
-					RendDesc desc(renddesc);
-					//desc.set_flags(0);
-					// this will modify the w and h values in pixels.
-					desc.set_tl(Point(inter_out_min[0], inter_out_max[1]));
-					desc.set_br(Point(inter_out_max[0], inter_out_min[1]));
-					// create a new similar surface with the wxh dimensions
-					cairo_surface_t* subimage=cairo_surface_create_similar(surface, CAIRO_CONTENT_COLOR_ALPHA, desc.get_w(), desc.get_h());
-					// Render what is behind us
-					if(!context.accelerated_cairorender(subimage,quality,desc,cb))
-					{
-						if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Cairo Renderer Failure",__LINE__));
-						{
-							cairo_surface_destroy(subimage);
-							cairo_destroy(cr);
-							return false;
-						}
-					}
-					// Now, place the rendered behind the inverted circle.
-					// remember that the circle has Composite blend method at
-					// this point
-					double width (inter_out_max[0]-inter_out_min[0]);
-					double height(inter_out_max[1]-inter_out_min[1]);
-					cairo_save(cr);
-					cairo_set_source_surface(cr, subimage, (inter_out_min[0]-tl[0])/pw, (inter_out_max[1]-tl[1])/ph);
-					cairo_translate(cr, tx , ty);
-					cairo_scale(cr, sx, sy);
-					cairo_rectangle(cr, inter_out_min[0], inter_out_min[1], width, height);
-					cairo_clip(cr);
-					cairo_set_operator(cr, CAIRO_OPERATOR_DEST_OVER);
-					cairo_paint(cr);
-					cairo_restore(cr);
-				}
-				cairo_destroy(cr);
-				return true;
-			}
-			else // inverted but semitransparent
-			{
-				// Initially render what's behind us
-				if(!context.accelerated_cairorender(surface,quality,renddesc,cb))
-				{
-					if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Cairo Renderer Failure",__LINE__));
-					cairo_destroy(cr);
-					return false;
-				}
-				// Now let's render the inverted circle in other surface
-				// Initially I'll fill it completely with the alpha color
-				// Create a similar image with the same dimensions than the current renddesc
-				cairo_surface_t* subimage=cairo_surface_create_similar(surface, CAIRO_CONTENT_COLOR_ALPHA, renddesc.get_w(), renddesc.get_h());
-				cairo_t* subcr=cairo_create(subimage);
-				cairo_set_source_rgba(subcr, r, g, b, a);
-				cairo_paint(subcr);
-				// now remove the area of the intersection circle
-				cairo_save(subcr);
-				cairo_translate(subcr, tx , ty);
-				cairo_scale(subcr, sx, sy);
-				cairo_arc(subcr, origin[0], origin[1], out_radius, 0., 2*M_PI);
-				cairo_clip(subcr);
-				cairo_set_operator(subcr, CAIRO_OPERATOR_CLEAR);
-				cairo_paint(subcr);
-				cairo_restore(subcr);
-				// now let's paint the inverted circle with the hole on the rendered context
-				cairo_save(cr);
-				cairo_set_source_surface(cr, subimage, 0, 0);
-				cairo_paint_with_alpha_operator(cr, get_amount(), get_blend_method());
-				cairo_restore(cr);
-				cairo_surface_destroy(subimage);
-				cairo_destroy(subcr);
-				cairo_destroy(cr);
-				return true;
-			}
-			
+			cairo_push_group(cr);
+			cairo_set_source_rgba(cr, r, g, b, a);
+			cairo_reset_clip(cr);
+			cairo_set_operator(cr, CAIRO_OPERATOR_OVER);
+			cairo_paint(cr);
+			cairo_set_operator(cr, CAIRO_OPERATOR_CLEAR);
+			cairo_arc(cr, origin[0], origin[1], out_radius, 0., 2*M_PI);
+			cairo_clip(cr);
+			cairo_paint(cr);
+			cairo_pop_group_to_source(cr);
+			cairo_paint_with_alpha_operator(cr, get_amount(), get_blend_method());
 		}
-		else // not inverted
+		else
 		{
-		// check if the circle covers completely the canvas
-		// and it is full opaque
-			if(
-			   (
-			   is_solid_color()
-			   ||
-			   (get_blend_method() == Color::BLEND_COMPOSITE &&
-				get_amount() == 1.0f &&
-				color.get_a() == 1.0f)
-			   )
-			   &&
-			   inter_in==dest
-			  )
-				{
-					// Fill the surface with the color
-					cairo_save(cr);
-					cairo_set_source_rgba(cr, r, g, b, a); // a=1.0
-					cairo_paint(cr);
-					cairo_restore(cr);
-					cairo_destroy(cr);
-					// Mark our progress as finished
-					if(cb && !cb->amount_complete(10000,10000))
-						return false;
-					return true;
-				}
-			else // need to render the background first
-			   {
-				   // Initially render what's behind us
-				   if(!context.accelerated_cairorender(surface,quality,renddesc,cb))
-				   {
-					   if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Cairo Renderer Failure",__LINE__));
-					   cairo_destroy(cr);
-					   return false;
-				   }
-				   // Now draw the circle with the out_radius
-				   cairo_save(cr);
-				   cairo_translate(cr, tx , ty);
-				   cairo_scale(cr, sx, sy);
-				   cairo_arc(cr, origin[0], origin[1], out_radius, 0., 2*M_PI);
-				   cairo_clip(cr);
-				   cairo_set_source_rgba(cr, r, g, b, a);
-				   cairo_paint_with_alpha_operator(cr, get_amount(), get_blend_method());
-				   cairo_restore(cr);
-				   cairo_destroy(cr);
-				   return true;
-   			   }
+			cairo_save(cr);
+			cairo_set_source_rgba(cr, r, g, b, a);
+			cairo_arc(cr, origin[0], origin[1], out_radius, 0., 2*M_PI);
+			cairo_clip(cr);
+			cairo_paint_with_alpha_operator(cr, get_amount(), get_blend_method());
+			cairo_restore(cr);
 		}
 	}
-	else // feathered circle
+	else
 	{
-		if(invert)
-		{
-			if(
-			   is_solid_color()
-			   ||
-			   (get_blend_method() == Color::BLEND_COMPOSITE &&
-				get_amount() == 1.0f &&
-				color.get_a() == 1.0f)
-			   )
-			{
-				// Draw the inverted feathered circle
-				cairo_pattern_t* gradient=cairo_pattern_create_radial(origin[0], origin[1], in_radius, origin[0], origin[1], out_radius);
-				compile_gradient(gradient, cache, func);
-				cairo_save(cr);
-				cairo_translate(cr, tx , ty);
-				cairo_scale(cr, sx, sy);
-				cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
-				cairo_set_source(cr, gradient);
-				cairo_paint(cr);
-				cairo_pattern_destroy(gradient); // Not needed more
-				cairo_restore(cr);
-				// Check for the case where there is nothing else to render
-				if (degenerated)
-				{
-					cairo_destroy(cr);
-					return true;
-				}
-				if(!is_solid_color())  // this means that it is just opaque.
-				{
-					// Since it is opaque it means that we don't
-					// need to render the context beyond the outer radius
-					// So first, modify the Render Description to render on
-					// the intersection only.
-					RendDesc desc(renddesc);
-					//desc.set_flags(0);
-					// this will modify the w and h values in pixels.
-					desc.set_tl(Point(inter_out_min[0], inter_out_max[1]));
-					desc.set_br(Point(inter_out_max[0], inter_out_min[1]));
-					// create a new similar surface with the wxh dimensions
-					cairo_surface_t* subimage=cairo_surface_create_similar(surface, CAIRO_CONTENT_COLOR_ALPHA, desc.get_w(), desc.get_h());
-					// Render what is behind us
-					if(!context.accelerated_cairorender(subimage,quality,desc,cb))
-					{
-						if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Cairo Renderer Failure",__LINE__));
-						{
-							cairo_surface_destroy(subimage);
-							cairo_destroy(cr);
-							return false;
-						}
-					}
-					// Now, place the rendered surface behind the inverted circle.
-					// remember that the circle has Composite blend method at
-					// this point
-					double width (inter_out_max[0]-inter_out_min[0]);
-					double height(inter_out_max[1]-inter_out_min[1]);
-					cairo_save(cr);
-					cairo_set_source_surface(cr, subimage, (inter_out_min[0]-tl[0])/pw, (inter_out_max[1]-tl[1])/ph);
-					cairo_translate(cr, tx , ty);
-					cairo_scale(cr, sx, sy);
-					cairo_rectangle(cr, inter_out_min[0], inter_out_min[1], width, height);
-					cairo_clip(cr);
-					cairo_set_operator(cr, CAIRO_OPERATOR_DEST_OVER);
-					cairo_paint(cr);
-					cairo_restore(cr);
-					cairo_surface_destroy(subimage);
-					cairo_destroy(cr);
-					return true;
-				}
-			}
-			else //inverted and semi transparent
-			{
-				// Initially render what's behind us
-				if(!context.accelerated_cairorender(surface,quality,renddesc,cb))
-				{
-					if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Cairo Renderer Failure",__LINE__));
-					cairo_destroy(cr);
-					return false;
-				}
-				// Draw the inverted feathered circle
-				cairo_pattern_t* gradient=cairo_pattern_create_radial(origin[0], origin[1], in_radius, origin[0], origin[1], out_radius);
-				compile_gradient(gradient, cache, func);
-				cairo_save(cr);
-				cairo_translate(cr, tx , ty);
-				cairo_scale(cr, sx, sy);
-				cairo_set_source(cr, gradient);
-				cairo_paint_with_alpha_operator(cr, get_amount(), get_blend_method());
-				cairo_pattern_destroy(gradient); // Not needed more
-				cairo_restore(cr);
-				cairo_destroy(cr);
-				return true;
-			}
-			
-		}
-		else // not inverted
-		{
-			// check if the circle covers completely the canvas
-			// and it is full opaque
-			if(
-			   (
-				is_solid_color()
-				||
-				(get_blend_method() == Color::BLEND_COMPOSITE &&
-				 get_amount() == 1.0f &&
-				 color.get_a() == 1.0f)
-				)
-			   &&
-			   inter_in==dest
-			   )
-			{
-				// Fill the surface with the color
-				cairo_save(cr);
-				cairo_set_source_rgba(cr, r, g, b, a); // a=1.0
-				cairo_paint(cr);
-				cairo_restore(cr);
-				cairo_destroy(cr);
-				// Mark our progress as finished
-				if(cb && !cb->amount_complete(10000,10000))
-					return false;
-				return true;	
-			}
-			else
-			{
-				// Initially render what's behind us
-				if(!context.accelerated_cairorender(surface,quality,renddesc,cb))
-				{
-					if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Cairo Renderer Failure",__LINE__));
-					cairo_destroy(cr);
-					return false;
-				}
-				// Draw the feathered circle
-				cairo_pattern_t* gradient=cairo_pattern_create_radial(origin[0], origin[1], in_radius, origin[0], origin[1], out_radius);
-				compile_gradient(gradient, cache, func);
-				cairo_save(cr);
-				cairo_translate(cr, tx , ty);
-				cairo_scale(cr, sx, sy);
-				cairo_set_source(cr, gradient);
-				cairo_paint_with_alpha_operator(cr, get_amount(), get_blend_method());
-				cairo_pattern_destroy(gradient); // Not needed more
-				cairo_restore(cr);
-				cairo_destroy(cr);
-				return true;
-			}
-		}		
+		cairo_save(cr);
+		cairo_pattern_t* gradient=cairo_pattern_create_radial(origin[0], origin[1], in_radius, origin[0], origin[1], out_radius);
+		compile_gradient(gradient, cache, func);
+		cairo_set_source(cr, gradient);
+		cairo_paint_with_alpha_operator(cr, get_amount(), get_blend_method());
+		cairo_pattern_destroy(gradient);
+		cairo_restore(cr);
 	}
-	cairo_destroy(cr);
 	return true;
 }
 
@@ -1167,6 +893,7 @@ void
 Circle::compile_gradient(cairo_pattern_t* gradient, CircleDataCache mycache, FALLOFF_FUNC *func)const
 {
 	double index;
+	Color color = param_color.get(Color());
 	const float r(color.get_r());
 	const float g(color.get_g());
 	const float b(color.get_b());
@@ -1187,6 +914,10 @@ Circle::compile_gradient(cairo_pattern_t* gradient, CircleDataCache mycache, FAL
 Rect
 Circle::get_bounding_rect()const
 {
+	Real radius = param_radius.get(Real());
+	Real feather = param_feather.get(Real());
+	Point origin = param_origin.get(Point());
+	bool invert = param_invert.get(bool());
 	if(invert)
 		return Rect::full_plane();
 
@@ -1203,6 +934,11 @@ Circle::get_bounding_rect()const
 Rect
 Circle::get_full_bounding_rect(Context context)const
 {
+	Real radius = param_radius.get(Real());
+	Color color = param_color.get(Color());
+	Real feather = param_feather.get(Real());
+	Point origin = param_origin.get(Point());
+	bool invert = param_invert.get(bool());
 	if(invert)
 	{
 		if(is_solid_color() && color.get_a()==0)
diff --git a/src/modules/mod_geometry/circle.h b/src/modules/mod_geometry/circle.h
index b9eae7b..1e51b24 100644
--- a/src/modules/mod_geometry/circle.h
+++ b/src/modules/mod_geometry/circle.h
@@ -32,6 +32,7 @@
 #include <synfig/layer_composite.h>
 #include <synfig/color.h>
 #include <synfig/vector.h>
+#include <synfig/value.h>
 
 using namespace synfig;
 using namespace std;
@@ -47,12 +48,18 @@ class Circle : public synfig::Layer_Composite, public synfig::Layer_NoDeform
 {
 	SYNFIG_LAYER_MODULE_EXT
 private:
-	synfig::Color color;
-	synfig::Point origin;
-	synfig::Real radius;
-	synfig::Real feather;
-	bool invert;
-	int falloff;
+	//!Parameter: (Color)
+	ValueBase param_color;
+	//!Parameter: (Point)
+	ValueBase param_origin;
+	//!Parameter: (Real)
+	ValueBase param_radius;
+	//!Parameter: (Real)
+	ValueBase param_feather;
+	//!Parameter: (bool)
+	ValueBase param_invert;
+	//!Parameter: (int)
+	ValueBase param_falloff;
 
 	//Caching system for circle
 	struct CircleDataCache
@@ -108,7 +115,7 @@ public:
 	virtual Color get_color(Context context, const Point &pos)const;
 
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context,cairo_t *cr,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 
 	virtual synfig::Rect get_full_bounding_rect(synfig::Context context)const;
 	virtual synfig::Rect get_bounding_rect()const;
diff --git a/src/modules/mod_geometry/outline.cpp b/src/modules/mod_geometry/outline.cpp
index 8e3ec12..a7dc675 100644
--- a/src/modules/mod_geometry/outline.cpp
+++ b/src/modules/mod_geometry/outline.cpp
@@ -138,13 +138,13 @@ Point line_intersection(
 Outline::Outline()
 {
 	old_version=false;
-	round_tip[0]=true;
-	round_tip[1]=true;
-	sharp_cusps=true;
-	width=1.0f;
-	loopyness=1.0f;
-	expand=0;
-	homogeneous_width=true;
+	param_round_tip[0]=ValueBase(true);
+	param_round_tip[1]=ValueBase(true);
+	param_sharp_cusps=ValueBase(true);
+	param_width=ValueBase(Real(1.0f));
+	param_loopyness=ValueBase(Real(1.0f));
+	param_expand=ValueBase(Real(0));
+	param_homogeneous_width=ValueBase(true);
 	clear();
 
 	vector<BLinePoint> bline_point_list;
@@ -160,12 +160,12 @@ Outline::Outline()
 	bline_point_list[0].set_width(1.0f);
 	bline_point_list[1].set_width(1.0f);
 	bline_point_list[2].set_width(1.0f);
-	bline=bline_point_list;
+	param_bline.set(bline_point_list);
 
 	needs_sync=true;
-
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 
@@ -176,6 +176,15 @@ Outline::Outline()
 void
 Outline::sync()
 {
+	ValueBase bline=param_bline;
+	bool round_tip[2];
+	round_tip[0]=param_round_tip[0].get(bool());
+	round_tip[1]=param_round_tip[1].get(bool());
+	bool sharp_cusps=param_sharp_cusps.get(bool());
+	Real width=param_width.get(Real());
+	Real expand=param_expand.get(Real());
+	bool homogeneous_width=param_homogeneous_width.get(bool());
+	
 	clear();
 
 	if (!bline.get_list().size())
@@ -697,7 +706,7 @@ Outline::set_param(const String & param, const ValueBase &value)
 		//if(value.get_contained_type()!=ValueBase::TYPE_BLINEPOINT)
 		//	return false;
 
-		bline=value;
+		param_bline=value;
 
 		return true;
 	}
@@ -752,13 +761,13 @@ Outline::set_param(const String & param, const ValueBase &value)
 	}
 	*/
 
-	IMPORT(round_tip[0]);
-	IMPORT(round_tip[1]);
-	IMPORT(sharp_cusps);
-	IMPORT_PLUS(width,if(old_version){width*=2.0;});
-	IMPORT(loopyness);
-	IMPORT(expand);
-	IMPORT(homogeneous_width);
+	IMPORT_VALUE(param_round_tip[0]);
+	IMPORT_VALUE(param_round_tip[1]);
+	IMPORT_VALUE(param_sharp_cusps);
+	IMPORT_VALUE_PLUS(param_width,if(old_version){param_width.set(param_width.get(Real())*2.0);});
+	IMPORT_VALUE(param_loopyness);
+	IMPORT_VALUE(param_expand);
+	IMPORT_VALUE(param_homogeneous_width);
 
 	if(param!="vector_list")
 		return Layer_Polygon::set_param(param,value);
@@ -767,14 +776,14 @@ Outline::set_param(const String & param, const ValueBase &value)
 }
 
 void
-Outline::set_time(Context context, Time time)const
+Outline::set_time(IndependentContext context, Time time)const
 {
 	const_cast<Outline*>(this)->sync();
 	context.set_time(time);
 }
 
 void
-Outline::set_time(Context context, Time time, Vector pos)const
+Outline::set_time(IndependentContext context, Time time, Vector pos)const
 {
 	const_cast<Outline*>(this)->sync();
 	context.set_time(time,pos);
@@ -783,16 +792,16 @@ Outline::set_time(Context context, Time time, Vector pos)const
 ValueBase
 Outline::get_param(const String& param)const
 {
-	EXPORT(bline);
-	EXPORT(expand);
+	EXPORT_VALUE(param_bline);
+	EXPORT_VALUE(param_expand);
 	//EXPORT(width_list);
 	//EXPORT(segment_list);
-	EXPORT(homogeneous_width);
-	EXPORT(round_tip[0]);
-	EXPORT(round_tip[1]);
-	EXPORT(sharp_cusps);
-	EXPORT(width);
-	EXPORT(loopyness);
+	EXPORT_VALUE(param_homogeneous_width);
+	EXPORT_VALUE(param_round_tip[0]);
+	EXPORT_VALUE(param_round_tip[1]);
+	EXPORT_VALUE(param_sharp_cusps);
+	EXPORT_VALUE(param_width);
+	EXPORT_VALUE(param_loopyness);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -854,6 +863,7 @@ Outline::get_param_vocab()const
 	);
 	ret.push_back(ParamDesc("loopyness")
 		.set_local_name(_("Loopyness"))
+		.set_description(_("(Currently not used)"))
 	);
 	ret.push_back(ParamDesc("homogeneous_width")
 		.set_local_name(_("Homogeneous"))
@@ -863,246 +873,3 @@ Outline::get_param_vocab()const
 	return ret;
 }
 
-
-bool
-Outline::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
-{
-	std::vector<synfig::Segment> segments;
-	
-	// Grab the rgba values
-	const float r(color.get_r());
-	const float g(color.get_g());
-	const float b(color.get_b());
-	const float a(color.get_a());
-	
-	// Window Boundaries
-	const Point	tl(renddesc.get_tl());
-	const Point br(renddesc.get_br());
-	const int	w(renddesc.get_w());
-	const int	h(renddesc.get_h());
-	
-	// Width and Height of a pixel
-	const Real pw = (br[0] - tl[0]) / w;
-	const Real ph = (br[1] - tl[1]) / h;
-	
-	// These are the scale and translation values
-	const double sx(1/pw);
-	const double sy(1/ph);
-	const double tx((-tl[0]+origin[0])*sx);
-	const double ty((-tl[1]+origin[1])*sy);
-	
-	if(bline.get_contained_type()==ValueBase::TYPE_BLINEPOINT)
-		segments=convert_bline_to_segment_list(bline);
-	else if(bline.get_contained_type()==ValueBase::TYPE_SEGMENT)
-		segments=vector<synfig::Segment>(bline.get_list().begin(), bline.get_list().end());
-	else
-	{
-		synfig::warning("Outline: incorrect type on bline, layer disabled");
-		return false;
-	}
-	
-	if(segments.empty())
-	{
-		synfig::warning("Outline: segment_list is empty, layer disabled");
-		return false;
-	}
-	
-	//Calculate the average width
-	Real average_width(0);
-	std::vector<BLinePoint> list(bline.get_list().begin(),bline.get_list().end());
-	std::vector<BLinePoint>::const_iterator	biter;
-	for(biter=list.begin();biter!=list.end();++biter)
-		average_width+=biter->get_width();
-	if(list.size())
-		average_width/=list.size();
-
-	cairo_t* cr=cairo_create(surface);
-	// Let's render the outline in other surface
-	// Initially I'll fill it completely with the alpha color
-	cairo_surface_t* subimage;
-	// Let's calculate the subimage dimensions based on the feather value
-	//so make a separate surface
-	RendDesc	workdesc(renddesc);
-	int halfsizex(0), halfsizey(0);
-	if(feather && quality != 10)
-	{
-		//the expanded size = 1/2 the size in each direction rounded up
-		halfsizex = (int) (abs(feather*.5/pw) + 3),
-		halfsizey = (int) (abs(feather*.5/ph) + 3);
-		
-		//expand by 1/2 size in each direction on either side
-		switch(blurtype)
-		{
-			case Blur::DISC:
-			case Blur::BOX:
-			case Blur::CROSS:
-			{
-				workdesc.set_subwindow(-max(1,halfsizex),-max(1,halfsizey),w+2*max(1,halfsizex),h+2*max(1,halfsizey));
-				break;
-			}
-			case Blur::FASTGAUSSIAN:
-			{
-				if(quality < 4)
-				{
-					halfsizex*=2;
-					halfsizey*=2;
-				}
-				workdesc.set_subwindow(-max(1,halfsizex),-max(1,halfsizey),w+2*max(1,halfsizex),h+2*max(1,halfsizey));
-				break;
-			}
-			case Blur::GAUSSIAN:
-			{
-#define GAUSSIAN_ADJUSTMENT		(0.05)
-				Real	pw = (Real)workdesc.get_w()/(workdesc.get_br()[0]-workdesc.get_tl()[0]);
-				Real 	ph = (Real)workdesc.get_h()/(workdesc.get_br()[1]-workdesc.get_tl()[1]);
-				
-				pw=pw*pw;
-				ph=ph*ph;
-				
-				halfsizex = (int)(abs(pw)*feather*GAUSSIAN_ADJUSTMENT+0.5);
-				halfsizey = (int)(abs(ph)*feather*GAUSSIAN_ADJUSTMENT+0.5);
-				
-				halfsizex = (halfsizex + 1)/2;
-				halfsizey = (halfsizey + 1)/2;
-				workdesc.set_subwindow( -halfsizex, -halfsizey, w+2*halfsizex, h+2*halfsizey );
-				break;
-#undef GAUSSIAN_ADJUSTMENT
-			}
-		}
-	}
-	subimage=cairo_surface_create_similar(surface, CAIRO_CONTENT_COLOR_ALPHA, workdesc.get_w(), workdesc.get_h());
-	cairo_t* subcr=cairo_create(subimage);
-	cairo_save(subcr);
-	cairo_set_source_rgba(subcr, r, g, b, a);
-	// Now let's check if it is inverted
-	if(invert)
-	{
-		cairo_paint(subcr);
-	}
-	// Draw the outline
-	// Calculate new translations after expand the tile
-	const double extx((-workdesc.get_tl()[0]+origin[0])*sx);
-	const double exty((-workdesc.get_tl()[1]+origin[1])*sy);
-	
-	cairo_translate(subcr, extx , exty);
-	cairo_scale(subcr, sx, sy);
-	switch(winding_style)
-	{
-		case WINDING_NON_ZERO:
-			cairo_set_fill_rule(subcr, CAIRO_FILL_RULE_WINDING);
-			break;
-		default:
-			cairo_set_fill_rule(subcr, CAIRO_FILL_RULE_EVEN_ODD);
-			break;
-	}
-	if(!antialias)
-		cairo_set_antialias(subcr, CAIRO_ANTIALIAS_NONE);
-	if(invert)
-		cairo_set_operator(subcr, CAIRO_OPERATOR_CLEAR);
-	else
-		cairo_set_operator(subcr, CAIRO_OPERATOR_OVER);
-	if(quality>6)
-	{
-		vector<Segment>::const_iterator iter=segments.begin();
-		double t1x;
-		double t1y;
-		double t2x;
-		double t2y;
-		double p2x;
-		double p2y;
-		double p1x=iter->p1[0];
-		double p1y=iter->p1[1];
-		cairo_move_to(subcr, p1x, p1y);
-		for(;iter!=segments.end();++iter)
-		{
-			t1x=iter->t1[0];
-			t1y=iter->t1[1];
-			t2x=iter->t2[0];
-			t2y=iter->t2[1];
-			p1x=iter->p1[0];
-			p1y=iter->p1[1];
-			p2x=iter->p2[0];
-			p2y=iter->p2[1];
-			cairo_curve_to(subcr, p1x+t1x/3, p1y+t1y/3, p2x-t2x/3, p2y-t2y/3, p2x, p2y);
-		}
-
-		if(loop_) cairo_close_path(subcr);
-		cairo_set_line_width(subcr, average_width*width+expand);
-		if(sharp_cusps)
-			cairo_set_line_join(subcr, CAIRO_LINE_JOIN_MITER);
-		else
-			cairo_set_line_join(subcr, CAIRO_LINE_JOIN_BEVEL);
-		
-		if(round_tip[0] || round_tip[1])
-			cairo_set_line_cap(subcr, CAIRO_LINE_CAP_ROUND);
-		else
-			cairo_set_line_cap(subcr, CAIRO_LINE_CAP_BUTT);
-		
-		cairo_stroke(subcr);
-	}
-	else
-	{
-		Layer_Shape::shape_to_cairo(subcr);
-		cairo_clip(subcr);
-		cairo_paint(subcr);
-	}
-	
-	cairo_restore(subcr);
-	if(feather && quality!=10)
-	{
-		etl::surface<float>	shapesurface;
-		shapesurface.set_wh(workdesc.get_w(),workdesc.get_h());
-		shapesurface.clear();
-		
-		CairoSurface cairosubimage(subimage);
-		if(!cairosubimage.map_cairo_image())
-		{
-			synfig::info("map cairo image failed");
-			return false;
-		}
-		// Extract the alpha values:
-		int x, y;
-		int wh(workdesc.get_h()), ww(workdesc.get_w());
-		float div=1.0/((float)(CairoColor::ceil));
-		for(y=0; y<wh; y++)
-			for(x=0;x<ww;x++)
-				shapesurface[y][x]=cairosubimage[y][x].get_a()*div;
-		// Blue the alpha values
-		Blur(feather,feather,blurtype,cb)(shapesurface,workdesc.get_br()-workdesc.get_tl(),shapesurface);
-		// repaint the cairosubimage with the result
-		Color ccolor(color);
-		for(y=0; y<wh; y++)
-			for(x=0;x<ww;x++)
-			{
-				float a=shapesurface[y][x];
-				ccolor.set_a(a);
-				ccolor.clamped();
-				cairosubimage[y][x]=CairoColor(ccolor).premult_alpha();
-			}
-		
-		cairosubimage.unmap_cairo_image();
-	}
-	
-	// Put the (feathered) outline on the surface
-	if(!is_solid_color()) // we need to render the context before
-		if(!context.accelerated_cairorender(surface,quality,renddesc,cb))
-		{
-			if(cb)
-				cb->error(strprintf(__FILE__"%d: Accelerated Cairo Renderer Failure",__LINE__));
-			cairo_destroy(cr);
-			cairo_destroy(subcr);
-			cairo_surface_destroy(subimage);
-			return false;
-		}
-	cairo_save(cr);
-	const double px(tl[0]-workdesc.get_tl()[0]);
-	const double py(tl[1]-workdesc.get_tl()[1]);
-	cairo_set_source_surface(cr, subimage, -px*sx, -py*sy);
-	cairo_paint_with_alpha_operator(cr, get_amount(), get_blend_method());
-	cairo_restore(cr);
-	cairo_surface_destroy(subimage);
-	cairo_destroy(subcr);
-	cairo_destroy(cr);
-	
-	return true;
-}
diff --git a/src/modules/mod_geometry/outline.h b/src/modules/mod_geometry/outline.h
index 58ded6e..c40c6f1 100644
--- a/src/modules/mod_geometry/outline.h
+++ b/src/modules/mod_geometry/outline.h
@@ -48,28 +48,30 @@ class Outline : public synfig::Layer_Polygon
 {
 	SYNFIG_LAYER_MODULE_EXT
 private:
+	//! Parameter: type list of BLinePoints
+	ValueBase param_bline;
+	//! Parameter: (bool)
+	ValueBase param_round_tip[2];
+	//! Parameter: (bool)
+	ValueBase param_sharp_cusps;
+	//! Parameter: (bool)
+	ValueBase param_loop;
+	//! Parameter: (Real)
+	ValueBase param_width;
+	//! Parameter: (Real)
+	ValueBase param_expand;
+	//! Parameter: (Real)
+	ValueBase param_loopyness;
+	//! Parameter: (bool)
+	ValueBase param_homogeneous_width;
 
-	synfig::ValueBase bline;
-
-	std::vector<synfig::Segment> segment_list;
-	std::vector<synfig::Real> width_list;
-
-	bool round_tip[2];
-
-	bool sharp_cusps;
-
-	bool loop_;
-
-	synfig::Real width;
-
-	synfig::Real expand;
-
-	Real loopyness;
 	bool old_version;
 
 	bool needs_sync;
 
-	bool homogeneous_width;
+
+	std::vector<synfig::Segment> segment_list;
+	std::vector<synfig::Real> width_list;
 
 public:
 
@@ -83,11 +85,10 @@ public:
 	virtual ValueBase get_param(const String & param)const;
 
 	virtual Vocab get_param_vocab()const;
-	virtual void set_time(Context context, Time time)const;
-	virtual void set_time(Context context, Time time, Vector pos)const;
+	virtual void set_time(IndependentContext context, Time time)const;
+	virtual void set_time(IndependentContext context, Time time, Vector pos)const;
 	virtual bool set_version(const String &ver){if(ver=="0.1")old_version=true; return true;}
 	virtual void reset_version(){old_version=false;}
-	virtual bool accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 };
 
 /* === E N D =============================================================== */
diff --git a/src/modules/mod_geometry/rectangle.cpp b/src/modules/mod_geometry/rectangle.cpp
index 0fb6484..c0143bd 100644
--- a/src/modules/mod_geometry/rectangle.cpp
+++ b/src/modules/mod_geometry/rectangle.cpp
@@ -77,26 +77,39 @@ inline int floor_to_int(const double x) { return static_cast<int>(floor(x)); }
 
 Rectangle::Rectangle():
 	Layer_Composite(1.0,Color::BLEND_COMPOSITE),
-	color(Color::black()),
-	point1(0,0),
-	point2(1,1),
-	expand(0),
-	invert(false)
+	param_color(ValueBase(Color::black())),
+	param_point1(ValueBase(Point(0,0))),
+	param_point2(ValueBase(Point(1,1))),
+	param_expand(ValueBase(Real(0))),
+	param_invert(ValueBase(false))
 {
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 bool
 Rectangle::set_param(const String & param, const ValueBase &value)
 {
-	IMPORT_PLUS(color, { if (color.get_a() == 0) { if (converted_blend_) {
-					set_blend_method(Color::BLEND_ALPHA_OVER);
-					color.set_a(1); } else transparent_color_ = true; } });
-	IMPORT(point1);
-	IMPORT(point2);
-	IMPORT(expand);
-	IMPORT(invert);
+	IMPORT_VALUE_PLUS(param_color,
+					  {
+						  Color color(param_color.get(Color()));
+						  if (color.get_a() == 0)
+						  {
+							  if(converted_blend_)
+							  {
+								  set_blend_method(Color::BLEND_ALPHA_OVER);
+								  color.set_a(1);
+								  param_color.set(color);
+							  }
+							  else
+								  transparent_color_ = true;
+						  }
+					  }
+					  );
+	IMPORT_VALUE(param_point1);
+	IMPORT_VALUE(param_point2);
+	IMPORT_VALUE(param_expand);
+	IMPORT_VALUE(param_invert);
 
 	return Layer_Composite::set_param(param,value);
 }
@@ -104,11 +117,11 @@ Rectangle::set_param(const String & param, const ValueBase &value)
 ValueBase
 Rectangle::get_param(const String &param)const
 {
-	EXPORT(color);
-	EXPORT(point1);
-	EXPORT(point2);
-	EXPORT(expand);
-	EXPORT(invert);
+	EXPORT_VALUE(param_color);
+	EXPORT_VALUE(param_point1);
+	EXPORT_VALUE(param_point2);
+	EXPORT_VALUE(param_expand);
+	EXPORT_VALUE(param_invert);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -152,6 +165,11 @@ Rectangle::get_param_vocab()const
 synfig::Layer::Handle
 Rectangle::hit_check(synfig::Context context, const synfig::Point &pos)const
 {
+	Point point1=param_point1.get(Point());
+	Point point2=param_point2.get(Point());
+	Real expand=param_expand.get(Real());
+	bool invert=param_invert.get(bool());
+	
 	if(is_disabled())
 		return context.hit_check(pos);
 
@@ -189,6 +207,8 @@ Rectangle::hit_check(synfig::Context context, const synfig::Point &pos)const
 bool
 Rectangle::is_solid_color()const
 {
+	Color color=param_color.get(Color());
+	
 	return Layer_Composite::is_solid_color() ||
 		(get_blend_method() == Color::BLEND_COMPOSITE &&
 		 get_amount() == 1.0f &&
@@ -198,6 +218,12 @@ Rectangle::is_solid_color()const
 Color
 Rectangle::get_color(Context context, const Point &pos)const
 {
+	Color color=param_color.get(Color());
+	Point point1=param_point1.get(Point());
+	Point point2=param_point2.get(Point());
+	Real expand=param_expand.get(Real());
+	bool invert=param_invert.get(bool());
+
 	if(is_disabled())
 		return context.get_color(pos);
 
@@ -305,6 +331,12 @@ Rectangle::get_color(Context context, const Point &pos)const
 bool
 Rectangle::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	Color color=param_color.get(Color());
+	Point point1=param_point1.get(Point());
+	Point point2=param_point2.get(Point());
+	Real expand=param_expand.get(Real());
+	bool invert=param_invert.get(bool());
+
 	if(is_disabled())
 		return context.accelerated_render(surface,quality,renddesc,cb);
 
@@ -559,35 +591,31 @@ Rectangle::accelerated_render(Context context,Surface *surface,int quality, cons
 	return true;
 }
 
-//////
-
+///////
 bool
-Rectangle::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+Rectangle::accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	Color color=param_color.get(Color());
+	Point point1=param_point1.get(Point());
+	Point point2=param_point2.get(Point());
+	Real expand=param_expand.get(Real());
+	bool invert=param_invert.get(bool());
+
 	if(is_disabled())
-		return context.accelerated_cairorender(surface,quality,renddesc,cb);
+		return context.accelerated_cairorender(cr,quality,renddesc,cb);
 	
 	const float r(color.get_r());
 	const float g(color.get_g());
 	const float b(color.get_b());
 	const float a(color.get_a());
 	
-	const Point	tl(renddesc.get_tl());
-	const Point br(renddesc.get_br());
-	
-	const int	w(renddesc.get_w());
-	const int	h(renddesc.get_h());
-
-	// Width and Height of a pixel
-	const Real pw = (br[0] - tl[0]) / w;
-	const Real ph = (br[1] - tl[1]) / h;
 	Point min(point1), max(point2);
-
+	
 	// if x max, min are swaped then swap the x coordinate
 	if(min[0] > max[0]) swap(min[0],max[0]);
 	// if y max min are swaped then swap the y coordinate
 	if(min[1] > max[1]) swap(min[1],max[1]);
-	// min is the lower left corner and max is the upper right corner 
+	// min is the lower left corner and max is the upper right corner
 	// now we need to expand the edges
 	min[0]-=expand;
 	max[0]+=expand;
@@ -596,161 +624,55 @@ Rectangle::accelerated_cairorender(Context context,cairo_surface_t *surface,int
 	//
 	//synfig::info("min=%f, %f     max=%f, %f", min[0], min[1], max[0], max[1]);
 	//
-	cairo_t* cr=cairo_create(surface);
 	// This is a rectangle with the same dimensions of the rectangle
 	const Rect shape(min, max);
-	// This is a rectangle with the same dimensions of the canvas
-	const Rect dest(tl, br);
-	Rect inter(dest);
-	// inter holds the intersection rectangle of both rectangles.
-	inter&=shape;  	
-
-	Point inter_min(inter.get_min());
-	Point inter_max(inter.get_max());
-	if(invert)
+	
+	const Point shape_min(shape.get_min());
+	const Point shape_max(shape.get_max());
+	const double width (shape_max[0]-shape_min[0]);
+	const double height(shape_max[1]-shape_min[1]);
+
+	if(!context.accelerated_cairorender(cr,quality,renddesc,cb))
 	{
-		if(is_solid_color())
-		{
-			// The rectangle is inverted and is solid color
-			// Let's do this:
-			// Fill the surface with the color intially
-			cairo_save(cr);
-			cairo_set_source_rgba(cr, r, g, b, a); // a=1.0
-			cairo_paint(cr);
-			cairo_restore(cr);
-			
-			// Check for the case where there is nothing to render
-			if (inter.area()<0.00000001)
-			{
-				cairo_destroy(cr);
-				return true;
-			}
-			// Modify the Render Description to render on the intersection.
-			// this will modify the w and h values in pixels.
-			RendDesc desc(renddesc);
-			desc.set_flags(0);
-			desc.set_tl(Point(inter.get_min()[0], inter.get_max()[1]));
-			desc.set_br(Point(inter.get_max()[0], inter.get_min()[1]));
-			// create a new similar surface with the wxh dimensions
-			cairo_surface_t* subimage=cairo_surface_create_similar(surface, CAIRO_CONTENT_COLOR_ALPHA, desc.get_w(), desc.get_h());
-			// Render what is behind us
-			if(!context.accelerated_cairorender(subimage,quality,desc,cb))
-			{
-				if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Cairo Renderer Failure",__LINE__));
-				{
-					cairo_surface_destroy(subimage);
-					cairo_destroy(cr);
-					return false;
-				}
-			}
-			cairo_save(cr);
-			double width (inter_max[0]-inter_min[0]);
-			double height(inter_max[1]-inter_min[1]);
-			double tx(-tl[0]/pw);
-			double ty(-tl[1]/ph);
-			double sx(1/pw);
-			double sy(1/ph);  
-			cairo_set_source_surface(cr, subimage, (inter_min[0]-tl[0])/pw, (inter_max[1]-tl[1])/ph);
-			cairo_translate(cr, tx , ty);
-			cairo_scale(cr, sx, sy);
-			cairo_rectangle(cr, inter_min[0], inter_min[1], width, height);
-			cairo_clip(cr);
-			cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
-			cairo_paint(cr);
-			cairo_restore(cr);
-			cairo_surface_destroy(subimage);
-			cairo_destroy(cr);
-			return true;
-		}
-		else // not solid color so we need to render what's behind
-		{
-			// Initially render what's behind us
-			if(!context.accelerated_cairorender(surface,quality,renddesc,cb))
-			{
-				if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Cairo Renderer Failure",__LINE__));
-				cairo_destroy(cr);
-				return false;
-			}
-			// Now let's render the rectangle in other surface
-			// Initially I'll fill it completely with the alpha color 
-			// Create a similar image with the same dimensions than the current renddesc
-			cairo_surface_t* subimage=cairo_surface_create_similar(surface, CAIRO_CONTENT_COLOR_ALPHA, renddesc.get_w(), renddesc.get_h());
-			cairo_t* subcr=cairo_create(subimage);
-			cairo_set_source_rgba(subcr, r, g, b, a);
-			cairo_paint(subcr);
-			// now remove the area of the intersection rectangle
-			cairo_save(subcr);
-			double width (inter_max[0]-inter_min[0]);
-			double height(inter_max[1]-inter_min[1]);
-			double tx(-tl[0]/pw);
-			double ty(-tl[1]/ph);
-			double sx(1/pw);
-			double sy(1/ph);  
-			cairo_translate(subcr, tx , ty);
-			cairo_scale(subcr, sx, sy);
-			cairo_rectangle(subcr, inter_min[0], inter_min[1], width, height);
-			cairo_set_operator(subcr, CAIRO_OPERATOR_CLEAR);
-			cairo_fill(subcr);
-			cairo_restore(subcr);
-			// now let's paint the inverted rectangle with the hole on the rendered context 
-			cairo_save(cr);
-			cairo_set_source_surface(cr, subimage, 0, 0);
-			cairo_paint_with_alpha_operator(cr, get_amount(), get_blend_method());
-			cairo_restore(cr);
-			cairo_surface_destroy(subimage);
-			cairo_destroy(subcr);
-			cairo_destroy(cr);
-			return true;			
-		}
+		if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Cairo Renderer Failure",__LINE__));
+		return false;
 	}
-	
-	// not inverted
-	// optimization - if the whole canvas is covered by this rectangle,
-	// and the rectangle is a solid color, we don't need to render
-	// what's behind us
-	if (is_solid_color() && inter==Rect(tl, br))
+
+	cairo_save(cr);
+	cairo_set_source_rgba(cr, r, g, b, a);
+	if(invert)
 	{
-		cairo_set_source_rgba(cr, r, g, b, a);
+		cairo_push_group(cr);
+		cairo_reset_clip(cr);
+		cairo_set_operator(cr, CAIRO_OPERATOR_OVER);
 		cairo_paint(cr);
-		cairo_destroy(cr);
-		return true;
+		cairo_set_operator(cr, CAIRO_OPERATOR_CLEAR);
 	}
-	// The rectangle intersects the canvas partially
-	// Render what is behind us
-	if(!context.accelerated_cairorender(surface,quality,renddesc,cb))
+	cairo_rectangle(cr, shape_min[0], shape_min[1], width, height);
+	if(invert)
 	{
-		if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Cairo Renderer Failure",__LINE__));
-		cairo_destroy(cr);
-		return false;
+		cairo_fill(cr);
+		cairo_pop_group_to_source(cr);
 	}
+	else
+		cairo_clip(cr);
 	
-	// In the case where there is nothing to render...
-	if (inter.area()<0.00000001)
-		return true;
-	cairo_save(cr);
-	cairo_set_source_rgba(cr, r, g, b, a);
-	double width (inter_max[0]-inter_min[0]);
-	double height(inter_max[1]-inter_min[1]);
-	double tx(-tl[0]/pw);
-	double ty(-tl[1]/ph);
-	double sx(1/pw);
-	double sy(1/ph);  
-	cairo_translate(cr, tx , ty);
-	cairo_scale(cr, sx, sy);
-	cairo_rectangle(cr, inter_min[0], inter_min[1], width, height);
-	cairo_clip(cr);
 	cairo_paint_with_alpha_operator(cr, get_amount(), get_blend_method());
 	cairo_restore(cr);
-	cairo_destroy(cr);
-	return true;
+
+	return  true;
 }
 
 
-//////
 
 Rect
 Rectangle::get_bounding_rect()const
 {
+	Point point1=param_point1.get(Point());
+	Point point2=param_point2.get(Point());
+	Real expand=param_expand.get(Real());
+	bool invert=param_invert.get(bool());
+
 	if(invert)
 		return Rect::full_plane();
 
@@ -787,6 +709,12 @@ Rectangle::get_bounding_rect()const
 Rect
 Rectangle::get_full_bounding_rect(Context context)const
 {
+	Color color=param_color.get(Color());
+	Point point1=param_point1.get(Point());
+	Point point2=param_point2.get(Point());
+	Real expand=param_expand.get(Real());
+	bool invert=param_invert.get(bool());
+
 	if(invert)
 	{
 		if(is_solid_color() && color.get_a()==0)
diff --git a/src/modules/mod_geometry/rectangle.h b/src/modules/mod_geometry/rectangle.h
index ebe1635..1c68845 100644
--- a/src/modules/mod_geometry/rectangle.h
+++ b/src/modules/mod_geometry/rectangle.h
@@ -45,15 +45,16 @@ class Rectangle : public synfig::Layer_Composite, public synfig::Layer_NoDeform
 	SYNFIG_LAYER_MODULE_EXT
 
 private:
-
-	synfig::Color color;
-
-	synfig::Point point1;
-	synfig::Point point2;
-
-	synfig::Real expand;
-
-	bool invert;
+	//! Parameter: (Color)
+	synfig::ValueBase param_color;
+	//! Parameter: (Point)
+	synfig::ValueBase param_point1;
+	//! Parameter: (Point)
+	synfig::ValueBase param_point2;
+	//! Parameter: (Real)
+	synfig::ValueBase param_expand;
+	//! Parameter: (bool)
+	synfig::ValueBase param_invert;
 
 public:
 
@@ -68,7 +69,7 @@ public:
 	virtual synfig::Color get_color(synfig::Context context, const synfig::Point &pos)const;
 
 	virtual bool accelerated_render(synfig::Context context,synfig::Surface *surface,int quality, const synfig::RendDesc &renddesc, synfig::ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(synfig::Context context, cairo_surface_t *surface,int quality, const synfig::RendDesc &renddesc, synfig::ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(synfig::Context context, cairo_t *cr, int quality, const synfig::RendDesc &renddesc, synfig::ProgressCallback *cb)const;
 
 	synfig::Layer::Handle hit_check(synfig::Context context, const synfig::Point &point)const;
 
diff --git a/src/modules/mod_geometry/region.cpp b/src/modules/mod_geometry/region.cpp
index 7571570..af4cbfd 100644
--- a/src/modules/mod_geometry/region.cpp
+++ b/src/modules/mod_geometry/region.cpp
@@ -88,12 +88,17 @@ Region::Region()
 	bline_point_list[0].set_width(1.0f);
 	bline_point_list[1].set_width(1.0f);
 	bline_point_list[2].set_width(1.0f);
-	bline=bline_point_list;
+	param_bline.set(bline_point_list);
+
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 void
 Region::sync()
 {
+	ValueBase bline=param_bline;
+	
 	if(bline.get_contained_type()==ValueBase::TYPE_BLINEPOINT)
 		segment_list=convert_bline_to_segment_list(bline);
 	else if(bline.get_contained_type()==ValueBase::TYPE_SEGMENT)
@@ -190,7 +195,7 @@ Region::set_param(const String & param, const ValueBase &value)
 		//if(value.get_contained_type()!=ValueBase::TYPE_BLINEPOINT)
 		//	return false;
 
-		bline=value;
+		param_bline=value;
 
 		return true;
 	}
@@ -217,7 +222,7 @@ Region::set_param(const String & param, const ValueBase &value)
 ValueBase
 Region::get_param(const String& param)const
 {
-	EXPORT(bline);
+	EXPORT_VALUE(param_bline);
 	EXPORT_NAME();
 	EXPORT_VERSION();
 
@@ -239,234 +244,16 @@ Region::get_param_vocab()const
 }
 
 void
-Region::set_time(Context context, Time time)const
+Region::set_time(IndependentContext context, Time time)const
 {
 	const_cast<Region*>(this)->sync();
 	context.set_time(time);
 }
 
 void
-Region::set_time(Context context, Time time, Vector pos)const
+Region::set_time(IndependentContext context, Time time, Vector pos)const
 {
 	const_cast<Region*>(this)->sync();
 	context.set_time(time,pos);
 }
 
-/////////
-bool
-Region::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
-{
-//	synfig::info("rendering Cairo Region");
-	std::vector<synfig::Segment> segments;
-
-	// Grab the rgba values
-	const float r(color.get_r());
-	const float g(color.get_g());
-	const float b(color.get_b());
-	const float a(color.get_a());
-	
-	// Window Boundaries
-	const Point	tl(renddesc.get_tl());
-	const Point br(renddesc.get_br());
-	const int	w(renddesc.get_w());
-	const int	h(renddesc.get_h());
-	
-	// Width and Height of a pixel
-	const Real pw = (br[0] - tl[0]) / w;
-	const Real ph = (br[1] - tl[1]) / h;
-	
-	// These are the scale and translation values
-	const double sx(1/pw);
-	const double sy(1/ph);
-	const double tx((-tl[0]+origin[0])*sx);
-	const double ty((-tl[1]+origin[1])*sy);
-	
-	if(bline.get_contained_type()==ValueBase::TYPE_BLINEPOINT)
-		segments=convert_bline_to_segment_list(bline);
-	else if(bline.get_contained_type()==ValueBase::TYPE_SEGMENT)
-		segments=vector<synfig::Segment>(bline.get_list().begin(), bline.get_list().end());
-	else
-	{
-		synfig::warning("Region: incorrect type on bline, layer disabled");
-		return false;
-	}
-	
-	if(segments.empty())
-	{
-		synfig::warning("Region: segment_list is empty, layer disabled");
-		return false;
-	}
-		
-	cairo_t* cr=cairo_create(surface);
-	// Let's render the region in other surface
-	// Initially I'll fill it completely with the alpha color
-	cairo_surface_t* subimage;
-	// Let's calculate the subimage dimensions based on the feather value
-	//so make a separate surface
-	RendDesc	workdesc(renddesc);
-	int halfsizex(0), halfsizey(0);
-	if(feather && quality != 10)
-	{
-		//the expanded size = 1/2 the size in each direction rounded up
-		halfsizex = (int) (abs(feather*.5/pw) + 3),
-		halfsizey = (int) (abs(feather*.5/ph) + 3);
-		
-		//expand by 1/2 size in each direction on either side
-		switch(blurtype)
-		{
-			case Blur::DISC:
-			case Blur::BOX:
-			case Blur::CROSS:
-			{
-				workdesc.set_subwindow(-max(1,halfsizex),-max(1,halfsizey),w+2*max(1,halfsizex),h+2*max(1,halfsizey));
-				break;
-			}
-			case Blur::FASTGAUSSIAN:
-			{
-				if(quality < 4)
-				{
-					halfsizex*=2;
-					halfsizey*=2;
-				}
-				workdesc.set_subwindow(-max(1,halfsizex),-max(1,halfsizey),w+2*max(1,halfsizex),h+2*max(1,halfsizey));
-				break;
-			}
-			case Blur::GAUSSIAN:
-			{
-#define GAUSSIAN_ADJUSTMENT		(0.05)
-				Real	pw = (Real)workdesc.get_w()/(workdesc.get_br()[0]-workdesc.get_tl()[0]);
-				Real 	ph = (Real)workdesc.get_h()/(workdesc.get_br()[1]-workdesc.get_tl()[1]);
-				
-				pw=pw*pw;
-				ph=ph*ph;
-				
-				halfsizex = (int)(abs(pw)*feather*GAUSSIAN_ADJUSTMENT+0.5);
-				halfsizey = (int)(abs(ph)*feather*GAUSSIAN_ADJUSTMENT+0.5);
-				
-				halfsizex = (halfsizex + 1)/2;
-				halfsizey = (halfsizey + 1)/2;
-				workdesc.set_subwindow( -halfsizex, -halfsizey, w+2*halfsizex, h+2*halfsizey );
-				break;
-#undef GAUSSIAN_ADJUSTMENT
-			}
-		}
-	}
-	subimage=cairo_surface_create_similar(surface, CAIRO_CONTENT_COLOR_ALPHA, workdesc.get_w(), workdesc.get_h());
-	cairo_t* subcr=cairo_create(subimage);
-	cairo_save(subcr);
-	cairo_set_source_rgba(subcr, r, g, b, a);
-	// Now let's check if it is inverted
-	if(invert)
-	{
-		cairo_paint(subcr);
-	}
-	// Draw the region	
-	// Calculate new translations after expand the tile
-	const double extx((-workdesc.get_tl()[0]+origin[0])*sx);
-	const double exty((-workdesc.get_tl()[1]+origin[1])*sy);
-
-	cairo_translate(subcr, extx , exty);
-	cairo_scale(subcr, sx, sy);
-
-	vector<Segment>::const_iterator iter=segments.begin();
-	double t1x;
-	double t1y;
-	double t2x;
-	double t2y;
-	double p2x;
-	double p2y;
-	double p1x=iter->p1[0];
-	double p1y=iter->p1[1];
-	cairo_move_to(subcr, p1x, p1y);
-	for(;iter!=segments.end();++iter)
-	{
-		t1x=iter->t1[0];
-		t1y=iter->t1[1];
-		t2x=iter->t2[0];
-		t2y=iter->t2[1];
-		p1x=iter->p1[0];
-		p1y=iter->p1[1];
-		p2x=iter->p2[0];
-		p2y=iter->p2[1];
-		cairo_curve_to(subcr, p1x+t1x/3, p1y+t1y/3, p2x-t2x/3, p2y-t2y/3, p2x, p2y);
-	}
-	
-	cairo_close_path(subcr);
-	if(invert)
-		cairo_set_operator(subcr, CAIRO_OPERATOR_CLEAR);
-	else
-		cairo_set_operator(subcr, CAIRO_OPERATOR_OVER);
-	switch(winding_style)
-	{
-		case WINDING_NON_ZERO:
-			cairo_set_fill_rule(subcr, CAIRO_FILL_RULE_WINDING);
-			break;
-		default:
-			cairo_set_fill_rule(subcr, CAIRO_FILL_RULE_EVEN_ODD);
-			break;
-	}
-	if(!antialias)
-		cairo_set_antialias(subcr, CAIRO_ANTIALIAS_NONE);
-
-	cairo_fill(subcr);
-	cairo_restore(subcr);
-	if(feather && quality!=10)
-	{
-		etl::surface<float>	shapesurface;
-		shapesurface.set_wh(workdesc.get_w(),workdesc.get_h());
-		shapesurface.clear();
-		
-		CairoSurface cairosubimage(subimage);
-		if(!cairosubimage.map_cairo_image())
-		{
-			synfig::info("map cairo image failed");
-			return false;
-		}
-		// Extract the alpha values:
-		int x, y;
-		int wh(workdesc.get_h()), ww(workdesc.get_w());
-		float div=1.0/((float)(CairoColor::ceil));
-		for(y=0; y<wh; y++)
-			for(x=0;x<ww;x++)
-				shapesurface[y][x]=cairosubimage[y][x].get_a()*div;
-		// Blue the alpha values
-		Blur(feather,feather,blurtype,cb)(shapesurface,workdesc.get_br()-workdesc.get_tl(),shapesurface);
-		// repaint the cairosubimage with the result
-		Color ccolor(color);
-		for(y=0; y<wh; y++)
-			for(x=0;x<ww;x++)
-			{
-				float a=shapesurface[y][x];
-				ccolor.set_a(a);
-				ccolor.clamped();
-				cairosubimage[y][x]=CairoColor(ccolor).premult_alpha();
-			}
-		
-		cairosubimage.unmap_cairo_image();
-	}
-	
-	// Put the (feathered) region on the surface
-	if(!is_solid_color()) // we need to render the context before
-		if(!context.accelerated_cairorender(surface,quality,renddesc,cb))
-		{
-			if(cb)
-				cb->error(strprintf(__FILE__"%d: Accelerated Cairo Renderer Failure",__LINE__));
-			cairo_destroy(cr);
-			cairo_destroy(subcr);
-			cairo_surface_destroy(subimage);
-			return false;
-		}
-	cairo_save(cr);
-	const double px(tl[0]-workdesc.get_tl()[0]);
-	const double py(tl[1]-workdesc.get_tl()[1]);
-	cairo_set_source_surface(cr, subimage, -px*sx, -py*sy);
-	cairo_paint_with_alpha_operator(cr, get_amount(), get_blend_method());
-	cairo_restore(cr);
-	cairo_surface_destroy(subimage);
-	cairo_destroy(subcr);
-	cairo_destroy(cr);
-	
-	return true;
-}
-
-/////////
diff --git a/src/modules/mod_geometry/region.h b/src/modules/mod_geometry/region.h
index 58f18ec..14f4144 100644
--- a/src/modules/mod_geometry/region.h
+++ b/src/modules/mod_geometry/region.h
@@ -51,7 +51,9 @@ class Region : protected synfig::Layer_Polygon//Shape
 {
 	SYNFIG_LAYER_MODULE_EXT
 private:
-	synfig::ValueBase bline;
+	//! Parameter: list of type BlinePoint
+	ValueBase param_bline;
+
 	std::vector<synfig::Segment> segment_list;
 public:
 	Region();
@@ -64,9 +66,8 @@ public:
 	virtual ValueBase get_param(const String & param)const;
 
 	virtual Vocab get_param_vocab()const;
-	virtual void set_time(Context context, Time time)const;
-	virtual void set_time(Context context, Time time, Vector pos)const;
-	virtual bool accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual void set_time(IndependentContext context, Time time)const;
+	virtual void set_time(IndependentContext context, Time time, Vector pos)const;
 };
 
 /* === E N D =============================================================== */
diff --git a/src/modules/mod_geometry/star.cpp b/src/modules/mod_geometry/star.cpp
index 9763cd8..3ea12de 100644
--- a/src/modules/mod_geometry/star.cpp
+++ b/src/modules/mod_geometry/star.cpp
@@ -72,20 +72,26 @@ SYNFIG_LAYER_SET_CVS_ID(Star,"$Id$");
 /* === E N T R Y P O I N T ================================================= */
 
 Star::Star():
-	radius1(1.0),
-	radius2(0.38),
-	points(5),
-	angle(Angle::deg(90)),
-	regular_polygon(false)
+	param_radius1(ValueBase(Real(1.0))),
+	param_radius2(ValueBase(Real(0.38))),
+	param_points(ValueBase(int(5))),
+	param_angle(ValueBase(Angle::deg(90))),
+	param_regular_polygon(ValueBase(bool(false)))
 {
 	sync();
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 void
 Star::sync()
 {
+	Angle angle = param_angle.get(Angle());
+	int points = param_points.get(int(0));
+	Real radius1 = param_radius1.get(Real());
+	Real radius2 = param_radius2.get(Real());
+	bool regular_polygon = param_regular_polygon.get(bool(true));
+	
 	Angle dist_between_points(Angle::rot(1)/float(points));
 	std::vector<Point> vector_list;
 
@@ -104,63 +110,44 @@ Star::sync()
 }
 
 bool
-Star::set_param(const String & param, const ValueBase &value)
+Star::import_parameters(const String &param, const ValueBase &value)
 {
-	if(	param=="radius1" && value.same_type_as(radius1))
-	{
-		value.put(&radius1);
-		sync();
-		set_param_static(param, value.get_static());
-		return true;
-	}
-
-	if(	param=="radius2" && value.same_type_as(radius2))
-	{
-		value.put(&radius2);
-		sync();
-		set_param_static(param, value.get_static());
-		return true;
-	}
+	IMPORT_VALUE(param_radius1);
+	IMPORT_VALUE(param_radius2);
+	IMPORT_VALUE_PLUS(param_points,
+		  {
+			  int points(param_points.get(int(0)));
+			  if(points<2)points=2;
+			  param_points.set(points);
+		  }
+	);
+	IMPORT_VALUE(param_angle);
+	IMPORT_VALUE(param_regular_polygon);
 
-	if(	param=="points" && value.same_type_as(points))
-	{
-		value.put(&points);
-		if(points<2)points=2;
-		sync();
-		set_param_static(param, value.get_static());
-		return true;
-	}
+	return Layer_Polygon::set_param(param,value);
 
-	if(	param=="angle" && value.same_type_as(angle))
-	{
-		value.put(&angle);
-		sync();
-		set_param_static(param, value.get_static());
-		return true;
-	}
+}
 
-	if(param=="regular_polygon" && value.same_type_as(regular_polygon))
+bool
+Star::set_param(const String & param, const ValueBase &value)
+{
+	if(import_parameters(param, value))
 	{
-		value.put(&regular_polygon);
 		sync();
-		set_param_static(param, value.get_static());
 		return true;
 	}
-
-	if(param=="vector_list")
-		return false;
-
-	return Layer_Polygon::set_param(param,value);
+	
+	return false;
 }
 
 ValueBase
 Star::get_param(const String& param)const
 {
-	EXPORT(radius1);
-	EXPORT(radius2);
-	EXPORT(points);
-	EXPORT(angle);
-	EXPORT(regular_polygon);
+	EXPORT_VALUE(param_radius1);
+	EXPORT_VALUE(param_radius2);
+	EXPORT_VALUE(param_points);
+	EXPORT_VALUE(param_angle);
+	EXPORT_VALUE(param_regular_polygon);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -211,10 +198,4 @@ Star::get_param_vocab()const
 
 	return ret;
 }
-//////
-bool
-Star::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
-{
-	return Layer_Polygon::accelerated_cairorender(context, surface, quality, renddesc, cb);
-}
-/////
\ No newline at end of file
+
diff --git a/src/modules/mod_geometry/star.h b/src/modules/mod_geometry/star.h
index d2c43b9..29918da 100644
--- a/src/modules/mod_geometry/star.h
+++ b/src/modules/mod_geometry/star.h
@@ -32,6 +32,7 @@
 /* === H E A D E R S ======================================================= */
 
 #include <synfig/layer_polygon.h>
+#include <synfig/value.h>
 #include <list>
 #include <vector>
 
@@ -49,24 +50,28 @@ class Star : protected synfig::Layer_Polygon
 {
 	SYNFIG_LAYER_MODULE_EXT
 private:
+	//!Parameter: (Real)
+	ValueBase param_radius1;
+	//!Parameter: (Real)
+	ValueBase param_radius2;
+	//!Parameter: (int)
+	ValueBase param_points;
+	//!Parameter: (Angle)
+	ValueBase param_angle;
+	//!Parameter: (bool)	
+	ValueBase param_regular_polygon;
 
-	Real radius1;
-	Real radius2;
-	int points;
-	Angle angle;
-	bool regular_polygon;
 public:
 	Star();
 
 	//! Updates the polygon data to match the parameters.
 	void sync();
-
+	bool import_parameters(const String &param, const ValueBase &value);
 	virtual bool set_param(const String & param, const synfig::ValueBase &value);
 
 	virtual ValueBase get_param(const String & param)const;
 
 	virtual Vocab get_param_vocab()const;
-	virtual bool accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 };
 
 /* === E N D =============================================================== */
diff --git a/src/modules/mod_gif/Makefile.am b/src/modules/mod_gif/Makefile.am
index c59e448..a56e741 100644
--- a/src/modules/mod_gif/Makefile.am
+++ b/src/modules/mod_gif/Makefile.am
@@ -3,7 +3,7 @@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
diff --git a/src/modules/mod_gif/Makefile.in b/src/modules/mod_gif/Makefile.in
index cd1d7b9..6dd742c 100644
--- a/src/modules/mod_gif/Makefile.in
+++ b/src/modules/mod_gif/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -54,7 +53,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/modules/mod_gif
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(top_srcdir)/config/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
@@ -234,6 +234,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -339,7 +340,7 @@ top_srcdir = @top_srcdir@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
@@ -426,12 +427,14 @@ uninstall-moduleLTLIBRARIES:
 
 clean-moduleLTLIBRARIES:
 	-test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES)
-	@list='$(module_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(module_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 libmod_gif.la: $(libmod_gif_la_OBJECTS) $(libmod_gif_la_DEPENDENCIES) $(EXTRA_libmod_gif_la_DEPENDENCIES) 
 	$(libmod_gif_la_LINK) -rpath $(moduledir) $(libmod_gif_la_OBJECTS) $(libmod_gif_la_LIBADD) $(LIBS)
 
@@ -534,6 +537,20 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -679,18 +696,19 @@ uninstall-am: uninstall-moduleLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-moduleLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-moduleLTLIBRARIES install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am uninstall-moduleLTLIBRARIES
+	clean-libtool clean-moduleLTLIBRARIES cscopelist ctags \
+	distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-moduleLTLIBRARIES \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-moduleLTLIBRARIES
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/src/modules/mod_gif/trgt_gif.cpp b/src/modules/mod_gif/trgt_gif.cpp
index 5c8b49a..6390952 100644
--- a/src/modules/mod_gif/trgt_gif.cpp
+++ b/src/modules/mod_gif/trgt_gif.cpp
@@ -34,7 +34,7 @@
 
 #include <ETL/stringf>
 #include "trgt_gif.h"
-#include <stdio.h>
+#include <cstdio>
 #endif
 
 /* === M A C R O S ========================================================= */
diff --git a/src/modules/mod_gradient/Makefile.am b/src/modules/mod_gradient/Makefile.am
index cf31c5a..7adb22e 100644
--- a/src/modules/mod_gradient/Makefile.am
+++ b/src/modules/mod_gradient/Makefile.am
@@ -3,7 +3,7 @@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
diff --git a/src/modules/mod_gradient/Makefile.in b/src/modules/mod_gradient/Makefile.in
index 12f5c0f..41a70ef 100644
--- a/src/modules/mod_gradient/Makefile.in
+++ b/src/modules/mod_gradient/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -54,7 +53,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/modules/mod_gradient
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(top_srcdir)/config/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
@@ -239,6 +239,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -344,7 +345,7 @@ top_srcdir = @top_srcdir@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
@@ -436,12 +437,14 @@ uninstall-moduleLTLIBRARIES:
 
 clean-moduleLTLIBRARIES:
 	-test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES)
-	@list='$(module_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(module_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 libmod_gradient.la: $(libmod_gradient_la_OBJECTS) $(libmod_gradient_la_DEPENDENCIES) $(EXTRA_libmod_gradient_la_DEPENDENCIES) 
 	$(libmod_gradient_la_LINK) -rpath $(moduledir) $(libmod_gradient_la_OBJECTS) $(libmod_gradient_la_LIBADD) $(LIBS)
 
@@ -576,6 +579,20 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -721,18 +738,19 @@ uninstall-am: uninstall-moduleLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-moduleLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-moduleLTLIBRARIES install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am uninstall-moduleLTLIBRARIES
+	clean-libtool clean-moduleLTLIBRARIES cscopelist ctags \
+	distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-moduleLTLIBRARIES \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-moduleLTLIBRARIES
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/src/modules/mod_gradient/conicalgradient.cpp b/src/modules/mod_gradient/conicalgradient.cpp
index b015679..f0bdbb8 100644
--- a/src/modules/mod_gradient/conicalgradient.cpp
+++ b/src/modules/mod_gradient/conicalgradient.cpp
@@ -67,32 +67,32 @@ SYNFIG_LAYER_SET_CVS_ID(ConicalGradient,"$Id$");
 
 ConicalGradient::ConicalGradient():
 	Layer_Composite(1.0,Color::BLEND_COMPOSITE),
-	gradient(Color::black(),Color::white()),
-	center(0,0),
-	angle(Angle::zero()),
-	symmetric(false)
+	param_gradient(ValueBase(Gradient(Color::black(),Color::white()))),
+	param_center(ValueBase(Point(0,0))),
+	param_angle(ValueBase(Angle::zero())),
+	param_symmetric(ValueBase(false))
 {
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 bool
 ConicalGradient::set_param(const String & param, const ValueBase &value)
 {
-	IMPORT(gradient);
-	IMPORT(center);
-	IMPORT(angle);
-	IMPORT(symmetric);
+	IMPORT_VALUE(param_gradient);
+	IMPORT_VALUE(param_center);
+	IMPORT_VALUE(param_angle);
+	IMPORT_VALUE(param_symmetric);
 	return Layer_Composite::set_param(param,value);
 }
 
 ValueBase
 ConicalGradient::get_param(const String &param)const
 {
-	EXPORT(gradient);
-	EXPORT(center);
-	EXPORT(angle);
-	EXPORT(symmetric);
+	EXPORT_VALUE(param_gradient);
+	EXPORT_VALUE(param_center);
+	EXPORT_VALUE(param_angle);
+	EXPORT_VALUE(param_symmetric);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -132,6 +132,11 @@ ConicalGradient::get_param_vocab()const
 inline Color
 ConicalGradient::color_func(const Point &pos, float supersample)const
 {
+	Gradient gradient=param_gradient.get(Gradient());
+	Point center=param_center.get(Point());
+	Angle angle=param_angle.get(Angle());
+	bool symmetric=param_symmetric.get(bool());
+	
 	const Point centered(pos-center);
 	Angle::rot a=Angle::tan(-centered[1],centered[0]).mod();
 	a+=angle;
@@ -196,6 +201,8 @@ ConicalGradient::color_func(const Point &pos, float supersample)const
 float
 ConicalGradient::calc_supersample(const synfig::Point &x, float pw,float ph)const
 {
+	Point center=param_center.get(Point());
+
 	Point adj(x-center);
 	if(abs(adj[0])<abs(pw*0.5) && abs(adj[1])<abs(ph*0.5))
 		return 0.5;
@@ -292,29 +299,17 @@ ConicalGradient::accelerated_render(Context context,Surface *surface,int quality
 
 /////////
 bool
-ConicalGradient::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+ConicalGradient::accelerated_cairorender(Context context,cairo_t *cr,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
-	if(!is_solid_color() && !gradient.size())
-		return context.accelerated_cairorender(surface,quality,renddesc,cb);
+	Gradient gradient=param_gradient.get(Gradient());
+	Point center=param_center.get(Point());
+
+	cairo_save(cr);
 	const Point	tl(renddesc.get_tl());
 	const Point br(renddesc.get_br());
 	const Point tr(Point(tl[1], br[0]));
 	const Point bl(Point(tl[0], br[1]));
-	
-	const int	w(renddesc.get_w());
-	const int	h(renddesc.get_h());
-	
-	// Width and Height of a pixel
-	const Real pw = (br[0] - tl[0]) / w;
-	const Real ph = (br[1] - tl[1]) / h;
-	
-	const double tx((center[0]-tl[0])/pw);
-	const double ty((center[1]-tl[1])/ph);
-	const double sx(1/pw);
-	const double sy(1/ph);
-	
-	cairo_t* cr=cairo_create(surface);
-	cairo_save(cr);
+		
 	cairo_pattern_t* pattern=cairo_pattern_create_mesh();
 	// Calculate the outer radius of the mesh pattern. It has to
 	// cover the whole render desc
@@ -324,7 +319,7 @@ ConicalGradient::accelerated_cairorender(Context context,cairo_surface_t *surfac
 	Real c4=(tr-center).mag_squared();
 	Real radius(max(max(max(c1,c2),c3),c4));
 	radius=sqrt(radius)*1.20;
-	//synfig::info("radius=%f", radius);
+
 	bool cpoints_all_opaque=compile_mesh(pattern, gradient, radius);
 	if(quality>8) cairo_set_antialias(cr, CAIRO_ANTIALIAS_NONE);
 	else if(quality>=4) cairo_set_antialias(cr, CAIRO_ANTIALIAS_GOOD);
@@ -332,25 +327,22 @@ ConicalGradient::accelerated_cairorender(Context context,cairo_surface_t *surfac
 	if(
 	   !
 	   (is_solid_color() ||
-		cpoints_all_opaque && get_blend_method()==Color::BLEND_COMPOSITE && get_amount()==1.0)
+		(cpoints_all_opaque && get_blend_method()==Color::BLEND_COMPOSITE && get_amount()==1.f))
 	   )
 	{
 		// Initially render what's behind us
-		if(!context.accelerated_cairorender(surface,quality,renddesc,cb))
+		if(!context.accelerated_cairorender(cr,quality,renddesc,cb))
 		{
 			if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Cairo Renderer Failure",__LINE__));
-			cairo_destroy(cr);
 			return false;
 		}
 	}
-	cairo_translate(cr, tx , ty);
-	cairo_scale(cr, sx, sy);
+	cairo_translate(cr, center[0], center[1]);
 	cairo_set_source(cr, pattern);
 	cairo_paint_with_alpha_operator(cr, get_amount(), get_blend_method());
 	
 	cairo_pattern_destroy(pattern); // Not needed more
 	cairo_restore(cr);
-	cairo_destroy(cr);
 	return true;
 	
 }
@@ -359,6 +351,9 @@ ConicalGradient::accelerated_cairorender(Context context,cairo_surface_t *surfac
 bool
 ConicalGradient::compile_mesh(cairo_pattern_t* pattern, Gradient mygradient, Real radius)const
 {
+	Angle angle=param_angle.get(Angle());
+	bool symmetric=param_symmetric.get(bool());
+
 	bool cpoints_all_opaque=true;
 	float a1, r1, g1, b1, a2, r2, g2, b2;
 	Gradient::CPoint cp;
diff --git a/src/modules/mod_gradient/conicalgradient.h b/src/modules/mod_gradient/conicalgradient.h
index d648ba1..4a3f992 100644
--- a/src/modules/mod_gradient/conicalgradient.h
+++ b/src/modules/mod_gradient/conicalgradient.h
@@ -50,14 +50,14 @@ class ConicalGradient : public Layer_Composite, public Layer_NoDeform
 	SYNFIG_LAYER_MODULE_EXT
 
 private:
-
-	Gradient gradient;
-
-	Point center;
-
-	Angle angle;
-
-	bool symmetric;
+	//! Parameter: (Gradient)
+	ValueBase param_gradient;
+	//! Parameter: (Point)
+	ValueBase param_center;
+	//! Parameter: (Angle)
+	ValueBase param_angle;
+	//! Parameter: (bool)
+	ValueBase param_symmetric;
 
 	Color color_func(const Point &x, float supersample=0)const;
 
@@ -75,7 +75,7 @@ public:
 	virtual Color get_color(Context context, const Point &pos)const;
 
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 	Layer::Handle hit_check(Context context, const Point &point)const;
 
 	virtual Vocab get_param_vocab()const;
diff --git a/src/modules/mod_gradient/curvegradient.cpp b/src/modules/mod_gradient/curvegradient.cpp
index c04402e..9337f14 100644
--- a/src/modules/mod_gradient/curvegradient.cpp
+++ b/src/modules/mod_gradient/curvegradient.cpp
@@ -43,6 +43,7 @@
 #include <synfig/surface.h>
 #include <synfig/value.h>
 #include <synfig/valuenode.h>
+#include <synfig/cairo_renddesc.h>
 #include <ETL/bezier>
 #include <ETL/hermite>
 #include <ETL/calculus>
@@ -120,7 +121,7 @@ find_closest(bool fast, const std::vector<synfig::BLinePoint>& bline,const Point
 	next=bline.begin();
 
 	float best_bline_dist(0);
-	float best_bline_len(0);
+	//float best_bline_len(0);
 	float total_bline_dist(0);
 	float best_pos(0);
 	etl::hermite<Vector> best_curve;
@@ -156,7 +157,7 @@ find_closest(bool fast, const std::vector<synfig::BLinePoint>& bline,const Point
 
 		if (fast)
 		{
-#define POINT_CHECK(x) bp=curve(x);	thisdist=(bp-p).mag_squared(); if(thisdist<dist) { ret=iter; dist=thisdist; best_bline_dist=total_bline_dist; best_bline_len=len; best_curve=curve; }
+#define POINT_CHECK(x) bp=curve(x);	thisdist=(bp-p).mag_squared(); if(thisdist<dist) { ret=iter; dist=thisdist; best_bline_dist=total_bline_dist; /* best_bline_len=len; */ best_curve=curve; }
 			POINT_CHECK(0.0001);
 			POINT_CHECK((1.0/6.0));
 			POINT_CHECK((2.0/6.0));
@@ -174,7 +175,7 @@ find_closest(bool fast, const std::vector<synfig::BLinePoint>& bline,const Point
 				ret=iter;
 				dist=thisdist;
 				best_bline_dist=total_bline_dist;
-				best_bline_len=len;
+				//best_bline_len=len;
 				best_curve=curve;
 				best_pos = pos;
 			}
@@ -201,20 +202,23 @@ find_closest(bool fast, const std::vector<synfig::BLinePoint>& bline,const Point
 inline void
 CurveGradient::sync()
 {
+	std::vector<synfig::BLinePoint> bline(param_bline.get_list().begin(), param_bline.get_list().end());
 	curve_length_=calculate_distance(bline, bline_loop);
 }
 
 
 CurveGradient::CurveGradient():
 	Layer_Composite(1.0,Color::BLEND_COMPOSITE),
-	origin(0,0),
-	width(0.25),
-	gradient(Color::black(), Color::white()),
-	loop(false),
-	zigzag(false),
-	perpendicular(false),
-	fast(true)
+	param_origin(ValueBase(Point(0,0))),
+	param_width(ValueBase(Real(0.25))),
+	param_bline(ValueBase(std::vector<synfig::BLinePoint>())),
+	param_gradient(Gradient(Color::black(), Color::white())),
+	param_loop(ValueBase(false)),
+	param_zigzag(ValueBase(false)),
+	param_perpendicular(ValueBase(false)),
+	param_fast(ValueBase(true))
 {
+	std::vector<synfig::BLinePoint> bline;
 	bline.push_back(BLinePoint());
 	bline.push_back(BLinePoint());
 	bline.push_back(BLinePoint());
@@ -228,15 +232,26 @@ CurveGradient::CurveGradient():
 	bline[1].set_width(1.0f);
 	bline[2].set_width(1.0f);
 	bline_loop=true;
+	param_bline.set(bline);
 
 	sync();
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 inline Color
 CurveGradient::color_func(const Point &point_, int quality, float supersample)const
 {
+	Point origin=param_origin.get(Point());
+	Real width=param_width.get(Real());
+	std::vector<synfig::BLinePoint> bline(param_bline.get_list().begin(), param_bline.get_list().end());
+	Gradient gradient=param_gradient.get(Gradient());
+	bool loop=param_loop.get(bool());
+	bool zigzag=param_zigzag.get(bool());
+	bool perpendicular=param_perpendicular.get(bool());
+	bool fast=param_fast.get(bool());
+
 	Vector tangent;
 	Vector diff;
 	Point p1;
@@ -487,25 +502,23 @@ CurveGradient::set_param(const String & param, const ValueBase &value)
 {
 
 
-	IMPORT(origin);
-	IMPORT(perpendicular);
-	IMPORT(fast);
-
+	IMPORT_VALUE(param_origin);
+	IMPORT_VALUE(param_width);
 	if(param=="bline" && value.get_type()==ValueBase::TYPE_LIST)
 	{
-		bline=value;
+		param_bline=value;
 		bline_loop=value.get_loop();
 		sync();
-
 		return true;
 	}
+	IMPORT_VALUE(param_gradient);
+	IMPORT_VALUE(param_loop);
+	IMPORT_VALUE(param_zigzag);
+	IMPORT_VALUE(param_perpendicular);
+	IMPORT_VALUE(param_fast);
 
-	IMPORT(width);
-	IMPORT(gradient);
-	IMPORT(loop);
-	IMPORT(zigzag);
-
-	IMPORT_AS(origin,"offset");
+	if(param=="offset")
+		return set_param("origin", value);
 
 	return Layer_Composite::set_param(param,value);
 }
@@ -513,14 +526,14 @@ CurveGradient::set_param(const String & param, const ValueBase &value)
 ValueBase
 CurveGradient::get_param(const String & param)const
 {
-	EXPORT(origin);
-	EXPORT(bline);
-	EXPORT(gradient);
-	EXPORT(loop);
-	EXPORT(zigzag);
-	EXPORT(width);
-	EXPORT(perpendicular);
-	EXPORT(fast);
+	EXPORT_VALUE(param_origin);
+	EXPORT_VALUE(param_width);
+	EXPORT_VALUE(param_bline);
+	EXPORT_VALUE(param_gradient);
+	EXPORT_VALUE(param_loop);
+	EXPORT_VALUE(param_zigzag);
+	EXPORT_VALUE(param_perpendicular);
+	EXPORT_VALUE(param_fast);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -628,3 +641,70 @@ CurveGradient::accelerated_render(Context context,Surface *surface,int quality,
 
 	return true;
 }
+
+////
+bool
+CurveGradient::accelerated_cairorender(Context context, cairo_t *cr,int quality, const RendDesc &renddesc_, ProgressCallback *cb)const
+{
+	RendDesc	renddesc(renddesc_);
+	
+	// Untransform the render desc
+	if(!cairo_renddesc_untransform(cr, renddesc))
+		return false;
+	
+	Point pos;
+	const Real pw(renddesc.get_pw()),ph(renddesc.get_ph());
+	const Point tl(renddesc.get_tl());
+	const int w(renddesc.get_w());
+	const int h(renddesc.get_h());
+	
+	SuperCallback supercb(cb,0,9500,10000);
+	
+	if(get_amount()==1.0 && get_blend_method()==Color::BLEND_STRAIGHT)
+	{
+		cairo_save(cr);
+		cairo_set_operator(cr, CAIRO_OPERATOR_CLEAR);
+		cairo_paint(cr);
+		cairo_restore(cr);
+	}
+	else
+	{
+		if(!context.accelerated_cairorender(cr,quality,renddesc,&supercb))
+			return false;
+		if(get_amount()==0)
+			return true;
+	}
+	
+	
+	int x,y;
+	cairo_surface_t *surface;
+	
+	surface=cairo_surface_create_similar(cairo_get_target(cr), CAIRO_CONTENT_COLOR_ALPHA, w, h);
+	
+	CairoSurface csurface(surface);
+	if(!csurface.map_cairo_image())
+	{
+		synfig::warning("Curve Gradient: map cairo surface failed");
+		return false;
+	}
+	for(y=0,pos[1]=tl[1];y<h;y++,pos[1]+=ph)
+		for(x=0,pos[0]=tl[0];x<w;x++,pos[0]+=pw)
+			csurface[y][x]=CairoColor(color_func(pos,calc_supersample(pos,pw,ph))).premult_alpha();
+	csurface.unmap_cairo_image();
+	
+	// paint surface on cr
+	cairo_save(cr);
+	cairo_translate(cr, tl[0], tl[1]);
+	cairo_scale(cr, pw, ph);
+	cairo_set_source_surface(cr, surface, 0, 0);
+	cairo_paint_with_alpha_operator(cr, get_amount(), get_blend_method());
+	cairo_restore(cr);
+	
+	cairo_surface_destroy(surface);
+	// Mark our progress as finished
+	if(cb && !cb->amount_complete(10000,10000))
+		return false;
+	
+	return true;
+
+}
diff --git a/src/modules/mod_gradient/curvegradient.h b/src/modules/mod_gradient/curvegradient.h
index c382281..3a0e805 100644
--- a/src/modules/mod_gradient/curvegradient.h
+++ b/src/modules/mod_gradient/curvegradient.h
@@ -50,24 +50,31 @@ class CurveGradient : public Layer_Composite, public Layer_NoDeform
 	SYNFIG_LAYER_MODULE_EXT
 
 private:
-	std::vector<synfig::BLinePoint> bline;
+	//! Parameter: (Point)
+	ValueBase param_origin;
+	//! Parameter: (Real)
+	ValueBase param_width;
+	//! Parameter: (std::vector<synfig::BLinePoint>)
+	ValueBase param_bline;
+	//! Parameter: (Gradient)
+	ValueBase param_gradient;
+	//! Parameter: (bool)
+	ValueBase param_loop;
+	//! Parameter: (bool)
+	ValueBase param_zigzag;
+	//! Parameter: (bool)
+	ValueBase param_perpendicular;
+	//! Parameter: (bool)
+	ValueBase param_fast;
 
-	Point origin;
-	Real width;
-	Gradient gradient;
 	Real curve_length_;
-
-	bool loop;
-	bool zigzag;
 	bool bline_loop;
-	bool perpendicular;
-	bool fast;
 
 	void sync();
 
-	synfig::Color color_func(const synfig::Point &x, int quality=10, float supersample=0)const;
+	Color color_func(const Point &x, int quality=10, float supersample=0)const;
 
-	float calc_supersample(const synfig::Point &x, float pw,float ph)const;
+	float calc_supersample(const Point &x, float pw,float ph)const;
 
 public:
 	CurveGradient();
@@ -76,7 +83,8 @@ public:
 	virtual ValueBase get_param(const String &param)const;
 	virtual Color get_color(Context context, const Point &pos)const;
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	synfig::Layer::Handle hit_check(synfig::Context context, const synfig::Point &point)const;
+	virtual bool accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	Layer::Handle hit_check(synfig::Context context, const synfig::Point &point)const;
 
 	virtual Vocab get_param_vocab()const;
 };
diff --git a/src/modules/mod_gradient/lineargradient.cpp b/src/modules/mod_gradient/lineargradient.cpp
index 8e36cf8..d30ca84 100644
--- a/src/modules/mod_gradient/lineargradient.cpp
+++ b/src/modules/mod_gradient/lineargradient.cpp
@@ -63,6 +63,9 @@ SYNFIG_LAYER_SET_CVS_ID(LinearGradient,"$Id$");
 inline void
 LinearGradient::sync()
 {
+	Point p1=param_p1.get(Point());
+	Point p2=param_p2.get(Point());
+	
 	diff=(p2-p1);
 	const Real mag(diff.inv_mag());
 	diff*=mag*mag;
@@ -71,20 +74,25 @@ LinearGradient::sync()
 
 LinearGradient::LinearGradient():
 	Layer_Composite(1.0,Color::BLEND_COMPOSITE),
-	p1(1,1),
-	p2(-1,-1),
-	gradient(Color::black(), Color::white()),
-	loop(false),
-	zigzag(false)
+	param_p1(ValueBase(Point(1,1))),
+	param_p2(ValueBase(Point(-1,-1))),
+	param_gradient(ValueBase(Gradient(Color::black(), Color::white()))),
+	param_loop(ValueBase(false)),
+	param_zigzag(ValueBase(false))
 {
 	sync();
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 inline Color
 LinearGradient::color_func(const Point &point, float supersample)const
 {
+	Point p1=param_p1.get(Point());
+	Gradient gradient=param_gradient.get(Gradient());
+	bool loop=param_loop.get(bool());
+	bool zigzag=param_zigzag.get(bool());
+	
 	Real dist(point*diff-p1*diff);
 
 	if(loop)
@@ -124,6 +132,9 @@ LinearGradient::color_func(const Point &point, float supersample)const
 float
 LinearGradient::calc_supersample(const synfig::Point &/*x*/, float pw,float /*ph*/)const
 {
+	Point p1=param_p1.get(Point());
+	Point p2=param_p2.get(Point());
+
 	return pw/(p2-p1).mag();
 }
 
@@ -142,38 +153,22 @@ LinearGradient::hit_check(synfig::Context context, const synfig::Point &point)co
 bool
 LinearGradient::set_param(const String & param, const ValueBase &value)
 {
-	if(param=="p1" && value.same_type_as(p1))
-	{
-		p1=value.get(p1);
-		set_param_static(param, value.get_static());
-		sync();
-		return true;
-	}
-	if(param=="p2" && value.same_type_as(p2))
-	{
-		p2=value.get(p2);
-		set_param_static(param, value.get_static());
-		sync();
-		return true;
-	}
-	//IMPORT(p1);
-	//IMPORT(p2);
-
-
-	IMPORT(gradient);
-	IMPORT(loop);
-	IMPORT(zigzag);
+	IMPORT_VALUE_PLUS(param_p1,sync());
+	IMPORT_VALUE_PLUS(param_p2,sync());
+	IMPORT_VALUE(param_gradient);
+	IMPORT_VALUE(param_loop);
+	IMPORT_VALUE(param_zigzag);
 	return Layer_Composite::set_param(param,value);
 }
 
 ValueBase
 LinearGradient::get_param(const String & param)const
 {
-	EXPORT(p1);
-	EXPORT(p2);
-	EXPORT(gradient);
-	EXPORT(loop);
-	EXPORT(zigzag);
+	EXPORT_VALUE(param_p1);
+	EXPORT_VALUE(param_p2);
+	EXPORT_VALUE(param_gradient);
+	EXPORT_VALUE(param_loop);
+	EXPORT_VALUE(param_zigzag);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -268,25 +263,16 @@ LinearGradient::accelerated_render(Context context,Surface *surface,int quality,
 
 	return true;
 }
+
+
 bool
-LinearGradient::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+LinearGradient::accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
-	const Point	tl(renddesc.get_tl());
-	const Point br(renddesc.get_br());
-	
-	const int	w(renddesc.get_w());
-	const int	h(renddesc.get_h());
-	
-	// Width and Height of a pixel
-	const Real pw = (br[0] - tl[0]) / w;
-	const Real ph = (br[1] - tl[1]) / h;
-	
-	const double tx(-tl[0]/pw);
-	const double ty(-tl[1]/ph);
-	const double sx(1/pw);
-	const double sy(1/ph);
+	bool loop=param_loop.get(bool());
+	Point p1=param_p1.get(Point());
+	Point p2=param_p2.get(Point());
+	Gradient gradient=param_gradient.get(Gradient());
 
-	cairo_t* cr=cairo_create(surface);
 	cairo_save(cr);
 	cairo_pattern_t* pattern=cairo_pattern_create_linear(p1[0], p1[1], p2[0], p2[1]);
 	bool cpoints_all_opaque=compile_gradient(pattern, gradient);
@@ -298,31 +284,32 @@ LinearGradient::accelerated_cairorender(Context context,cairo_surface_t *surface
 	if(
 	   !
 	   (is_solid_color() ||
-	   cpoints_all_opaque && get_blend_method()==Color::BLEND_COMPOSITE && get_amount()==1.0)
-	)
+		(cpoints_all_opaque && get_blend_method()==Color::BLEND_COMPOSITE && get_amount()==1.f))
+	   )
 	{
 		// Initially render what's behind us
-		if(!context.accelerated_cairorender(surface,quality,renddesc,cb))
+		if(!context.accelerated_cairorender(cr,quality,renddesc,cb))
 		{
 			if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Cairo Renderer Failure",__LINE__));
-			cairo_destroy(cr);
 			return false;
 		}
 	}
-	cairo_translate(cr, tx , ty);
-	cairo_scale(cr, sx, sy);
 	cairo_set_source(cr, pattern);
 	cairo_paint_with_alpha_operator(cr, get_amount(), get_blend_method());
 	
 	cairo_pattern_destroy(pattern); // Not needed more
 	cairo_restore(cr);
-	cairo_destroy(cr);
 	return true;
 }
 
+
+
 bool
 LinearGradient::compile_gradient(cairo_pattern_t* pattern, Gradient mygradient)const
 {
+	bool loop=param_loop.get(bool());
+	bool zigzag=param_zigzag.get(bool());
+
 	bool cpoints_all_opaque=true;
 	float a,r,g,b;
 	Gradient::CPoint cp;
@@ -375,4 +362,4 @@ LinearGradient::compile_gradient(cairo_pattern_t* pattern, Gradient mygradient)c
 		cairo_pattern_add_color_stop_rgba(pattern, 1.0, r, g, b, a);
 	}
 	return cpoints_all_opaque;
-}
\ No newline at end of file
+}
diff --git a/src/modules/mod_gradient/lineargradient.h b/src/modules/mod_gradient/lineargradient.h
index a36e6d0..0f773ae 100644
--- a/src/modules/mod_gradient/lineargradient.h
+++ b/src/modules/mod_gradient/lineargradient.h
@@ -49,13 +49,15 @@ class LinearGradient : public Layer_Composite, public Layer_NoDeform
 	SYNFIG_LAYER_MODULE_EXT
 
 private:
-
-	Point p1,p2;
+	//! Parameter: (Point)
+	ValueBase param_p1,param_p2;
 	Vector diff;
-	Gradient gradient;
-
-	bool loop;
-	bool zigzag;
+	//! Parameter: (Gradient)
+	ValueBase param_gradient;
+	//! Parameter: (bool)
+	ValueBase param_loop;
+	//! Parameter: (bool)
+	ValueBase param_zigzag;
 
 	void sync();
 
@@ -71,7 +73,7 @@ public:
 	virtual ValueBase get_param(const String &param)const;
 	virtual Color get_color(Context context, const Point &pos)const;
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 
 	synfig::Layer::Handle hit_check(synfig::Context context, const synfig::Point &point)const;
 
diff --git a/src/modules/mod_gradient/radialgradient.cpp b/src/modules/mod_gradient/radialgradient.cpp
index 9de1021..3761c19 100644
--- a/src/modules/mod_gradient/radialgradient.cpp
+++ b/src/modules/mod_gradient/radialgradient.cpp
@@ -67,24 +67,24 @@ SYNFIG_LAYER_SET_CVS_ID(RadialGradient,"$Id$");
 
 RadialGradient::RadialGradient():
 	Layer_Composite(1.0,Color::BLEND_COMPOSITE),
-	gradient(Color::black(),Color::white()),
-	center(0,0),
-	radius(0.5),
-	loop(false),
-	zigzag(false)
+	param_gradient(ValueBase(Gradient(Color::black(),Color::white()))),
+	param_center(ValueBase(Point(0,0))),
+	param_radius(ValueBase(Real(0.5))),
+	param_loop(ValueBase(false)),
+	param_zigzag(ValueBase(false))
 {
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 bool
 RadialGradient::set_param(const String & param, const ValueBase &value)
 {
-	IMPORT(gradient);
-	IMPORT(center);
-	IMPORT(radius);
-	IMPORT(loop);
-	IMPORT(zigzag);
+	IMPORT_VALUE(param_gradient);
+	IMPORT_VALUE(param_center);
+	IMPORT_VALUE(param_radius);
+	IMPORT_VALUE(param_loop);
+	IMPORT_VALUE(param_zigzag);
 
 	return Layer_Composite::set_param(param,value);
 }
@@ -92,11 +92,11 @@ RadialGradient::set_param(const String & param, const ValueBase &value)
 ValueBase
 RadialGradient::get_param(const String &param)const
 {
-	EXPORT(gradient);
-	EXPORT(center);
-	EXPORT(radius);
-	EXPORT(loop);
-	EXPORT(zigzag);
+	EXPORT_VALUE(param_gradient);
+	EXPORT_VALUE(param_center);
+	EXPORT_VALUE(param_radius);
+	EXPORT_VALUE(param_loop);
+	EXPORT_VALUE(param_zigzag);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -142,8 +142,17 @@ RadialGradient::get_param_vocab()const
 inline Color
 RadialGradient::color_func(const Point &point, float supersample)const
 {
+	Gradient gradient=param_gradient.get(Gradient());
+	Point center=param_center.get(Point());
+	Real radius=param_radius.get(Real());
+	bool loop=param_loop.get(bool());
+	bool zigzag=param_zigzag.get(bool());
+
 	Real dist((point-center).mag()/radius);
 
+	if(loop)
+		dist-=floor(dist);
+	
 	if(zigzag)
 	{
 		dist*=2.0;
@@ -153,8 +162,6 @@ RadialGradient::color_func(const Point &point, float supersample)const
 
 	if(loop)
 	{
-		dist-=floor(dist);
-
 		if(dist+supersample*0.5>1.0)
 		{
 			float  left(supersample*0.5-(dist-1.0));
@@ -182,6 +189,7 @@ RadialGradient::color_func(const Point &point, float supersample)const
 float
 RadialGradient::calc_supersample(const synfig::Point &/*x*/, float pw,float /*ph*/)const
 {
+	Real radius=param_radius.get(Real());
 //	return sqrt(pw*pw+ph*ph)/radius;
 	return 1.2*pw/radius;
 }
@@ -256,25 +264,15 @@ RadialGradient::accelerated_render(Context context,Surface *surface,int quality,
 	return true;
 }
 
+
 bool
-RadialGradient::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+RadialGradient::accelerated_cairorender(Context context,cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
-	const Point	tl(renddesc.get_tl());
-	const Point br(renddesc.get_br());
-	
-	const int	w(renddesc.get_w());
-	const int	h(renddesc.get_h());
-	
-	// Width and Height of a pixel
-	const Real pw = (br[0] - tl[0]) / w;
-	const Real ph = (br[1] - tl[1]) / h;
-	
-	const double tx(-tl[0]/pw);
-	const double ty(-tl[1]/ph);
-	const double sx(1/pw);
-	const double sy(1/ph);
-	
-	cairo_t* cr=cairo_create(surface);
+	Gradient gradient=param_gradient.get(Gradient());
+	Point center=param_center.get(Point());
+	Real radius=param_radius.get(Real());
+	bool loop=param_loop.get(bool());
+
 	cairo_save(cr);
 	cairo_pattern_t* pattern=cairo_pattern_create_radial(center[0], center[1], 0.0 ,center[0], center[1], radius);
 	bool cpoints_all_opaque=compile_gradient(pattern, gradient);
@@ -286,31 +284,30 @@ RadialGradient::accelerated_cairorender(Context context,cairo_surface_t *surface
 	if(
 	   !
 	   (is_solid_color() ||
-		cpoints_all_opaque && get_blend_method()==Color::BLEND_COMPOSITE && get_amount()==1.0)
+		(cpoints_all_opaque && get_blend_method()==Color::BLEND_COMPOSITE && get_amount()==1.f))
 	   )
 	{
 		// Initially render what's behind us
-		if(!context.accelerated_cairorender(surface,quality,renddesc,cb))
+		if(!context.accelerated_cairorender(cr,quality,renddesc,cb))
 		{
 			if(cb)cb->error(strprintf(__FILE__"%d: Accelerated Cairo Renderer Failure",__LINE__));
-			cairo_destroy(cr);
 			return false;
 		}
 	}
-	cairo_translate(cr, tx , ty);
-	cairo_scale(cr, sx, sy);
 	cairo_set_source(cr, pattern);
 	cairo_paint_with_alpha_operator(cr, get_amount(), get_blend_method());
 	
 	cairo_pattern_destroy(pattern); // Not needed more
 	cairo_restore(cr);
-	cairo_destroy(cr);
-	return true;	
+	return true;
 }
 
 bool
 RadialGradient::compile_gradient(cairo_pattern_t* pattern, Gradient mygradient)const
 {
+	bool zigzag=param_zigzag.get(bool());
+	bool loop=param_loop.get(bool());
+
 	bool cpoints_all_opaque=true;
 	float a,r,g,b;
 	Gradient::CPoint cp;
diff --git a/src/modules/mod_gradient/radialgradient.h b/src/modules/mod_gradient/radialgradient.h
index d797fb5..665f953 100644
--- a/src/modules/mod_gradient/radialgradient.h
+++ b/src/modules/mod_gradient/radialgradient.h
@@ -49,15 +49,16 @@ class RadialGradient : public Layer_Composite, public Layer_NoDeform
 	SYNFIG_LAYER_MODULE_EXT
 
 private:
-
-	Gradient gradient;
-
-	Point center;
-
-	Real radius;
-
-	bool loop;
-	bool zigzag;
+	//! Parameter: (Gradient)
+	ValueBase param_gradient;
+	//! Parameter: (Point)
+	ValueBase param_center;
+	//! Parameter: (Real)
+	ValueBase param_radius;
+	//! Parameter: (bool)
+	ValueBase param_loop;
+	//! Parameter: (bool)
+	ValueBase param_zigzag;
 
 	Color color_func(const Point &x, float supersample=0)const;
 
@@ -75,7 +76,7 @@ public:
 	virtual Color get_color(Context context, const Point &pos)const;
 
 	virtual bool accelerated_render(Context context, Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context,cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 	Layer::Handle hit_check(Context context, const Point &point)const;
 
 	virtual Vocab get_param_vocab()const;
diff --git a/src/modules/mod_gradient/spiralgradient.cpp b/src/modules/mod_gradient/spiralgradient.cpp
index 823aaae..a18bf3d 100644
--- a/src/modules/mod_gradient/spiralgradient.cpp
+++ b/src/modules/mod_gradient/spiralgradient.cpp
@@ -38,6 +38,7 @@
 #include <synfig/surface.h>
 #include <synfig/value.h>
 #include <synfig/valuenode.h>
+#include <synfig/cairo_renddesc.h>
 
 #include "spiralgradient.h"
 
@@ -66,24 +67,24 @@ SYNFIG_LAYER_SET_CVS_ID(SpiralGradient,"$Id$");
 
 SpiralGradient::SpiralGradient():
 	Layer_Composite(1.0,Color::BLEND_COMPOSITE),
-	gradient(Color::black(),Color::white()),
-	center(0,0),
-	radius(0.5),
-	angle(Angle::zero()),
-	clockwise(false)
+	param_gradient(ValueBase(Gradient(Color::black(),Color::white()))),
+	param_center(ValueBase(Point(0,0))),
+	param_radius(ValueBase(Real(0.5))),
+	param_angle(ValueBase(Angle::zero())),
+	param_clockwise(ValueBase(false))
 {
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 bool
 SpiralGradient::set_param(const String & param, const ValueBase &value)
 {
-	IMPORT(gradient);
-	IMPORT(center);
-	IMPORT(radius);
-	IMPORT(angle);
-	IMPORT(clockwise);
+	IMPORT_VALUE(param_gradient);
+	IMPORT_VALUE(param_center);
+	IMPORT_VALUE(param_radius);
+	IMPORT_VALUE(param_angle);
+	IMPORT_VALUE(param_clockwise);
 
 	return Layer_Composite::set_param(param,value);
 }
@@ -91,11 +92,11 @@ SpiralGradient::set_param(const String & param, const ValueBase &value)
 ValueBase
 SpiralGradient::get_param(const String &param)const
 {
-	EXPORT(gradient);
-	EXPORT(center);
-	EXPORT(radius);
-	EXPORT(angle);
-	EXPORT(clockwise);
+	EXPORT_VALUE(param_gradient);
+	EXPORT_VALUE(param_center);
+	EXPORT_VALUE(param_radius);
+	EXPORT_VALUE(param_angle);
+	EXPORT_VALUE(param_clockwise);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -142,6 +143,13 @@ SpiralGradient::get_param_vocab()const
 inline Color
 SpiralGradient::color_func(const Point &pos, float supersample)const
 {
+
+	Gradient gradient=param_gradient.get(Gradient());
+	Point center=param_center.get(Point());
+	Real radius=param_radius.get(Real());
+	Angle angle=param_angle.get(Angle());
+	bool clockwise=param_clockwise.get(bool());
+	
 	const Point centered(pos-center);
 	Angle a;
 	a=Angle::tan(-centered[1],centered[0]).mod();
@@ -179,6 +187,9 @@ SpiralGradient::color_func(const Point &pos, float supersample)const
 float
 SpiralGradient::calc_supersample(const synfig::Point &x, float pw,float /*ph*/)const
 {
+	Point center=param_center.get(Point());
+	Real radius=param_radius.get(Real());
+
 	return (1.41421*pw/radius+(1.41421*pw/Point(x-center).mag())/(PI*2))*0.5;
 }
 
@@ -251,3 +262,72 @@ SpiralGradient::accelerated_render(Context context,Surface *surface,int quality,
 
 	return true;
 }
+
+////
+bool
+SpiralGradient::accelerated_cairorender(Context context, cairo_t *cr,int quality, const RendDesc &renddesc_, ProgressCallback *cb)const
+{
+	RendDesc	renddesc(renddesc_);
+	
+	// Untransform the render desc
+	if(!cairo_renddesc_untransform(cr, renddesc))
+		return false;
+
+	Point pos;
+	const Real pw(renddesc.get_pw()),ph(renddesc.get_ph());
+	const Point tl(renddesc.get_tl());
+	const int w(renddesc.get_w());
+	const int h(renddesc.get_h());
+	
+	SuperCallback supercb(cb,0,9500,10000);
+	
+	if(get_amount()==1.0 && get_blend_method()==Color::BLEND_STRAIGHT)
+	{
+		cairo_save(cr);
+		cairo_set_operator(cr, CAIRO_OPERATOR_CLEAR);
+		cairo_paint(cr);
+		cairo_restore(cr);
+	}
+	else
+	{
+		if(!context.accelerated_cairorender(cr,quality,renddesc,&supercb))
+			return false;
+		if(get_amount()==0)
+			return true;
+	}
+	
+	
+	int x,y;
+	cairo_surface_t *surface;
+	
+	surface=cairo_surface_create_similar(cairo_get_target(cr), CAIRO_CONTENT_COLOR_ALPHA, w, h);
+	
+	CairoSurface csurface(surface);
+	if(!csurface.map_cairo_image())
+	{
+		synfig::warning("Spiral Gradient: map cairo surface failed");
+		return false;
+	}
+	for(y=0,pos[1]=tl[1];y<h;y++,pos[1]+=ph)
+		for(x=0,pos[0]=tl[0];x<w;x++,pos[0]+=pw)
+			csurface[y][x]=CairoColor(color_func(pos,calc_supersample(pos,pw,ph))).premult_alpha();
+	csurface.unmap_cairo_image();
+	
+	// paint surface on cr
+	cairo_save(cr);
+	cairo_translate(cr, tl[0], tl[1]);
+	cairo_scale(cr, pw, ph);
+	cairo_set_source_surface(cr, surface, 0, 0);
+	cairo_paint_with_alpha_operator(cr, get_amount(), get_blend_method());
+	cairo_restore(cr);
+	
+	cairo_surface_destroy(surface);	
+	// Mark our progress as finished
+	if(cb && !cb->amount_complete(10000,10000))
+		return false;
+	
+	return true;
+}
+
+
+
diff --git a/src/modules/mod_gradient/spiralgradient.h b/src/modules/mod_gradient/spiralgradient.h
index 32e3d91..d5c8c5b 100644
--- a/src/modules/mod_gradient/spiralgradient.h
+++ b/src/modules/mod_gradient/spiralgradient.h
@@ -40,38 +40,43 @@
 
 /* === C L A S S E S & S T R U C T S ======================================= */
 
-class SpiralGradient : public synfig::Layer_Composite, public synfig::Layer_NoDeform
+using namespace synfig;
+using namespace std;
+using namespace etl;
+
+class SpiralGradient : public Layer_Composite, public Layer_NoDeform
 {
 	SYNFIG_LAYER_MODULE_EXT
 
 private:
+	//! Parameter: (Gradient)
+	ValueBase param_gradient;
+	//! Parameter: (Point)
+	ValueBase param_center;
+	//! Parameter: (Real)
+	ValueBase param_radius;
+	//! Parameter: (Angle)
+	ValueBase param_angle;
+	//! Parameter: (bool)
+	ValueBase param_clockwise;
 
-	synfig::Gradient gradient;
-
-	synfig::Point center;
-
-	synfig::Real radius;
-
-	synfig::Angle angle;
-
-	bool clockwise;
-
-	synfig::Color color_func(const synfig::Point &x, float supersample=0)const;
+	Color color_func(const Point &x, float supersample=0)const;
 
-	float calc_supersample(const synfig::Point &x, float pw,float ph)const;
+	float calc_supersample(const Point &x, float pw,float ph)const;
 
 public:
 
 	SpiralGradient();
 
-	virtual bool set_param(const synfig::String & param, const synfig::ValueBase &value);
+	virtual bool set_param(const String & param, const synfig::ValueBase &value);
 
-	virtual synfig::ValueBase get_param(const synfig::String & param)const;
+	virtual ValueBase get_param(const String & param)const;
 
-	virtual synfig::Color get_color(synfig::Context context, const synfig::Point &pos)const;
+	virtual Color get_color(Context context, const Point &pos)const;
 
-	virtual bool accelerated_render(synfig::Context context,synfig::Surface *surface,int quality, const synfig::RendDesc &renddesc, synfig::ProgressCallback *cb)const;
-	synfig::Layer::Handle hit_check(synfig::Context context, const synfig::Point &point)const;
+	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	Layer::Handle hit_check(Context context, const Point &point)const;
 
 	virtual Vocab get_param_vocab()const;
 }; // END of class SpiralGradient
diff --git a/src/modules/mod_imagemagick/Makefile.am b/src/modules/mod_imagemagick/Makefile.am
index ffc9612..07785fc 100644
--- a/src/modules/mod_imagemagick/Makefile.am
+++ b/src/modules/mod_imagemagick/Makefile.am
@@ -3,7 +3,7 @@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
diff --git a/src/modules/mod_imagemagick/Makefile.in b/src/modules/mod_imagemagick/Makefile.in
index f08bb11..fb0367e 100644
--- a/src/modules/mod_imagemagick/Makefile.in
+++ b/src/modules/mod_imagemagick/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -54,7 +53,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/modules/mod_imagemagick
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(top_srcdir)/config/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
@@ -242,6 +242,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -347,7 +348,7 @@ top_srcdir = @top_srcdir@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
@@ -436,12 +437,14 @@ uninstall-moduleLTLIBRARIES:
 
 clean-moduleLTLIBRARIES:
 	-test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES)
-	@list='$(module_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(module_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 libmod_imagemagick.la: $(libmod_imagemagick_la_OBJECTS) $(libmod_imagemagick_la_DEPENDENCIES) $(EXTRA_libmod_imagemagick_la_DEPENDENCIES) 
 	$(libmod_imagemagick_la_LINK) $(am_libmod_imagemagick_la_rpath) $(libmod_imagemagick_la_OBJECTS) $(libmod_imagemagick_la_LIBADD) $(LIBS)
 
@@ -552,6 +555,20 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -697,18 +714,19 @@ uninstall-am: uninstall-moduleLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-moduleLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-moduleLTLIBRARIES install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am uninstall-moduleLTLIBRARIES
+	clean-libtool clean-moduleLTLIBRARIES cscopelist ctags \
+	distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-moduleLTLIBRARIES \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-moduleLTLIBRARIES
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/src/modules/mod_imagemagick/trgt_imagemagick.cpp b/src/modules/mod_imagemagick/trgt_imagemagick.cpp
index 1291054..90ec8cd 100644
--- a/src/modules/mod_imagemagick/trgt_imagemagick.cpp
+++ b/src/modules/mod_imagemagick/trgt_imagemagick.cpp
@@ -34,7 +34,7 @@
 
 #include <ETL/stringf>
 #include "trgt_imagemagick.h"
-#include <stdio.h>
+#include <cstdio>
 #include <sys/types.h>
 #if HAVE_SYS_WAIT_H
  #include <sys/wait.h>
diff --git a/src/modules/mod_jpeg/Makefile.am b/src/modules/mod_jpeg/Makefile.am
index f963df5..8653b14 100644
--- a/src/modules/mod_jpeg/Makefile.am
+++ b/src/modules/mod_jpeg/Makefile.am
@@ -3,7 +3,7 @@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
diff --git a/src/modules/mod_jpeg/Makefile.in b/src/modules/mod_jpeg/Makefile.in
index 5060039..6c3cd9d 100644
--- a/src/modules/mod_jpeg/Makefile.in
+++ b/src/modules/mod_jpeg/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -54,7 +53,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/modules/mod_jpeg
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(top_srcdir)/config/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
@@ -240,6 +240,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -345,7 +346,7 @@ top_srcdir = @top_srcdir@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
@@ -435,12 +436,14 @@ uninstall-moduleLTLIBRARIES:
 
 clean-moduleLTLIBRARIES:
 	-test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES)
-	@list='$(module_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(module_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 libmod_jpeg.la: $(libmod_jpeg_la_OBJECTS) $(libmod_jpeg_la_DEPENDENCIES) $(EXTRA_libmod_jpeg_la_DEPENDENCIES) 
 	$(libmod_jpeg_la_LINK) $(am_libmod_jpeg_la_rpath) $(libmod_jpeg_la_OBJECTS) $(libmod_jpeg_la_LIBADD) $(LIBS)
 
@@ -551,6 +554,20 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -696,18 +713,19 @@ uninstall-am: uninstall-moduleLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-moduleLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-moduleLTLIBRARIES install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am uninstall-moduleLTLIBRARIES
+	clean-libtool clean-moduleLTLIBRARIES cscopelist ctags \
+	distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-moduleLTLIBRARIES \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-moduleLTLIBRARIES
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/src/modules/mod_libavcodec/Makefile.am b/src/modules/mod_libavcodec/Makefile.am
index fddc613..63cf40d 100644
--- a/src/modules/mod_libavcodec/Makefile.am
+++ b/src/modules/mod_libavcodec/Makefile.am
@@ -3,7 +3,7 @@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
diff --git a/src/modules/mod_libavcodec/Makefile.in b/src/modules/mod_libavcodec/Makefile.in
index 8eb367f..a662857 100644
--- a/src/modules/mod_libavcodec/Makefile.in
+++ b/src/modules/mod_libavcodec/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -54,7 +53,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/modules/mod_libavcodec
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(top_srcdir)/config/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
@@ -242,6 +242,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -347,7 +348,7 @@ top_srcdir = @top_srcdir@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
@@ -439,12 +440,14 @@ uninstall-moduleLTLIBRARIES:
 
 clean-moduleLTLIBRARIES:
 	-test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES)
-	@list='$(module_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(module_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 libmod_libavcodec.la: $(libmod_libavcodec_la_OBJECTS) $(libmod_libavcodec_la_DEPENDENCIES) $(EXTRA_libmod_libavcodec_la_DEPENDENCIES) 
 	$(libmod_libavcodec_la_LINK) $(am_libmod_libavcodec_la_rpath) $(libmod_libavcodec_la_OBJECTS) $(libmod_libavcodec_la_LIBADD) $(LIBS)
 
@@ -555,6 +558,20 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -700,18 +717,19 @@ uninstall-am: uninstall-moduleLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-moduleLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-moduleLTLIBRARIES install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am uninstall-moduleLTLIBRARIES
+	clean-libtool clean-moduleLTLIBRARIES cscopelist ctags \
+	distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-moduleLTLIBRARIES \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-moduleLTLIBRARIES
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/src/modules/mod_magickpp/Makefile.am b/src/modules/mod_magickpp/Makefile.am
index 7660173..7170c98 100644
--- a/src/modules/mod_magickpp/Makefile.am
+++ b/src/modules/mod_magickpp/Makefile.am
@@ -3,7 +3,7 @@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
diff --git a/src/modules/mod_magickpp/Makefile.in b/src/modules/mod_magickpp/Makefile.in
index d2c1fd0..9baa43c 100644
--- a/src/modules/mod_magickpp/Makefile.in
+++ b/src/modules/mod_magickpp/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -54,7 +53,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/modules/mod_magickpp
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(top_srcdir)/config/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
@@ -241,6 +241,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -346,7 +347,7 @@ top_srcdir = @top_srcdir@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
@@ -434,12 +435,14 @@ uninstall-moduleLTLIBRARIES:
 
 clean-moduleLTLIBRARIES:
 	-test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES)
-	@list='$(module_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(module_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 libmod_magickpp.la: $(libmod_magickpp_la_OBJECTS) $(libmod_magickpp_la_DEPENDENCIES) $(EXTRA_libmod_magickpp_la_DEPENDENCIES) 
 	$(libmod_magickpp_la_LINK) $(am_libmod_magickpp_la_rpath) $(libmod_magickpp_la_OBJECTS) $(libmod_magickpp_la_LIBADD) $(LIBS)
 
@@ -542,6 +545,20 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -687,18 +704,19 @@ uninstall-am: uninstall-moduleLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-moduleLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-moduleLTLIBRARIES install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am uninstall-moduleLTLIBRARIES
+	clean-libtool clean-moduleLTLIBRARIES cscopelist ctags \
+	distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-moduleLTLIBRARIES \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-moduleLTLIBRARIES
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/src/modules/mod_magickpp/trgt_magickpp.cpp b/src/modules/mod_magickpp/trgt_magickpp.cpp
index c5cd448..da4cd73 100644
--- a/src/modules/mod_magickpp/trgt_magickpp.cpp
+++ b/src/modules/mod_magickpp/trgt_magickpp.cpp
@@ -53,16 +53,16 @@ SYNFIG_TARGET_SET_CVS_ID(magickpp_trgt,"$Id$");
 /* === M E T H O D S ======================================================= */
 
 template <class Container>
-MagickLib::Image* copy_image_list(Container& container)
+MagickCore::Image* copy_image_list(Container& container)
 {
 	typedef typename Container::iterator Iter;
-	MagickLib::Image* previous = 0;
-	MagickLib::Image* first = NULL;
-	MagickLib::ExceptionInfo exceptionInfo;
-	MagickLib::GetExceptionInfo(&exceptionInfo);
+	MagickCore::Image* previous = 0;
+	MagickCore::Image* first = NULL;
+	MagickCore::ExceptionInfo exceptionInfo;
+	MagickCore::GetExceptionInfo(&exceptionInfo);
 	for (Iter iter = container.begin(); iter != container.end(); ++iter)
 	{
-		MagickLib::Image* current;
+		MagickCore::Image* current;
 
 		try
 		{
@@ -86,8 +86,8 @@ MagickLib::Image* copy_image_list(Container& container)
 
 magickpp_trgt::~magickpp_trgt()
 {
-	MagickLib::ExceptionInfo exceptionInfo;
-	MagickLib::GetExceptionInfo(&exceptionInfo);
+	MagickCore::ExceptionInfo exceptionInfo;
+	MagickCore::GetExceptionInfo(&exceptionInfo);
 
 	try
 	{
@@ -118,7 +118,6 @@ magickpp_trgt::~magickpp_trgt()
 			for_each(images.begin(), images.end(), Magick::animationDelayImage(delay));
 
 			// optimize the images (only write the pixels that change from frame to frame
-#ifdef HAVE_MAGICK_OPTIMIZE
 			// make a completely new image list
 			// this is required because:
 			//   RemoveDuplicateLayers wants a linked list of images, and removes some of them
@@ -126,7 +125,7 @@ magickpp_trgt::~magickpp_trgt()
 			//   when we destroy our container, the image is re-freed, failing an assertion
 
 			synfig::info("copying image list");
-			MagickLib::Image *image_list = copy_image_list(images);
+			MagickCore::Image *image_list = copy_image_list(images);
 
 			synfig::info("clearing old image list");
 			images.clear();
@@ -169,18 +168,6 @@ magickpp_trgt::~magickpp_trgt()
 
 			synfig::info("recreating image list");
 			insertImages(&images, image_list);
-#else
-			synfig::info("not optimizing images");
-			// DeconstructImages is available in ImageMagic 6.2.* but it doesn't take
-			// the 'dispose' method into account, so for frames with transparency where
-			// nothing is moving, we end up with objects disappearing when they shouldn't
-
-			// linkImages(images.begin(), images.end());
-			// MagickLib::Image* new_images = DeconstructImages(images.begin()->image(),&exceptionInfo);
-			// unlinkImages(images.begin(), images.end());
-			// images.clear();
-			// insertImages(&images, new_images);
-#endif
 		}
 		else if (multiple_images)
 		{
diff --git a/src/modules/mod_mng/Makefile.am b/src/modules/mod_mng/Makefile.am
index bdaf7b0..fef174e 100644
--- a/src/modules/mod_mng/Makefile.am
+++ b/src/modules/mod_mng/Makefile.am
@@ -3,7 +3,7 @@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
diff --git a/src/modules/mod_mng/Makefile.in b/src/modules/mod_mng/Makefile.in
index da36a97..58f44b2 100644
--- a/src/modules/mod_mng/Makefile.in
+++ b/src/modules/mod_mng/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -54,7 +53,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/modules/mod_mng
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(top_srcdir)/config/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
@@ -237,6 +237,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -342,7 +343,7 @@ top_srcdir = @top_srcdir@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
@@ -432,12 +433,14 @@ uninstall-moduleLTLIBRARIES:
 
 clean-moduleLTLIBRARIES:
 	-test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES)
-	@list='$(module_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(module_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 libmod_mng.la: $(libmod_mng_la_OBJECTS) $(libmod_mng_la_DEPENDENCIES) $(EXTRA_libmod_mng_la_DEPENDENCIES) 
 	$(libmod_mng_la_LINK) $(am_libmod_mng_la_rpath) $(libmod_mng_la_OBJECTS) $(libmod_mng_la_LIBADD) $(LIBS)
 
@@ -540,6 +543,20 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -685,18 +702,19 @@ uninstall-am: uninstall-moduleLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-moduleLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-moduleLTLIBRARIES install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am uninstall-moduleLTLIBRARIES
+	clean-libtool clean-moduleLTLIBRARIES cscopelist ctags \
+	distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-moduleLTLIBRARIES \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-moduleLTLIBRARIES
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/src/modules/mod_noise/Makefile.am b/src/modules/mod_noise/Makefile.am
index a6830a4..2df5252 100644
--- a/src/modules/mod_noise/Makefile.am
+++ b/src/modules/mod_noise/Makefile.am
@@ -2,7 +2,7 @@
 
 MAINTAINERCLEANFILES = Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
diff --git a/src/modules/mod_noise/Makefile.in b/src/modules/mod_noise/Makefile.in
index db51837..b7769f3 100644
--- a/src/modules/mod_noise/Makefile.in
+++ b/src/modules/mod_noise/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -54,7 +53,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/modules/mod_noise
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(top_srcdir)/config/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
@@ -236,6 +236,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -339,7 +340,7 @@ top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 MAINTAINERCLEANFILES = Makefile.in
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
@@ -429,12 +430,14 @@ uninstall-moduleLTLIBRARIES:
 
 clean-moduleLTLIBRARIES:
 	-test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES)
-	@list='$(module_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(module_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 libmod_noise.la: $(libmod_noise_la_OBJECTS) $(libmod_noise_la_DEPENDENCIES) $(EXTRA_libmod_noise_la_DEPENDENCIES) 
 	$(libmod_noise_la_LINK) -rpath $(moduledir) $(libmod_noise_la_OBJECTS) $(libmod_noise_la_LIBADD) $(LIBS)
 
@@ -561,6 +564,20 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -706,18 +723,19 @@ uninstall-am: uninstall-moduleLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-moduleLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-moduleLTLIBRARIES install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am uninstall-moduleLTLIBRARIES
+	clean-libtool clean-moduleLTLIBRARIES cscopelist ctags \
+	distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-moduleLTLIBRARIES \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-moduleLTLIBRARIES
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/src/modules/mod_noise/distort.cpp b/src/modules/mod_noise/distort.cpp
index e39a727..728e78a 100644
--- a/src/modules/mod_noise/distort.cpp
+++ b/src/modules/mod_noise/distort.cpp
@@ -41,6 +41,7 @@
 #include <synfig/surface.h>
 #include <synfig/value.h>
 #include <synfig/valuenode.h>
+#include <time.h>
 
 #endif
 
@@ -64,36 +65,45 @@ SYNFIG_LAYER_SET_CVS_ID(NoiseDistort,"$Id$");
 /* === M E T H O D S ======================================================= */
 
 NoiseDistort::NoiseDistort():
-	size(1,1)
+	Layer_Composite(1.0,Color::BLEND_STRAIGHT),
+	param_displacement(ValueBase(Vector(0.25,0.25))),
+	param_size(ValueBase(Vector(1,1))),
+	param_random(ValueBase(int(time(NULL)))),
+	param_smooth(ValueBase(int(RandomNoise::SMOOTH_COSINE))),
+	param_detail(ValueBase(int(4))),
+	param_speed(ValueBase(Real(0))),
+	param_turbulent(bool(false))
 {
-	set_blend_method(Color::BLEND_STRAIGHT);
-	smooth=RandomNoise::SMOOTH_COSINE;
-	detail=4;
-	speed=0;
-	random.set_seed(time(NULL));
-	turbulent=false;
-	displacement=Vector(0.25,0.25);
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 inline Point
 NoiseDistort::point_func(const Point &point)const
 {
+	Vector displacement=param_displacement.get(Vector());
+	Vector size=param_size.get(Vector());
+	RandomNoise random;
+	random.set_seed(param_random.get(int()));
+	int smooth_=param_smooth.get(int());
+	int detail=param_detail.get(int());
+	Real speed=param_speed.get(Real());
+	bool turbulent=param_turbulent.get(bool());
+	
 	float x(point[0]/size[0]*(1<<detail));
 	float y(point[1]/size[1]*(1<<detail));
 	
 	int i;
 	Time time;
 	time=speed*curr_time;
-	RandomNoise::SmoothType temp_smooth(smooth);
-	RandomNoise::SmoothType smooth((!speed && temp_smooth == RandomNoise::SMOOTH_SPLINE) ? RandomNoise::SMOOTH_FAST_SPLINE : temp_smooth);
+	int temp_smooth(smooth_);
+	int smooth((!speed && temp_smooth == (int)(RandomNoise::SMOOTH_SPLINE)) ? (int)(RandomNoise::SMOOTH_FAST_SPLINE) : temp_smooth);
 	
 	Vector vect(0,0);
 	for(i=0;i<detail;i++)
 	{
-		vect[0]=random(smooth,0+(detail-i)*5,x,y,time)+vect[0]*0.5;
-		vect[1]=random(smooth,1+(detail-i)*5,x,y,time)+vect[1]*0.5;
+		vect[0]=random(RandomNoise::SmoothType(smooth),0+(detail-i)*5,x,y,time)+vect[0]*0.5;
+		vect[1]=random(RandomNoise::SmoothType(smooth),1+(detail-i)*5,x,y,time)+vect[1]*0.5;
 		
 		if(vect[0]<-1)vect[0]=-1;if(vect[0]>1)vect[0]=1;
 		if(vect[1]<-1)vect[1]=-1;if(vect[1]>1)vect[1]=1;
@@ -143,14 +153,14 @@ NoiseDistort::calc_supersample(const synfig::Point &/*x*/, float /*pw*/,float /*
 }
 
 void
-NoiseDistort::set_time(synfig::Context context, synfig::Time t)const
+NoiseDistort::set_time(synfig::IndependentContext context, synfig::Time t)const
 {
 	curr_time=t;
 	context.set_time(t);
 }
 
 void
-NoiseDistort::set_time(synfig::Context context, synfig::Time t, const synfig::Point &point)const
+NoiseDistort::set_time(synfig::IndependentContext context, synfig::Time t, const synfig::Point &point)const
 {
 	curr_time=t;
 	context.set_time(t,point);
@@ -165,43 +175,38 @@ NoiseDistort::hit_check(synfig::Context context, const synfig::Point &point)cons
 		return context.hit_check(point);
 	if(color_func(point,0,context).get_a()>0.5)
 		return const_cast<NoiseDistort*>(this);
-	return false;
+	return synfig::Layer::Handle();
 }
 
 bool
 NoiseDistort::set_param(const String & param, const ValueBase &value)
 {
-	if(param=="seed" && value.same_type_as(int()))
-	{
-		random.set_seed(value.get(int()));
-		set_param_static(param, value.get_static());
-		return true;
-	}
-	IMPORT(size);
-	IMPORT(speed);
-	IMPORT(smooth);
-	IMPORT(detail);
-	IMPORT(turbulent);
-	IMPORT(displacement);
+	IMPORT_VALUE(param_displacement);
+	IMPORT_VALUE(param_size);
+	IMPORT_VALUE(param_random);
+	IMPORT_VALUE(param_detail);
+	IMPORT_VALUE(param_smooth);
+	IMPORT_VALUE(param_speed);
+	IMPORT_VALUE(param_turbulent);
+	if(param=="seed")
+		return set_param("random", value);
 	return Layer_Composite::set_param(param,value);
 }
 
 ValueBase
 NoiseDistort::get_param(const String & param)const
 {
-	if(param=="seed")
-	{
-		ValueBase ret(random.get_seed());
-		ret.set_static(get_param_static(param));
-		return ret;
-	}
-	EXPORT(size);
-	EXPORT(speed);
-	EXPORT(smooth);
-	EXPORT(detail);
-	EXPORT(displacement);
-	EXPORT(turbulent);
+	EXPORT_VALUE(param_displacement);
+	EXPORT_VALUE(param_size);
+	EXPORT_VALUE(param_random);
+	EXPORT_VALUE(param_detail);
+	EXPORT_VALUE(param_smooth);
+	EXPORT_VALUE(param_speed);
+	EXPORT_VALUE(param_turbulent);
 
+	if(param=="seed")
+		return get_param("random");
+		
 	EXPORT_NAME();
 	EXPORT_VERSION();
 
@@ -277,6 +282,8 @@ NoiseDistort::get_cairocolor(Context context, const Point &point)const
 Rect
 NoiseDistort::get_bounding_rect(Context context)const
 {
+	Vector displacement=param_displacement.get(Vector());
+
 	if(is_disabled())
 		return Rect::zero();
 
diff --git a/src/modules/mod_noise/distort.h b/src/modules/mod_noise/distort.h
index 866848e..4d42542 100644
--- a/src/modules/mod_noise/distort.h
+++ b/src/modules/mod_noise/distort.h
@@ -47,15 +47,20 @@ class NoiseDistort : public synfig::Layer_Composite
 	SYNFIG_LAYER_MODULE_EXT
 
 private:
-
-	synfig::Vector size;
-
-	RandomNoise random;
-	RandomNoise::SmoothType smooth;
-	int detail;
-	synfig::Real speed;
-	bool turbulent;
-	synfig::Vector displacement;
+	//!Parameter: (synfig::Vector)
+	synfig::ValueBase param_displacement;
+	//!Parameter: (synfig::Vector)
+	synfig::ValueBase param_size;
+	//!Parameter: (RandomNoise)
+	synfig::ValueBase param_random;
+	//!Parameter: (RandomNoise::SmoothType)
+	synfig::ValueBase param_smooth;
+	//!Parameter: (int)
+	synfig::ValueBase param_detail;
+	//!Parameter: (synfig::Real)
+	synfig::ValueBase param_speed;
+	//!Parameter: (bool)
+	synfig::ValueBase param_turbulent;
 
 	//void sync();
 	mutable synfig::Time curr_time;
@@ -75,8 +80,8 @@ public:
 	virtual synfig::CairoColor get_cairocolor(synfig::Context context, const synfig::Point &pos)const;
 	//virtual bool accelerated_render(synfig::Context context,synfig::Surface *surface,int quality, const synfig::RendDesc &renddesc, synfig::ProgressCallback *cb)const;
 	synfig::Layer::Handle hit_check(synfig::Context context, const synfig::Point &point)const;
-	virtual void set_time(synfig::Context context, synfig::Time time)const;
-	virtual void set_time(synfig::Context context, synfig::Time time, const synfig::Point &point)const;
+	virtual void set_time(synfig::IndependentContext context, synfig::Time time)const;
+	virtual void set_time(synfig::IndependentContext context, synfig::Time time, const synfig::Point &point)const;
 	virtual synfig::Rect get_bounding_rect(synfig::Context context)const;
 	virtual Vocab get_param_vocab()const;
 	virtual bool reads_context()const { return true; }
diff --git a/src/modules/mod_noise/noise.cpp b/src/modules/mod_noise/noise.cpp
index 4042495..5acd97a 100644
--- a/src/modules/mod_noise/noise.cpp
+++ b/src/modules/mod_noise/noise.cpp
@@ -41,6 +41,7 @@
 #include <synfig/surface.h>
 #include <synfig/value.h>
 #include <synfig/valuenode.h>
+#include <time.h>
 
 #endif
 
@@ -65,20 +66,20 @@ SYNFIG_LAYER_SET_CVS_ID(Noise,"$Id$");
 
 Noise::Noise():
 	Layer_Composite(1.0,Color::BLEND_COMPOSITE),
-	size(1,1),
-	gradient(Color::black(), Color::white())
+	param_gradient(ValueBase(Gradient(Color::black(), Color::white()))),
+	param_random(ValueBase(int(time(NULL)))),
+	param_size(ValueBase(Vector(1,1))),
+	param_smooth(ValueBase(int(RandomNoise::SMOOTH_COSINE))),
+	param_detail(ValueBase(int(4))),
+	param_speed(ValueBase(Real(0))),
+	param_turbulent(ValueBase(bool(false))),
+	param_do_alpha(ValueBase(bool(false))),
+	param_super_sample(ValueBase(bool(false)))
 {
-	smooth=RandomNoise::SMOOTH_COSINE;
-	detail=4;
-	speed=0;
-	do_alpha=false;
-	random.set_seed(time(NULL));
-	turbulent=false;
-	displacement=Vector(1,1);
-	do_displacement=false;
-	super_sample=false;
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	//displacement=Vector(1,1);
+	//do_displacement=false;
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 
@@ -86,6 +87,18 @@ Noise::Noise():
 inline Color
 Noise::color_func(const Point &point, float pixel_size,Context /*context*/)const
 {
+	Gradient gradient=param_gradient.get(Gradient());
+	Vector size=param_size.get(Vector());
+	RandomNoise random;
+	random.set_seed(param_random.get(int()));
+	int smooth_=param_smooth.get(int());
+	int detail=param_detail.get(int());
+	Real speed=param_speed.get(Real());
+	bool turbulent=param_turbulent.get(bool());
+	bool do_alpha=param_do_alpha.get(bool());
+	bool super_sample=param_super_sample.get(bool());
+	
+
 	Color ret(0,0,0,0);
 
 	float x(point[0]/size[0]*(1<<detail));
@@ -101,7 +114,7 @@ Noise::color_func(const Point &point, float pixel_size,Context /*context*/)const
 	int i;
 	Time time;
 	time=speed*curr_time;
-	RandomNoise::SmoothType smooth((!speed && Noise::smooth == RandomNoise::SMOOTH_SPLINE) ? RandomNoise::SMOOTH_FAST_SPLINE : Noise::smooth);
+	int smooth((!speed && smooth_ == (int)RandomNoise::SMOOTH_SPLINE) ? (int)RandomNoise::SMOOTH_FAST_SPLINE : smooth_);
 
 	float ftime(time);
 
@@ -112,15 +125,15 @@ Noise::color_func(const Point &point, float pixel_size,Context /*context*/)const
 		float alpha=0.0f;
 		for(i=0;i<detail;i++)
 		{
-			amount=random(smooth,0+(detail-i)*5,x,y,ftime)+amount*0.5;
+			amount=random(RandomNoise::SmoothType(smooth),0+(detail-i)*5,x,y,ftime)+amount*0.5;
 			if(amount<-1)amount=-1;if(amount>1)amount=1;
 
 			if(super_sample&&pixel_size)
 			{
-				amount2=random(smooth,0+(detail-i)*5,x2,y,ftime)+amount2*0.5;
+				amount2=random(RandomNoise::SmoothType(smooth),0+(detail-i)*5,x2,y,ftime)+amount2*0.5;
 				if(amount2<-1)amount2=-1;if(amount2>1)amount2=1;
 
-				amount3=random(smooth,0+(detail-i)*5,x,y2,ftime)+amount3*0.5;
+				amount3=random(RandomNoise::SmoothType(smooth),0+(detail-i)*5,x,y2,ftime)+amount3*0.5;
 				if(amount3<-1)amount3=-1;if(amount3>1)amount3=1;
 
 				if(turbulent)
@@ -135,7 +148,7 @@ Noise::color_func(const Point &point, float pixel_size,Context /*context*/)const
 
 			if(do_alpha)
 			{
-				alpha=random(smooth,3+(detail-i)*5,x,y,ftime)+alpha*0.5;
+				alpha=random(RandomNoise::SmoothType(smooth),3+(detail-i)*5,x,y,ftime)+alpha*0.5;
 				if(alpha<-1)alpha=-1;if(alpha>1)alpha=1;
 			}
 
@@ -180,14 +193,14 @@ Noise::calc_supersample(const synfig::Point &/*x*/, float /*pw*/,float /*ph*/)co
 }
 
 void
-Noise::set_time(synfig::Context context, synfig::Time t)const
+Noise::set_time(synfig::IndependentContext context, synfig::Time t)const
 {
 	curr_time=t;
 	context.set_time(t);
 }
 
 void
-Noise::set_time(synfig::Context context, synfig::Time t, const synfig::Point &point)const
+Noise::set_time(synfig::IndependentContext context, synfig::Time t, const synfig::Point &point)const
 {
 	curr_time=t;
 	context.set_time(t,point);
@@ -202,26 +215,24 @@ Noise::hit_check(synfig::Context context, const synfig::Point &point)const
 		return context.hit_check(point);
 	if(color_func(point,0,context).get_a()>0.5)
 		return const_cast<Noise*>(this);
-	return false;
+	return synfig::Layer::Handle();
 }
 
 bool
 Noise::set_param(const String & param, const ValueBase &value)
 {
-	if(param=="seed" && value.same_type_as(int()))
-	{
-		random.set_seed(value.get(int()));
-		set_param_static(param, value.get_static());
-		return true;
-	}
-	IMPORT(size);
-	IMPORT(speed);
-	IMPORT(smooth);
-	IMPORT(detail);
-	IMPORT(do_alpha);
-	IMPORT(gradient);
-	IMPORT(turbulent);
-	IMPORT(super_sample);
+	IMPORT_VALUE(param_gradient);
+	IMPORT_VALUE(param_size);
+	IMPORT_VALUE(param_random);
+	IMPORT_VALUE(param_detail);
+	IMPORT_VALUE(param_smooth);
+	IMPORT_VALUE(param_speed);
+	IMPORT_VALUE(param_turbulent);
+	IMPORT_VALUE(param_do_alpha);
+	IMPORT_VALUE(param_super_sample);
+	
+	if(param=="seed")
+		return set_param("random", value);
 
 	return Layer_Composite::set_param(param,value);
 }
@@ -229,20 +240,18 @@ Noise::set_param(const String & param, const ValueBase &value)
 ValueBase
 Noise::get_param(const String & param)const
 {
+	EXPORT_VALUE(param_gradient);
+	EXPORT_VALUE(param_size);
+	EXPORT_VALUE(param_random);
+	EXPORT_VALUE(param_detail);
+	EXPORT_VALUE(param_smooth);
+	EXPORT_VALUE(param_speed);
+	EXPORT_VALUE(param_turbulent);
+	EXPORT_VALUE(param_do_alpha);
+	EXPORT_VALUE(param_super_sample);
+
 	if(param=="seed")
-	{
-		ValueBase ret(random.get_seed());
-		ret.set_static(get_param_static(param));
-		return ret;
-	}
-	EXPORT(size);
-	EXPORT(speed);
-	EXPORT(smooth);
-	EXPORT(detail);
-	EXPORT(do_alpha);
-	EXPORT(gradient);
-	EXPORT(turbulent)
-	EXPORT(super_sample);
+		return get_param("random");
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
diff --git a/src/modules/mod_noise/noise.h b/src/modules/mod_noise/noise.h
index 28b0816..09ca5b4 100644
--- a/src/modules/mod_noise/noise.h
+++ b/src/modules/mod_noise/noise.h
@@ -48,23 +48,32 @@ class Noise : public synfig::Layer_Composite, public synfig::Layer_NoDeform
 	SYNFIG_LAYER_MODULE_EXT
 
 private:
-
-	synfig::Vector size;
-
-	RandomNoise random;
-	RandomNoise::SmoothType smooth;
-	int detail;
-	bool do_alpha;
-	synfig::Gradient gradient;
-	synfig::Real speed;
-	bool turbulent;
-	bool do_displacement;
-	synfig::Vector displacement;
+	//!Parameter: (Gradient)
+	synfig::ValueBase param_gradient;
+	//!Parameter: (RandomNoise)
+	synfig::ValueBase param_random;
+	//!Parameter: (synfig::Vector)
+	synfig::ValueBase param_size;
+	//!Parameter: (RandomNoise::SmoothType)
+	synfig::ValueBase param_smooth;
+	//!Parameter: (int)
+	synfig::ValueBase param_detail;
+	//!Parameter: (synfig::Real)
+	synfig::ValueBase param_speed;
+	//!Parameter: (bool)
+	synfig::ValueBase param_turbulent;
+	//!Parameter: (bool)
+	synfig::ValueBase param_do_alpha;
+	//!Parameter: (bool)
+	synfig::ValueBase param_super_sample;
+
+
+//	bool do_displacement;
+//	synfig::Vector displacement;
 
 	//void sync();
 	mutable synfig::Time curr_time;
 
-	bool super_sample;
 
 	synfig::Color color_func(const synfig::Point &x, float supersample,synfig::Context context)const;
 
@@ -79,8 +88,8 @@ public:
 	virtual synfig::CairoColor get_cairocolor(synfig::Context context, const synfig::Point &pos)const;
 	virtual bool accelerated_render(synfig::Context context,synfig::Surface *surface,int quality, const synfig::RendDesc &renddesc, synfig::ProgressCallback *cb)const;
 	synfig::Layer::Handle hit_check(synfig::Context context, const synfig::Point &point)const;
-	virtual void set_time(synfig::Context context, synfig::Time time)const;
-	virtual void set_time(synfig::Context context, synfig::Time time, const synfig::Point &point)const;
+	virtual void set_time(synfig::IndependentContext context, synfig::Time time)const;
+	virtual void set_time(synfig::IndependentContext context, synfig::Time time, const synfig::Point &point)const;
 
 	virtual Vocab get_param_vocab()const;
 };
diff --git a/src/modules/mod_noise/random_noise.cpp b/src/modules/mod_noise/random_noise.cpp
index 344dff9..3e19b87 100644
--- a/src/modules/mod_noise/random_noise.cpp
+++ b/src/modules/mod_noise/random_noise.cpp
@@ -118,26 +118,26 @@ RandomNoise::operator()(SmoothType smooth,int subseed,float xf,float yf,float tf
 			//figure polynomials for each point
 			const float txf[] =
 			{
-				0.5*dx*(dx*(dx*(-1) + 2) - 1),	//-t + 2t^2 -t^3
-				0.5*(dx*(dx*(3*dx - 5)) + 2), 	//2 - 5t^2 + 3t^3
-				0.5*dx*(dx*(-3*dx + 4) + 1),	//t + 4t^2 - 3t^3
-				0.5*dx*dx*(dx-1)				//-t^2 + t^3
+				0.5f*dx*(dx*(dx*(-1.f) + 2.f) - 1.f),	//-t + 2t^2 -t^3
+				0.5f*(dx*(dx*(3.f*dx - 5.f)) + 2.f), 	//2 - 5t^2 + 3t^3
+				0.5f*dx*(dx*(-3.f*dx + 4.f) + 1.f),		//t + 4t^2 - 3t^3
+				0.5f*dx*dx*(dx-1.f)						//-t^2 + t^3
 			};
 
 			const float tyf[] =
 			{
-				0.5*dy*(dy*(dy*(-1) + 2) - 1),	//-t + 2t^2 -t^3
-				0.5*(dy*(dy*(3*dy - 5)) + 2), 	//2 - 5t^2 + 3t^3
-				0.5*dy*(dy*(-3*dy + 4) + 1),	//t + 4t^2 - 3t^3
-				0.5*dy*dy*(dy-1)				//-t^2 + t^3
+				0.5f*dy*(dy*(dy*(-1.f) + 2.f) - 1.f),	//-t + 2t^2 -t^3
+				0.5f*(dy*(dy*(3.f*dy - 5.f)) + 2.f), 	//2 - 5t^2 + 3t^3
+				0.5f*dy*(dy*(-3.f*dy + 4.f) + 1.f),		//t + 4t^2 - 3t^3
+				0.5f*dy*dy*(dy-1.f)						//-t^2 + t^3
 			};
 
 			const float ttf[] =
 			{
-				0.5*dt*(dt*(dt*(-1) + 2) - 1),	//-t + 2t^2 -t^3
-				0.5*(dt*(dt*(3*dt - 5)) + 2), 	//2 - 5t^2 + 3t^3
-				0.5*dt*(dt*(-3*dt + 4) + 1),	//t + 4t^2 - 3t^3
-				0.5*dt*dt*(dt-1)				//-t^2 + t^3
+				0.5f*dt*(dt*(dt*(-1.f) + 2.f) - 1.f),	//-t + 2t^2 -t^3
+				0.5f*(dt*(dt*(3.f*dt - 5.f)) + 2.f), 	//2 - 5t^2 + 3t^3
+				0.5f*dt*(dt*(-3.f*dt + 4.f) + 1.f),		//t + 4t^2 - 3t^3
+				0.5f*dt*dt*(dt-1.f)						//-t^2 + t^3
 			};
 
 			//evaluate polynomial for each row
diff --git a/src/modules/mod_noise/valuenode_random.cpp b/src/modules/mod_noise/valuenode_random.cpp
index 586c092..185bc61 100644
--- a/src/modules/mod_noise/valuenode_random.cpp
+++ b/src/modules/mod_noise/valuenode_random.cpp
@@ -36,6 +36,7 @@
 #include "synfig/general.h"
 #include "synfig/color.h"
 #include <ETL/misc>
+#include <time.h>
 
 #endif
 
@@ -231,15 +232,15 @@ ValueNode_Random::check_type(ValueBase::Type type)
 }
 
 ValueNode*
-ValueNode_Random::clone(const GUID& deriv_guid)const
+ValueNode_Random::clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid)const
 {
-	ValueNode_Random* ret = (ValueNode_Random*)LinkableValueNode::clone(deriv_guid);
-	ret->randomize_seed();
+	ValueNode_Random* ret = (ValueNode_Random*)LinkableValueNode::clone(canvas, deriv_guid);
+	ret->randomize_seed(true);
 	return ret;
 }
 
 void
-ValueNode_Random::randomize_seed()
+ValueNode_Random::randomize_seed(bool silent)
 {
 	int i = get_link_index_from_name("seed");
 	ValueNode::Handle link = get_link_vfunc(i);
@@ -248,7 +249,7 @@ ValueNode_Random::randomize_seed()
 		int seed = time(NULL) + rand();
 		if (seed < 0) seed = -seed;
 		random.set_seed(seed);
-		set_link(i, ValueNode_Const::create(seed));
+		set_link(i, ValueNode_Const::create(seed), silent);
 	}
 }
 
diff --git a/src/modules/mod_noise/valuenode_random.h b/src/modules/mod_noise/valuenode_random.h
index 55d5208..4638526 100644
--- a/src/modules/mod_noise/valuenode_random.h
+++ b/src/modules/mod_noise/valuenode_random.h
@@ -65,9 +65,9 @@ public:
 
 	virtual ValueNode::LooseHandle get_link_vfunc(int i)const;
 
-	virtual ValueNode* clone(const GUID& deriv_guid=GUID())const;
+	virtual ValueNode* clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid=GUID())const;
 
-	void randomize_seed();
+	void randomize_seed(bool silent = false);
 
 protected:
 	LinkableValueNode* create_new()const;
diff --git a/src/modules/mod_openexr/Makefile.am b/src/modules/mod_openexr/Makefile.am
index d719c0f..ec42191 100644
--- a/src/modules/mod_openexr/Makefile.am
+++ b/src/modules/mod_openexr/Makefile.am
@@ -3,7 +3,7 @@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
diff --git a/src/modules/mod_openexr/Makefile.in b/src/modules/mod_openexr/Makefile.in
index 80bf405..fd33904 100644
--- a/src/modules/mod_openexr/Makefile.in
+++ b/src/modules/mod_openexr/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -54,7 +53,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/modules/mod_openexr
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(top_srcdir)/config/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
@@ -241,6 +241,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -346,7 +347,7 @@ top_srcdir = @top_srcdir@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
@@ -436,12 +437,14 @@ uninstall-moduleLTLIBRARIES:
 
 clean-moduleLTLIBRARIES:
 	-test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES)
-	@list='$(module_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(module_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 libmod_openexr.la: $(libmod_openexr_la_OBJECTS) $(libmod_openexr_la_DEPENDENCIES) $(EXTRA_libmod_openexr_la_DEPENDENCIES) 
 	$(libmod_openexr_la_LINK) $(am_libmod_openexr_la_rpath) $(libmod_openexr_la_OBJECTS) $(libmod_openexr_la_LIBADD) $(LIBS)
 
@@ -552,6 +555,20 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -697,18 +714,19 @@ uninstall-am: uninstall-moduleLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-moduleLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-moduleLTLIBRARIES install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am uninstall-moduleLTLIBRARIES
+	clean-libtool clean-moduleLTLIBRARIES cscopelist ctags \
+	distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-moduleLTLIBRARIES \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-moduleLTLIBRARIES
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/src/modules/mod_particle/Makefile.am b/src/modules/mod_particle/Makefile.am
index ffe2a89..a7d1237 100644
--- a/src/modules/mod_particle/Makefile.am
+++ b/src/modules/mod_particle/Makefile.am
@@ -3,7 +3,7 @@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
diff --git a/src/modules/mod_particle/Makefile.in b/src/modules/mod_particle/Makefile.in
index 6d3540c..47031b3 100644
--- a/src/modules/mod_particle/Makefile.in
+++ b/src/modules/mod_particle/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -54,7 +53,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/modules/mod_particle
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(top_srcdir)/config/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
@@ -235,6 +235,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -340,7 +341,7 @@ top_srcdir = @top_srcdir@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
@@ -429,12 +430,14 @@ uninstall-moduleLTLIBRARIES:
 
 clean-moduleLTLIBRARIES:
 	-test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES)
-	@list='$(module_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(module_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 libmod_particle.la: $(libmod_particle_la_OBJECTS) $(libmod_particle_la_DEPENDENCIES) $(EXTRA_libmod_particle_la_DEPENDENCIES) 
 	$(libmod_particle_la_LINK) -rpath $(moduledir) $(libmod_particle_la_OBJECTS) $(libmod_particle_la_LIBADD) $(LIBS)
 
@@ -545,6 +548,20 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -690,18 +707,19 @@ uninstall-am: uninstall-moduleLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-moduleLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-moduleLTLIBRARIES install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am uninstall-moduleLTLIBRARIES
+	clean-libtool clean-moduleLTLIBRARIES cscopelist ctags \
+	distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-moduleLTLIBRARIES \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-moduleLTLIBRARIES
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/src/modules/mod_particle/plant.cpp b/src/modules/mod_particle/plant.cpp
index 7c6f54f..b310b3c 100644
--- a/src/modules/mod_particle/plant.cpp
+++ b/src/modules/mod_particle/plant.cpp
@@ -46,6 +46,7 @@
 #include <ETL/bezier>
 #include <ETL/hermite>
 #include <vector>
+#include <time.h>
 
 #include <synfig/valuenode_bline.h>
 
@@ -77,20 +78,30 @@ SYNFIG_LAYER_SET_CVS_ID(Plant,"$Id$");
 
 
 Plant::Plant():
-	origin(0,0),
-	split_angle(Angle::deg(10)),
-	gravity(0,-0.1),
-	velocity(0.3),
-	perp_velocity(0.0),
-	step(0.01),
-	sprouts(10),
-	version(version__),
-	use_width(true)
+	param_bline(ValueBase(std::vector<BLinePoint>())),
+	param_origin(ValueBase(Vector(0,0))),
+	param_gradient(ValueBase(Gradient(Color::black(), Color::white()))),
+	param_split_angle(ValueBase(Angle::deg(10))),
+	param_gravity(ValueBase(Vector(0,-0.1))),
+	param_velocity(ValueBase(Real(0.3))),
+	param_perp_velocity(ValueBase(Real(0.0))),
+	param_size(ValueBase(Real(0.015))),
+	param_size_as_alpha(ValueBase(false)),
+	param_reverse(ValueBase(true)),
+	param_step(ValueBase(Real(0.01))),
+	param_splits(ValueBase(int(5))),
+	param_sprouts(ValueBase(int(10))),
+	param_random_factor(ValueBase(Real(0.2))),
+	param_drag(ValueBase(Real(0.1))),
+	param_use_width(ValueBase(true)),
+	version(version__)
 {
 	bounding_rect=Rect::zero();
-	random_factor=0.2;
+	Random random;
 	random.set_seed(time(NULL));
-
+	param_random.set(random.get_seed());
+	
+	std::vector<BLinePoint> bline;
 	bline.push_back(BLinePoint());
 	bline.push_back(BLinePoint());
 	bline.push_back(BLinePoint());
@@ -103,22 +114,30 @@ Plant::Plant():
 	bline[0].set_width(1.0f);
 	bline[1].set_width(1.0f);
 	bline[2].set_width(1.0f);
+	param_bline.set(bline);
+	
 	bline_loop=true;
 	mass=(0.5);
-	splits=5;
-	drag=0.1;
-	size=0.015;
 	needs_sync_=true;
 	sync();
-	size_as_alpha=false;
-	reverse=true;
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 void
 Plant::branch(int n,int depth,float t, float stunt_growth, synfig::Point position,synfig::Vector vel)const
 {
+	int splits=param_splits.get(int());
+	Real step=param_step.get(Real());
+	Vector gravity=param_gravity.get(Vector());
+	Real drag=param_drag.get(Real());
+	Gradient gradient=param_gradient.get(Gradient());
+	Angle split_angle=param_split_angle.get(Angle());
+	Real random_factor=param_random_factor.get(Real());
+	Random random;
+	random.set_seed(param_random.get(int()));
+	
 	float next_split((1.0-t)/(splits-depth)+t/*+random_factor*random(40+depth,t*splits,0,0)/splits*/);
 	for(;t<next_split;t+=step)
 	{
@@ -152,6 +171,11 @@ Plant::branch(int n,int depth,float t, float stunt_growth, synfig::Point positio
 void
 Plant::calc_bounding_rect()const
 {
+	std::vector<BLinePoint> bline(param_bline.get_list().begin(), param_bline.get_list().end());
+	Real velocity=param_velocity.get(Real());
+	Vector gravity=param_gravity.get(Vector());
+	Real size=param_size.get(Real());
+
 	std::vector<synfig::BLinePoint>::const_iterator iter,next;
 
 	bounding_rect=Rect::zero();
@@ -184,6 +208,18 @@ Plant::calc_bounding_rect()const
 void
 Plant::sync()const
 {
+	std::vector<BLinePoint> bline(param_bline.get_list().begin(), param_bline.get_list().end());
+	Real step_=param_step.get(Real());
+	Gradient gradient=param_gradient.get(Gradient());
+	Real random_factor=param_random_factor.get(Real());
+	Random random;
+	random.set_seed(param_random.get(int()));
+	int sprouts=param_sprouts.get(int());
+	Real velocity=param_velocity.get(Real());
+	Real perp_velocity=param_perp_velocity.get(Real());
+	int splits=param_splits.get(int());
+	bool use_width=param_use_width.get(bool());
+	
 	Mutex::Lock lock(mutex);
 	if (!needs_sync_) return;
 	time_t start_time; time(&start_time);
@@ -202,7 +238,7 @@ Plant::sync()const
 
 	etl::hermite<Vector> curve;
 
-	Real step(abs(this->step));
+	Real step(abs(step_));
 
 	int seg(0);
 
@@ -276,56 +312,55 @@ Plant::sync()const
 bool
 Plant::set_param(const String & param, const ValueBase &value)
 {
-	if(param=="bline" && value.get_type()==ValueBase::TYPE_LIST)
+	IMPORT_VALUE_PLUS(param_bline,
 	{
-		bline=value;
 		bline_loop=value.get_loop();
 		needs_sync_=true;
-		set_param_static(param, value.get_static());
 		return true;
-	}
-	if(param=="seed" && value.same_type_as(int()))
-	{
-		random.set_seed(value.get(int()));
-		needs_sync_=true;
-		set_param_static(param, value.get_static());
-		return true;
-	}
-	IMPORT(origin);
-	IMPORT_PLUS(split_angle,needs_sync_=true);
-	IMPORT_PLUS(gravity,needs_sync_=true);
-	IMPORT_PLUS(gradient,needs_sync_=true);
-	IMPORT_PLUS(velocity,needs_sync_=true);
-	IMPORT_PLUS(perp_velocity,needs_sync_=true);
-	IMPORT_PLUS(step,{
+	});
+	IMPORT_VALUE_PLUS(param_random, needs_sync_=true);
+	IMPORT_VALUE(param_origin);
+	IMPORT_VALUE_PLUS(param_split_angle,needs_sync_=true);
+	IMPORT_VALUE_PLUS(param_gravity,needs_sync_=true);
+	IMPORT_VALUE_PLUS(param_gradient,needs_sync_=true);
+	IMPORT_VALUE_PLUS(param_velocity,needs_sync_=true);
+	IMPORT_VALUE_PLUS(param_perp_velocity,needs_sync_=true);
+	IMPORT_VALUE_PLUS(param_step,{
 			needs_sync_ = true;
+			Real step=param_step.get(Real());
 			if (step <= 0)
 				step=0.01; // user is probably clueless - give a good default
 			else if (step < 0.00001)
 				step=0.00001; // 100K should be enough for anyone
 			else if (step > 1)
 				step=1;
+			param_step.set(step);
 		});
-	IMPORT_PLUS(splits,{
+	IMPORT_VALUE_PLUS(param_splits,{
 			needs_sync_=true;
+			int splits=param_splits.get(int());
 			if (splits < 1)
 				splits = 1;
+			param_splits.set(splits);
 		});
-	IMPORT_PLUS(sprouts,needs_sync_=true);
-	IMPORT_PLUS(random_factor,needs_sync_=true);
-	IMPORT_PLUS(drag,needs_sync_=true);
-	IMPORT(size);
-	IMPORT(size_as_alpha);
-	IMPORT(reverse);
-	IMPORT(use_width);
-
-	IMPORT_AS(origin,"offset");
+	IMPORT_VALUE_PLUS(param_sprouts,needs_sync_=true);
+	IMPORT_VALUE_PLUS(param_random_factor,needs_sync_=true);
+	IMPORT_VALUE_PLUS(param_drag,needs_sync_=true);
+	IMPORT_VALUE(param_size);
+	IMPORT_VALUE(param_size_as_alpha);
+	IMPORT_VALUE(param_reverse);
+	IMPORT_VALUE(param_use_width);
+
+	if(param=="offset")
+		return set_param("origin", value);
+	if(param=="seed")
+		return set_param("random", value);
 
 	return Layer_Composite::set_param(param,value);
 }
 /*
 void
-Plant::set_time(Context context, Time time)const
+Plant::set_time(IndependentContext context, Time time)const
 {
 	if(needs_sync==true)
 	{
@@ -337,7 +372,7 @@ Plant::set_time(Context context, Time time)const
 }
 
 void
-Plant::set_time(Context context, Time time, Vector pos)const
+Plant::set_time(IndependentContext context, Time time, Vector pos)const
 {
 	if(needs_sync==true)
 	{
@@ -352,27 +387,25 @@ ValueBase
 Plant::get_param(const String& param)const
 {
 	if(param=="seed")
-	{
-		ValueBase ret(random.get_seed());
-		ret.set_static(get_param_static(param));
-		return ret;
-	}
-	EXPORT(bline);
-	EXPORT(origin);
-	EXPORT(split_angle);
-	EXPORT(gravity);
-	EXPORT(velocity);
-	EXPORT(perp_velocity);
-	EXPORT(step);
-	EXPORT(gradient);
-	EXPORT(splits);
-	EXPORT(sprouts);
-	EXPORT(random_factor);
-	EXPORT(drag);
-	EXPORT(size);
-	EXPORT(size_as_alpha);
-	EXPORT(reverse);
-	EXPORT(use_width);
+		return get_param("random");
+
+	EXPORT_VALUE(param_bline);
+	EXPORT_VALUE(param_origin);
+	EXPORT_VALUE(param_split_angle);
+	EXPORT_VALUE(param_gravity);
+	EXPORT_VALUE(param_velocity);
+	EXPORT_VALUE(param_perp_velocity);
+	EXPORT_VALUE(param_step);
+	EXPORT_VALUE(param_gradient);
+	EXPORT_VALUE(param_splits);
+	EXPORT_VALUE(param_sprouts);
+	EXPORT_VALUE(param_random_factor);
+	EXPORT_VALUE(param_drag);
+	EXPORT_VALUE(param_size);
+	EXPORT_VALUE(param_size_as_alpha);
+	EXPORT_VALUE(param_reverse);
+	EXPORT_VALUE(param_use_width);
+	EXPORT_VALUE(param_random);
 
 	EXPORT_NAME();
 
@@ -485,7 +518,7 @@ Plant::set_version(const String &ver)
 	version = ver;
 
 	if (version == "0.1")
-		use_width = false;
+		param_use_width.set(false);
 
 	return true;
 }
@@ -497,46 +530,89 @@ Plant::accelerated_render(Context context,Surface *surface,int quality, const Re
 	if(is_disabled() || !ret)
 		return ret;
 
+	if(needs_sync_==true)
+		sync();
+
 	Surface dest_surface;
 	dest_surface.set_wh(surface->get_w(),surface->get_h());
 	dest_surface.clear();
 
-	const Point	tl(renddesc.get_tl()-origin);
-	const Point br(renddesc.get_br()-origin);
+	// Here is where drawing occurs 
+	draw_particles(&dest_surface, renddesc);
 
-	const int	w(renddesc.get_w());
-	const int	h(renddesc.get_h());
+	Surface::alpha_pen pen(surface->get_pen(0,0),get_amount(),get_blend_method());
+	dest_surface.blit_to(pen);
 
-	const int	surface_width(surface->get_w());
-	const int	surface_height(surface->get_h());
+	return true;
+}
 
-	// Width and Height of a pixel
-	const Real pw = (br[0] - tl[0]) / w;
-	const Real ph = (br[1] - tl[1]) / h;
 
-	if (isinf(pw) || isinf(ph))
-		return true;
+///
+bool
+Plant::accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+{
+	
+	bool ret(context.accelerated_cairorender(cr,quality,renddesc,cb));
+	if(is_disabled() || !ret)
+		return ret;
 
 	if(needs_sync_==true)
 		sync();
+	
+	cairo_save(cr);
+	cairo_push_group(cr);
+	// Here is where drawing occurs
+	draw_particles(cr);
+	cairo_pop_group_to_source(cr);
+	// blend the painted particles on the cr
+	cairo_paint_with_alpha_operator(cr, get_amount(), get_blend_method());
+	cairo_restore(cr);
+	
+	return true;
+}
+
 
+void
+Plant::draw_particles(Surface *dest_surface, const RendDesc &renddesc)const
+{
+	Point origin=param_origin.get(Vector());
+	Real size=param_size.get(Real());
+	bool reverse=param_reverse.get(bool());
+	bool size_as_alpha=param_size_as_alpha.get(bool());
+	
+	const Point	tl(renddesc.get_tl()-origin);
+	const Point br(renddesc.get_br()-origin);
+	
+	const int	w(renddesc.get_w());
+	const int	h(renddesc.get_h());
+	
+	const int	surface_width(dest_surface->get_w());
+	const int	surface_height(dest_surface->get_h());
+	
+	// Width and Height of a pixel
+	const Real pw = (br[0] - tl[0]) / w;
+	const Real ph = (br[1] - tl[1]) / h;
+	
+	if (isinf(pw) || isinf(ph))
+		return;
+	
 	if (particle_list.begin() != particle_list.end())
 	{
 		std::vector<Particle>::iterator iter;
 		Particle *particle;
-
+		
 		float radius(size*sqrt(1.0f/(abs(pw)*abs(ph))));
-
+		
 		int x1,y1,x2,y2;
-
+		
 		if (reverse)	iter = particle_list.end();
 		else			iter = particle_list.begin();
-
+		
 		while (true)
 		{
 			if (reverse)	particle = &(*(iter-1));
 			else			particle = &(*iter);
-
+			
 			float scaled_radius(radius);
 			Color color(particle->color);
 			if(size_as_alpha)
@@ -544,12 +620,12 @@ Plant::accelerated_render(Context context,Surface *surface,int quality, const Re
 				scaled_radius*=color.get_a();
 				color.set_a(1);
 			}
-
+			
 			// previously, radius was multiplied by sqrt(step)*12 only if
 			// the radius came out at less than 1 (pixel):
 			//   if (radius<=1.0f) radius*=sqrt(step)*12.0f;
 			// seems a little arbitrary - does it help?
-
+			
 			// calculate the box that this particle will be drawn as
 			float x1f=(particle->point[0]-tl[0])/pw-(scaled_radius*0.5);
 			float x2f=(particle->point[0]-tl[0])/pw+(scaled_radius*0.5);
@@ -559,25 +635,25 @@ Plant::accelerated_render(Context context,Surface *surface,int quality, const Re
 			x2=ceil_to_int(x2f)-1;
 			y1=ceil_to_int(y1f);
 			y2=ceil_to_int(y2f)-1;
-
+			
 			// if the box isn't entirely off the canvas, draw it
 			if(x1<=surface_width && y1<=surface_height && x2>=0 && y2>=0)
 			{
 				float x1e=x1-x1f, x2e=x2f-x2, y1e=y1-y1f, y2e=y2f-y2;
 				// printf("x1e %.4f x2e %.4f y1e %.4f y2e %.4f\n", x1e, x2e, y1e, y2e);
-
+				
 				// adjust the box so it's entirely on the canvas
 				if(x1<=0) { x1=0; x1e=0; }
 				if(y1<=0) { y1=0; y1e=0; }
 				if(x2>=surface_width)  { x2=surface_width;  x2e=0; }
 				if(y2>=surface_height) { y2=surface_height; y2e=0; }
-
+				
 				int w(x2-x1), h(y2-y1);
-
-				Surface::alpha_pen surface_pen(dest_surface.get_pen(x1,y1),1.0f);
+				
+				Surface::alpha_pen surface_pen(dest_surface->get_pen(x1,y1),1.0f);
 				if(w>0 && h>0)
-					dest_surface.fill(color,surface_pen,w,h);
-
+					dest_surface->fill(color,surface_pen,w,h);
+				
 				/* the rectangle doesn't cross any vertical pixel boundaries so we don't
 				 * need to draw any top or bottom edges
 				 */
@@ -664,7 +740,7 @@ Plant::accelerated_render(Context context,Surface *surface,int quality, const Re
 						}
 						else
 							surface_pen.move_to(x1,y2);
-
+						
 						if (y2e!=0)	// maybe draw bottom edge
 						{
 							surface_pen.set_alpha(y2e);
@@ -682,7 +758,7 @@ Plant::accelerated_render(Context context,Surface *surface,int quality, const Re
 						}
 						else
 							surface_pen.move_to(x2,y2-1);
-
+						
 						if (x2e!=0)	// maybe draw right edge
 						{
 							surface_pen.set_alpha(x2e);
@@ -700,7 +776,7 @@ Plant::accelerated_render(Context context,Surface *surface,int quality, const Re
 						}
 						else
 							surface_pen.move_to(x2-1,y1-1);
-
+						
 						if (y1e!=0)	// maybe draw top edge
 						{
 							surface_pen.set_alpha(y1e);
@@ -713,7 +789,7 @@ Plant::accelerated_render(Context context,Surface *surface,int quality, const Re
 					}
 				}
 			}
-
+			
 			if (reverse)
 			{
 				if (--iter == particle_list.begin())
@@ -726,13 +802,81 @@ Plant::accelerated_render(Context context,Surface *surface,int quality, const Re
 			}
 		}
 	}
+}
 
-	Surface::alpha_pen pen(surface->get_pen(0,0),get_amount(),get_blend_method());
-	dest_surface.blit_to(pen);
 
-	return true;
+///
+void
+Plant::draw_particles(cairo_t *cr)const
+{
+	Point origin=param_origin.get(Vector());
+	Real size=param_size.get(Real());
+	bool reverse=param_reverse.get(bool());
+	bool size_as_alpha=param_size_as_alpha.get(bool());
+
+	if (particle_list.begin() != particle_list.end())
+	{
+		std::vector<Particle>::iterator iter;
+		Particle *particle;
+		
+		float radius(size);
+		
+		if (reverse)	iter = particle_list.end();
+		else			iter = particle_list.begin();
+		
+		while (true)
+		{
+			if (reverse)	particle = &(*(iter-1));
+			else			particle = &(*iter);
+			
+			float scaled_radius(radius);
+			Color color(particle->color);
+			if(size_as_alpha)
+			{
+				scaled_radius*=color.get_a();
+				color.set_a(1);
+			}
+			
+			// calculate the box that this particle will be drawn as
+			const float x1f=particle->point[0]-scaled_radius*0.5;
+			const float x2f=particle->point[0]+scaled_radius*0.5;
+			const float y1f=particle->point[1]-scaled_radius*0.5;
+			const float y2f=particle->point[1]+scaled_radius*0.5;
+			const double width (x2f-x1f);
+			const double height(y2f-y1f);
+			
+			// grab the color components
+			const float r=color.clamped().get_r();
+			const float g=color.clamped().get_g();
+			const float b=color.clamped().get_b();
+			const float a=color.clamped().get_a();
+			
+			cairo_save(cr);
+			
+			cairo_set_source_rgb(cr, r, g, b);
+			cairo_translate(cr, origin[0], origin[1]);
+			cairo_rectangle(cr, x1f, y1f, width, height);
+			cairo_clip(cr);
+			cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
+			cairo_paint_with_alpha(cr, a);
+			
+			cairo_restore(cr);
+			
+			if (reverse)
+			{
+				if (--iter == particle_list.begin())
+					break;
+			}
+			else
+			{
+				if (++iter == particle_list.end())
+					break;
+			}
+		}
+	}
 }
 
+
 Rect
 Plant::get_bounding_rect(Context context)const
 {
diff --git a/src/modules/mod_particle/plant.h b/src/modules/mod_particle/plant.h
index 4140028..0eebbdc 100644
--- a/src/modules/mod_particle/plant.h
+++ b/src/modules/mod_particle/plant.h
@@ -49,51 +49,68 @@ using namespace synfig;
 using namespace std;
 using namespace etl;
 
-class Plant : public synfig::Layer_Composite, public synfig::Layer_NoDeform
+class Plant : public Layer_Composite, public Layer_NoDeform
 {
 	SYNFIG_LAYER_MODULE_EXT
 private:
+	//! Parameter: (std::vector<BLinePoint>)
+	ValueBase param_bline;
+	//! Parameter: (Point)
+	ValueBase param_origin;
+	//!Parameter: (Gradient)
+	ValueBase param_gradient;
+	//!Parameter: (Angle)
+	ValueBase param_split_angle;
+	//!Parameter: (Vector)
+	ValueBase param_gravity;
+	//!Parameter: (Real)
+	ValueBase param_velocity;
+	//!Parameter: (Real)
+	ValueBase param_perp_velocity;
+	//!Parameter: (Real)
+	ValueBase param_size;
+	//!Parameter: (bool)
+	ValueBase param_size_as_alpha;
+	//!Parameter: (bool)
+	ValueBase param_reverse;
+	//!Parameter: (Real)
+	ValueBase param_step;
+	//!Parameter: (Random)
+	ValueBase param_random;
+	//!Parameter: (int)
+	ValueBase param_splits;
+	//!Parameter: (int)
+	ValueBase param_sprouts;
+	//!Parameter: (Real)
+	ValueBase param_random_factor;
+	//!Parameter: (Real)
+	ValueBase param_drag;
+	//!Parameter: (bool)
+	ValueBase param_use_width;
 
-	std::vector<synfig::BLinePoint> bline;
 	bool bline_loop;
 
-	Point origin;
-
-	synfig::Gradient gradient;
-
 	struct Particle
 	{
-		synfig::Point point;
-		synfig::Color color;
+		Point point;
+		Color color;
 
-		Particle(const synfig::Point &point,const synfig::Color& color):
+		Particle(const Point &point,const Color& color):
 			point(point),color(color) { }
 	};
 
 	mutable std::vector<Particle> particle_list;
-	mutable synfig::Rect	bounding_rect;
-	synfig::Angle split_angle;
-	synfig::Vector gravity;
-	synfig::Real velocity;
-	synfig::Real perp_velocity;
-	synfig::Real step;
-	synfig::Real mass;
-	synfig::Real drag;
-	synfig::Real size;
-	int splits;
-	int sprouts;
-	synfig::Real random_factor;
-	Random random;
-
-	bool size_as_alpha;
-	bool reverse;
+	mutable Rect	bounding_rect;
+	Real mass;
+
 	mutable bool needs_sync_;
-	mutable synfig::Mutex mutex;
+	mutable Mutex mutex;
 
-	void branch(int n, int depth,float t, float stunt_growth, synfig::Point position,synfig::Vector velocity)const;
+	void branch(int n, int depth,float t, float stunt_growth, Point position,Vector velocity)const;
 	void sync()const;
 	String version;
-	bool use_width;
+	void draw_particles(Surface *surface, const RendDesc &renddesc)const;
+	void draw_particles(cairo_t *cr)const;
 
 public:
 
@@ -101,17 +118,18 @@ public:
 
 	void calc_bounding_rect()const;
 
-	virtual bool set_param(const String & param, const synfig::ValueBase &value);
+	virtual bool set_param(const String & param, const ValueBase &value);
 
 	virtual ValueBase get_param(const String & param)const;
 
-	virtual bool set_version(const synfig::String &ver);
+	virtual bool set_version(const String &ver);
 
 	virtual Vocab get_param_vocab()const;
 
-	virtual bool accelerated_render(synfig::Context context,synfig::Surface *surface,int quality, const synfig::RendDesc &renddesc, synfig::ProgressCallback *cb)const;\
+	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 
-	virtual synfig::Rect get_bounding_rect(synfig::Context context)const;
+	virtual Rect get_bounding_rect(Context context)const;
 };
 
 /* === E N D =============================================================== */
diff --git a/src/modules/mod_particle/random.cpp b/src/modules/mod_particle/random.cpp
index ebdff92..c76fbe5 100644
--- a/src/modules/mod_particle/random.cpp
+++ b/src/modules/mod_particle/random.cpp
@@ -107,26 +107,26 @@ Random::operator()(SmoothType smooth,int subseed,float xf,float yf,float tf)cons
 			//figure polynomials for each point
 			const float txf[] =
 			{
-				0.5*dx*(dx*(dx*(-1) + 2) - 1),	//-t + 2t^2 -t^3
-				0.5*(dx*(dx*(3*dx - 5)) + 2), 	//2 - 5t^2 + 3t^3
-				0.5*dx*(dx*(-3*dx + 4) + 1),	//t + 4t^2 - 3t^3
-				0.5*dx*dx*(dx-1)				//-t^2 + t^3
+				0.5f*dx*(dx*(dx*(-1.f) + 2.f) - 1.f),	//-t + 2t^2 -t^3
+				0.5f*(dx*(dx*(3.f*dx - 5.f)) + 2.f), 	//2 - 5t^2 + 3t^3
+				0.5f*dx*(dx*(-3.f*dx + 4.f) + 1.f),		//t + 4t^2 - 3t^3
+				0.5f*dx*dx*(dx-1.f)						//-t^2 + t^3
 			};
 
 			const float tyf[] =
 			{
-				0.5*dy*(dy*(dy*(-1) + 2) - 1),	//-t + 2t^2 -t^3
-				0.5*(dy*(dy*(3*dy - 5)) + 2), 	//2 - 5t^2 + 3t^3
-				0.5*dy*(dy*(-3*dy + 4) + 1),	//t + 4t^2 - 3t^3
-				0.5*dy*dy*(dy-1)				//-t^2 + t^3
+				0.5f*dy*(dy*(dy*(-1.f) + 2.f) - 1.f),	//-t + 2t^2 -t^3
+				0.5f*(dy*(dy*(3.f*dy - 5.f)) + 2.f), 	//2 - 5t^2 + 3t^3
+				0.5f*dy*(dy*(-3.f*dy + 4.f) + 1.f),		//t + 4t^2 - 3t^3
+				0.5f*dy*dy*(dy-1.f)						//-t^2 + t^3
 			};
 
 			const float ttf[] =
 			{
-				0.5*dt*(dt*(dt*(-1) + 2) - 1),	//-t + 2t^2 -t^3
-				0.5*(dt*(dt*(3*dt - 5)) + 2), 	//2 - 5t^2 + 3t^3
-				0.5*dt*(dt*(-3*dt + 4) + 1),	//t + 4t^2 - 3t^3
-				0.5*dt*dt*(dt-1)				//-t^2 + t^3
+				0.5f*dt*(dt*(dt*(-1.f) + 2.f) - 1.f),	//-t + 2t^2 -t^3
+				0.5f*(dt*(dt*(3.f*dt - 5.f)) + 2.f), 	//2 - 5t^2 + 3t^3
+				0.5f*dt*(dt*(-3.f*dt + 4.f) + 1.f),		//t + 4t^2 - 3t^3
+				0.5f*dt*dt*(dt-1.f)						//-t^2 + t^3
 			};
 
 			//evaluate polynomial for each row
diff --git a/src/modules/mod_png/Makefile.am b/src/modules/mod_png/Makefile.am
index 0b7356a..d206a16 100644
--- a/src/modules/mod_png/Makefile.am
+++ b/src/modules/mod_png/Makefile.am
@@ -3,7 +3,7 @@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
diff --git a/src/modules/mod_png/Makefile.in b/src/modules/mod_png/Makefile.in
index c7a5c3b..c540f89 100644
--- a/src/modules/mod_png/Makefile.in
+++ b/src/modules/mod_png/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -54,7 +53,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/modules/mod_png
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(top_srcdir)/config/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
@@ -242,6 +242,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -347,7 +348,7 @@ top_srcdir = @top_srcdir@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
@@ -441,12 +442,14 @@ uninstall-moduleLTLIBRARIES:
 
 clean-moduleLTLIBRARIES:
 	-test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES)
-	@list='$(module_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(module_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 libmod_png.la: $(libmod_png_la_OBJECTS) $(libmod_png_la_DEPENDENCIES) $(EXTRA_libmod_png_la_DEPENDENCIES) 
 	$(libmod_png_la_LINK) $(am_libmod_png_la_rpath) $(libmod_png_la_OBJECTS) $(libmod_png_la_LIBADD) $(LIBS)
 
@@ -573,6 +576,20 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -718,18 +735,19 @@ uninstall-am: uninstall-moduleLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-moduleLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-moduleLTLIBRARIES install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am uninstall-moduleLTLIBRARIES
+	clean-libtool clean-moduleLTLIBRARIES cscopelist ctags \
+	distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-moduleLTLIBRARIES \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-moduleLTLIBRARIES
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/src/modules/mod_png/mptr_cairo_png.cpp b/src/modules/mod_png/mptr_cairo_png.cpp
index 45f368c..b92d296 100644
--- a/src/modules/mod_png/mptr_cairo_png.cpp
+++ b/src/modules/mod_png/mptr_cairo_png.cpp
@@ -67,11 +67,14 @@ cairo_png_mptr::cairo_png_mptr(const char *file_name)
 	if(cairo_surface_status(csurface_))
 	{
 		throw strprintf("Unable to physically open %s",file_name);
+		cairo_surface_destroy(csurface_);
+		csurface_=NULL;
 		return;
 	}
 	CairoSurface cairo_s;
 	cairo_s.set_cairo_surface(csurface_);
-	cairo_s.map_cairo_image();
+	if(!cairo_s.map_cairo_image())
+	   return;
 	int w=cairo_s.get_w();
 	int h=cairo_s.get_h();
 	for(int y=0; y<h; y++)
diff --git a/src/modules/mod_png/trgt_cairo_png.cpp b/src/modules/mod_png/trgt_cairo_png.cpp
index 652d36d..e2fd3df 100644
--- a/src/modules/mod_png/trgt_cairo_png.cpp
+++ b/src/modules/mod_png/trgt_cairo_png.cpp
@@ -112,7 +112,7 @@ cairo_png_trgt::obtain_surface(cairo_surface_t *&surface)
 bool
 cairo_png_trgt::put_surface(cairo_surface_t *surface, synfig::ProgressCallback *cb)
 {
-	gamma_filter(surface);
+	gamma_filter(surface, gamma());
 	if(cairo_surface_status(surface))
 	{
 		if(cb) cb->error(_("Cairo Surface bad status"));
diff --git a/src/modules/mod_ppm/Makefile.am b/src/modules/mod_ppm/Makefile.am
index ce8de9f..f2e4bfd 100644
--- a/src/modules/mod_ppm/Makefile.am
+++ b/src/modules/mod_ppm/Makefile.am
@@ -3,7 +3,7 @@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
diff --git a/src/modules/mod_ppm/Makefile.in b/src/modules/mod_ppm/Makefile.in
index 0ce508f..8b02733 100644
--- a/src/modules/mod_ppm/Makefile.in
+++ b/src/modules/mod_ppm/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -54,7 +53,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/modules/mod_ppm
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(top_srcdir)/config/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
@@ -234,6 +234,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -339,7 +340,7 @@ top_srcdir = @top_srcdir@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
@@ -425,12 +426,14 @@ uninstall-moduleLTLIBRARIES:
 
 clean-moduleLTLIBRARIES:
 	-test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES)
-	@list='$(module_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(module_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 libmod_ppm.la: $(libmod_ppm_la_OBJECTS) $(libmod_ppm_la_DEPENDENCIES) $(EXTRA_libmod_ppm_la_DEPENDENCIES) 
 	$(libmod_ppm_la_LINK) -rpath $(moduledir) $(libmod_ppm_la_OBJECTS) $(libmod_ppm_la_LIBADD) $(LIBS)
 
@@ -541,6 +544,20 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -686,18 +703,19 @@ uninstall-am: uninstall-moduleLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-moduleLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-moduleLTLIBRARIES install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am uninstall-moduleLTLIBRARIES
+	clean-libtool clean-moduleLTLIBRARIES cscopelist ctags \
+	distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-moduleLTLIBRARIES \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-moduleLTLIBRARIES
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/src/modules/mod_ppm/trgt_mpg.cpp b/src/modules/mod_ppm/trgt_mpg.cpp
index ecdecba..5026a76 100644
--- a/src/modules/mod_ppm/trgt_mpg.cpp
+++ b/src/modules/mod_ppm/trgt_mpg.cpp
@@ -33,7 +33,7 @@
 
 #include <ETL/stringf>
 #include "trgt_mpg.h"
-#include <stdio.h>
+#include <cstdio>
 #include <iostream>
 #include <algorithm>
 #include <functional>
diff --git a/src/modules/mod_ppm/trgt_mpg.h b/src/modules/mod_ppm/trgt_mpg.h
index e1707d9..f3ad534 100644
--- a/src/modules/mod_ppm/trgt_mpg.h
+++ b/src/modules/mod_ppm/trgt_mpg.h
@@ -30,7 +30,7 @@
 /* === H E A D E R S ======================================================= */
 
 #include <synfig/synfig.h>
-#include <stdio.h>
+#include <cstdio>
 #include "trgt_ppm.h"
 
 /* === M A C R O S ========================================================= */
diff --git a/src/modules/mod_svg/Makefile.am b/src/modules/mod_svg/Makefile.am
index 25eb5a6..a7fd67c 100644
--- a/src/modules/mod_svg/Makefile.am
+++ b/src/modules/mod_svg/Makefile.am
@@ -1,7 +1,7 @@
 # $Id$
 
 MAINTAINERCLEANFILES=Makefile.in
-INCLUDES = -I$(top_builddir) -I$(top_srcdir)/src
+AM_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir)/src
 
 moduledir=@MODULE_DIR@
 
diff --git a/src/modules/mod_svg/Makefile.in b/src/modules/mod_svg/Makefile.in
index 2e6e6ec..818ffdf 100644
--- a/src/modules/mod_svg/Makefile.in
+++ b/src/modules/mod_svg/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -54,7 +53,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/modules/mod_svg
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(top_srcdir)/config/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
@@ -234,6 +234,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -337,7 +338,7 @@ top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 MAINTAINERCLEANFILES = Makefile.in
-INCLUDES = -I$(top_builddir) -I$(top_srcdir)/src
+AM_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir)/src
 moduledir = @MODULE_DIR@
 module_LTLIBRARIES = libmod_svg.la
 libmod_svg_la_SOURCES = main.cpp layer_svg.h layer_svg.cpp svg_parser.h svg_parser.cpp
@@ -405,12 +406,14 @@ uninstall-moduleLTLIBRARIES:
 
 clean-moduleLTLIBRARIES:
 	-test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES)
-	@list='$(module_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(module_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 libmod_svg.la: $(libmod_svg_la_OBJECTS) $(libmod_svg_la_DEPENDENCIES) $(EXTRA_libmod_svg_la_DEPENDENCIES) 
 	$(libmod_svg_la_LINK) -rpath $(moduledir) $(libmod_svg_la_OBJECTS) $(libmod_svg_la_LIBADD) $(LIBS)
 
@@ -521,6 +524,20 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -666,18 +683,19 @@ uninstall-am: uninstall-moduleLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-moduleLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-moduleLTLIBRARIES install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am uninstall-moduleLTLIBRARIES
+	clean-libtool clean-moduleLTLIBRARIES cscopelist ctags \
+	distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-moduleLTLIBRARIES \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-moduleLTLIBRARIES
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/src/modules/mod_svg/layer_svg.cpp b/src/modules/mod_svg/layer_svg.cpp
index ce3be00..7ef1e2e 100644
--- a/src/modules/mod_svg/layer_svg.cpp
+++ b/src/modules/mod_svg/layer_svg.cpp
@@ -74,7 +74,11 @@ svg_layer::set_param(const String & param, const ValueBase &value)
 		if(canvas){
 			canvas->set_inline(get_canvas());
 			set_sub_canvas(canvas);
-			IMPORT(filename);
+			if(param=="filename" && value.same_type_as(filename))
+			{
+				value.put(&filename);
+				return true;
+			}
 		}
 	}
 	return Layer_PasteCanvas::set_param(param,value);
@@ -83,7 +87,11 @@ svg_layer::set_param(const String & param, const ValueBase &value)
 ValueBase
 svg_layer::get_param(const String &param)const
 {
-	EXPORT(filename);
+	if(param=="filename")
+	{
+		ValueBase ret(filename);
+		return ret;
+	}
 	EXPORT_NAME();
 	EXPORT_VERSION();
 
diff --git a/src/modules/mod_svg/svg_parser.cpp b/src/modules/mod_svg/svg_parser.cpp
index 6825cf6..17dc3d7 100644
--- a/src/modules/mod_svg/svg_parser.cpp
+++ b/src/modules/mod_svg/svg_parser.cpp
@@ -219,7 +219,7 @@ Svg_parser::parser_canvas (const xmlpp::Node* node){
 }
 
 void
-Svg_parser::parser_graphics(const xmlpp::Node* node,xmlpp::Element* root,String parent_style,Matrix* mtx_parent){
+Svg_parser::parser_graphics(const xmlpp::Node* node,xmlpp::Element* root,String parent_style,SVGMatrix* mtx_parent){
 	if(const xmlpp::Element* nodeElement = dynamic_cast<const xmlpp::Element*>(node)){
 		Glib::ustring nodename = node->get_name();
 		if (nodename.compare("g")==0 || nodename.compare("path")==0 || nodename.compare("polygon")==0 || nodename.compare("rect")==0){} else return;
@@ -229,16 +229,16 @@ Svg_parser::parser_graphics(const xmlpp::Node* node,xmlpp::Element* root,String
 		Glib::ustring transform	=nodeElement->get_attribute_value("transform");
 
 		//resolve transformations
-		Matrix* mtx=NULL;
+		SVGMatrix* mtx=NULL;
 		if(!transform.empty())
 			mtx=parser_transform (transform);
 		if (SVG_SEP_TRANSFORMS)
 		{
 			if(mtx_parent){
 				if(mtx)
-					composeMatrix(&mtx,mtx_parent,mtx);
+					composeSVGMatrix(&mtx,mtx_parent,mtx);
 				else
-					mtx=newMatrix(mtx_parent);
+					mtx=newSVGMatrix(mtx_parent);
 			}
 		}
 		if(nodename.compare("g")==0){
@@ -413,7 +413,7 @@ Svg_parser::parser_graphics(const xmlpp::Node* node,xmlpp::Element* root,String
 /* === LAYER PARSERS ======================================================= */
 
 void
-Svg_parser::parser_layer(const xmlpp::Node* node,xmlpp::Element* root,String parent_style,Matrix* mtx){
+Svg_parser::parser_layer(const xmlpp::Node* node,xmlpp::Element* root,String parent_style,SVGMatrix* mtx){
 	if(const xmlpp::Element* nodeElement = dynamic_cast<const xmlpp::Element*>(node)){
 		Glib::ustring label		=nodeElement->get_attribute_value("label");
 		Glib::ustring style		=nodeElement->get_attribute_value("style");
@@ -492,7 +492,7 @@ Svg_parser::parser_rect(const xmlpp::Element* nodeElement,xmlpp::Element* root,S
 /* === CONVERT TO PATH PARSERS ============================================= */       
 
 std::list<BLine *>
-Svg_parser::parser_path_polygon(Glib::ustring polygon_points, Matrix* mtx){
+Svg_parser::parser_path_polygon(Glib::ustring polygon_points, SVGMatrix* mtx){
 	std::list<BLine *> k0;
 	if(polygon_points.empty())
 		return k0;
@@ -516,7 +516,7 @@ Svg_parser::parser_path_polygon(Glib::ustring polygon_points, Matrix* mtx){
 }
 
 std::list<BLine *>
-Svg_parser::parser_path_d(String path_d,Matrix* mtx){
+Svg_parser::parser_path_d(String path_d,SVGMatrix* mtx){
 	std::list<BLine *> k;
 	std::list<Vertex*> k1;
 
@@ -697,14 +697,16 @@ Svg_parser::parser_path_d(String path_d,Matrix* mtx){
 			//this curve have 6 parameters
 			//radius
 			float radius_x,radius_y;
-			float angle;
+			// todo: why 'angle' never used?
+			//float angle;
 			bool sweep,large;
 			//radius
 			radius_x=atof(tokens.at(i).data());
 			i++; if(tokens.at(i).compare(",")==0) i++;
 			radius_y=atof(tokens.at(i).data());
 			//angle
-			i++; angle=atof(tokens.at(i).data());
+			// todo: why 'angle' never used?
+			i++; // angle=atof(tokens.at(i).data());
 			//flags
 			i++; large=atoi(tokens.at(i).data());
 			i++; sweep=atoi(tokens.at(i).data());
@@ -854,7 +856,7 @@ Svg_parser::parser_path_d(String path_d,Matrix* mtx){
 /* === EFFECTS PARSERS ===================================================== */
 
 void
-Svg_parser::parser_effects(const xmlpp::Element* /*nodeElement*/,xmlpp::Element* root,String /*parent_style*/,Matrix* mtx){
+Svg_parser::parser_effects(const xmlpp::Element* /*nodeElement*/,xmlpp::Element* root,String /*parent_style*/,SVGMatrix* mtx){
 	build_transform(root, mtx);
 }
 
@@ -879,7 +881,7 @@ Svg_parser::parser_defs(const xmlpp::Node* node){
 /* === BUILDS ============================================================== */
 
 void
-Svg_parser::build_transform(xmlpp::Element* root,Matrix* mtx){
+Svg_parser::build_transform(xmlpp::Element* root,SVGMatrix* mtx){
 	if (mtx) {
 		xmlpp::Element *child_transform=root->add_child("layer");
 		child_transform->set_attribute("type","warp");
@@ -937,7 +939,7 @@ Svg_parser::find_colorStop(String name){
 }
 
 void
-Svg_parser::build_fill(xmlpp::Element* root, String name,Matrix *mtx){
+Svg_parser::build_fill(xmlpp::Element* root, String name,SVGMatrix *mtx){
 	if(!name.empty()){
 		int start=name.find_first_of("#")+1;
 		int end=name.find_first_of(")");
@@ -979,7 +981,7 @@ Svg_parser::build_stop_color(xmlpp::Element* root, std::list<ColorStop*> *stops)
 	}
 }
 void
-Svg_parser::build_linearGradient(xmlpp::Element* root,LinearGradient* data,Matrix* mtx){
+Svg_parser::build_linearGradient(xmlpp::Element* root,LinearGradient* data,SVGMatrix* mtx){
 	if(data){
 		xmlpp::Element* gradient=root->add_child("layer");
 
@@ -998,9 +1000,9 @@ Svg_parser::build_linearGradient(xmlpp::Element* root,LinearGradient* data,Matri
 
 
 		if (mtx || data->transform){
-			Matrix *mtx2=NULL;
+			SVGMatrix *mtx2=NULL;
 			if (mtx && data->transform){
-				composeMatrix(&mtx2,mtx,data->transform);
+				composeSVGMatrix(&mtx2,mtx,data->transform);
 			}else if (mtx){
 				mtx2=mtx;
 			}else if (data->transform){
@@ -1051,7 +1053,7 @@ Svg_parser::build_linearGradient(xmlpp::Element* root,LinearGradient* data,Matri
 	}
 }
 void
-Svg_parser::build_radialGradient(xmlpp::Element* root,RadialGradient* data,Matrix* mtx){
+Svg_parser::build_radialGradient(xmlpp::Element* root,RadialGradient* data,SVGMatrix* mtx){
 	if(data){
 		xmlpp::Element* gradient;
 
@@ -1073,9 +1075,9 @@ Svg_parser::build_radialGradient(xmlpp::Element* root,RadialGradient* data,Matri
 			gradient=child_layer->add_child("layer");
 			gradient->set_attribute("desc",data->name);
 			build_param (gradient->add_child("param"),"blend_method","integer","0"); //composite
-			Matrix *mtx2=NULL;
+			SVGMatrix *mtx2=NULL;
 			if (mtx && data->transform){
-				composeMatrix(&mtx2,mtx,data->transform);
+				composeSVGMatrix(&mtx2,mtx,data->transform);
 			}else if (mtx){
 				mtx2=mtx;
 			}else if (data->transform){
@@ -1127,7 +1129,7 @@ Svg_parser::parser_linearGradient(const xmlpp::Node* node){
 		Glib::ustring transform	=nodeElement->get_attribute_value("gradientTransform");
 
 		//resolve transformations
-		Matrix* mtx=NULL;
+		SVGMatrix* mtx=NULL;
 		if(!transform.empty())
 			mtx=parser_transform (transform);
 
@@ -1180,7 +1182,7 @@ Svg_parser::parser_radialGradient(const xmlpp::Node* node){
 			std::cout<<"SVG Parser: ignoring focus attributes for radial gradient";
 
 		//resolve transformations
-		Matrix* mtx=NULL;
+		SVGMatrix* mtx=NULL;
 		if(!transform.empty())
 			mtx=parser_transform (transform);
 
@@ -1235,7 +1237,7 @@ Svg_parser::adjustGamma(float r,float g,float b,float a){
 }
 
 LinearGradient*
-Svg_parser::newLinearGradient(String name,float x1,float y1, float x2,float y2,std::list<ColorStop*> *stops, Matrix* transform){
+Svg_parser::newLinearGradient(String name,float x1,float y1, float x2,float y2,std::list<ColorStop*> *stops, SVGMatrix* transform){
 	LinearGradient* data;
 	data=(LinearGradient*)malloc(sizeof(LinearGradient));
 	sprintf(data->name,"%s",name.data());
@@ -1249,7 +1251,7 @@ Svg_parser::newLinearGradient(String name,float x1,float y1, float x2,float y2,s
 }
 
 RadialGradient*
-Svg_parser::newRadialGradient(String name,float cx,float cy,float r,std::list<ColorStop*> *stops, Matrix* transform){
+Svg_parser::newRadialGradient(String name,float cx,float cy,float r,std::list<ColorStop*> *stops, SVGMatrix* transform){
 	RadialGradient* data;
 	data=(RadialGradient*)malloc(sizeof(RadialGradient));
 	sprintf(data->name,"%s",name.data());
@@ -1572,9 +1574,9 @@ Svg_parser::newVertex(float x,float y){
 }
 
 //matrices
-Matrix*
+SVGMatrix*
 Svg_parser::parser_transform(const String transform){
-	Matrix* a=NULL;
+	SVGMatrix* a=NULL;
 	String tf(transform);
 	removeIntoS(&tf);
 	std::vector<String> tokens=tokenize(tf," ");
@@ -1590,12 +1592,12 @@ Svg_parser::parser_transform(const String transform){
 			end		=(*aux).size()-1;
 			dy		=atof((*aux).substr(start,end-start).data());
 			if(matrixIsNull(a))
-				a=newMatrix(1,0,0,1,dx,dy);
+				a=newSVGMatrix(1,0,0,1,dx,dy);
 			else
-				multiplyMatrix(&a,newMatrix(1,0,0,1,dx,dy));
+				multiplySVGMatrix(&a,newSVGMatrix(1,0,0,1,dx,dy));
 		}else if((*aux).compare(0,5,"scale")==0){
 			if(matrixIsNull(a))
-				a=newMatrix(1,0,0,1,0,0);
+				a=newSVGMatrix(1,0,0,1,0,0);
 		}else if((*aux).compare(0,6,"rotate")==0){
 			float angle,seno,coseno;
 			int start,end;
@@ -1605,46 +1607,46 @@ Svg_parser::parser_transform(const String transform){
 			seno   =sin(angle);
 			coseno =cos(angle);
 			if(matrixIsNull(a))
-				a=newMatrix(coseno,seno,-1*seno,coseno,0,0);
+				a=newSVGMatrix(coseno,seno,-1*seno,coseno,0,0);
 			else
-				multiplyMatrix(&a,newMatrix(coseno,seno,-1*seno,coseno,0,0));
+				multiplySVGMatrix(&a,newSVGMatrix(coseno,seno,-1*seno,coseno,0,0));
 		}else if((*aux).compare(0,6,"matrix")==0){
 			int start	=(*aux).find_first_of('(')+1;
 			int end		=(*aux).find_first_of(')');
 			if(matrixIsNull(a))
-				a=newMatrix((*aux).substr(start,end-start));
+				a=newSVGMatrix((*aux).substr(start,end-start));
 			else
-				multiplyMatrix(&a,newMatrix((*aux).substr(start,end-start)));
+				multiplySVGMatrix(&a,newSVGMatrix((*aux).substr(start,end-start)));
 		}else{
-			a=newMatrix(1,0,0,1,0,0);
+			a=newSVGMatrix(1,0,0,1,0,0);
 		}
 		aux++;
 	}
 	return a;
 }
 
-Matrix*
-Svg_parser::newMatrix(Matrix *a){
-	Matrix* data;
-	data=(Matrix*)malloc(sizeof(Matrix));
+SVGMatrix*
+Svg_parser::newSVGMatrix(SVGMatrix *a){
+	SVGMatrix* data;
+	data=(SVGMatrix*)malloc(sizeof(SVGMatrix));
 	data->a=a->a;		data->b=a->b;		data->c=a->c;
 	data->d=a->d;		data->e=a->e;		data->f=a->f;
 	return data;
 }
-Matrix*
-Svg_parser::newMatrix(float a,float b,float c,float d,float e,float f){
-	Matrix* data;
-	data=(Matrix*)malloc(sizeof(Matrix));
+SVGMatrix*
+Svg_parser::newSVGMatrix(float a,float b,float c,float d,float e,float f){
+	SVGMatrix* data;
+	data=(SVGMatrix*)malloc(sizeof(SVGMatrix));
 	data->a=a;		data->b=b;		data->c=c;
 	data->d=d;		data->e=e;		data->f=f;
 	return data;
 }
-Matrix*
-Svg_parser::newMatrix(const String mvector){
+SVGMatrix*
+Svg_parser::newSVGMatrix(const String mvector){
 	if(!mvector.empty()){
 		std::vector<String> tokens=tokenize(mvector,",");
-		if(tokens.size()!=6) return newMatrix(1,0,0,1,0,0);
-		Matrix* data=(Matrix*)malloc(sizeof(Matrix));
+		if(tokens.size()!=6) return newSVGMatrix(1,0,0,1,0,0);
+		SVGMatrix* data=(SVGMatrix*)malloc(sizeof(SVGMatrix));
 		data->a=atof(tokens.at(0).data());
 		data->b=atof(tokens.at(1).data());
 		data->c=atof(tokens.at(2).data());
@@ -1653,11 +1655,11 @@ Svg_parser::newMatrix(const String mvector){
 		data->f=atof(tokens.at(5).data());
 		return data;
 	}else{
-		return newMatrix(1,0,0,1,0,0);
+		return newSVGMatrix(1,0,0,1,0,0);
 	}
 }
 void
-Svg_parser::transformPoint2D(Matrix *mtx,float *a,float *b){
+Svg_parser::transformPoint2D(SVGMatrix *mtx,float *a,float *b){
 	float auxa,auxb;
 	auxa=0;
 	auxb=0;
@@ -1668,8 +1670,8 @@ Svg_parser::transformPoint2D(Matrix *mtx,float *a,float *b){
 	return;
 }
 void
-Svg_parser::composeMatrix(Matrix **mtx,Matrix* mtx1,Matrix* mtx2){
-	Matrix* aux=newMatrix(0,0,0,0,0,0);
+Svg_parser::composeSVGMatrix(SVGMatrix **mtx,SVGMatrix* mtx1,SVGMatrix* mtx2){
+	SVGMatrix* aux=newSVGMatrix(0,0,0,0,0,0);
 	aux->a=(mtx1->a)*(mtx2->a)+(mtx1->c)*(mtx2->b);
 	aux->b=(mtx1->b)*(mtx2->a)+(mtx1->d)*(mtx2->b);
 	aux->c=(mtx1->a)*(mtx2->c)+(mtx1->c)*(mtx2->d);
@@ -1679,8 +1681,8 @@ Svg_parser::composeMatrix(Matrix **mtx,Matrix* mtx1,Matrix* mtx2){
 	*mtx=aux;
 }
 void
-Svg_parser::multiplyMatrix(Matrix **mtx1,Matrix *mtx2){
-	Matrix* aux=newMatrix(0,0,0,0,0,0);
+Svg_parser::multiplySVGMatrix(SVGMatrix **mtx1,SVGMatrix *mtx2){
+	SVGMatrix* aux=newSVGMatrix(0,0,0,0,0,0);
 	aux->a=((*mtx1)->a)*(mtx2->a)+((*mtx1)->c)*(mtx2->b);
 	aux->b=((*mtx1)->b)*(mtx2->a)+((*mtx1)->d)*(mtx2->b);
 	aux->c=((*mtx1)->a)*(mtx2->c)+((*mtx1)->c)*(mtx2->d);
@@ -1695,7 +1697,7 @@ Svg_parser::multiplyMatrix(Matrix **mtx1,Matrix *mtx2){
 	(*mtx1)->f=aux->f;
 }
 bool
-Svg_parser::matrixIsNull(Matrix *mtx){
+Svg_parser::matrixIsNull(SVGMatrix *mtx){
 	if(mtx == NULL) return true;
 	return false;
 }
diff --git a/src/modules/mod_svg/svg_parser.h b/src/modules/mod_svg/svg_parser.h
index 3ac8f9b..36454a4 100644
--- a/src/modules/mod_svg/svg_parser.h
+++ b/src/modules/mod_svg/svg_parser.h
@@ -32,10 +32,10 @@
 
 /* === H E A D E R S ======================================================= */
 
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <string.h>
+#include <cstdio>
+#include <cstdlib>
+#include <cmath>
+#include <cstring>
 
 #include <libxml++/libxml++.h>
 #include <ETL/angle>
@@ -57,7 +57,7 @@ namespace synfig{
 typedef struct matrix_t{
 	float a,c,e;
 	float b,d,f;
-}Matrix;
+}SVGMatrix;
 
 typedef struct stop_t{
 	 float r,g,b;
@@ -68,7 +68,7 @@ typedef struct linear_g{
 	char name[80];
 	float x1,x2,y1,y2;
 	std::list<ColorStop*> *stops;
-	Matrix *transform;
+	SVGMatrix *transform;
 }LinearGradient;
 typedef struct radial_g{
 	char name[80];
@@ -76,7 +76,7 @@ typedef struct radial_g{
 	//float fx,fy; //not supported by Synfig
 	float r; //radius
 	std::list<ColorStop*> *stops;
-	Matrix *transform;
+	SVGMatrix *transform;
 }RadialGradient;
 
 typedef struct url_t{
@@ -132,33 +132,33 @@ private:
 		//parser headers
 		void parser_svg(const xmlpp::Node* node);
 		void parser_canvas(const xmlpp::Node* node);
-		void parser_graphics(const xmlpp::Node* node,xmlpp::Element* root,String parent_style,Matrix* mtx_parent);
+		void parser_graphics(const xmlpp::Node* node,xmlpp::Element* root,String parent_style,SVGMatrix* mtx_parent);
 
 		/* === LAYER PARSERS ============================== */
-		void parser_layer(const xmlpp::Node* node,xmlpp::Element* root,String parent_style,Matrix* mtx);
+		void parser_layer(const xmlpp::Node* node,xmlpp::Element* root,String parent_style,SVGMatrix* mtx);
 		void parser_rect(const xmlpp::Element* nodeElement,xmlpp::Element* root,String fill, String fill_opacity, String opacity);
 		/* === CONVERT TO PATH PARSERS ==================== */
-		std::list<BLine *> parser_path_polygon(Glib::ustring polygon_points, Matrix* mtx);
-		std::list<BLine *> parser_path_d(String path_d,Matrix* mtx);
+		std::list<BLine *> parser_path_polygon(Glib::ustring polygon_points, SVGMatrix* mtx);
+		std::list<BLine *> parser_path_d(String path_d,SVGMatrix* mtx);
 
 		/* === EFFECTS PARSERS ============================ */
-		void parser_effects(const xmlpp::Element* nodeElement,xmlpp::Element* root,String parent_style,Matrix* mtx);
+		void parser_effects(const xmlpp::Element* nodeElement,xmlpp::Element* root,String parent_style,SVGMatrix* mtx);
 
 		/* === DEFS PARSERS =============================== */
 		void parser_defs(const xmlpp::Node* node);
 		void parser_linearGradient(const xmlpp::Node* node);
 		void parser_radialGradient(const xmlpp::Node* node);
 		ColorStop* newColorStop(String color,float opacity,float pos);
-		LinearGradient* newLinearGradient(String name,float x1,float y1, float x2,float y2,std::list<ColorStop*> *stops, Matrix* transform);
-		RadialGradient* newRadialGradient(String name,float cx,float cy,float r,std::list<ColorStop*> *stops, Matrix* transform);
+		LinearGradient* newLinearGradient(String name,float x1,float y1, float x2,float y2,std::list<ColorStop*> *stops, SVGMatrix* transform);
+		RadialGradient* newRadialGradient(String name,float cx,float cy,float r,std::list<ColorStop*> *stops, SVGMatrix* transform);
 		BLine* newBLine(std::list<Vertex*> *points,bool loop);
 
 		/* === BUILDS ===================================== */
-		void build_transform(xmlpp::Element* root,Matrix* mtx);
+		void build_transform(xmlpp::Element* root,SVGMatrix* mtx);
 		std::list<ColorStop*>* find_colorStop(String name);
-		void build_fill(xmlpp::Element* root, String name,Matrix *mtx);
-		void build_linearGradient(xmlpp::Element* root,LinearGradient* data,Matrix* mtx);
-		void build_radialGradient(xmlpp::Element* root,RadialGradient* data,Matrix* mtx);
+		void build_fill(xmlpp::Element* root, String name,SVGMatrix *mtx);
+		void build_linearGradient(xmlpp::Element* root,LinearGradient* data,SVGMatrix* mtx);
+		void build_radialGradient(xmlpp::Element* root,RadialGradient* data,SVGMatrix* mtx);
 		void build_stop_color(xmlpp::Element* root, std::list<ColorStop*> *stops);
 		void build_stop_color(xmlpp::Element* root, std::list<ColorStop*> *stops,String name);
 		Color adjustGamma(float r,float g,float b,float a);
@@ -191,14 +191,14 @@ private:
 		Vertex* newVertex(float x,float y);
 
 		//matrix operations
-		Matrix* parser_transform(const String transform);
-		Matrix* newMatrix(float a,float b,float c,float d,float e,float f);
-		Matrix* newMatrix(const String mvector);
-		Matrix* newMatrix(Matrix *a);
-		void transformPoint2D(Matrix *mtx,float *a,float *b);
-		bool matrixIsNull(Matrix* mtx);
-		void composeMatrix(Matrix **mtx,Matrix *mtx1,Matrix *mtx2);
-		void multiplyMatrix(Matrix **mtx1,Matrix *mtx2);
+		SVGMatrix* parser_transform(const String transform);
+		SVGMatrix* newSVGMatrix(float a,float b,float c,float d,float e,float f);
+		SVGMatrix* newSVGMatrix(const String mvector);
+		SVGMatrix* newSVGMatrix(SVGMatrix *a);
+		void transformPoint2D(SVGMatrix *mtx,float *a,float *b);
+		bool matrixIsNull(SVGMatrix* mtx);
+		void composeSVGMatrix(SVGMatrix **mtx,SVGMatrix *mtx1,SVGMatrix *mtx2);
+		void multiplySVGMatrix(SVGMatrix **mtx1,SVGMatrix *mtx2);
 		float getRadian(float sexa);
 
 		/* === EXTRA METHODS ============================== */
diff --git a/src/modules/mod_yuv420p/Makefile.am b/src/modules/mod_yuv420p/Makefile.am
index 09058a3..b7aabdb 100644
--- a/src/modules/mod_yuv420p/Makefile.am
+++ b/src/modules/mod_yuv420p/Makefile.am
@@ -3,7 +3,7 @@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
diff --git a/src/modules/mod_yuv420p/Makefile.in b/src/modules/mod_yuv420p/Makefile.in
index 796df07..c7bd40a 100644
--- a/src/modules/mod_yuv420p/Makefile.in
+++ b/src/modules/mod_yuv420p/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -54,7 +53,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 subdir = src/modules/mod_yuv420p
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(top_srcdir)/config/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
@@ -235,6 +235,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -340,7 +341,7 @@ top_srcdir = @top_srcdir@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
@@ -426,12 +427,14 @@ uninstall-moduleLTLIBRARIES:
 
 clean-moduleLTLIBRARIES:
 	-test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES)
-	@list='$(module_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(module_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 libmod_yuv420p.la: $(libmod_yuv420p_la_OBJECTS) $(libmod_yuv420p_la_DEPENDENCIES) $(EXTRA_libmod_yuv420p_la_DEPENDENCIES) 
 	$(libmod_yuv420p_la_LINK) -rpath $(moduledir) $(libmod_yuv420p_la_OBJECTS) $(libmod_yuv420p_la_LIBADD) $(LIBS)
 
@@ -534,6 +537,20 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -679,18 +696,19 @@ uninstall-am: uninstall-moduleLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-moduleLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-moduleLTLIBRARIES install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am uninstall-moduleLTLIBRARIES
+	clean-libtool clean-moduleLTLIBRARIES cscopelist ctags \
+	distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-moduleLTLIBRARIES \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-moduleLTLIBRARIES
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/src/modules/mptr_mplayer/Makefile.am b/src/modules/mptr_mplayer/Makefile.am
index 7612078..d2198b9 100644
--- a/src/modules/mptr_mplayer/Makefile.am
+++ b/src/modules/mptr_mplayer/Makefile.am
@@ -3,7 +3,7 @@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src
 
diff --git a/src/synfig/Makefile.am b/src/synfig/Makefile.am
index 1d84a48..84f071b 100644
--- a/src/synfig/Makefile.am
+++ b/src/synfig/Makefile.am
@@ -3,7 +3,7 @@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src \
 	@INCLTDL@
@@ -25,7 +25,8 @@ LAYERHEADERS = \
 	layer_pastecanvas.h \
 	layer_polygon.h \
 	layer_shape.h \
-	layer_solidcolor.h
+	layer_solidcolor.h \
+	layer_skeleton.h
 
 LAYERSOURCES = \
 	layer_bitmap.cpp \
@@ -36,7 +37,8 @@ LAYERSOURCES = \
 	layer_pastecanvas.cpp \
 	layer_polygon.cpp \
 	layer_shape.cpp \
-	layer_solidcolor.cpp
+	layer_solidcolor.cpp \
+	layer_skeleton.cpp
 
 
 TARGETHEADERS = \
@@ -60,10 +62,12 @@ TARGETSOURCES = \
 
 
 IMPORTERHEADERS = \
-	listimporter.h
+	listimporter.h \
+	cairolistimporter.h
 
 IMPORTERSOURCES = \
-	listimporter.cpp
+	listimporter.cpp \
+	cairolistimporter.cpp
 
 
 VALUENODEHEADERS = \
@@ -120,6 +124,10 @@ VALUENODEHEADERS = \
 	valuenode_vectorlength.h \
 	valuenode_vectorx.h \
 	valuenode_vectory.h \
+	valuenode_boneinfluence.h \
+	valuenode_staticlist.h \
+	valuenode_bone.h \
+	valuenode_boneweightpair.h\
 	valuenode_wplist.h
 
 VALUENODESOURCES = \
@@ -176,9 +184,12 @@ VALUENODESOURCES = \
 	valuenode_vectorlength.cpp \
 	valuenode_vectorx.cpp \
 	valuenode_vectory.cpp \
+	valuenode_boneinfluence.cpp \
+	valuenode_staticlist.cpp \
+	valuenode_bone.cpp \
+	valuenode_boneweightpair.cpp\
 	valuenode_wplist.cpp
 
-
 VALUEHEADERS = \
 	blinepoint.h \
 	widthpoint.h \
@@ -212,9 +223,12 @@ SYNFIGHEADERS = \
 	types.h \
 	vector.h \
 	version.h \
+	boneweightpair.h \
 	activepoint.h \
 	blur.h \
+	bone.h \
 	cairo_operators.h \
+	cairo_renddesc.h \
 	canvas.h \
 	color.h \
 	context.h \
@@ -248,12 +262,15 @@ SYNFIGHEADERS = \
 	transform.h \
 	uniqueid.h \
 	valuenode.h \
-	waypoint.h
+	waypoint.h \
+	matrix.h
 
 SYNFIGSOURCES = \
 	activepoint.cpp \
+	bone.cpp \
 	blur.cpp \
 	cairo_operators.cpp \
+	cairo_renddesc.cpp \
 	canvas.cpp \
 	color.cpp \
 	context.cpp \
@@ -286,7 +303,8 @@ SYNFIGSOURCES = \
 	transform.cpp \
 	uniqueid.cpp \
 	valuenode.cpp \
-	waypoint.cpp
+	waypoint.cpp \
+	matrix.cpp
 
 
 lib_LTLIBRARIES = libsynfig.la
diff --git a/src/synfig/Makefile.in b/src/synfig/Makefile.in
index 1db6d6c..f8738bb 100644
--- a/src/synfig/Makefile.in
+++ b/src/synfig/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -56,7 +55,7 @@ build_triplet = @build@
 host_triplet = @host@
 subdir = src/synfig
 DIST_COMMON = $(include_synfig_HEADERS) $(srcdir)/Makefile.am \
-	$(srcdir)/Makefile.in
+	$(srcdir)/Makefile.in $(top_srcdir)/config/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
@@ -117,7 +116,8 @@ am__objects_3 = libsynfig_la-layer_bitmap.lo \
 	libsynfig_la-layer_motionblur.lo \
 	libsynfig_la-layer_pastecanvas.lo \
 	libsynfig_la-layer_polygon.lo libsynfig_la-layer_shape.lo \
-	libsynfig_la-layer_solidcolor.lo
+	libsynfig_la-layer_solidcolor.lo \
+	libsynfig_la-layer_skeleton.lo
 am__objects_4 = libsynfig_la-target_multi.lo \
 	libsynfig_la-target_null.lo libsynfig_la-target_null_tile.lo \
 	libsynfig_la-target_scanline.lo libsynfig_la-target_cairo.lo \
@@ -170,9 +170,14 @@ am__objects_5 = libsynfig_la-valuenode_add.lo \
 	libsynfig_la-valuenode_vectorlength.lo \
 	libsynfig_la-valuenode_vectorx.lo \
 	libsynfig_la-valuenode_vectory.lo \
+	libsynfig_la-valuenode_boneinfluence.lo \
+	libsynfig_la-valuenode_staticlist.lo \
+	libsynfig_la-valuenode_bone.lo \
+	libsynfig_la-valuenode_boneweightpair.lo \
 	libsynfig_la-valuenode_wplist.lo
-am__objects_6 = libsynfig_la-activepoint.lo libsynfig_la-blur.lo \
-	libsynfig_la-cairo_operators.lo libsynfig_la-canvas.lo \
+am__objects_6 = libsynfig_la-activepoint.lo libsynfig_la-bone.lo \
+	libsynfig_la-blur.lo libsynfig_la-cairo_operators.lo \
+	libsynfig_la-cairo_renddesc.lo libsynfig_la-canvas.lo \
 	libsynfig_la-color.lo libsynfig_la-context.lo \
 	libsynfig_la-curve_helper.lo libsynfig_la-curveset.lo \
 	libsynfig_la-distance.lo libsynfig_la-exception.lo \
@@ -188,8 +193,10 @@ am__objects_6 = libsynfig_la-activepoint.lo libsynfig_la-blur.lo \
 	libsynfig_la-surface.lo libsynfig_la-target.lo \
 	libsynfig_la-time.lo libsynfig_la-timepointcollect.lo \
 	libsynfig_la-transform.lo libsynfig_la-uniqueid.lo \
-	libsynfig_la-valuenode.lo libsynfig_la-waypoint.lo
-am__objects_7 = libsynfig_la-listimporter.lo
+	libsynfig_la-valuenode.lo libsynfig_la-waypoint.lo \
+	libsynfig_la-matrix.lo
+am__objects_7 = libsynfig_la-listimporter.lo \
+	libsynfig_la-cairolistimporter.lo
 am_libsynfig_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
 	$(am__objects_3) $(am__objects_1) $(am__objects_1) \
 	$(am__objects_4) $(am__objects_1) $(am__objects_5) \
@@ -324,6 +331,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -429,7 +437,7 @@ top_srcdir = @top_srcdir@
 MAINTAINERCLEANFILES = \
 	Makefile.in
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src \
 	@INCLTDL@
@@ -450,7 +458,8 @@ LAYERHEADERS = \
 	layer_pastecanvas.h \
 	layer_polygon.h \
 	layer_shape.h \
-	layer_solidcolor.h
+	layer_solidcolor.h \
+	layer_skeleton.h
 
 LAYERSOURCES = \
 	layer_bitmap.cpp \
@@ -461,7 +470,8 @@ LAYERSOURCES = \
 	layer_pastecanvas.cpp \
 	layer_polygon.cpp \
 	layer_shape.cpp \
-	layer_solidcolor.cpp
+	layer_solidcolor.cpp \
+	layer_skeleton.cpp
 
 TARGETHEADERS = \
 	target_multi.h \
@@ -483,10 +493,12 @@ TARGETSOURCES = \
 	target_cairo_tile.cpp
 
 IMPORTERHEADERS = \
-	listimporter.h
+	listimporter.h \
+	cairolistimporter.h
 
 IMPORTERSOURCES = \
-	listimporter.cpp
+	listimporter.cpp \
+	cairolistimporter.cpp
 
 VALUENODEHEADERS = \
 	valuenode_add.h \
@@ -542,6 +554,10 @@ VALUENODEHEADERS = \
 	valuenode_vectorlength.h \
 	valuenode_vectorx.h \
 	valuenode_vectory.h \
+	valuenode_boneinfluence.h \
+	valuenode_staticlist.h \
+	valuenode_bone.h \
+	valuenode_boneweightpair.h\
 	valuenode_wplist.h
 
 VALUENODESOURCES = \
@@ -598,6 +614,10 @@ VALUENODESOURCES = \
 	valuenode_vectorlength.cpp \
 	valuenode_vectorx.cpp \
 	valuenode_vectory.cpp \
+	valuenode_boneinfluence.cpp \
+	valuenode_staticlist.cpp \
+	valuenode_bone.cpp \
+	valuenode_boneweightpair.cpp\
 	valuenode_wplist.cpp
 
 VALUEHEADERS = \
@@ -632,9 +652,12 @@ SYNFIGHEADERS = \
 	types.h \
 	vector.h \
 	version.h \
+	boneweightpair.h \
 	activepoint.h \
 	blur.h \
+	bone.h \
 	cairo_operators.h \
+	cairo_renddesc.h \
 	canvas.h \
 	color.h \
 	context.h \
@@ -668,12 +691,15 @@ SYNFIGHEADERS = \
 	transform.h \
 	uniqueid.h \
 	valuenode.h \
-	waypoint.h
+	waypoint.h \
+	matrix.h
 
 SYNFIGSOURCES = \
 	activepoint.cpp \
+	bone.cpp \
 	blur.cpp \
 	cairo_operators.cpp \
+	cairo_renddesc.cpp \
 	canvas.cpp \
 	color.cpp \
 	context.cpp \
@@ -706,7 +732,8 @@ SYNFIGSOURCES = \
 	transform.cpp \
 	uniqueid.cpp \
 	valuenode.cpp \
-	waypoint.cpp
+	waypoint.cpp \
+	matrix.cpp
 
 lib_LTLIBRARIES = libsynfig.la
 libsynfig_la_SOURCES = \
@@ -807,12 +834,14 @@ uninstall-libLTLIBRARIES:
 
 clean-libLTLIBRARIES:
 	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
-	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
+	@list='$(lib_LTLIBRARIES)'; \
+	locs=`for p in $$list; do echo $$p; done | \
+	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+	      sort -u`; \
+	test -z "$$locs" || { \
+	  echo rm -f $${locs}; \
+	  rm -f $${locs}; \
+	}
 libsynfig.la: $(libsynfig_la_OBJECTS) $(libsynfig_la_DEPENDENCIES) $(EXTRA_libsynfig_la_DEPENDENCIES) 
 	$(libsynfig_la_LINK) -rpath $(libdir) $(libsynfig_la_OBJECTS) $(libsynfig_la_LIBADD) $(LIBS)
 
@@ -825,8 +854,11 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-activepoint.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-blinepoint.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-blur.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-bone.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-cairo_operators.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-cairo_renddesc.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-cairoimporter.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-cairolistimporter.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-canvas.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-color.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-context.Plo at am__quote@
@@ -849,10 +881,12 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-layer_pastecanvas.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-layer_polygon.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-layer_shape.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-layer_skeleton.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-layer_solidcolor.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-listimporter.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-loadcanvas.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-main.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-matrix.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-module.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-mutex.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-node.Plo at am__quote@
@@ -888,6 +922,9 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_blinecalcvertex.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_blinecalcwidth.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_blinereversetangent.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_bone.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_boneinfluence.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_boneweightpair.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_compare.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_composite.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_const.Plo at am__quote@
@@ -919,6 +956,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_segcalctangent.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_segcalcvertex.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_sine.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_staticlist.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_step.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_stripes.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libsynfig_la-valuenode_subtract.Plo at am__quote@
@@ -1054,6 +1092,13 @@ libsynfig_la-layer_solidcolor.lo: layer_solidcolor.cpp
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-layer_solidcolor.lo `test -f 'layer_solidcolor.cpp' || echo '$(srcdir)/'`layer_solidcolor.cpp
 
+libsynfig_la-layer_skeleton.lo: layer_skeleton.cpp
+ at am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-layer_skeleton.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-layer_skeleton.Tpo -c -o libsynfig_la-layer_skeleton.lo `test -f 'layer_skeleton.cpp' || echo '$(srcdir)/'`layer_skeleton.cpp
+ at am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/libsynfig_la-layer_skeleton.Tpo $(DEPDIR)/libsynfig_la-layer_skeleton.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='layer_skeleton.cpp' object='libsynfig_la-layer_skeleton.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-layer_skeleton.lo `test -f 'layer_skeleton.cpp' || echo '$(srcdir)/'`layer_skeleton.cpp
+
 libsynfig_la-target_multi.lo: target_multi.cpp
 @am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-target_multi.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-target_multi.Tpo -c -o libsynfig_la-target_multi.lo `test -f 'target_multi.cpp' || echo '$(srcdir)/'`target_multi.cpp
 @am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/libsynfig_la-target_multi.Tpo $(DEPDIR)/libsynfig_la-target_multi.Plo
@@ -1474,6 +1519,34 @@ libsynfig_la-valuenode_vectory.lo: valuenode_vectory.cpp
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-valuenode_vectory.lo `test -f 'valuenode_vectory.cpp' || echo '$(srcdir)/'`valuenode_vectory.cpp
 
+libsynfig_la-valuenode_boneinfluence.lo: valuenode_boneinfluence.cpp
+ at am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-valuenode_boneinfluence.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-valuenode_boneinfluence.Tpo -c -o libsynfig_la-valuenode_boneinfluence.lo `test -f 'valuenode_boneinfluence.cpp' || echo '$(srcdir)/'`valuenode_boneinfluence.cpp
+ at am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/libsynfig_la-valuenode_boneinfluence.Tpo $(DEPDIR)/libsynfig_la-valuenode_boneinfluence.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='valuenode_boneinfluence.cpp' object='libsynfig_la-valuenode_boneinfluence.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-valuenode_boneinfluence.lo `test -f 'valuenode_boneinfluence.cpp' || echo '$(srcdir)/'`valuenode_boneinfluence.cpp
+
+libsynfig_la-valuenode_staticlist.lo: valuenode_staticlist.cpp
+ at am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-valuenode_staticlist.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-valuenode_staticlist.Tpo -c -o libsynfig_la-valuenode_staticlist.lo `test -f 'valuenode_staticlist.cpp' || echo '$(srcdir)/'`valuenode_staticlist.cpp
+ at am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/libsynfig_la-valuenode_staticlist.Tpo $(DEPDIR)/libsynfig_la-valuenode_staticlist.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='valuenode_staticlist.cpp' object='libsynfig_la-valuenode_staticlist.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-valuenode_staticlist.lo `test -f 'valuenode_staticlist.cpp' || echo '$(srcdir)/'`valuenode_staticlist.cpp
+
+libsynfig_la-valuenode_bone.lo: valuenode_bone.cpp
+ at am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-valuenode_bone.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-valuenode_bone.Tpo -c -o libsynfig_la-valuenode_bone.lo `test -f 'valuenode_bone.cpp' || echo '$(srcdir)/'`valuenode_bone.cpp
+ at am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/libsynfig_la-valuenode_bone.Tpo $(DEPDIR)/libsynfig_la-valuenode_bone.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='valuenode_bone.cpp' object='libsynfig_la-valuenode_bone.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-valuenode_bone.lo `test -f 'valuenode_bone.cpp' || echo '$(srcdir)/'`valuenode_bone.cpp
+
+libsynfig_la-valuenode_boneweightpair.lo: valuenode_boneweightpair.cpp
+ at am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-valuenode_boneweightpair.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-valuenode_boneweightpair.Tpo -c -o libsynfig_la-valuenode_boneweightpair.lo `test -f 'valuenode_boneweightpair.cpp' || echo '$(srcdir)/'`valuenode_boneweightpair.cpp
+ at am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/libsynfig_la-valuenode_boneweightpair.Tpo $(DEPDIR)/libsynfig_la-valuenode_boneweightpair.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='valuenode_boneweightpair.cpp' object='libsynfig_la-valuenode_boneweightpair.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-valuenode_boneweightpair.lo `test -f 'valuenode_boneweightpair.cpp' || echo '$(srcdir)/'`valuenode_boneweightpair.cpp
+
 libsynfig_la-valuenode_wplist.lo: valuenode_wplist.cpp
 @am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-valuenode_wplist.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-valuenode_wplist.Tpo -c -o libsynfig_la-valuenode_wplist.lo `test -f 'valuenode_wplist.cpp' || echo '$(srcdir)/'`valuenode_wplist.cpp
 @am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/libsynfig_la-valuenode_wplist.Tpo $(DEPDIR)/libsynfig_la-valuenode_wplist.Plo
@@ -1488,6 +1561,13 @@ libsynfig_la-activepoint.lo: activepoint.cpp
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-activepoint.lo `test -f 'activepoint.cpp' || echo '$(srcdir)/'`activepoint.cpp
 
+libsynfig_la-bone.lo: bone.cpp
+ at am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-bone.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-bone.Tpo -c -o libsynfig_la-bone.lo `test -f 'bone.cpp' || echo '$(srcdir)/'`bone.cpp
+ at am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/libsynfig_la-bone.Tpo $(DEPDIR)/libsynfig_la-bone.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='bone.cpp' object='libsynfig_la-bone.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-bone.lo `test -f 'bone.cpp' || echo '$(srcdir)/'`bone.cpp
+
 libsynfig_la-blur.lo: blur.cpp
 @am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-blur.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-blur.Tpo -c -o libsynfig_la-blur.lo `test -f 'blur.cpp' || echo '$(srcdir)/'`blur.cpp
 @am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/libsynfig_la-blur.Tpo $(DEPDIR)/libsynfig_la-blur.Plo
@@ -1502,6 +1582,13 @@ libsynfig_la-cairo_operators.lo: cairo_operators.cpp
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-cairo_operators.lo `test -f 'cairo_operators.cpp' || echo '$(srcdir)/'`cairo_operators.cpp
 
+libsynfig_la-cairo_renddesc.lo: cairo_renddesc.cpp
+ at am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-cairo_renddesc.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-cairo_renddesc.Tpo -c -o libsynfig_la-cairo_renddesc.lo `test -f 'cairo_renddesc.cpp' || echo '$(srcdir)/'`cairo_renddesc.cpp
+ at am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/libsynfig_la-cairo_renddesc.Tpo $(DEPDIR)/libsynfig_la-cairo_renddesc.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='cairo_renddesc.cpp' object='libsynfig_la-cairo_renddesc.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-cairo_renddesc.lo `test -f 'cairo_renddesc.cpp' || echo '$(srcdir)/'`cairo_renddesc.cpp
+
 libsynfig_la-canvas.lo: canvas.cpp
 @am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-canvas.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-canvas.Tpo -c -o libsynfig_la-canvas.lo `test -f 'canvas.cpp' || echo '$(srcdir)/'`canvas.cpp
 @am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/libsynfig_la-canvas.Tpo $(DEPDIR)/libsynfig_la-canvas.Plo
@@ -1733,6 +1820,13 @@ libsynfig_la-waypoint.lo: waypoint.cpp
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-waypoint.lo `test -f 'waypoint.cpp' || echo '$(srcdir)/'`waypoint.cpp
 
+libsynfig_la-matrix.lo: matrix.cpp
+ at am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-matrix.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-matrix.Tpo -c -o libsynfig_la-matrix.lo `test -f 'matrix.cpp' || echo '$(srcdir)/'`matrix.cpp
+ at am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/libsynfig_la-matrix.Tpo $(DEPDIR)/libsynfig_la-matrix.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='matrix.cpp' object='libsynfig_la-matrix.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-matrix.lo `test -f 'matrix.cpp' || echo '$(srcdir)/'`matrix.cpp
+
 libsynfig_la-listimporter.lo: listimporter.cpp
 @am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-listimporter.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-listimporter.Tpo -c -o libsynfig_la-listimporter.lo `test -f 'listimporter.cpp' || echo '$(srcdir)/'`listimporter.cpp
 @am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/libsynfig_la-listimporter.Tpo $(DEPDIR)/libsynfig_la-listimporter.Plo
@@ -1740,6 +1834,13 @@ libsynfig_la-listimporter.lo: listimporter.cpp
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-listimporter.lo `test -f 'listimporter.cpp' || echo '$(srcdir)/'`listimporter.cpp
 
+libsynfig_la-cairolistimporter.lo: cairolistimporter.cpp
+ at am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -MT libsynfig_la-cairolistimporter.lo -MD -MP -MF $(DEPDIR)/libsynfig_la-cairolistimporter.Tpo -c -o libsynfig_la-cairolistimporter.lo `test -f 'cairolistimporter.cpp' || echo '$(srcdir)/'`cairolistimporter.cpp
+ at am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/libsynfig_la-cairolistimporter.Tpo $(DEPDIR)/libsynfig_la-cairolistimporter.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='cairolistimporter.cpp' object='libsynfig_la-cairolistimporter.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsynfig_la_CXXFLAGS) $(CXXFLAGS) -c -o libsynfig_la-cairolistimporter.lo `test -f 'cairolistimporter.cpp' || echo '$(srcdir)/'`cairolistimporter.cpp
+
 mostlyclean-libtool:
 	-rm -f *.lo
 
@@ -1816,6 +1917,20 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -1961,7 +2076,7 @@ uninstall-am: uninstall-include_synfigHEADERS uninstall-libLTLIBRARIES
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libLTLIBRARIES clean-libtool ctags distclean \
+	clean-libLTLIBRARIES clean-libtool cscopelist ctags distclean \
 	distclean-compile distclean-generic distclean-libtool \
 	distclean-tags distdir dvi dvi-am html html-am info info-am \
 	install install-am install-data install-data-am install-dvi \
diff --git a/src/synfig/activepoint.h b/src/synfig/activepoint.h
index 74e2edc..4479095 100644
--- a/src/synfig/activepoint.h
+++ b/src/synfig/activepoint.h
@@ -1,4 +1,4 @@
-#include <stdio.h>
+#include <cstdio>
 /* === S Y N F I G ========================================================= */
 /*!	\file activepoint.h
 **	\brief Template Header
diff --git a/src/synfig/blinepoint.h b/src/synfig/blinepoint.h
index 3a75d4b..73ccd53 100644
--- a/src/synfig/blinepoint.h
+++ b/src/synfig/blinepoint.h
@@ -47,6 +47,8 @@ private:
 	float	width_;
 	float	origin_;
 	bool	split_tangent_;
+	bool	boned_vertex_;
+	Point	vertex_setup_;
 
 public:
 
@@ -54,11 +56,13 @@ public:
 		vertex_(Point(0,0)),
 		width_(0.01),
 		origin_(0.0),
-		split_tangent_(false)
+		split_tangent_(false),
+		boned_vertex_(false),
+		vertex_setup_(vertex_)
 	{ tangent_[0] = Point(0,0); tangent_[1] = Point(0,0); }
 
 	const Point& get_vertex()const { return vertex_; }
-	void set_vertex(const Point& x) { vertex_=x; }
+	void set_vertex(const Point& x) { vertex_=x; vertex_setup_=vertex_;}
 
 
 	const Vector& get_tangent1()const { return tangent_[0]; }
@@ -81,6 +85,12 @@ public:
 	const bool& get_split_tangent_flag()const { return split_tangent_; }
 	void set_split_tangent_flag(bool x=true) { split_tangent_=x; }
 
+	const bool& get_boned_vertex_flag()const { return boned_vertex_; }
+	void set_boned_vertex_flag(bool x=true) { boned_vertex_=x; }
+
+	const Vector& get_vertex_setup()const { return vertex_setup_; }
+	void set_vertex_setup(Vector& x) { vertex_setup_=x; }
+
 	void reverse();
 
 }; // END of class BLinePoint
diff --git a/src/synfig/bone.cpp b/src/synfig/bone.cpp
new file mode 100644
index 0000000..3b18e8d
--- /dev/null
+++ b/src/synfig/bone.cpp
@@ -0,0 +1,151 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file bone.cpp
+**	\brief Bone File
+**
+**	$Id$
+**
+**	\legal
+**	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**	Copyright (c) 2008 Carlos López & Chirs Moore
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include "bone.h"
+#include "guid.h"
+#include "valuenode_bone.h"
+#include <ETL/stringf>
+#endif
+
+/* === U S I N G =========================================================== */
+
+using namespace std;
+using namespace etl;
+using namespace synfig;
+
+/* === M A C R O S ========================================================= */
+
+/* === G L O B A L S ======================================================= */
+
+/* === P R O C E D U R E S ================================================= */
+
+//! Default constructor
+Bone::Bone():
+	origin_(Point(0,0)),
+	origin0_(Point(0,0)),
+	angle_(Angle::deg(0.0)),
+	angle0_(Angle::deg(0.0)),
+	scalelx_(1.0), scalely_(1.0),
+	scalex_(1.0),  scaley_(1.0),
+	length_(1.0),
+	strength_(1.0),
+	setup_(false),
+	parent_(0)
+{
+	if (getenv("SYNFIG_DEBUG_NEW_BONES"))
+		printf("%s:%d new bone\n", __FILE__, __LINE__);
+}
+
+//!Constructor by origin and tip
+Bone::Bone(const Point &o, const Point &t):
+	origin_(o),
+	origin0_(o),
+	angle_((t-o).angle()),
+	angle0_((t-o).angle()),
+	scalelx_(1.0), scalely_(1.0),
+	scalex_(1.0),  scaley_(1.0),
+	length_(1.0),
+	strength_(1.0),
+	setup_(false),
+	parent_(0)
+{
+	if (getenv("SYNFIG_DEBUG_NEW_BONES"))
+		printf("%s:%d new bone\n", __FILE__, __LINE__);
+}
+
+//!Constructor by origin, angle, length, strength, parent bone (default = no parent)
+Bone::Bone(const String &n, const Point &o, const Angle &a, const Real &l, const Real &s, ValueNode_Bone* p):
+	name_(n),
+	origin_(o),
+	origin0_(o),
+	angle_(a),
+	angle0_(a),
+	scalelx_(1.0), scalely_(1.0),
+	scalex_(1.0),  scaley_(1.0),
+	length_(l),
+	strength_(s),
+	setup_(false),
+	parent_(p)
+{
+	if (getenv("SYNFIG_DEBUG_NEW_BONES"))
+		printf("%s:%d new bone\n", __FILE__, __LINE__);
+}
+
+const ValueNode_Bone*
+Bone::get_parent()const
+{
+	return parent_;
+}
+
+void
+Bone::set_parent(const ValueNode_Bone* parent)
+{
+	parent_ = parent;
+}
+
+//! get_tip() member function
+//!@return The tip Point of the bone (calculated) based on
+//! tip=origin+[length,0]*Scalex(scalex*scalelx,0)*Rotate(alpha)
+Point
+Bone::get_tip()
+{
+	Matrix s, r, sr;
+	s.set_scale(scalex_*scalelx_,0);
+	r.set_rotate(angle_);
+	sr=s*r;
+	return (Point)sr.get_transformed(Vector(length_,0));
+}
+
+//!Get the string of the Bone
+//!@return String type. A string representation of the bone
+//!components.
+synfig::String
+Bone::get_string()const
+{
+	return strprintf("N=%s O=(%.4f %.4f) O0=(%.4f %.4f) a=%.4f a0=%.4f slx=%.4f sly=%.4f sx=%.4f sy=%.4f l=%.4f St=%.4f Se=%d P=%lx",
+					 name_.c_str(),
+					 origin_[0], origin_[1],
+					 origin0_[0], origin0_[1],
+					 Angle::deg(angle_).get(),
+					 Angle::deg(angle0_).get(),
+					 scalelx_, scalely_, scalex_, scaley_, length_, strength_, setup_, uintptr_t(parent_));
+}
+
+bool
+Bone::is_root()
+{
+	return get_parent()->is_root();
+}
+
+/* === M E T H O D S ======================================================= */
+
+/* === E N T R Y P O I N T ================================================= */
diff --git a/src/synfig/bone.h b/src/synfig/bone.h
new file mode 100644
index 0000000..bcdbbca
--- /dev/null
+++ b/src/synfig/bone.h
@@ -0,0 +1,278 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file bone.h
+**	\brief Bone Header
+**
+**	$Id$
+**
+**	\legal
+**	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**	Copyright (c) 2008 Carlos López & Chirs Moore
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === S T A R T =========================================================== */
+
+#ifndef __SYNFIG_BONE_H
+#define __SYNFIG_BONE_H
+
+/* === H E A D E R S ======================================================= */
+#include <iostream>
+#include "matrix.h"
+#include "uniqueid.h"
+#include "string.h"
+#include "guid.h"
+#include <vector>
+#include <ETL/handle>
+
+/* === M A C R O S ========================================================= */
+// how many hex digits of the guid string to show in debug messages
+#define GUID_PREFIX_LEN 6
+
+#define COUT_BONE(bone)													  \
+	cout<<"[name]="<<bone.name_<<endl;									  \
+	cout<<"[origin]="<<bone.origin_<<"[origin0]="<<bone.origin0_<<endl;	  \
+	cout<<"[angle]="<<bone.angle_<<"[angle0]="<<bone.angle0_<<endl;		  \
+	cout<<"[scalelx]="<<bone.scalelx_<<"[scalely]="<<bone.scalely_<<endl; \
+	cout<<"[scalex]="<<bone.scalex_<<"[scaley]="<<bone.scaley_<<endl;	  \
+	cout<<"[length]="<<bone.length_<<"[strength]="<<bone.strength_<<endl; \
+	cout<<"[parent]="<<bone.parent_<<endl
+/* === T Y P E D E F S ===================================================== */
+
+/* === C L A S S E S & S T R U C T S ======================================= */
+namespace synfig {
+
+class ValueNode_Bone;
+
+class Bone: public UniqueID
+{
+	/*
+ --	** -- T Y P E S -----------------------------------------------------------
+	*/
+
+public:
+	typedef etl::handle<Bone> Handle;
+	// typedef etl::loose_handle<Bone> LooseHandle;
+
+	/*
+ --	** -- D A T A -------------------------------------------------------------
+	*/
+
+private:
+	//!This is the name of the bone
+	String name_;
+	//!This is the current origin of the bone relative to parent
+	Point origin_;
+	//!This is the origin of the bone at the setup time
+	Point origin0_;
+	//!This is the current angle if the bone relative to parent.
+	Angle angle_;
+	//!This is the angle of the bone at the setup time
+	Angle angle0_;
+	//!This is the current local x scale of the bone.
+	Real scalelx_;
+	//!This is the current local y scale of the bone.
+	Real scalely_;
+	//!This is the current recursive x scale of the bone.
+	Real scalex_;
+	//!This is the current recursive y scale of the bone.
+	Real scaley_;
+	//!This is the length at setup time
+	Real length_;
+	//!This is the strength at setup time
+	Real strength_;
+	//!Whether the bone is currently showing its setup position
+	bool setup_;
+	//!The parent bone.
+	const ValueNode_Bone* parent_;
+
+	Matrix setup_matrix_;
+	Matrix animated_matrix_;
+
+public:
+	//!Default constructor
+	Bone();
+	//!Constructor by origin and tip
+	Bone(const Point &origin, const Point &tip);
+	//!Construtor by origin, legth and parent (default no parent)
+	Bone(const String &name, const Point &origin, const Angle &angle, const Real &length, const Real &strength, ValueNode_Bone* p=0);
+	//!Wrappers for name_
+	const String& get_name()const {return name_;}
+	void set_name(const String &x) {name_=x;}
+
+	//!Wrappers for origin_ & origin0_
+	const Point& get_origin()const {return origin_;}
+	void set_origin(const Point &x) {origin_=x;}
+	const Point& get_origin0()const {return origin0_;}
+	void set_origin0(const Point &x) {origin0_=x;}
+
+	//!Wrappers for angle_ & angle0_
+	const Angle& get_angle()const {return angle_;}
+	void set_angle(const Angle &x) {angle_=x;}
+	const Angle& get_angle0()const {return angle0_;}
+	void set_angle0(const Angle &x) {angle0_=x;}
+
+	//!Wrapper for scalelx
+	const Real& get_scalelx()const {return scalelx_;}
+	void set_scalelx(const Real &x) {scalelx_=x;}
+
+	//!Wrapper for scalely
+	const Real& get_scalely()const {return scalely_;}
+	void set_scalely(const Real &y) {scalely_=y;}
+
+	//!Wrapper for scalex
+	const Real& get_scalex()const {return scalex_;}
+	void set_scalex(const Real &x) {scalex_=x;}
+
+	//!Wrapper for scaley
+	const Real& get_scaley()const {return scaley_;}
+	void set_scaley(const Real &y) {scaley_=y;}
+
+	//!Wrapper for length. Notice that a length of 0 is not allowed.
+	const Real& get_length()const {return length_;}
+	void set_length(const Real &x) {length_=x<0.00001?0.00001:x;}
+
+	//!Wrapper for strength
+	const Real& get_strength()const {return strength_;}
+	void set_strength(const Real &x) {strength_=x;}
+
+	//!Wrapper for setup
+	const bool& get_setup()const {return setup_;}
+	void set_setup(const bool &x) {setup_=x;}
+
+	//!This gets the calculated tip of the bone based on
+	//!tip=origin+[length,0]*Rotate(alpha)*Scalex(scalex*scalelx)
+	Point get_tip();
+
+	//!Wrapper for parent bone
+	// const Bone &get_parent() {return *parent_;}
+	const ValueNode_Bone* get_parent()const;
+	void set_parent(const ValueNode_Bone* parent);
+
+	void add_bone_to_map();
+	Bone* find_bone_in_map(int uid);
+
+	//!Setup Transformation matrix.
+	//!This matrix applied to a setup point in global
+	//!coordinates calculates the local coordinates of
+	//!the point relative to the current bone.
+	Matrix get_setup_matrix() const { return setup_matrix_; }
+	void set_setup_matrix(Matrix x) { setup_matrix_ = x; }
+
+	//!Animated Transformation matrix.
+	//!This matrix applied to a setup point in local
+	//!coordinates (the one obtained form the Setup
+	//!Transformation matrix) would obtain the
+	//!animated position of the point due the current
+	//!bone influence
+	Matrix get_animated_matrix() const { return animated_matrix_; }
+	void set_animated_matrix(Matrix x) { animated_matrix_ = x; }
+
+	Vector get_local_scale() const { return Vector(scalelx_, scalely_); }
+
+	//!Get the string of the Bone
+	//!@return String type. A string representation of the bone
+	//!components.
+	synfig::String get_string()const;
+
+	bool is_root();
+
+}; // END of class Bone
+
+}; // END of namespace synfig
+/* === E N D =============================================================== */
+
+#endif
+/*
+ * Alternative to Bone *parent_
+ * ======================================================================
+ * I think that we can leave the bone as a simple information holder
+ * and only give it the responsibility of:
+ * Set and get:
+ * 		-origin, origin0,
+ * 		-angle, angle0,
+ * 		-scalelx,
+ * 		-scalely,
+ * 		-scalex,
+ * 		-scaley,
+ * 		-length
+ * 		-strength,
+ * 		-ParentID: this is new: This is the UniqueID value of the parent bone.
+ * 		Initially it is set to a non valid number (I think that -1 is fine)
+ * 		so it means that it is a root bone. Later an external object can set it
+ * 		to a valid UniqueID to mean that that's the parent ID.
+ * 		parent_tree is not needed.
+ * 		-Skeletons Pointer (see below)
+ * Also the bone should:
+ * 		-get_setup_matrix
+ * 		-get_animated_matrix
+ * 		-get_tip
+ *
+ * Then it comes the concept of ValueNode_Skeletons. The Skeletons (notice that
+ * it is plural because there can be more than one root bone) is like the ValueNode_Bline,
+ * a linkable value.
+ * It is like a normal list of bones (like bline is a normal list of blinepoints).
+ * This list of bones has just that, bones. So the skeleton is not an expandable tree with
+ * a potential loop problem; it is just a list of objects.
+ *
+ * The ValueNode_Skeletons is responsible for:
+ * 1) Calculate the complete setup matrix of a bone based on the hierarchy
+ * 2) Calculate the complete animated matrix of a bone based on the hierarchy
+ * 3) (Re)Parent a bone. Or (Un)Parent it
+ * 4) Remove the bone from the list. It would set the parent UniqueID=-1 and the Skeletons
+ *    pointer to be 0.
+ * 5) Add a new bone to the list. The bone constructor would receive a Skeleton pointer and
+ *    eventually a parent UniqueID besides the rest of information to fill the date (origin, etc.).
+ *
+ * It would look like that:
+ *
+ *   ValueNode_Skeletons
+ *       ValueNode_Bone Bone1
+ *       ValueNode_Bone Bone2
+ *       ...
+ *       ValueNode_Bone BoneN
+ *
+ * To perform the tasks 1), 2), 3) or 4) the ValueNode_Skeletons should perform a seek into the
+ * list of bones by its UniqueID value. For example to calcualte the setup matrix it should
+ * reconstruct the bone hierarchy from the current bone to the root parent. Due to that now,
+ * it is only stored the UniqueID of the parent (and not a pointer), it is the skeletons veluenode
+ * who have to perform all the job: find all the parents and multiply in the correct order its
+ * matrixes. The same happen for the animated matrix.
+ * For reparent it is the same. It is just a modification of the parent UniqueID.
+ * Remove a bone from the list would imply remove all its children from the list. A warning should be triggered.
+ * A bone that has a null pointer to Skeletons means that it is orphaned completely. Its parent UniqueID
+ * must be -1 in that case. Anyway the bone like that can be used again in other skeleton. Just need to
+ * insert it in the Skeletons list by modifying the Skeletons pointer and filling the proper parent UniqueID.
+ * The Skeletons pointer is not an animatable ValueNode. It can be a Handle if you like. The parent
+ * UniqueID can be animatable.
+ * In this way every computation is slower but would be easier to define, visible to the user
+ * and more consistent with the ValueNode concept.
+ *
+ * This variation of concept doesn't imply anything new in the ValueNode_VertexBone.
+ * So the ValueNode_VertexBone should look like:
+ *
+ *   ValueNode_VertexBone
+ *       Vertex Free
+ *       Vertex Setup
+ *       ValueNode_DynamicList Bone_weight_pairs
+ *           BoneWeightPair
+ *               ValueNode_Bone Bone
+ *               Real Weight
+ *
+ * As well as the Bone having a pointer to the Skeletons it is possible for the VertexBone_ValueNode
+ * to calculate the weighted matrixes as stated in the wiki. It just has to retrieve the
+ * ValueNode_Skeleton and ask it to perform the known tasks. Later the ValueNode_VertexBone
+ * would do the weight calculation.
+ *
+ * How does it look?
+ */
diff --git a/src/synfig/savecanvas.h b/src/synfig/boneweightpair.h
similarity index 62%
copy from src/synfig/savecanvas.h
copy to src/synfig/boneweightpair.h
index 6eb3f59..de1dadb 100644
--- a/src/synfig/savecanvas.h
+++ b/src/synfig/boneweightpair.h
@@ -1,6 +1,6 @@
 /* === S Y N F I G ========================================================= */
-/*!	\file savecanvas.h
-**	\brief Implementation for the Synfig Save Canvas to file
+/*!	\file boneweightpair.h
+**	\brief A weighted bone
 **
 **	$Id$
 **
@@ -23,14 +23,16 @@
 
 /* === S T A R T =========================================================== */
 
-#ifndef __SYNFIG_SAVECANVAS_H
-#define __SYNFIG_SAVECANVAS_H
+#ifndef __SYNFIG_BONE_WEIGHT_PAIR_H
+#define __SYNFIG_BONE_WEIGHT_PAIR_H
 
 /* === H E A D E R S ======================================================= */
 
+#include "real.h"
 #include "string.h"
-#include "canvas.h"
-#include "releases.h"
+#include "bone.h"
+// #include <ETL/handle>
+#include <ETL/stringf>
 
 /* === M A C R O S ========================================================= */
 
@@ -40,21 +42,30 @@
 
 namespace synfig {
 
-/* === E X T E R N S ======================================================= */
+//class ValueNode_Bone;
 
-//!	Saves a canvas to \a filename
-/*!	\return	\c true on success, \c false on error. */
-bool save_canvas(const String &filename, Canvas::ConstHandle canvas);
+/*!	\class BoneWeightPair
+**	\todo writeme
+*/
+class BoneWeightPair
+{
+private:
+	// etl::handle<ValueNode_Bone> bone;
+	Bone bone;
+	Real weight;
 
-//! Stores a Canvas in a string in XML format
-/*! \return The string with the XML canvas definition */
-String canvas_to_string(Canvas::ConstHandle canvas);
+public:
+	BoneWeightPair() {}
+	BoneWeightPair(Bone bone, Real weight): bone(bone), weight(weight) { }
 
-void set_file_version(ReleaseVersion version);
-ReleaseVersion get_file_version();
+	Real get_weight()const { return weight; }
+	Bone get_bone()const { return bone; }
 
-}; // END of namespace synfig
+	//!Get the string of the BoneWeightPair
+	//!@return String type. A string representation of the two components.
+	String get_string()const { return etl::strprintf("(%.2f) %s", weight, bone.get_name().c_str()); }
+};
 
-/* === E N D =============================================================== */
+}; // END of namespace synfig
 
 #endif
diff --git a/src/synfig/cairo_operators.cpp b/src/synfig/cairo_operators.cpp
index fd26bf8..f198df5 100644
--- a/src/synfig/cairo_operators.cpp
+++ b/src/synfig/cairo_operators.cpp
@@ -76,12 +76,15 @@ void cairo_paint_with_alpha_operator(cairo_t* acr, float alpha, Color::BlendMeth
 		case Color::BLEND_MULTIPLY:
 		{
 			cairo_push_group(cr);
-			cairo_identity_matrix(cr);
-			cairo_set_source_surface(cr, cairo_get_target(cr), 0, 0);
+			cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
 			cairo_paint_with_alpha(cr, alpha);
-			cairo_pattern_t* pattern=cairo_pop_group(cr);
+			cairo_pop_group_to_source(cr);
 
+			cairo_matrix_t matrix;
+			cairo_get_matrix(cr, &matrix);
 			cairo_set_operator(cr, CAIRO_OPERATOR_MULTIPLY);
+			cairo_pattern_t* pattern=cairo_pattern_create_for_surface(cairo_get_target(cr));
+			cairo_pattern_set_matrix(pattern, &matrix);
 			cairo_mask(cr, pattern);
 			
 			cairo_pattern_destroy(pattern);
@@ -90,12 +93,15 @@ void cairo_paint_with_alpha_operator(cairo_t* acr, float alpha, Color::BlendMeth
 		case Color::BLEND_HUE:
 		{
 			cairo_push_group(cr);
-			cairo_identity_matrix(cr);
-			cairo_set_source_surface(cr, cairo_get_target(cr), 0, 0);
+			cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
 			cairo_paint_with_alpha(cr, alpha);
-			cairo_pattern_t* pattern=cairo_pop_group(cr);
-			
+			cairo_pop_group_to_source(cr);
+
+			cairo_matrix_t matrix;
+			cairo_get_matrix(cr, &matrix);
 			cairo_set_operator(cr, CAIRO_OPERATOR_HSL_HUE);
+			cairo_pattern_t* pattern=cairo_pattern_create_for_surface(cairo_get_target(cr));
+			cairo_pattern_set_matrix(pattern, &matrix);
 			cairo_mask(cr, pattern);
 			
 			cairo_pattern_destroy(pattern);
@@ -104,12 +110,15 @@ void cairo_paint_with_alpha_operator(cairo_t* acr, float alpha, Color::BlendMeth
 		case Color::BLEND_SATURATION:
 		{
 			cairo_push_group(cr);
-			cairo_identity_matrix(cr);
-			cairo_set_source_surface(cr, cairo_get_target(cr), 0, 0);
+			cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
 			cairo_paint_with_alpha(cr, alpha);
-			cairo_pattern_t* pattern=cairo_pop_group(cr);
-			
+			cairo_pop_group_to_source(cr);
+
+			cairo_matrix_t matrix;
+			cairo_get_matrix(cr, &matrix);
 			cairo_set_operator(cr, CAIRO_OPERATOR_HSL_SATURATION);
+			cairo_pattern_t* pattern=cairo_pattern_create_for_surface(cairo_get_target(cr));
+			cairo_pattern_set_matrix(pattern, &matrix);
 			cairo_mask(cr, pattern);
 			
 			cairo_pattern_destroy(pattern);
@@ -118,12 +127,15 @@ void cairo_paint_with_alpha_operator(cairo_t* acr, float alpha, Color::BlendMeth
 		case Color::BLEND_LUMINANCE:
 		{
 			cairo_push_group(cr);
-			cairo_identity_matrix(cr);
-			cairo_set_source_surface(cr, cairo_get_target(cr), 0, 0);
+			cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
 			cairo_paint_with_alpha(cr, alpha);
-			cairo_pattern_t* pattern=cairo_pop_group(cr);
-			
+			cairo_pop_group_to_source(cr);
+
+			cairo_matrix_t matrix;
+			cairo_get_matrix(cr, &matrix);
 			cairo_set_operator(cr, CAIRO_OPERATOR_HSL_LUMINOSITY);
+			cairo_pattern_t* pattern=cairo_pattern_create_for_surface(cairo_get_target(cr));
+			cairo_pattern_set_matrix(pattern, &matrix);
 			cairo_mask(cr, pattern);
 			
 			cairo_pattern_destroy(pattern);
@@ -144,12 +156,15 @@ void cairo_paint_with_alpha_operator(cairo_t* acr, float alpha, Color::BlendMeth
 		case Color::BLEND_SCREEN:
 		{
 			cairo_push_group(cr);
-			cairo_identity_matrix(cr);
-			cairo_set_source_surface(cr, cairo_get_target(cr), 0, 0);
+			cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
 			cairo_paint_with_alpha(cr, alpha);
-			cairo_pattern_t* pattern=cairo_pop_group(cr);
+			cairo_pop_group_to_source(cr);
 			
+			cairo_matrix_t matrix;
+			cairo_get_matrix(cr, &matrix);
 			cairo_set_operator(cr, CAIRO_OPERATOR_SCREEN);
+			cairo_pattern_t* pattern=cairo_pattern_create_for_surface(cairo_get_target(cr));
+			cairo_pattern_set_matrix(pattern, &matrix);
 			cairo_mask(cr, pattern);
 			
 			cairo_pattern_destroy(pattern);
@@ -158,12 +173,15 @@ void cairo_paint_with_alpha_operator(cairo_t* acr, float alpha, Color::BlendMeth
 		case Color::BLEND_HARD_LIGHT:
 		{
 			cairo_push_group(cr);
-			cairo_identity_matrix(cr);
-			cairo_set_source_surface(cr, cairo_get_target(cr), 0, 0);
+			cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
 			cairo_paint_with_alpha(cr, alpha);
-			cairo_pattern_t* pattern=cairo_pop_group(cr);
-			
+			cairo_pop_group_to_source(cr);
+
+			cairo_matrix_t matrix;
+			cairo_get_matrix(cr, &matrix);
 			cairo_set_operator(cr, CAIRO_OPERATOR_HARD_LIGHT);
+			cairo_pattern_t* pattern=cairo_pattern_create_for_surface(cairo_get_target(cr));
+			cairo_pattern_set_matrix(pattern, &matrix);
 			cairo_mask(cr, pattern);
 			
 			cairo_pattern_destroy(pattern);
@@ -175,26 +193,36 @@ void cairo_paint_with_alpha_operator(cairo_t* acr, float alpha, Color::BlendMeth
 			cairo_paint_with_alpha(cr, alpha);
 			break;
 		}
-		case Color::BLEND_STRAIGHT_ONTO:
-		{
-			cairo_surface_t* dest=cairo_copy_target_image(cairo_get_target(cr));
-			cairo_set_operator(cr, CAIRO_OPERATOR_IN);
-			cairo_paint(cr);
-			cairo_surface_t* source=cairo_copy_target_image(cairo_get_target(cr));
-			cairo_set_operator(cr, CAIRO_OPERATOR_CLEAR);
-			cairo_paint(cr);
-			cairo_set_source_surface(cr, dest, 0, 0);
-			cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
-			cairo_paint(cr);
-			cairo_set_source_surface(cr, source, 0, 0);
-			cairo_paint_with_alpha_operator(cr, alpha, Color::BLEND_STRAIGHT);
-			cairo_surface_destroy(dest);
-			cairo_surface_destroy(source);
-			break;
-		}
+		case Color::BLEND_STRAIGHT_ONTO: // I don't find a suitable way to produce the
+		// render method so I fall back to pixel operations.
+//		{
+//			cairo_push_group(cr);
+//			cairo_save(cr);
+//			
+//			cairo_set_source_rgba(cr, 1.0, 1.0, 1.0, 1.0-alpha);
+//			cairo_set_operator(cr, CAIRO_OPERATOR_DEST_IN);
+//			cairo_paint(cr);
+//			
+//			cairo_restore(cr);
+//			
+//			cairo_set_operator(cr, CAIRO_OPERATOR_ADD);
+//			cairo_paint_with_alpha(cr, alpha);
+//			cairo_pop_group_to_source(cr);
+//						
+//			cairo_matrix_t matrix;
+//			cairo_get_matrix(cr, &matrix);
+//			cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
+//			cairo_pattern_t* pattern=cairo_pattern_create_for_surface(cairo_get_target(cr));
+//			cairo_pattern_set_matrix(pattern, &matrix);
+//			cairo_mask(cr, pattern);
+//
+//			cairo_pattern_destroy(pattern);
+//			break;
+//		}
 		case Color::BLEND_OVERLAY:
 		{
 			cairo_push_group(cr);
+			cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
 			cairo_paint(cr);
 			cairo_pattern_t* pattern=cairo_pop_group(cr);
 			
@@ -267,6 +295,7 @@ void cairo_paint_with_alpha_operator(cairo_t* acr, float alpha, Color::BlendMeth
 		case Color::BLEND_ALPHA_BRIGHTEN:
 		{
 			cairo_push_group(cr);
+			cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
 			cairo_paint(cr);
 			cairo_pattern_t* pattern=cairo_pop_group(cr);
 			
@@ -296,7 +325,6 @@ void cairo_paint_with_alpha_operator(cairo_t* acr, float alpha, Color::BlendMeth
 				cdest.unmap_cairo_image();
 				return;
 			}
-			
 			double x1, y1, x2, y2, x0, y0;
 			cairo_clip_extents(cr, &x1, &y1, &x2, &y2);
 			cairo_user_to_device(cr, &x1, &y1);
@@ -308,12 +336,14 @@ void cairo_paint_with_alpha_operator(cairo_t* acr, float alpha, Color::BlendMeth
 			int h=csource.get_h();
 			int h0=(int)y0;
 			int w0=(int)x0;
-			
 			for(int y=0;y<h;y++)
 				for(int x=0;x<w;x++)
 				{
-					CairoColor ret=CairoColor::blend(csource[y][x].demult_alpha(), cdest[h0+y][w0+x], alpha,	method);
-					cdest[h0+y][w0+x]=ret.premult_alpha();
+					CairoColor src=csource[y][x].demult_alpha();
+					CairoColor dest=cdest[h0+y][w0+x].demult_alpha();
+					CairoColor ret=CairoColor::blend(src, dest, alpha, method);
+					ret=ret.premult_alpha();
+					cdest[h0+y][w0+x]=ret;
 				}
 			csource.unmap_cairo_image();
 			cdest.unmap_cairo_image();
@@ -325,6 +355,7 @@ void cairo_paint_with_alpha_operator(cairo_t* acr, float alpha, Color::BlendMeth
 		default:
 		{
 			cairo_push_group(cr);
+			cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
 			cairo_paint(cr);
 			cairo_pattern_t* pattern=cairo_pop_group(cr);
 			
diff --git a/src/synfig/cairo_renddesc.cpp b/src/synfig/cairo_renddesc.cpp
new file mode 100644
index 0000000..900214b
--- /dev/null
+++ b/src/synfig/cairo_renddesc.cpp
@@ -0,0 +1,165 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file cairo_renddesc.cpp
+ **	\brief Implementation of Cairo helper functions with RendDesc
+ **
+ **	$Id$
+ **
+ **	\legal
+ **	Copyright (c) 2013 Carlos López
+ **
+ **	This package is free software; you can redistribute it and/or
+ **	modify it under the terms of the GNU General Public License as
+ **	published by the Free Software Foundation; either version 2 of
+ **	the License, or (at your option) any later version.
+ **
+ **	This package is distributed in the hope that it will be useful,
+ **	but WITHOUT ANY WARRANTY; without even the implied warranty of
+ **	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ **	General Public License for more details.
+ **	\endlegal
+ */
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include "cairo_renddesc.h"
+#include "general.h"
+
+#endif
+
+/* === U S I N G =========================================================== */
+
+using namespace std;
+using namespace etl;
+using namespace synfig;
+
+/* === M A C R O S ========================================================= */
+
+/* === G L O B A L S ======================================================= */
+
+/* === P R O C E D U R E S ================================================= */
+
+bool
+cairo_renddesc_untransform(cairo_t* cr, RendDesc &renddesc)
+{
+	const Real	pw = renddesc.get_pw(),	ph = renddesc.get_ph();
+	
+	const Point	tl(renddesc.get_tl());
+	const Point br(renddesc.get_br());
+	
+	double tl_x, tl_y, tr_x, tr_y, bl_x, bl_y, br_x, br_y;
+	double mtlx, mtly, mbrx, mbry;
+	double pminx, pminy, pmaxx, pmaxy;
+	
+	const int flags=renddesc.get_flags();
+	
+	tl_x=tl[0];
+	tl_y=tl[1];
+	br_x=br[0];
+	br_y=br[1];
+	tr_x=br_x;
+	tr_y=tl_y;
+	bl_x=tl_x;
+	bl_y=br_y;
+
+	RendDesc	workdesc(renddesc);
+	// In this block we are going to calculate the inversed transform of the
+	// workdesc but not applying the transformation to convert the surface to
+	// device space (See the cairo translate and scale on Target_Cairo::render and
+	// Target_Cairo_Tile::render)
+	
+	// Extract the matrix from the current context
+	cairo_matrix_t cr_matrix, cr_result;
+	cairo_get_matrix(cr, &cr_matrix);
+	
+	// Now create three matrixes with the following values:
+	// resulting matrix result=i_translate*i_scale
+	// inverse translation i_translate = inverse translation from -renddesc_tl
+	// inverse scale i_scale = inverse scale of 1/pw and 1/ph
+	
+	cairo_matrix_t i_scale, i_translate, result;
+	cairo_matrix_init_translate(&i_translate, tl[0], tl[1]);
+	cairo_matrix_init_scale(&i_scale, pw, ph);
+	
+	// Now multiply the two matrixes, the order is important!
+	// first apply scale and then rotate, the inverse than done in Target_Cairo::render
+	
+	cairo_matrix_multiply(&result, &i_scale, &i_translate);
+	
+	// Now let's multiply the cr matrix retrieved and the result matrix
+	
+	cairo_matrix_multiply(&cr_result, &cr_matrix, &result);
+	
+	// Explanation:
+	// Current cairo context matrix is this of this form:
+	// [T][S][DRAW] where the [T][S] parts corresponds to convert the cairo operations
+	// in DRAW part into the device space (usually the image surface of size w, h)
+	// DRAW matrix is the result of the layer transformations stack (rotate, zoom, etc.)
+	// But we want to transformm the render desc with the inverse of the DRAW part only,
+	// not the inverse of the T and S part because we are transforming user coordinates
+	// the renddesc and not pixels.
+	// So we retrieve the cairo context matrix: [CR]=[T][S][DRAW] and remove the [T] and
+	// [S] matrixes by applying its inverses: (the notation ' denotes inverse)
+	// [S'][T'][CR]=[S'][T'][T][S][DRAW]=[S'][I][S][DRAW]=[I][DRAW]=[DRAW] as we wanted.
+	// [M'][M]=[I] where I is the identity matrix.
+	
+	
+	// Now let's invert the result matrix, that is calculate [DRAW']
+	cairo_status_t status;
+	status=cairo_matrix_invert(&cr_result);
+	if(status) // doh! the matrix can't be inverted! I can't render the surface!
+	{
+		synfig::error("Can't invert current Cairo matrix!");
+		return false;
+	}
+	
+	// Now let's tranform the renddesc corners with the calculated matrix
+	cairo_matrix_transform_point(&cr_result, &tl_x, &tl_y);
+	cairo_matrix_transform_point(&cr_result, &tr_x, &tr_y);
+	cairo_matrix_transform_point(&cr_result, &bl_x, &bl_y);
+	cairo_matrix_transform_point(&cr_result, &br_x, &br_y);
+	
+	// Now let's figure out the rounding box of the transformed renddesc
+	pminx=min(min(min(tl_x, tr_x), bl_x), br_x);
+	pminy=min(min(min(tl_y, tr_y), bl_y), br_y);
+	pmaxx=max(max(max(tl_x, tr_x), bl_x), br_x);
+	pmaxy=max(max(max(tl_y, tr_y), bl_y), br_y);
+	// let's assign the right values to the meaningfull variables :)
+	mtlx=pminx;
+	mtly=pmaxy;
+	mbrx=pmaxx;
+	mbry=pminy;
+	
+	// Now apply the new tl and br values to the workdesc
+	// We don't want to render more pixels than the needed by the original
+	// renddesc, so we are going to keep the number of pixels in the diagonal
+	// to coincide with the original diagonal
+	Vector m_diagonal(br_x-tl_x, br_y-tl_y);
+	Vector m_diagonal_bbox(mbrx-mtlx, mbry-mtly);
+	double diagonal=m_diagonal.mag();
+	double diagonal_bbox=m_diagonal_bbox.mag();
+	int w_new=diagonal_bbox/diagonal * renddesc.get_w();
+	int h_new=diagonal_bbox/diagonal * renddesc.get_h();
+	workdesc.clear_flags();
+	// finally apply the new desc values!
+	workdesc.set_tl_br(Point(mtlx, mtly), Point(mbrx, mbry));
+	workdesc.set_w(w_new);
+	workdesc.set_h(h_new);
+
+	renddesc=workdesc;
+	
+	renddesc.set_flags(flags);
+	
+	return true;
+}
+
+/* === M E T H O D S ======================================================= */
+
+/* === E N T R Y P O I N T ================================================= */
diff --git a/src/synfig/rendermethod.h b/src/synfig/cairo_renddesc.h
similarity index 67%
copy from src/synfig/rendermethod.h
copy to src/synfig/cairo_renddesc.h
index 4846701..83c4eab 100644
--- a/src/synfig/rendermethod.h
+++ b/src/synfig/cairo_renddesc.h
@@ -1,11 +1,11 @@
 /* === S Y N F I G ========================================================= */
-/*!	\file rendermethod.h
- **	\brief Enumeration to define the render method used
+/*!	\file cairo_renddesc.h
+ **	\brief Cairo helper functions with RendDesc
  **
  **	$Id$
  **
  **	\legal
- **	Copyright (c) 2012 Nikita Kitaev
+ **	Copyright (c) 2013 Carlos López
  **
  **	This package is free software; you can redistribute it and/or
  **	modify it under the terms of the GNU General Public License as
@@ -22,25 +22,26 @@
 
 /* === S T A R T =========================================================== */
 
-#ifndef __SYNFIG_RENDERMETHOD_H
-#define __SYNFIG_RENDERMETHOD_H
+#ifndef __SYNFIG_CAIRO_RENDDESC_H
+#define __SYNFIG_CAIRO_RENDDESC_H
 
 /* === H E A D E R S ======================================================= */
+#include "renddesc.h"
+#include "cairo.h"
 
 /* === M A C R O S ========================================================= */
 
 /* === T Y P E D E F S ===================================================== */
 
 /* === C L A S S E S & S T R U C T S ======================================= */
-namespace synfig
-{
-//! Available rendering methods
-enum RenderMethod {
-	SOFTWARE = 0x100,               //!< Software rendering
-	OPENGL,                         //!< OpenGL rendering (not supported)
-	CAIRO                           //!< Cairo rendering
-};
-}; // end namespace synfig
+
+// Helper function to untransform the RendDesc by the inverse of the current
+// Cairo matrix from the Cairo context.
+// It doesn't count the initial scale and translation performed to
+// convert the user coordinates to pixels.
+// See implementation comments for more details
+bool cairo_renddesc_untransform(cairo_t* cr, synfig::RendDesc &renddesc);
+
 /* === E N D =============================================================== */
 
 #endif
diff --git a/src/synfig/cairoimporter.cpp b/src/synfig/cairoimporter.cpp
index ebcb8fa..1748a66 100644
--- a/src/synfig/cairoimporter.cpp
+++ b/src/synfig/cairoimporter.cpp
@@ -38,6 +38,7 @@
 #include <map>
 #include <ctype.h>
 #include <functional>
+#include <glibmm.h>
 
 #endif
 
@@ -115,7 +116,11 @@ CairoImporter::open(const String &filename)
 
 	try {
 		CairoImporter::Handle importer;
+#ifdef WIN32
+		importer=CairoImporter::book()[ext](Glib::locale_from_utf8(filename).c_str());
+#else
 		importer=CairoImporter::book()[ext](filename.c_str());
+#endif
 		(*__open_cairoimporters)[filename]=importer;
 		return importer;
 	}
diff --git a/src/synfig/listimporter.cpp b/src/synfig/cairolistimporter.cpp
similarity index 78%
copy from src/synfig/listimporter.cpp
copy to src/synfig/cairolistimporter.cpp
index b5d5f44..65c9a45 100644
--- a/src/synfig/listimporter.cpp
+++ b/src/synfig/cairolistimporter.cpp
@@ -1,5 +1,5 @@
 /* === S Y N F I G ========================================================= */
-/*!	\file listimporter.cpp
+/*!	\file cairolistimporter.cpp
 **	\brief Template File
 **
 **	$Id$
@@ -7,6 +7,7 @@
 **	\legal
 **	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
 **	Copyright (c) 2007, 2008 Chris Moore
+**	Copyright (c) 2013 Carlos López
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -30,7 +31,7 @@
 #	include <config.h>
 #endif
 
-#include "listimporter.h"
+#include "cairolistimporter.h"
 #include "general.h"
 #include <fstream>
 
@@ -44,15 +45,22 @@ using namespace synfig;
 
 /* === M A C R O S ========================================================= */
 
-#define LIST_IMPORTER_CACHE_SIZE	20
+#define LIST_CAIROIMPORTER_CACHE_SIZE	20
 
 /* === G L O B A L S ======================================================= */
 
+SYNFIG_CAIROIMPORTER_INIT(CairoListImporter);
+SYNFIG_CAIROIMPORTER_SET_NAME(CairoListImporter,"lst");
+SYNFIG_CAIROIMPORTER_SET_EXT(CairoListImporter,"lst");
+SYNFIG_CAIROIMPORTER_SET_VERSION(CairoListImporter,"0.1");
+SYNFIG_CAIROIMPORTER_SET_CVS_ID(CairoListImporter,"$Id$");
+
+
 /* === P R O C E D U R E S ================================================= */
 
 /* === M E T H O D S ======================================================= */
 
-ListImporter::ListImporter(const String &filename)
+CairoListImporter::CairoListImporter(const String &filename)
 {
 	fps=15;
 
@@ -139,18 +147,12 @@ ListImporter::ListImporter(const String &filename)
 	}
 }
 
-Importer*
-ListImporter::create(const char *filename)
-{
-	return new ListImporter(filename);
-}
-
-ListImporter::~ListImporter()
+CairoListImporter::~CairoListImporter()
 {
 }
 
 bool
-ListImporter::get_frame(Surface &surface, const RendDesc &renddesc, Time time, ProgressCallback *cb)
+CairoListImporter::get_frame(cairo_surface_t *&csurface, const RendDesc &renddesc, Time time, ProgressCallback *cb)
 {
 	float document_fps=renddesc.get_frame_rate();
 	int document_frame=round_to_int(time*document_fps);
@@ -167,17 +169,22 @@ ListImporter::get_frame(Surface &surface, const RendDesc &renddesc, Time time, P
 	if(frame>=(signed)filename_list.size())frame=filename_list.size()-1;
 
 	// See if that frame is cached
-	std::list<std::pair<String,Surface> >::iterator iter;
+	std::list<CacheElement>::iterator iter;
 	for(iter=frame_cache.begin();iter!=frame_cache.end();++iter)
 	{
-		if(iter->first==filename_list[frame])
+		if(iter->frame_name==filename_list[frame])
 		{
-			surface.mirror(iter->second);
-			return static_cast<bool>(surface);
+			if(iter->surface && !cairo_surface_status(iter->surface))
+			{
+				csurface=cairo_surface_reference(iter->surface);
+				return true;
+			}
+			else
+				return false;
 		}
 	}
 
-	Importer::Handle importer(Importer::open(filename_list[frame]));
+	CairoImporter::Handle importer(CairoImporter::open(filename_list[frame]));
 
 	if(!importer)
 	{
@@ -186,25 +193,27 @@ ListImporter::get_frame(Surface &surface, const RendDesc &renddesc, Time time, P
 		return false;
 	}
 
-	if(!importer->get_frame(surface,renddesc,0,cb))
+	if(!importer->get_frame(csurface,renddesc,0,cb))
 	{
 		if(cb)cb->error(_("Unable to get frame from ")+filename_list[frame]);
 		else synfig::error(_("Unable to get frame from ")+filename_list[frame]);
 		return false;
 	}
 
-	if(frame_cache.size()>=LIST_IMPORTER_CACHE_SIZE)
+	if(frame_cache.size()>=LIST_CAIROIMPORTER_CACHE_SIZE)
 		frame_cache.pop_front();
+	
+	CacheElement ce;
+	ce.frame_name=filename_list[frame];
+	ce.surface=cairo_surface_reference(csurface);;
 
-	frame_cache.push_back(std::pair<String,Surface>(filename_list[frame],surface));
-
-	surface.mirror(frame_cache.back().second);
+	frame_cache.push_back(ce);
 
-	return static_cast<bool>(surface);
+	return !cairo_surface_status(csurface);
 }
 
 bool
-ListImporter::is_animated()
+CairoListImporter::is_animated()
 {
 	return true;
 }
diff --git a/src/synfig/listimporter.h b/src/synfig/cairolistimporter.h
similarity index 64%
copy from src/synfig/listimporter.h
copy to src/synfig/cairolistimporter.h
index 2a40fc5..ce49e98 100644
--- a/src/synfig/listimporter.h
+++ b/src/synfig/cairolistimporter.h
@@ -1,5 +1,5 @@
 /* === S Y N F I G ========================================================= */
-/*!	\file listimporter.h
+/*!	\file cairolistimporter.h
 **	\brief Template Header
 **
 **	$Id$
@@ -7,6 +7,7 @@
 **	\legal
 **	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
 **	Copyright (c) 2007 Chris Moore
+**	Copyright (c) 2013 Carlos López
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -23,16 +24,15 @@
 
 /* === S T A R T =========================================================== */
 
-#ifndef __SYNFIG_LISTIMPORTER_H
-#define __SYNFIG_LISTIMPORTER_H
+#ifndef __SYNFIG_CAIROLISTIMPORTER_H
+#define __SYNFIG_CAIROLISTIMPORTER_H
 
 /* === H E A D E R S ======================================================= */
 
-#include "importer.h"
+#include "cairoimporter.h"
 #include "surface.h"
 #include <ETL/smart_ptr>
 #include <vector>
-//#include <deque>
 #include <list>
 #include <utility>
 
@@ -44,26 +44,47 @@
 
 namespace synfig {
 
-/*!	\class ListImporter
+/*!	\class CairoListImporter
 **	\todo Write more detailed description
 */
-class ListImporter : public Importer
+class CairoListImporter : public CairoImporter
 {
+	SYNFIG_CAIROIMPORTER_MODULE_EXT
+public:
+	class CacheElement
+	{
+	public:
+		String frame_name;
+		cairo_surface_t* surface;
+		CacheElement()
+		{
+			surface=NULL;
+		}
+		//Copy constructor
+		CacheElement(const CacheElement& other): frame_name(other.frame_name), surface(cairo_surface_reference(other.surface))
+		{
+		}
+		~CacheElement()
+		{
+			if(surface)
+				cairo_surface_destroy(surface);
+		}
+	};
+
+private:
 	float fps;
 	std::vector<String> filename_list;
-	std::list<std::pair<String,Surface> > frame_cache;
-protected:
-	ListImporter(const String &filename);
+	std::list<CacheElement> frame_cache;
 
 public:
 
-	virtual ~ListImporter();
+	CairoListImporter(const String &filename);
+	~CairoListImporter();
 
-	virtual bool get_frame(Surface &surface, const RendDesc &renddesc, Time time, ProgressCallback *callback=NULL);
+	virtual bool get_frame(cairo_surface_t *&csurface, const RendDesc &renddesc, Time time, ProgressCallback *callback=NULL);
 
 	virtual bool is_animated();
 
-	static Importer* create(const char *filename);
 };
 
 }; // END of namespace synfig
diff --git a/src/synfig/canvas.cpp b/src/synfig/canvas.cpp
index e8a6591..6cc66e9 100644
--- a/src/synfig/canvas.cpp
+++ b/src/synfig/canvas.cpp
@@ -86,6 +86,9 @@ Canvas::Canvas(const String &id):
 void
 Canvas::on_changed()
 {
+	if (getenv("SYNFIG_DEBUG_ON_CHANGED"))
+		printf("%s:%d Canvas::on_changed()\n", __FILE__, __LINE__);
+
 	is_dirty_=true;
 	Node::on_changed();
 }
@@ -189,10 +192,22 @@ Canvas::back()const
 	return *(CanvasBase::end()-1);
 }
 
+IndependentContext
+Canvas::get_independent_context()const
+{
+	return IndependentContext(begin());
+}
+
+Context
+Canvas::get_context(const ContextParams &params)const
+{
+	return Context(get_independent_context(),params);
+}
+
 Context
-Canvas::get_context()const
+Canvas::get_context(const Context &parent_context)const
 {
-	return begin();
+	return get_context(parent_context.get_params());
 }
 
 const ValueNodeList &
@@ -220,9 +235,9 @@ Canvas::keyframe_list()const
 }
 
 etl::handle<Layer>
-Canvas::find_layer(const Point &pos)
+Canvas::find_layer(const ContextParams &context_params, const Point &pos)
 {
-	return get_context().hit_check(pos);
+	return get_context(context_params).hit_check(pos);
 }
 
 static bool
@@ -283,7 +298,7 @@ Canvas::set_grow_value(Real x)
 	if(grow_value!=x)
 	{
 		grow_value=x;
-		get_context().set_dirty_outlines();
+		get_independent_context().set_dirty_outlines();
 	}
 
 }
@@ -312,7 +327,7 @@ Canvas::set_time(Time t)const
 		const_cast<Canvas&>(*this).cur_time_=t;
 
 		is_dirty_=false;
-		get_context().set_time(t);
+		get_independent_context().set_time(t);
 	}
 	is_dirty_=false;
 }
@@ -320,7 +335,19 @@ Canvas::set_time(Time t)const
 Canvas::LooseHandle
 Canvas::get_root()const
 {
-	return parent_?parent_->get_root().get():const_cast<synfig::Canvas *>(this);
+	// printf("root(%lx) = ", uintptr_t(this));
+	if (parent_)
+		return parent_->get_root();
+	// printf("%lx\n", uintptr_t(this));
+	return const_cast<synfig::Canvas *>(this);
+}
+
+Canvas::LooseHandle
+Canvas::get_non_inline_ancestor()const
+{
+	if (is_inline() && parent_)
+		return parent_->get_non_inline_ancestor();
+	return const_cast<synfig::Canvas *>(this);
 }
 
 int
@@ -389,27 +416,30 @@ Canvas::_get_relative_id(etl::loose_handle<const Canvas> x)const
 }
 
 ValueNode::Handle
-Canvas::find_value_node(const String &id)
+Canvas::find_value_node(const String &id, bool might_fail)
 {
 	return
 		ValueNode::Handle::cast_const(
-			const_cast<const Canvas*>(this)->find_value_node(id)
+			const_cast<const Canvas*>(this)->find_value_node(id, might_fail)
 		);
 }
 
 ValueNode::ConstHandle
-Canvas::find_value_node(const String &id)const
+Canvas::find_value_node(const String &id, bool might_fail)const
 {
 	if(is_inline() && parent_)
-		return parent_->find_value_node(id);
+		return parent_->find_value_node(id, might_fail);
 
 	if(id.empty())
+	{
+		if (!might_fail) ValueNode::breakpoint();
 		throw Exception::IDNotFound("Empty ID");
+	}
 
 	// If we do not have any resolution, then we assume that the
 	// request is for this immediate canvas
 	if(id.find_first_of(':')==string::npos && id.find_first_of('#')==string::npos)
-		return value_node_list_.find(id);
+		return value_node_list_.find(id, might_fail);
 
 	String canvas_id(id,0,id.rfind(':'));
 	String value_node_id(id,id.rfind(':')+1);
@@ -419,7 +449,7 @@ Canvas::find_value_node(const String &id)const
 	//synfig::warning("constfind:canvas_id: "+canvas_id);
 
 	String warnings;
-	return find_canvas(canvas_id, warnings)->value_node_list_.find(value_node_id);
+	return find_canvas(canvas_id, warnings)->value_node_list_.find(value_node_id, might_fail);
 }
 
 ValueNode::Handle
@@ -463,7 +493,7 @@ Canvas::add_value_node(ValueNode::Handle x, const String &id)
 
 	try
 	{
-		if(PlaceholderValueNode::Handle::cast_dynamic(value_node_list_.find(id)))
+		if(PlaceholderValueNode::Handle::cast_dynamic(value_node_list_.find(id, true)))
 			throw Exception::IDNotFound("add_value_node()");
 
 		throw Exception::IDAlreadyExists(id);
@@ -510,17 +540,23 @@ Canvas::rename_value_node(ValueNode::Handle x, const String &id)
 */
 
 void
-Canvas::remove_value_node(ValueNode::Handle x)
+Canvas::remove_value_node(ValueNode::Handle x, bool might_fail)
 {
 	if(is_inline() && parent_)
-		return parent_->remove_value_node(x);
+		return parent_->remove_value_node(x, might_fail);
 //		throw Exception::IDNotFound("Canvas::remove_value_node() was called from an inline canvas");
 
 	if(!x)
+	{
+		if (!might_fail) ValueNode::breakpoint();
 		throw Exception::IDNotFound("Canvas::remove_value_node() was passed empty handle");
+	}
 
 	if(!value_node_list_.erase(x))
+	{
+		if (!might_fail) ValueNode::breakpoint();
 		throw Exception::IDNotFound("Canvas::remove_value_node(): ValueNode was not found inside of this canvas");
+	}
 
 	//x->set_parent_canvas(0);
 
@@ -791,7 +827,7 @@ Canvas::erase(iterator iter)
 }
 
 Canvas::Handle
-Canvas::clone(const GUID& deriv_guid)const
+Canvas::clone(const GUID& deriv_guid, bool for_export)const
 {
 	synfig::String name;
 	if(is_inline())
@@ -807,14 +843,17 @@ Canvas::clone(const GUID& deriv_guid)const
 
 	Handle canvas(new Canvas(name));
 
-	if(is_inline())
+	if(is_inline() && !for_export)
 	{
 		canvas->is_inline_=true;
 		// \todo this was setting parent_=0 - is there a reason for that?
 		// this was causing bug 1838132, where cloning an inline canvas that contains an imported image fails
 		// it was failing to ascertain the absolute pathname of the imported image, since it needs the pathname
 		// of the canvas to get that, which is stored in the parent canvas
+//		printf("%s:%d clone: setting parent_ of %lx to %lx\n", __FILE__, __LINE__, uintptr_t(canvas.get()), uintptr_t(parent().get()));
 		canvas->parent_=parent();
+//		show_canvas_ancestry(__FILE__, __LINE__, "clone(): old");
+//		canvas->show_canvas_ancestry(__FILE__, __LINE__, "clone(): new");
 		canvas->rend_desc() = rend_desc();
 		//canvas->set_inline(parent());
 	}
@@ -824,7 +863,7 @@ Canvas::clone(const GUID& deriv_guid)const
 	const_iterator iter;
 	for(iter=begin();iter!=end();++iter)
 	{
-		Layer::Handle layer((*iter)->clone(deriv_guid));
+		Layer::Handle layer((*iter)->clone(canvas, deriv_guid));
 		if(layer)
 		{
 			assert(layer.count()==1);
@@ -862,7 +901,9 @@ Canvas::set_inline(LooseHandle parent)
 
 	id_=_("in line");
 	is_inline_=true;
+//	printf("%s:%d set_inline: setting parent_ of %lx to %lx\n", __FILE__, __LINE__, uintptr_t(this), uintptr_t(parent.get()));
 	parent_=parent;
+//	show_canvas_ancestry(__FILE__, __LINE__, "set_inline()");
 
 	// Have the parent inherit all of the group stuff
 
@@ -899,7 +940,9 @@ Canvas::new_child_canvas()
 	children().push_back(create());
 	Canvas::Handle canvas(children().back());
 
+//	printf("%s:%d new_child_canvas: setting parent_ of %lx to %lx\n", __FILE__, __LINE__, uintptr_t(canvas.get()), uintptr_t(this));
 	canvas->parent_=this;
+//	canvas->show_canvas_ancestry(__FILE__, __LINE__, "new_child_canvas");
 
 	canvas->rend_desc()=rend_desc();
 
@@ -918,7 +961,9 @@ Canvas::new_child_canvas(const String &id)
 	Canvas::Handle canvas(children().back());
 
 	canvas->set_id(id);
+//	printf("%s:%d new_child_canvas: setting parent_ of %lx to %lx\n", __FILE__, __LINE__, uintptr_t(canvas.get()), uintptr_t(this));
 	canvas->parent_=this;
+//	canvas->show_canvas_ancestry(__FILE__, __LINE__, "new_child_canvas");
 	canvas->rend_desc()=rend_desc();
 
 	return canvas;
@@ -948,7 +993,9 @@ Canvas::add_child_canvas(Canvas::Handle child_canvas, const synfig::String& id)
 			child_canvas->is_inline_=false;
 		child_canvas->id_=id;
 		children().push_back(child_canvas);
+//		printf("%s:%d add_child_canvas: setting parent_ of %lx to %lx\n", __FILE__, __LINE__, uintptr_t(child_canvas.get()), uintptr_t(this));
 		child_canvas->parent_=this;
+//		child_canvas->show_canvas_ancestry(__FILE__, __LINE__, "add_child_canvas");
 	}
 
 	return child_canvas;
@@ -968,7 +1015,9 @@ Canvas::remove_child_canvas(Canvas::Handle child_canvas)
 
 	children().remove(child_canvas);
 
+//	printf("%s:%d remove_child_canvas: setting parent_ of %lx to 0\n", __FILE__, __LINE__, uintptr_t(child_canvas.get()));
 	child_canvas->parent_=0;
+//	child_canvas->show_canvas_ancestry(__FILE__, __LINE__, "remove_child_canvas");
 }
 
 void
@@ -1092,7 +1141,7 @@ synfig::optimize_layers(Time time, Context context, Canvas::Handle op_canvas, bo
 			Layer::Handle layer=*iter;
 
 			// If the layer isn't active, don't worry about it
-			if(!layer->active())
+			if(!context.active(*layer))
 				continue;
 
 			// Any layer with an amount of zero is implicitly disabled.
@@ -1131,7 +1180,7 @@ synfig::optimize_layers(Time time, Context context, Canvas::Handle op_canvas, bo
 		float z_depth(layer->get_z_depth()*1.0001+i);
 
 		// If the layer isn't active, don't worry about it
-		if(!layer->active())
+		if(!context.active(*layer))
 			continue;
 
 		// Any layer with an amount of zero is implicitly disabled.
@@ -1175,7 +1224,7 @@ synfig::optimize_layers(Time time, Context context, Canvas::Handle op_canvas, bo
 					paste_sub_canvas->set_grow_value(parent_grow+paste_canvas->get_param("outline_grow").get(Real()));
 				else
 					paste_sub_canvas->set_grow_value(0.0);
-				optimize_layers(time, paste_sub_canvas->get_context(),sub_canvas,motion_blurred);
+				optimize_layers(time, paste_sub_canvas->get_context(context),sub_canvas,motion_blurred);
 			}
 
 // \todo: uncommenting the following breaks the rendering of at least examples/backdrop.sifz quite severely
@@ -1444,9 +1493,8 @@ Canvas::show_structure(int i) const
 {
 	if(i==0)
 		printf("---Canvas Structure----\n");
-	Context iter;
-	Context context=get_context();
-	for(iter=context;*iter;iter++)
+	IndependentContext iter;
+	for(iter=get_independent_context();*iter;iter++)
 	{
 		Layer::Handle layer=*iter;
 		printf("%d: %s : %s", i, layer->get_name().c_str(), layer->get_non_empty_description().c_str());
@@ -1464,3 +1512,93 @@ Canvas::show_structure(int i) const
 	}
 }
 #endif	// _DEBUG
+
+// #define DEBUG_INVOKE_SVNCR
+
+// this is only ever called from valuenode_dynamiclist.cpp and valuenode_staticlist.cpp
+// the container is a ValueNode_{Static,Dyanmic}List
+// the content is the entry
+void
+Canvas::invoke_signal_value_node_child_removed(etl::handle<ValueNode> container, etl::handle<ValueNode> content)
+{
+	signal_value_node_child_removed()(container, content);
+	Canvas::Handle canvas(this);
+#ifdef DEBUG_INVOKE_SVNCR
+	printf("%s:%d removed stuff from a canvas %lx with %zd parents\n", __FILE__, __LINE__, uintptr_t(canvas.get()), canvas->parent_set.size());
+#endif
+	for (std::set<Node*>::iterator iter = canvas->parent_set.begin(); iter != canvas->parent_set.end(); iter++)
+	{
+		if (dynamic_cast<Layer*>(*iter))
+		{
+			Layer* layer(dynamic_cast<Layer*>(*iter));
+#ifdef DEBUG_INVOKE_SVNCR
+			printf("it's a layer %lx\n", uintptr_t(layer));
+			printf("%s:%d it's a layer with %zd parents\n", __FILE__, __LINE__, layer->parent_set.size());
+#endif
+			for (std::set<Node*>::iterator iter = layer->parent_set.begin(); iter != layer->parent_set.end(); iter++)
+				if (dynamic_cast<Canvas*>(*iter))
+				{
+					Canvas* canvas(dynamic_cast<Canvas*>(*iter));
+#ifdef DEBUG_INVOKE_SVNCR
+					printf("it's a canvas %lx\n", uintptr_t(canvas));
+#endif
+					if (canvas->get_non_inline_ancestor())
+					{
+#ifdef DEBUG_INVOKE_SVNCR
+						printf("%s:%d recursively invoking signal vn child removed on non_inline_ancestor %lx\n", __FILE__, __LINE__, uintptr_t(canvas->get_non_inline_ancestor().get()));
+#endif
+						canvas->get_non_inline_ancestor()->invoke_signal_value_node_child_removed(container, content);
+					}
+#ifdef DEBUG_INVOKE_SVNCR
+					else
+						printf("can't get non_inline_ancestor_canvas\n");
+#endif
+				}
+#ifdef DEBUG_INVOKE_SVNCR
+				else
+					printf("not a canvas\n");
+#endif
+		}
+#ifdef DEBUG_INVOKE_SVNCR
+		else
+			printf("not a layer\n");
+#endif
+	}
+}
+
+#if 0
+void
+Canvas::show_canvas_ancestry(String file, int line, String note)const
+{
+	printf("%s:%d %s:\n", file.c_str(), line, note.c_str());
+	show_canvas_ancestry();
+}
+
+void
+Canvas::show_canvas_ancestry()const
+{
+	String layer;
+	// printf("%s:%d parent set size = %zd\n", __FILE__, __LINE__, parent_set.size());
+	if (parent_set.size() == 1)
+	{
+		Node* node(*(parent_set.begin()));
+		if (dynamic_cast<Layer*>(node))
+		{
+			layer = (dynamic_cast<Layer*>(node))->get_description();
+		}
+	}
+
+	printf("  canvas %lx %6s parent %7lx layer %-10s id %8s name '%8s' desc '%8s'\n",
+		   uintptr_t(this), is_inline_?"inline":"", uintptr_t(parent_.get()),
+		   layer.c_str(),
+		   get_id().c_str(), get_name().c_str(), get_description().c_str());
+	if (parent_) parent_->show_canvas_ancestry();
+	else printf("\n");
+}
+#endif
+
+String
+Canvas::get_string()const
+{
+	return String("Canvas: ") + get_description();
+}
diff --git a/src/synfig/canvas.h b/src/synfig/canvas.h
index e5c2383..060bfc7 100644
--- a/src/synfig/canvas.h
+++ b/src/synfig/canvas.h
@@ -120,6 +120,8 @@
 
 namespace synfig {
 
+class IndependentContext;
+class ContextParams;
 class Context;
 class GUID;
 class Canvas;
@@ -338,6 +340,8 @@ public:
 	//! Child Value Node Removed
 	sigc::signal<void, etl::handle<ValueNode>, etl::handle<ValueNode> >& signal_value_node_child_removed() { return signal_value_node_child_removed_; }
 
+	void invoke_signal_value_node_child_removed(etl::handle<ValueNode>, etl::handle<ValueNode>);
+
 	/*
  --	** -- C O N S T R U C T O R S ---------------------------------------------
 	*/
@@ -398,6 +402,8 @@ public:
 	//! Gets the description of the canvas
 	const String & get_description()const { return description_; }
 
+	String get_string()const;
+
 	//! Sets the name of the canvas
 	void set_description(const String &x);
 
@@ -435,6 +441,8 @@ public:
 	//! Returns a handle to the root Canvas
 	LooseHandle get_root()const;
 
+	LooseHandle get_non_inline_ancestor()const;
+
 	//! Returns a list of all child canvases in this canvas
 	std::list<Handle> &children() { return children_; }
 
@@ -475,7 +483,7 @@ public:
 	/*!	\return If found, returns a handle to the ValueNode.
 	**		Otherwise, returns an empty handle.
 	*/
-	ValueNode::Handle find_value_node(const String &id);
+	ValueNode::Handle find_value_node(const String &id, bool might_fail);
 
 	//! \internal \writeme
 	ValueNode::Handle surefind_value_node(const String &id);
@@ -484,7 +492,7 @@ public:
 	/*!	\return If found, returns a handle to the ValueNode.
 	**		Otherwise, returns an empty handle.
 	*/
-	ValueNode::ConstHandle find_value_node(const String &id)const;
+	ValueNode::ConstHandle find_value_node(const String &id, bool might_fail)const;
 
 	//! Adds a Value node by its Id.
 	/*! Throws an error if the Id is not
@@ -496,10 +504,10 @@ public:
 	//void rename_value_node(ValueNode::Handle x, const String &id);
 
 	//! Removes a Value Node from the Canvas by its Handle
-	void remove_value_node(ValueNode::Handle x);
+	void remove_value_node(ValueNode::Handle x, bool might_fail);
 
 	//! Removes a Value Node from the Canvas by its Id
-	void remove_value_node(const String &id) { remove_value_node(find_value_node(id)); }
+	void remove_value_node(const String &id, bool might_fail) { remove_value_node(find_value_node(id, might_fail), might_fail); }
 
 	//! Finds a child Canvas in the Canvas with the given \a name
 	/*!	\return If found, returns a handle to the child Canvas.
@@ -547,13 +555,20 @@ public:
 
 	//! Finds a Layer by its position.
 	//! \see get_context()
-	etl::handle<Layer> find_layer(const Point &pos);
+	etl::handle<Layer> find_layer(const ContextParams &context_params, const Point &pos);
 
 	//! Gets the depth of a particular Layer by its handle
 	int get_depth(etl::handle<Layer>)const;
 
 	//! Retireves the first layer of the double queue of Layers
-	Context get_context()const;
+	IndependentContext get_independent_context()const;
+
+	//! Retireves the first layer of the double queue of Layers assigned with rendering parameters
+	Context get_context(const ContextParams &params)const;
+
+	//! Retireves the first layer of the double queue of Layers assigned with rendering parameters
+	Context get_context(const Context &parent_context)const;
+
 	//! Returns the last Canvas layer queue iterator. Notice that it
 	/*! overrides the std::end() member that would return an interator
 	 * just past the last element of the queue.*/
@@ -598,14 +613,21 @@ public:
 	static Handle create();
 	//! Creates an inline Canvas for a given Canvas \parent
 	static Handle create_inline(Handle parent);
-	//! Clones (copies) the Canvas if it is inline.
-	Handle clone(const GUID& deriv_guid=GUID())const;
+
+	//! Clones (copies) the Canvas
+	Handle clone(const GUID& deriv_guid=GUID(), bool for_export=false)const;
+
 	//! Stores the external canvas by its file name and the Canvas handle
 	void register_external_canvas(String file, Handle canvas);
 	//! Set/Get members for the grow value
 	Real get_grow_value()const;
 	void set_grow_value(Real x);
 
+#if 0
+	void show_canvas_ancestry(String file, int line, String note)const;
+	void show_canvas_ancestry()const;
+#endif
+
 #ifdef _DEBUG
 	void show_externals(String file, int line, String text) const;
 	void show_structure(int i) const;
diff --git a/src/synfig/color.cpp b/src/synfig/color.cpp
index a9237fd..543ecb4 100644
--- a/src/synfig/color.cpp
+++ b/src/synfig/color.cpp
@@ -880,7 +880,7 @@ blendfunc_ALPHA_BRIGHTEN(CairoColor &a, CairoColor &b, float amount)
 	//	return a.set_a(a.get_a()*amount);
 	//return b;
 	unsigned char ra, ga, ba, aa;
-	unsigned char rb, gb, bb, ab;
+	unsigned char ab;
 	unsigned char rc, gc, bc, ac;
 	
 	ra=a.get_r();
@@ -888,9 +888,6 @@ blendfunc_ALPHA_BRIGHTEN(CairoColor &a, CairoColor &b, float amount)
 	ba=a.get_b();
 	aa=a.get_a();
 	
-	rb=b.get_r();
-	gb=b.get_g();
-	bb=b.get_b();
 	ab=b.get_a();
 	
 	ac=aa*amount;
@@ -923,7 +920,7 @@ CairoColor
 blendfunc_ALPHA_DARKEN(CairoColor &a, CairoColor &b, float amount)
 {
 	unsigned char ra, ga, ba, aa;
-	unsigned char rb, gb, bb, ab;
+	unsigned char ab;
 	unsigned char rc, gc, bc, ac;
 	
 	ra=a.get_r();
@@ -931,9 +928,6 @@ blendfunc_ALPHA_DARKEN(CairoColor &a, CairoColor &b, float amount)
 	ba=a.get_b();
 	aa=a.get_a();
 	
-	rb=b.get_r();
-	gb=b.get_g();
-	bb=b.get_b();
 	ab=b.get_a();
 	
 	ac=aa*amount;
@@ -1067,8 +1061,8 @@ blendfunc_HARD_LIGHT(CairoColor &a, CairoColor &b, float amount)
 	if(amount<0) a=~a, amount=-amount;
 	
 	int ra, ga, ba, aa;
-	int rb, gb, bb, ab;
-	int rc, gc, bc, ac;
+	int rb, gb, bb;
+	int rc, gc, bc;
 	
 	ra=a.get_r();
 	ga=a.get_g();
@@ -1078,7 +1072,6 @@ blendfunc_HARD_LIGHT(CairoColor &a, CairoColor &b, float amount)
 	rb=b.get_r();
 	gb=b.get_g();
 	bb=b.get_b();
-	ab=b.get_a();
 	
 	if(ra>127)	rc =255 -  (255-(ra*2-255))  *  (255-rb)/255.0;
 	else		rc= rb*(ra*2)/255.0;
diff --git a/src/synfig/color.h b/src/synfig/color.h
index 7833989..d37f87d 100644
--- a/src/synfig/color.h
+++ b/src/synfig/color.h
@@ -30,13 +30,14 @@
 /* === H E A D E R S ======================================================= */
 
 
-#include <math.h>
+#include <cmath>
 #include <cassert>
+#include <stdint.h>
+
 #include "gamma.h"
 #include <synfig/string.h>
 # include "angle.h"
 
-#include <stdint.h>
 
 #ifdef USE_HALF_TYPE
 #include <OpenEXR/half.h>
@@ -67,7 +68,9 @@ inline bool isnan(double x) { return x != x; }
 inline bool isnan(float x) { return x != x; }
 #define SYNFIG_ISNAN_FIX 1
 #else
-#define isnan std::isnan
+#ifndef isnan
+#define isnan(x) (std::isnan)(x)
+#endif
 #endif
 
 namespace synfig {
@@ -736,12 +739,12 @@ public:
 	CairoColor(const CairoColorAccumulator& c);
 	CairoColor(int r, int g, int b, int a);
 	
-	const value_type get_pixel()const {return pixel; }
-	const unsigned char get_a()const { return pixel>>24; }
-	const unsigned char get_r()const { return pixel>>16; }
-	const unsigned char get_g()const { return pixel>>8; }
-	const unsigned char get_b()const { return pixel; }
-	const unsigned char get_alpha()const { return get_a(); }
+	value_type get_pixel()const {return pixel; }
+	unsigned char get_a()const { return pixel>>24; }
+	unsigned char get_r()const { return pixel>>16; }
+	unsigned char get_g()const { return pixel>>8; }
+	unsigned char get_b()const { return pixel; }
+	unsigned char get_alpha()const { return get_a(); }
 	
 	const String get_string(void)const;
 
diff --git a/src/synfig/context.cpp b/src/synfig/context.cpp
index 933857a..cfa78b7 100644
--- a/src/synfig/context.cpp
+++ b/src/synfig/context.cpp
@@ -83,6 +83,113 @@ _print_profile_report()
 
 /* === M E T H O D S ======================================================= */
 
+void
+IndependentContext::set_time(Time time)const
+{
+	IndependentContext context(*this);
+	while(!(context)->empty())
+	{
+		// If this layer is active, and
+		// it either isn't already set to the given time
+		//        or it's a stroboscope layer,
+		//        or it's a time loop layer,
+		// then break out of the loop and set its time
+		if( /* (*context)->active() && */
+		   (!(*context)->dirty_time_.is_equal(time) ||
+			(*context)->get_name() == "stroboscope" ||
+			(*context)->get_name() == "timeloop"))
+			break;
+
+		// Otherwise, we want to keep searching
+		// till we find either an active layer,
+		// or the end of the layer list
+		++context;
+	}
+
+	// If this layer isn't defined, just return
+	if((context)->empty()) return;
+
+	// Set up a writer lock
+	RWLock::WriterLock lock((*context)->get_rw_lock());
+
+	//synfig::info("%s: dirty_time=%f",(*context)->get_non_empty_description().c_str(),(float)(*context)->dirty_time_);
+	//synfig::info("%s: time=%f",(*context)->get_non_empty_description().c_str(),(float)time);
+
+	{
+		Layer::ParamList params;
+		Layer::DynamicParamList::const_iterator iter;
+		// For each parameter of the layer sets the time by the operator()(time)
+		for(iter=(*context)->dynamic_param_list().begin();iter!=(*context)->dynamic_param_list().end();iter++)
+			params[iter->first]=(*iter->second)(time);
+		// Sets the modified parameter list to the current context layer
+		(*context)->set_param_list(params);
+		// Calls the set time for the next layer in the context.
+		(*context)->set_time(context+1,time);
+		// Sets the dirty time the current calling time
+		(*context)->dirty_time_=time;
+
+	}
+}
+
+void
+IndependentContext::set_time(Time time,const Vector &/*pos*/)const
+{
+	set_time(time);
+/*
+	Context context(*this);
+	while(!(context)->empty())
+	{
+		// If this layer is active, then go
+		// ahead and break out of the loop
+		if(context.active())
+			break;
+
+		// Otherwise, we want to keep searching
+		// till we find either an active layer,
+		// or the end of the layer list
+		++context;
+	}
+
+	// If this layer isn't defined, just return
+	if((context)->empty()) return;
+
+	else
+	{
+		Layer::ParamList params;
+		Layer::DynamicParamList::const_iterator iter;
+
+		for(iter=(*context)->dynamic_param_list().begin();iter!=(*context)->dynamic_param_list().end();iter++)
+			params[iter->first]=(*iter->second)(time);
+
+		(*context)->set_param_list(params);
+
+		(*context)->set_time(context+1,time,pos);
+	}
+*/
+}
+
+void
+IndependentContext::set_dirty_outlines()
+{
+	IndependentContext context(*this);
+	while(!(context)->empty())
+	{
+		if( /* (*context)->active() && */
+			(
+			(*context)->get_name() == "outline" ||
+			(*context)->get_name() == "advanced_outline" ||
+			(*context)->get_name() == "PasteCanvas"
+			)
+		  )
+			{
+				{
+					(*context)->dirty_time_=Time::end();
+				}
+			}
+		++context;
+	}
+}
+
 Color
 Context::get_color(const Point &pos)const
 {
@@ -92,7 +199,7 @@ Context::get_color(const Point &pos)const
 	{
 		// If this layer is active, then go
 		// ahead and break out of the loop
-		if((*context)->active())
+		if(context.active())
 			break;
 
 		// Otherwise, we want to keep searching
@@ -106,7 +213,7 @@ Context::get_color(const Point &pos)const
 
 	RWLock::ReaderLock lock((*context)->get_rw_lock());
 
-	return (*context)->get_color(context+1, pos);
+	return (*context)->get_color(context.get_next(), pos);
 }
 
 CairoColor
@@ -118,7 +225,7 @@ Context::get_cairocolor(const Point &pos)const
 	{
 		// If this layer is active, then go
 		// ahead and break out of the loop
-		if((*context)->active())
+		if(context.active())
 			break;
 		
 		// Otherwise, we want to keep searching
@@ -132,7 +239,7 @@ Context::get_cairocolor(const Point &pos)const
 	
 	RWLock::ReaderLock lock((*context)->get_rw_lock());
 	
-	return (*context)->get_cairocolor(context+1, pos);
+	return (*context)->get_cairocolor(context.get_next(), pos);
 }
 
 
@@ -145,7 +252,7 @@ Context::get_full_bounding_rect()const
 	{
 		// If this layer is active, then go
 		// ahead and break out of the loop
-		if((*context)->active())
+		if(context.active())
 			break;
 
 		// Otherwise, we want to keep searching
@@ -157,7 +264,7 @@ Context::get_full_bounding_rect()const
 	// If this layer isn't defined, return zero-sized rectangle
 	if(context->empty()) return Rect::zero();
 
-	return (*context)->get_full_bounding_rect(context+1);
+	return (*context)->get_full_bounding_rect(context.get_next());
 }
 
 
@@ -190,119 +297,13 @@ Context::get_full_bounding_rect()const
 
 
 void
-Context::set_time(Time time)const
-{
-	Context context(*this);
-	while(!(context)->empty())
-	{
-		// If this layer is active, and
-		// it either isn't already set to the given time
-		//        or it's a stroboscope layer,
-		//        or it's a time loop layer,
-		// then break out of the loop and set its time
-		if((*context)->active() &&
-		   (!(*context)->dirty_time_.is_equal(time) ||
-			(*context)->get_name() == "stroboscope" ||
-			(*context)->get_name() == "timeloop"))
-			break;
-
-		// Otherwise, we want to keep searching
-		// till we find either an active layer,
-		// or the end of the layer list
-		++context;
-	}
-
-	// If this layer isn't defined, just return
-	if((context)->empty()) return;
-
-	// Set up a writer lock
-	RWLock::WriterLock lock((*context)->get_rw_lock());
-
-	//synfig::info("%s: dirty_time=%f",(*context)->get_name().c_str(),(float)(*context)->dirty_time_);
-	//synfig::info("%s: time=%f",(*context)->get_name().c_str(),(float)time);
-
-	{
-		Layer::ParamList params;
-		Layer::DynamicParamList::const_iterator iter;
-		// For each parameter of the layer sets the time by the operator()(time)
-		for(iter=(*context)->dynamic_param_list().begin();iter!=(*context)->dynamic_param_list().end();iter++)
-			params[iter->first]=(*iter->second)(time);
-		// Sets the modified parameter list to the current context layer
-		(*context)->set_param_list(params);
-		// Calls the set time for the next layer in the context.
-		(*context)->set_time(context+1,time);
-		// Sets the dirty time the current calling time
-		(*context)->dirty_time_=time;
-
-	}
-}
-
-void
-Context::set_dirty_outlines()
-{
-	Context context(*this);
-	while(!(context)->empty())
-	{
-		if( (*context)->active() &&
-			(
-			(*context)->get_name() == "outline" ||
-			(*context)->get_name() == "advanced_outline" ||
-			(*context)->get_name() == "PasteCanvas"
-			)
-		  )
-			{
-				{
-					(*context)->dirty_time_=Time::end();
-				}
-			}
-		++context;
-	}
-}
-
-void
 Context::set_render_method(RenderMethod x)
 {
 	Context context(*this);
 
 	if((context)->empty()) return;
 	
-	(*context)->set_render_method(context+1, x);
-}
-void
-Context::set_time(Time time,const Vector &/*pos*/)const
-{
-	set_time(time);
-/*
-	Context context(*this);
-	while(!(context)->empty())
-	{
-		// If this layer is active, then go
-		// ahead and break out of the loop
-		if((*context)->active())
-			break;
-
-		// Otherwise, we want to keep searching
-		// till we find either an active layer,
-		// or the end of the layer list
-		++context;
-	}
-
-	// If this layer isn't defined, just return
-	if((context)->empty()) return;
-
-	else
-	{
-		Layer::ParamList params;
-		Layer::DynamicParamList::const_iterator iter;
-
-		for(iter=(*context)->dynamic_param_list().begin();iter!=(*context)->dynamic_param_list().end();iter++)
-			params[iter->first]=(*iter->second)(time);
-
-		(*context)->set_param_list(params);
-
-		(*context)->set_time(context+1,time,pos);
-	}
-*/
+	(*context)->set_render_method(context.get_next(), x);
 }
 
 etl::handle<Layer>
@@ -314,7 +315,7 @@ Context::hit_check(const Point &pos)const
 	{
 		// If this layer is active, then go
 		// ahead and break out of the loop
-		if((*context)->active())
+		if(context.active())
 			break;
 
 		// Otherwise, we want to keep searching
@@ -326,7 +327,7 @@ Context::hit_check(const Point &pos)const
 	// If this layer isn't defined, return an empty handle
 	if((context)->empty()) return 0;
 
-	return (*context)->hit_check(context+1, pos);
+	return (*context)->hit_check(context.get_next(), pos);
 }
 
 
@@ -355,7 +356,7 @@ Context::accelerated_render(Surface *surface,int quality, const RendDesc &rendde
 	for(;!(context)->empty();++context)
 	{
 		// If we are not active then move on to next layer
-		if(!(*context)->active())
+		if(!context.active())
 			continue;
 		const Rect layer_bounds((*context)->get_bounding_rect());
 		// Cast current layer to composite
@@ -426,7 +427,7 @@ Context::accelerated_render(Surface *surface,int quality, const RendDesc &rendde
 		// using the appropriate 'amount'
 		if (straight_and_empty)
 		{
-			if ((ret = Context((context+1)).accelerated_render(surface,quality,renddesc,cb)))
+			if ((ret = Context((context.get_next())).accelerated_render(surface,quality,renddesc,cb)))
 			{
 				Surface clearsurface;
 				clearsurface.set_wh(renddesc.get_w(),renddesc.get_h());
@@ -439,7 +440,7 @@ Context::accelerated_render(Surface *surface,int quality, const RendDesc &rendde
 			}
 		}
 		else
-			ret = (*context)->accelerated_render(context+1,surface,quality,renddesc, cb);
+			ret = (*context)->accelerated_render(context.get_next(),surface,quality,renddesc, cb);
 #ifdef SYNFIG_PROFILE_LAYERS
 		//post work for the previous layer
 		time_table[curr_layer]+=profile_timer();							//-
@@ -472,7 +473,7 @@ Context::accelerated_render(Surface *surface,int quality, const RendDesc &rendde
 
 
 bool
-Context::accelerated_cairorender(cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb) const
+Context::accelerated_cairorender(cairo_t *cr,int quality, const RendDesc &renddesc, ProgressCallback *cb) const
 {
 #ifdef SYNFIG_PROFILE_LAYERS
 	String layer_name(curr_layer);
@@ -483,64 +484,25 @@ Context::accelerated_cairorender(cairo_surface_t *surface,int quality, const Ren
 	}
 #endif	// SYNFIG_PROFILE_LAYERS
 	
-	const Rect bbox(renddesc.get_rect());
-	// this is going to be set to true if this layer contributes
-	// nothing, but it's a straight blend with non-zero amount, and so
-	// it has an effect anyway
-	bool straight_and_empty = false;
-	etl::handle<Layer_Composite> composite;
 	Context context(*this);
 	// Run all layers until context is empty
 	for(;!(context)->empty();++context)
 	{
 		// If we are not active then move on to next layer
-		if(!(*context)->active())
-			continue;
-		const Rect layer_bounds((*context)->get_bounding_rect());
-		// Cast current layer to composite
-		composite = etl::handle<Layer_Composite>::cast_dynamic(*context);
-		// If the box area is less than zero or the boxes do not
-		// intersect then move on to next layer, unless the layer is
-		// using a straight blend and has a non-zero amount, in which
-		// case it will still affect the result
-		if(layer_bounds.area() <= 0.0000000000001 || !(layer_bounds && bbox))
-		{
-			if (composite &&
-				CairoSurface::value_type::is_straight(composite->get_blend_method()) &&
-				composite->get_amount() != 0.0f)
-			{
-				straight_and_empty = true;
-				break;
-			}
+		if(!context.active())
 			continue;
-		}
-		// If this layer has Straight as the blend method and amount
-		// is 1.0, and the layer doesn't depend on its context, then
-		// we don't want to render the context
-		if (composite &&
-			composite->get_blend_method() == Color::BLEND_STRAIGHT &&
-			composite->get_amount() == 1.0f &&
-			!composite->reads_context())
-		{
-			Layer::Handle layer = *context;
-			while (!context->empty()) context++; // skip the context
-			return layer->accelerated_cairorender(context,surface,quality,renddesc, cb);
-		}
-		// Break out of the loop--we have found a good layer
+		// Found one good layer
 		break;
 	}
 	// If this layer isn't defined, return alpha
-	if (context->empty() || (straight_and_empty && composite->get_amount() == 1.0f))
+	if (context->empty())
 	{
 #ifdef SYNFIG_DEBUG_LAYERS
-		synfig::info("Context::accelerated_render(): Hit end of list");
+		synfig::info("Context::accelerated_cairorender(): Hit end of list");
 #endif	// SYNFIG_DEBUG_LAYERS
 		// clear the surface
-		cairo_t* cr=cairo_create(surface);
 		cairo_set_operator(cr, CAIRO_OPERATOR_CLEAR);
-		cairo_set_source_rgba(cr, 0, 0, 0, 0); // TODO: this line may be unnecessary
 		cairo_paint(cr);
-		cairo_destroy(cr);
 #ifdef SYNFIG_PROFILE_LAYERS
 		profile_timer.reset();
 #endif	// SYNFIG_PROFILE_LAYERS
@@ -565,19 +527,7 @@ Context::accelerated_cairorender(cairo_surface_t *surface,int quality, const Ren
 		// rendering, but it uses straight blending, so we need to render
 		// the stuff under us and then blit transparent pixels over it
 		// using the appropriate 'amount'
-		if (straight_and_empty)
-		{
-			if ((ret = Context((context+1)).accelerated_cairorender(surface,quality,renddesc,cb)))
-			{
-				cairo_t* cr=cairo_create(surface);
-				cairo_set_source_rgba(cr, 0, 0, 0, 1.0-composite->get_amount()); // TODO: handle amount values outside of the range 0.0-1.0
-				cairo_set_operator(cr, CAIRO_OPERATOR_DEST_IN);
-				cairo_paint(cr);
-				cairo_destroy(cr);
-			}
-		}
-		else
-			ret = (*context)->accelerated_cairorender(context+1,surface,quality,renddesc, cb);
+		ret = (*context)->accelerated_cairorender(context.get_next(),cr,quality,renddesc, cb);
 #ifdef SYNFIG_PROFILE_LAYERS
 		//post work for the previous layer
 		time_table[curr_layer]+=profile_timer();							//-
@@ -593,17 +543,17 @@ Context::accelerated_cairorender(cairo_surface_t *surface,int quality, const Ren
 	}
 	catch(std::bad_alloc)
 	{
-		synfig::error("Context::accelerated_render(): Layer \"%s\" threw a bad_alloc exception!",(*context)->get_name().c_str());
+		synfig::error("Context::accelerated_cairorender(): Layer \"%s\" threw a bad_alloc exception!",(*context)->get_name().c_str());
 #ifdef _DEBUG
 		return false;
 #else  // _DEBUG
 		++context;
-		return context.accelerated_cairorender(surface, quality, renddesc, cb);
+		return context.accelerated_cairorender(cr, quality, renddesc, cb);
 #endif	// _DEBUG
 	}
 	catch(...)
 	{
-		synfig::error("Context::accelerated_render(): Layer \"%s\" threw an exception, rethrowing...",(*context)->get_name().c_str());
+		synfig::error("Context::accelerated_cairorender(): Layer \"%s\" threw an exception, rethrowing...",(*context)->get_name().c_str());
 		throw;
 	}
 }
diff --git a/src/synfig/context.h b/src/synfig/context.h
index 84bfebd..f20c6c8 100644
--- a/src/synfig/context.h
+++ b/src/synfig/context.h
@@ -54,22 +54,83 @@ class Layer;
 class Time;
 class Rect;
 
-/*!	\class Context
-**	\brief Context is a class to warp the iterator for a double queue of layers
+/*!	\class IndependentContext
+**	\brief IndependentContext is a class to warp the iterator for a double queue of layers
 * (that is the CanvasBase).
-**	\see Layer, Canvas, CanvasBase */
-class Context : public CanvasBase::const_iterator
+**	\see Layer, Canvas, CanvasBase, Context */
+class IndependentContext: public CanvasBase::const_iterator
 {
 public:
-	Context() { }
+	IndependentContext() { }
 
 	//! Constructor based on other CanvasBase iterator
-	Context(const CanvasBase::const_iterator &x):CanvasBase::const_iterator(x) { }
+	IndependentContext(const CanvasBase::const_iterator &x):CanvasBase::const_iterator(x) { }
 
-	//!Assignation operator
-	Context operator=(const CanvasBase::const_iterator &x)
+	//! Assignation operator
+	IndependentContext operator=(const CanvasBase::const_iterator &x)
 	{ return CanvasBase::const_iterator::operator=(x); }
 
+	//! Sets the context to the Time \time. It is done recursively.
+	void set_time(Time time)const;
+
+	//!	Sets the context to the Time \time. It is done recursively. Vector \pos is not used
+	void set_time(Time time,const Vector &pos)const;
+
+	//! Sets dirty (dirty_time_= Time::end()) to all Outline type layers
+	void set_dirty_outlines();
+};
+
+
+/*!	\class ContextParams
+**	\brief ContextParams is a class to store rendering parameters significant for Context.
+**	\see Context */
+class ContextParams {
+public:
+	//! When \c true layers with exclude_from_rendering flag should be rendered
+	bool render_excluded_contexts;
+
+	explicit ContextParams(bool render_excluded_contexts = false):
+	render_excluded_contexts(render_excluded_contexts) { }
+};
+
+/*!	\class Context
+**	\brief Context is a class to warp the iterator for a double queue of layers
+* (that is the CanvasBase) with additional information about rendering parameters.
+**	\see Layer, Canvas, CanvasBase, IndependentContext, ContextParams */
+class Context : public IndependentContext
+{
+private:
+	//! Rendering parameters significant for Context.
+	ContextParams params;
+
+public:
+
+	Context() { }
+
+	//! Constructor based on IndependentContext.
+	Context(const IndependentContext &x, const ContextParams &params):
+		IndependentContext(x), params(params) { }
+
+	//! Constructor based on IndependentContext and other Context (to get parameters).
+	Context(const IndependentContext &x, const Context &context):
+		IndependentContext(x), params(context.params) { }
+
+	//! Constructor based on other CanvasBase iterator and other Context (to get parameters).
+	Context(const CanvasBase::const_iterator &x, const ContextParams &params):
+		IndependentContext(x), params(params) { }
+
+	Context(const CanvasBase::const_iterator &x, const Context &context):
+		IndependentContext(x), params(context.params) { }
+
+	//! Returns next iterator.
+	Context get_next()const { return Context(*this+1, params); }
+
+	//! Returns previous iterator.
+	Context get_previous()const { return Context(*this-1, params); }
+
+	//! Get rendering parameters.
+	const ContextParams& get_params()const { return params; }
+
 	//!	Returns the color of the context at the Point \pos.
 	//! It is the blended color of the context
 	Color get_color(const Point &pos)const;
@@ -78,13 +139,7 @@ public:
 	//!	With a given \quality and a given render description it puts the context
 	//! blend result into the painting \surface */
 	bool accelerated_render(Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb) const;
-	bool accelerated_cairorender(cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb) const;
-
-	//! Sets the context to the Time \time. It is done recursively.
-	void set_time(Time time)const;
-
-	//!	Sets the context to the Time \time. It is done recursively. Vector \pos is not used
-	void set_time(Time time,const Vector &pos)const;
+	bool accelerated_cairorender(cairo_t *cr,int quality, const RendDesc &renddesc, ProgressCallback *cb) const;
 
 	//! Returns the bounding rectangle of all the context.
 	//! It is the union of all the layers's bounding rectangle.
@@ -93,14 +148,28 @@ public:
 	//! Returns the first context's layer's handle that intesects the given \point */
 	etl::handle<Layer> hit_check(const Point &point)const;
 
-	//! Sets dirty (dirty_time_= Time::end()) to all Outline type layers
-	void set_dirty_outlines();
-	
 	// Set Render Method. Passes the information of the render method to use to the layers
 	void set_render_method(RenderMethod x);
 
-}; // END of class Context
+	//! Returns \c true if layer is active with this context_params
+	static inline bool active(const ContextParams &context_params, const Layer &layer) {
+		return layer.active()
+		    && (context_params.render_excluded_contexts
+		    || !layer.get_exclude_from_rendering());
+	}
+
+	//! Returns \c true if layer is active in this context
+	inline bool active(const Layer &layer) {
+		return active(params, layer);
+	}
 
+	//! Returns \c true if layer is active in this context
+	inline bool active()const {
+		return !(operator*()).empty()
+			 && active(params, *(operator*()));
+	}
+
+}; // END of class Context
 
 }; // END of namespace synfig
 
diff --git a/src/synfig/curveset.cpp b/src/synfig/curveset.cpp
index e8bd7fa..be10d62 100644
--- a/src/synfig/curveset.cpp
+++ b/src/synfig/curveset.cpp
@@ -366,8 +366,8 @@ public:
 
 			set<ipoint *>::iterator deliter;
 
-			int ci,i1,i2,size;
-			float t1,t2;
+			//int ci,i1,i2,size;
+			//float t1,t2;
 
 			CurveSet::region	current;
 			CurvePoint	cp;
@@ -386,15 +386,15 @@ public:
 				}
 
 				//go to next and accumulate information
-				ci = iter->curveindex;
-				i1 = iter->vertindex;
-				t1 = iter->tvalue;
+				//ci = iter->curveindex;
+				//i1 = iter->vertindex;
+				//t1 = iter->tvalue;
 				iter = iter->next; //move to next and get its info
 
-				i2 = iter->vertindex;
-				t2 = iter->tvalue;
+				//i2 = iter->vertindex;
+				//t2 = iter->tvalue;
 
-				size = cur->set[ci].size();
+				//size = cur->set[ci].size();
 
 				//record all the stuff between us...
 				//start on an intersection - get the curve point...
diff --git a/src/synfig/distance.cpp b/src/synfig/distance.cpp
index 81b95f8..f485c83 100644
--- a/src/synfig/distance.cpp
+++ b/src/synfig/distance.cpp
@@ -30,6 +30,8 @@
 #	include <config.h>
 #endif
 
+#include <ETL/stringf>
+
 #include "distance.h"
 #include "renddesc.h"
 #include "general.h"
diff --git a/src/synfig/exception.cpp b/src/synfig/exception.cpp
index 9896cff..c1a35cf 100644
--- a/src/synfig/exception.cpp
+++ b/src/synfig/exception.cpp
@@ -59,7 +59,7 @@ Exception::BadType::BadType(const String &what):
 	std::runtime_error(what)
 //	std::runtime_error(_("Bad Type")+what.empty()?"":(String(": ")+what))
 {
-	synfig::error("EXCEPTION: bad type: "+what);
+//	synfig::error("EXCEPTION: bad type: "+what);
 }
 
 Exception::BadFrameRate::BadFrameRate(const String &what):
diff --git a/src/synfig/general.h b/src/synfig/general.h
index cdbdcb1..145c548 100644
--- a/src/synfig/general.h
+++ b/src/synfig/general.h
@@ -154,6 +154,9 @@ extern void warning(const String &str);
 extern void info(const char *format,...);
 extern void info(const String &str);
 
+//! Returns absolute path to the binary
+extern String get_binary_path(const String &fallback_path);
+
 }; // END of namespace synfig
 
 /* === E N D =============================================================== */
diff --git a/src/synfig/importer.cpp b/src/synfig/importer.cpp
index 1784d3a..820e6ce 100644
--- a/src/synfig/importer.cpp
+++ b/src/synfig/importer.cpp
@@ -38,6 +38,7 @@
 #include <map>
 #include <ctype.h>
 #include <functional>
+#include <glibmm.h>
 
 #endif
 
@@ -82,6 +83,8 @@ Importer::book()
 Importer::Handle
 Importer::open(const String &filename)
 {
+	//String filename;
+	//filename = Glib::locale_from_utf8(filename_utf);
 	if(filename.empty())
 	{
 		synfig::error(_("Importer::open(): Cannot open empty filename"));
@@ -115,7 +118,11 @@ Importer::open(const String &filename)
 
 	try {
 		Importer::Handle importer;
+#ifdef WIN32
+		importer=Importer::book()[ext](Glib::locale_from_utf8(filename).c_str());
+#else
 		importer=Importer::book()[ext](filename.c_str());
+#endif
 		(*__open_importers)[filename]=importer;
 		return importer;
 	}
diff --git a/src/synfig/layer.cpp b/src/synfig/layer.cpp
index 7a46c9c..8895567 100644
--- a/src/synfig/layer.cpp
+++ b/src/synfig/layer.cpp
@@ -46,6 +46,7 @@
 #include "layer_pastecanvas.h"
 #include "layer_motionblur.h"
 #include "layer_duplicate.h"
+#include "layer_skeleton.h"
 
 #include "valuenode_const.h"
 
@@ -120,6 +121,7 @@ Layer::subsys_init()
 	INCLUDE_LAYER(Layer_Polygon);		LAYER_ALIAS(Layer_Polygon,		"Polygon");
 	INCLUDE_LAYER(Layer_MotionBlur);	LAYER_ALIAS(Layer_MotionBlur,	"motion_blur");
 	INCLUDE_LAYER(Layer_Duplicate);
+	INCLUDE_LAYER(Layer_Skeleton);
 
 #undef INCLUDE_LAYER
 
@@ -137,13 +139,13 @@ Layer::subsys_stop()
 
 Layer::Layer():
 	active_(true),
-	z_depth(0.0f),
-	dirty_time_(Time::end())//,
-	//z_depth_static(false)
+	exclude_from_rendering_(false),
+	param_z_depth(Real(0.0f)),
+	dirty_time_(Time::end())
 {
 	_LayerCounter::counter++;
-	Vocab vocab=get_param_vocab();
-	fill_static(vocab);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 Layer::LooseHandle
@@ -228,6 +230,18 @@ Layer::set_active(bool x)
 }
 
 void
+Layer::set_exclude_from_rendering(bool x)
+{
+	if(exclude_from_rendering_!=x)
+	{
+		exclude_from_rendering_=x;
+
+		Node::on_changed();
+		signal_status_changed_();
+	}
+}
+
+void
 Layer::set_description(const String& x)
 {
 	if(description_!=x)
@@ -290,6 +304,9 @@ Layer::disconnect_dynamic_param(const String& param)
 void
 Layer::on_changed()
 {
+	if (getenv("SYNFIG_DEBUG_ON_CHANGED"))
+		printf("%s:%d Layer::on_changed()\n", __FILE__, __LINE__);
+
 	dirty_time_=Time::end();
 	Node::on_changed();
 }
@@ -297,45 +314,10 @@ Layer::on_changed()
 bool
 Layer::set_param(const String &param, const ValueBase &value)
 {
-	IMPORT(z_depth)
-	return false;
-}
-
-bool
-Layer::set_param_static(const String &param, const bool x)
-{
-	Sparams::iterator iter=static_params.find(param);
-	if(iter!=static_params.end())
-	{
-		iter->second=x;
-		return true;
-	}
+	IMPORT_VALUE(param_z_depth)
 	return false;
 }
 
-
-void Layer::fill_static(Vocab vocab)
-{
-	Vocab::const_iterator viter;
-	for(viter=vocab.begin();viter!=vocab.end();viter++)
-	{
-		if(static_params.find(viter->get_name())==static_params.end())
-			static_params.insert(make_pair(viter->get_name(),false));
-	}
-}
-
-
-bool
-Layer::get_param_static(const String &param) const
-{
-
-	Sparams::const_iterator iter=static_params.find(param);
-	if(iter!=static_params.end())
-		return iter->second;
-	return false;
-}
-
-
 etl::handle<Transform>
 Layer::get_transform()const
 {
@@ -346,7 +328,7 @@ float
 Layer::get_z_depth(const synfig::Time& t)const
 {
 	if(!dynamic_param_list().count("z_depth"))
-		return z_depth;
+		return param_z_depth.get(Real());
 	return (*dynamic_param_list().find("z_depth")->second)(t).get(Real());
 }
 
@@ -359,6 +341,7 @@ Layer::simple_clone()const
 	//ret->set_canvas(get_canvas());
 	ret->set_description(get_description());
 	ret->set_active(active());
+	ret->set_exclude_from_rendering(get_exclude_from_rendering());
 	ret->set_param_list(get_param_list());
 	for(DynamicParamList::const_iterator iter=dynamic_param_list().begin();iter!=dynamic_param_list().end();++iter)
 		ret->connect_dynamic_param(iter->first, iter->second);
@@ -366,7 +349,7 @@ Layer::simple_clone()const
 }
 
 Layer::Handle
-Layer::clone(const GUID& deriv_guid) const
+Layer::clone(Canvas::LooseHandle canvas, const GUID& deriv_guid) const
 {
 	if(!book().count(get_name())) return 0;
 
@@ -377,6 +360,7 @@ Layer::clone(const GUID& deriv_guid) const
 	//ret->set_canvas(get_canvas());
 	ret->set_description(get_description());
 	ret->set_active(active());
+	ret->set_exclude_from_rendering(get_exclude_from_rendering());
 	ret->set_guid(get_guid()^deriv_guid);
 
 	//ret->set_param_list(get_param_list());
@@ -393,7 +377,10 @@ Layer::clone(const GUID& deriv_guid) const
 			{
 				// This parameter is an inline canvas! we need to clone it
 				// before we set it as a parameter.
+
+				// clone canvas (all code that clones a canvas has this comment)
 				Canvas::Handle new_canvas(canvas->clone(deriv_guid));
+
 				ValueBase value(new_canvas);
 				ret->set_param(iter->first, value);
 				continue;
@@ -414,6 +401,7 @@ Layer::clone(const GUID& deriv_guid) const
 			Canvas::Handle canvas((*iter->second)(0).get(Canvas::Handle()));
 			if(canvas->is_inline())
 			{
+				// clone canvas (all code that clones a canvas has this comment)
 				Canvas::Handle new_canvas(canvas->clone(deriv_guid));
 				ValueBase value(new_canvas);
 				ret->connect_dynamic_param(iter->first,ValueNode_Const::create(value));
@@ -424,7 +412,7 @@ Layer::clone(const GUID& deriv_guid) const
 		if(iter->second->is_exported())
 			ret->connect_dynamic_param(iter->first,iter->second);
 		else
-			ret->connect_dynamic_param(iter->first,iter->second->clone(deriv_guid));
+			ret->connect_dynamic_param(iter->first,iter->second->clone(canvas, deriv_guid));
 	}
 
 	//ret->set_canvas(0);
@@ -441,9 +429,11 @@ Layer::reads_context() const
 Rect
 Layer::get_full_bounding_rect(Context context)const
 {
-	if(active())
+	// No one of overrides of this function don't check the "active" flag
+	// So this check also disabled here
+	//if(Context::active(context.get_params(),*this))
 		return context.get_full_bounding_rect()|get_bounding_rect();
-	return context.get_full_bounding_rect();
+	//return context.get_full_bounding_rect();
 }
 
 Rect
@@ -484,12 +474,7 @@ Layer::get_param_list()const
 ValueBase
 Layer::get_param(const String & param)const
 {
-	if(param=="z_depth")
-	{
-		synfig::ValueBase ret(get_z_depth());
-		ret.set_static(get_param_static(param));
-		return ret;
-	}
+	EXPORT_VALUE(param_z_depth);
 	return ValueBase();
 }
 
@@ -512,14 +497,14 @@ Layer::reset_version()
 
 
 void
-Layer::set_time(Context context, Time time)const
+Layer::set_time(IndependentContext context, Time time)const
 {
 	context.set_time(time);
 	dirty_time_=time;
 }
 
 void
-Layer::set_time(Context context, Time time, const Point &pos)const
+Layer::set_time(IndependentContext context, Time time, const Point &pos)const
 {
 	context.set_time(time,pos);
 	dirty_time_=time;
@@ -581,9 +566,10 @@ Layer::accelerated_render(Context context,Surface *surface,int /*quality*/, cons
 	//return render_threaded(context,target,desc,cb,2);
 }
 
+
 bool
-Layer::accelerated_cairorender(Context context, cairo_surface_t *surface,int /*quality*/, const RendDesc &renddesc, ProgressCallback *cb)  const
-{	
+Layer::accelerated_cairorender(Context context, cairo_t *cr, int /*quality*/, const RendDesc &renddesc, ProgressCallback *cb)  const
+{
 	// When we render, we want to
 	// make sure that we are rendered too...
 	// Since the context iterator is for
@@ -593,7 +579,7 @@ Layer::accelerated_cairorender(Context context, cairo_surface_t *surface,int /*q
 	// not the previous layer.
 	--context;
 	
-	return cairorender(context,surface,renddesc,cb);
+	return cairorender(context,cr,renddesc,cb);
 }
 
 
@@ -615,7 +601,7 @@ Layer::get_param_vocab()const
 {
 	Layer::Vocab ret;
 
-	ret.push_back(ParamDesc(z_depth,"z_depth")
+	ret.push_back(ParamDesc(param_z_depth,"z_depth")
 		.set_local_name(_("Z Depth"))
 		.set_animation_only(true)
 		.set_description(_("Modifies the position of the layer in the layer stack"))
@@ -682,6 +668,13 @@ Layer::get_param_local_name(const String &param_name)const
 	return String();
 }
 
+String
+Layer::get_string()const
+{
+	return String("Layer: ") + get_non_empty_description();
+
+}
+
 Real
 Layer::get_parent_canvas_grow_value()const
 {
diff --git a/src/synfig/layer.h b/src/synfig/layer.h
index a1e9497..926f09c 100644
--- a/src/synfig/layer.h
+++ b/src/synfig/layer.h
@@ -39,6 +39,7 @@
 #include "node.h"
 #include "time.h"
 #include "guid.h"
+#include "interpolation.h"
 #include "target.h" // for RenderMethod. TODO: put RenderMethod apart
 
 #include "cairo.h"
@@ -80,44 +81,34 @@
 		return new class();																\
 	}
 
-//! Imports a parameter 'x' and perform an action based usually based on
-//! some condition 'y'
-#define IMPORT_PLUS(x,y)																\
-	if (param==#x && value.same_type_as(x))												\
-	{																					\
-		value.put(&x);																	\
-		set_param_static(#x,value.get_static());										\
-		{																				\
-			y;																			\
-		}																				\
-		return true;																	\
-	}
-
-//! Imports a parameter 'y' if it has the same type than 'x'
-#define IMPORT_AS(x,y)																	\
-	if (param==y && value.same_type_as(x))												\
-	{																					\
-		value.put(&x);																	\
-		set_param_static(y,value.get_static());										\
-		return true;																	\
-	}
-
 //! Imports a parameter if it is of the same type as param
-#define IMPORT(x)																		\
-	IMPORT_AS(x,#x)
+#define IMPORT_VALUE(x)                                                         \
+	if (#x=="param_"+param && x.get_type()==value.get_type())                   \
+	{                                                                           \
+		x.copy(value);                                                                \
+		return true;                                                            \
+	}
 
-//! Exports a parameter 'x' if param is same type as given 'y'
-#define EXPORT_AS(x,y)																	\
-	if (param==y)																		\
-	{																					\
-		synfig::ValueBase ret(x);														\
-		ret.set_static(get_param_static(y));											\
-		return ret;																		\
+//! Imports a parameter 'x' and perform an action usually based on
+//! some condition 'y'
+#define IMPORT_VALUE_PLUS(x,y)                                                  \
+	if (#x=="param_"+param && x.get_type()==value.get_type())                   \
+	{                                                                           \
+		x=value;                                                                \
+		{                                                                       \
+			y;                                                                  \
+		}                                                                       \
+		return true;                                                            \
 	}
 
 //! Exports a parameter if it is the same type as value
-#define EXPORT(x)																		\
-	EXPORT_AS(x,#x)
+#define EXPORT_VALUE(x)                                                         \
+	if (#x=="param_"+param)                                                     \
+	{                                                                           \
+		synfig::ValueBase ret;					\
+		ret.copy(x);							\
+		return ret;							\
+	}
 
 //! Exports the name or the local name of the layer
 #define EXPORT_NAME()																	\
@@ -134,19 +125,32 @@
 //! This is used as the category for layer book entries which represent aliases of layers.
 //! It prevents these layers showing up in the menu.
 #define CATEGORY_DO_NOT_USE "Do Not Use"
-/*
-//! x=variable name, y=static bool value
-#define SET_STATIC(x,y)																	\
-	if(param==#x && x ## _static != y)													\
-	{																					\
-		x ## _static = y;																\
-		return true;																	\
-	}
 
-#define GET_STATIC(x)																	\
-	if(param==#x)																		\
-		return x ## _static;															\
-*/
+//! Sets the interpolation defaults for the layer
+#define SET_INTERPOLATION_DEFAULTS()                                           \
+{                                                                              \
+	Vocab vocab(get_param_vocab());                                            \
+	Vocab::const_iterator viter;                                               \
+	for(viter=vocab.begin();viter!=vocab.end();viter++)                        \
+	{                                                                          \
+		ValueBase v=get_param(viter->get_name());                              \
+		v.set_interpolation(viter->get_interpolation());                       \
+		set_param(viter->get_name(), v);                                       \
+	}                                                                          \
+}                                                                              \
+
+//! Sets the static defaults for the layer
+#define SET_STATIC_DEFAULTS()                                                  \
+{                                                                              \
+	Vocab vocab(get_param_vocab());                                            \
+	Vocab::const_iterator viter;                                               \
+	for(viter=vocab.begin();viter!=vocab.end();viter++)                        \
+	{                                                                          \
+		ValueBase v=get_param(viter->get_name());                              \
+		v.set_static(viter->get_static());                                     \
+		set_param(viter->get_name(), v);                                       \
+	}                                                                          \
+}                                                                              \
 
 /* === T Y P E D E F S ===================================================== */
 
@@ -167,6 +171,7 @@ class Surface;
 class CairoSurface;
 class RendDesc;
 class ProgressCallback;
+class IndependentContext;
 class Context;
 class Color;
 class CairoColor;
@@ -182,6 +187,7 @@ class GUID;
 class Layer : public Node
 {
 	friend class ValueNode;
+	friend class IndependentContext;
 	friend class Context;
 
 	/*
@@ -267,6 +273,12 @@ private:
 	*/
 	bool active_;
 
+	/*! When \c true, layer will skipped while final rendering
+	**	but will still present onto work view.
+	**	\see set_exclude_from_rendering(), get_exclude_from_rendering()
+	*/
+	bool exclude_from_rendering_;
+
 	//! Handle to the canvas to which this layer belongs
 	etl::loose_handle<Canvas> canvas_;
 
@@ -277,11 +289,7 @@ private:
 	String description_;
 
 	//! The depth parameter of the layer in the layer stack
-	float z_depth;
-
-	//! True if zdepth is not affected when in animation mode
-	typedef std::map<String, bool> Sparams;
-	Sparams static_params;
+	ValueBase param_z_depth;
 
 	//! \writeme
 	mutable Time dirty_time_;
@@ -390,18 +398,26 @@ public:
 	//! Returns that status of the 'active' flag
 	bool active()const { return active_; }
 
+	//! Sets the 'exclude_from_rendering' flag for the Layer
+	/*! When set, layer will skipped while final rendering
+	**	but will still present onto work view. */
+	void set_exclude_from_rendering(bool x);
+
+	//! Returns that status of the 'exclude_from_rendering' flag
+	bool get_exclude_from_rendering()const { return exclude_from_rendering_; }
+
 	//! Returns the position of the layer in the canvas.
 	/*! Returns negative on error */
 	int get_depth()const;
 
 	//! Gets the non animated z depth of the layer
-	float get_z_depth()const { return z_depth; }
+	float get_z_depth()const { return param_z_depth.get(Real()); }
 
 	//! Gets the z depth of the layer at a time t
 	float get_z_depth(const synfig::Time& t)const;
 
 	//! Sets the z depth of the layer (non animated)
-	void set_z_depth(float x) { z_depth=x; }
+	void set_z_depth(float x) { param_z_depth=ValueBase(Real(x)); }
 
 	//! Sets the Canvas that this Layer is a part of
 	void set_canvas(etl::loose_handle<Canvas> canvas);
@@ -412,6 +428,9 @@ public:
 	//! Returns the description of the layer
 	const String& get_description()const { return description_; }
 
+
+	String get_string()const;
+
 	//! Sets the description of the layer
 	void set_description(const String& x);
 
@@ -470,10 +489,6 @@ public:
 	*/
 	virtual bool set_param(const String &param, const ValueBase &value);
 
-	virtual bool set_param_static(const String &param, const bool x);
-	virtual bool get_param_static(const String &param) const;
-	virtual void fill_static(Vocab vocab);
-
 	//!	Sets a list of parameters
 	virtual bool set_param_list(const ParamList &);
 
@@ -492,7 +507,7 @@ public:
 	**	\param time			writeme
 	**	\see Context::set_time()
 	*/
-	virtual void set_time(Context context, Time time)const;
+	virtual void set_time(IndependentContext context, Time time)const;
 
 	//! Sets the \a time for the selected Layer and those under it for a specific \a point
 	/*!	\param context		Context iterator referring to next Layer.
@@ -500,7 +515,7 @@ public:
 	**	\param point		writeme
 	**	\see Context::set_time()
 	**	\todo \a point should be of the type <tt>const Point \&</tt> */
-	virtual void set_time(Context context, Time time, const Point &point)const;
+	virtual void set_time(IndependentContext context, Time time, const Point &point)const;
 
 	//! Gets the blend color of the Layer in the context at \a pos
 	/*!	\param context		Context iterator referring to next Layer.
@@ -523,7 +538,7 @@ public:
 	**	\see Context::accelerated_render()
 	*/
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context, cairo_t* cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 
 	//! Checks to see if a part of the layer is directly under \a point
 	/*!	\param context		Context iterator referring to next Layer.
@@ -535,7 +550,7 @@ public:
 	virtual Handle hit_check(Context context, const Point &point)const;
 
 	//! Duplicates the Layer
-	virtual Handle clone(const GUID& deriv_guid=GUID())const;
+	virtual Handle clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid=GUID())const;
 
 	//! Returns true if the layer needs to be able to examine its context.
 	/*! context to render itself, other than for simple blending.  For
diff --git a/src/synfig/layer_bitmap.cpp b/src/synfig/layer_bitmap.cpp
index b0aa6bb..058804a 100644
--- a/src/synfig/layer_bitmap.cpp
+++ b/src/synfig/layer_bitmap.cpp
@@ -64,31 +64,30 @@ using namespace etl;
 synfig::Layer_Bitmap::Layer_Bitmap():
     Layer_Composite	(1.0,Color::BLEND_COMPOSITE),
 	method			(SOFTWARE),
-	tl				(-0.5,0.5),
-	br				(0.5,-0.5),
-	c				(1),
+	param_tl				(Point(-0.5,0.5)),
+	param_br				(Point(0.5,-0.5)),
+	param_c				(int(1)),
+	param_gamma_adjust	(Real(1.0)),
 	surface			(128,128),
-	trimmed			(false),
-	gamma_adjust	(1.0)
+	trimmed			(false)
 {
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
-	set_param_static("c", true);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 bool
 synfig::Layer_Bitmap::set_param(const String & param, const ValueBase & value)
 {
-	IMPORT(tl);
-	IMPORT(br);
-	IMPORT(c);
-	if(param=="gamma_adjust"&& value.get_type()==ValueBase::TYPE_REAL)
-	{
-		set_param_static(param, value.get_static());
-		gamma_adjust=1.0/value.get(Real());
-		//gamma_adjust.set_gamma(1.0/value.get(Real()));
-		return true;
-	}
+	IMPORT_VALUE(param_tl);
+	IMPORT_VALUE(param_br);
+	IMPORT_VALUE(param_c);
+	IMPORT_VALUE_PLUS(param_gamma_adjust,
+		if(param=="gamma_adjust"&& value.get_type()==ValueBase::TYPE_REAL)
+		{
+			param_gamma_adjust.set(Real(1.0/value.get(Real())));
+			return true;
+		}
+		);
 
 	return Layer_Composite::set_param(param,value);
 }
@@ -96,13 +95,13 @@ synfig::Layer_Bitmap::set_param(const String & param, const ValueBase & value)
 ValueBase
 synfig::Layer_Bitmap::get_param(const String & param)const
 {
-	EXPORT(tl);
-	EXPORT(br);
-	EXPORT(c);
+	EXPORT_VALUE(param_tl);
+	EXPORT_VALUE(param_br);
+	EXPORT_VALUE(param_c);
 	if(param=="gamma_adjust")
 	{
-		ValueBase ret(1.0/gamma_adjust);
-		ret.set_static(get_param_static(param));
+		ValueBase ret=param_gamma_adjust;
+		ret.set(1.0/param_gamma_adjust.get(Real()));
 		return ret;
 	}
 
@@ -121,8 +120,6 @@ synfig::Layer_Bitmap::get_param(const String & param)const
 				ret2=int(csurface.get_w());
 				break;
 		}
-		ret1.set_static(get_param_static(param));
-		ret2.set_static(get_param_static(param));
 		if (trimmed) return ret1;
 		return ret2;
 	}
@@ -141,8 +138,6 @@ synfig::Layer_Bitmap::get_param(const String & param)const
 				ret2=int(csurface.get_h());
 				break;
 		}
-		ret1.set_static(get_param_static(param));
-		ret2.set_static(get_param_static(param));
 		if (trimmed) return ret1;
 		return ret2;
 	}
@@ -150,6 +145,7 @@ synfig::Layer_Bitmap::get_param(const String & param)const
 	return Layer_Composite::get_param(param);
 }
 
+
 Layer::Vocab
 Layer_Bitmap::get_param_vocab()const
 {
@@ -173,6 +169,7 @@ Layer_Bitmap::get_param_vocab()const
 		.add_enum_value(1,"linear",_("Linear"))
 		.add_enum_value(2,"cosine",_("Cosine"))
 		.add_enum_value(3,"cubic",_("Cubic"))
+		.set_static(true)
 	);
 
 	ret.push_back(ParamDesc("gamma_adjust")
@@ -185,6 +182,8 @@ Layer_Bitmap::get_param_vocab()const
 synfig::Layer::Handle
 Layer_Bitmap::hit_check(synfig::Context context, const synfig::Point &pos)const
 {
+	Point tl(param_tl.get(Point()));
+	Point br(param_br.get(Point()));
 	Point surface_pos;
 	surface_pos=pos-tl;
 
@@ -212,6 +211,7 @@ inline
 const Color&
 synfig::Layer_Bitmap::filter(Color& x)const
 {
+	Real gamma_adjust(param_gamma_adjust.get(Real()));
 	if(gamma_adjust!=1.0)
 	{
 		x.set_r(powf((float)x.get_r(),gamma_adjust));
@@ -225,6 +225,7 @@ inline
 const CairoColor&
 synfig::Layer_Bitmap::filter(CairoColor& x)const
 {
+	Real gamma_adjust(param_gamma_adjust.get(Real()));
 	if(gamma_adjust!=1.0)
 	{
 		x.set_r(powf((float)(x.get_r()/CairoColor::range),gamma_adjust)*CairoColor::range);
@@ -238,6 +239,10 @@ synfig::Layer_Bitmap::filter(CairoColor& x)const
 Color
 synfig::Layer_Bitmap::get_color(Context context, const Point &pos)const
 {
+	Point tl(param_tl.get(Point()));
+	Point br(param_br.get(Point()));
+	int c(param_c.get(int()));
+
 	Point surface_pos;
 
 	if(!get_amount())
@@ -311,6 +316,10 @@ synfig::Layer_Bitmap::get_color(Context context, const Point &pos)const
 CairoColor
 synfig::Layer_Bitmap::get_cairocolor(Context context, const Point &pos)const
 {
+	Point tl(param_tl.get(Point()));
+	Point br(param_br.get(Point()));
+	int c(param_c.get(int()));
+
 	Point surface_pos;
 	
 	if(!get_amount())
@@ -383,6 +392,11 @@ synfig::Layer_Bitmap::get_cairocolor(Context context, const Point &pos)const
 bool
 Layer_Bitmap::accelerated_render(Context context,Surface *out_surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)  const
 {
+	Point tl(param_tl.get(Point()));
+	Point br(param_br.get(Point()));
+	int c(param_c.get(int()));
+	Real gamma_adjust(param_gamma_adjust.get(Real()));
+
 	int interp=c;
 	if(quality>=10)
 		interp=0;
@@ -651,10 +665,15 @@ Layer_Bitmap::accelerated_render(Context context,Surface *out_surface,int qualit
 }
 
 /////
+/////
 
 bool
-Layer_Bitmap::accelerated_cairorender(Context context, cairo_surface_t *out_surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)  const
+Layer_Bitmap::accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)  const
 {
+	Point tl(param_tl.get(Point()));
+	Point br(param_br.get(Point()));
+	int c(param_c.get(int()));
+	Real gamma_adjust(param_gamma_adjust.get(Real()));
 	
 	int interp=c;
 	if(quality>=10)
@@ -666,25 +685,25 @@ Layer_Bitmap::accelerated_cairorender(Context context, cairo_surface_t *out_surf
 	if(!csurface.is_mapped())
 	{
 		// Render what is behind us
-		return context.accelerated_cairorender(out_surface,quality,renddesc,cb);
+		return context.accelerated_cairorender(cr,quality,renddesc,cb);
 	}
 	
 	cairo_surface_t* cs=csurface.get_cairo_image_surface();
-
+	
 	if(cairo_surface_status(cs) || cairo_surface_get_type(cs)!=CAIRO_SURFACE_TYPE_IMAGE)
 	{
 		// Render what is behind us
-		return context.accelerated_cairorender(out_surface,quality,renddesc,cb);
+		return context.accelerated_cairorender(cr,quality,renddesc,cb);
 	}
 	
 	SuperCallback subcb(cb,1,10000,10001+renddesc.get_h());
-
+	
 	Point	obr	= renddesc.get_br();
 	Point   otl = renddesc.get_tl();
-
+	
 	int		outw = renddesc.get_w();
 	int		outh = renddesc.get_h();
-
+	
 	int		inw = cairo_image_surface_get_width(cs);
 	int		inh = cairo_image_surface_get_height(cs);
 	
@@ -699,11 +718,11 @@ Layer_Bitmap::accelerated_cairorender(Context context, cairo_surface_t *out_surf
 		{
 			if(cb && !cb->amount_complete(0,100)) return false;
 			{
-				cairo_t* cr=cairo_create(out_surface); // create a cairo context with the out surface
+				cairo_save(cr);
 				cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE); // set operator to ignore destiny
 				cairo_set_source_surface(cr, cs, 0, 0); // set the source our cairosurface
 				cairo_paint(cr); // paint on the destiny
-				cairo_destroy(cr); // finaly destroy the cairo context pointer
+				cairo_restore(cr);
 			}
 			if(cb && !cb->amount_complete(100,100)) return false;
 			return true;
@@ -712,17 +731,17 @@ Layer_Bitmap::accelerated_cairorender(Context context, cairo_surface_t *out_surf
 	else // It is not the trivial case
 	{
 		// Render what is behind us...
-		if(!context.accelerated_cairorender(out_surface,quality,renddesc,&subcb))
+		if(!context.accelerated_cairorender(cr,quality,renddesc,&subcb))
 			return false;
 	}
 	
 	if(cb && !cb->amount_complete(10000,10001+renddesc.get_h())) return false;
 	
-
+	
 	// Calculate the width and height in pixels of the bitmap in the output surface
 	float wp=(br[0]-tl[0])/renddesc.get_pw();
 	float hp=(br[1]-tl[1])/renddesc.get_ph();
-	// So we need to scale the bitmap by wp/inw in horizontal and hp/inh in vertical. 
+	// So we need to scale the bitmap by wp/inw in horizontal and hp/inh in vertical.
 	float scalex=wp/inw;
 	float scaley=hp/inh;
 	// Now let's calculate the displacement of the image in the output surface.
@@ -731,30 +750,35 @@ Layer_Bitmap::accelerated_cairorender(Context context, cairo_surface_t *out_surf
 	cairo_filter_t filter;
 	switch(c)
 	{
-	case 3:	// Cubic
-		filter=CAIRO_FILTER_BEST;
-		break;
-	case 2:	// Cosine
-		filter=CAIRO_FILTER_GOOD;
-		break;
-	case 1:	// Linear
-		filter=CAIRO_FILTER_FAST;
-		break;
-	case 0:	// Nearest Neighbor
-	default:
-		filter=CAIRO_FILTER_NEAREST;
-		break;
+		case 3:	// Cubic
+			filter=CAIRO_FILTER_BEST;
+			break;
+		case 2:	// Cosine
+			filter=CAIRO_FILTER_GOOD;
+			break;
+		case 1:	// Linear
+			filter=CAIRO_FILTER_FAST;
+			break;
+		case 0:	// Nearest Neighbor
+		default:
+			filter=CAIRO_FILTER_NEAREST;
+			break;
 	}
 	// TODO: filter the image with gamma_adjust!!
-	cairo_t* cr=cairo_create(out_surface); // create a cairo context with the out surface
+	cairo_save(cr);
+	// Need to scale down to user coordinates before pass to cr
+	cairo_translate(cr, renddesc.get_tl()[0], renddesc.get_tl()[1]);
+	cairo_scale(cr, renddesc.get_pw(), renddesc.get_ph());
+	// Apply the bitmap scale and tanslate
 	cairo_translate(cr, disp[0]/renddesc.get_pw(), disp[1]/renddesc.get_ph());
 	cairo_scale(cr, scalex, scaley);
-	cairo_set_source_surface(cr, cs, 0,0);
+	// set the surface, filter, and paint
 	cairo_pattern_set_filter(cairo_get_source(cr), filter);
-	
+	cairo_set_source_surface(cr, cs, 0,0);
 	cairo_paint_with_alpha_operator(cr, get_amount(), get_blend_method());
+	// we don't need cs anymore
 	cairo_surface_destroy(cs);
-	cairo_destroy(cr);
+	cairo_restore(cr);
 	
 	return true;
 }
@@ -765,6 +789,9 @@ Layer_Bitmap::accelerated_cairorender(Context context, cairo_surface_t *out_surf
 Rect
 Layer_Bitmap::get_bounding_rect()const
 {
+	Point tl(param_tl.get(Point()));
+	Point br(param_br.get(Point()));
+
 	return Rect(tl,br);
 }
 
diff --git a/src/synfig/layer_bitmap.h b/src/synfig/layer_bitmap.h
index 3786660..980de4c 100644
--- a/src/synfig/layer_bitmap.h
+++ b/src/synfig/layer_bitmap.h
@@ -51,15 +51,16 @@ class Layer_Bitmap : public Layer_Composite, public Layer_NoDeform
 public:
 	typedef etl::handle<Layer_Bitmap> Handle;
 
-	Point tl;
-	Point br;
-	int c;
+	ValueBase param_tl;
+	ValueBase param_br;
+	ValueBase param_c;
+	ValueBase param_gamma_adjust;
+
 	mutable Surface surface;
 	mutable CairoSurface csurface;
 	mutable bool trimmed;
 	mutable unsigned int width, height, top, left;
 
-	Real gamma_adjust;
 
 	Layer_Bitmap();
 	~Layer_Bitmap()	{ 
@@ -77,7 +78,7 @@ public:
 	virtual Rect get_bounding_rect()const;
 
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 
 	virtual synfig::Layer::Handle hit_check(synfig::Context context, const synfig::Point &point)const;
 	
diff --git a/src/synfig/layer_composite.cpp b/src/synfig/layer_composite.cpp
index 6dc2230..cbfef75 100644
--- a/src/synfig/layer_composite.cpp
+++ b/src/synfig/layer_composite.cpp
@@ -44,6 +44,8 @@
 #include "general.h"
 #include "render.h"
 #include "paramdesc.h"
+#include "cairo_renddesc.h"
+
 
 #endif
 
@@ -60,21 +62,21 @@ using namespace synfig;
 /* === P R O C E D U R E S ================================================= */
 
 /* === M E T H O D S ======================================================= */
-Layer_Composite::Layer_Composite(float 	a, Color::BlendMethod 	bm):
-		amount				(a),
-		blend_method		(bm),
+Layer_Composite::Layer_Composite(Real a, Color::BlendMethod bm):
+		param_amount		(a),
+		param_blend_method	(Color::BlendMethod(bm)),
 		converted_blend_	(false),
 		transparent_color_	(false)
 	{
-		Layer::Vocab voc(get_param_vocab());
-		Layer::fill_static(voc);
+		SET_INTERPOLATION_DEFAULTS();
+		SET_STATIC_DEFAULTS();
 	}
 
 bool
 Layer_Composite::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc_, ProgressCallback *cb)  const
 {
 	RendDesc renddesc(renddesc_);
-
+	Real amount(param_amount.get(Real()));
 	if(!amount)
 		return context.accelerated_render(surface,quality,renddesc,cb);
 
@@ -107,12 +109,12 @@ Layer_Composite::accelerated_render(Context context,Surface *surface,int quality
 		return false;
 	// Sets up the interpolation of the context (now the surface layer is the first one)
 	// depending on the quality
-	if(quality<=4)surfacelayer->c=3;else
-	if(quality<=5)surfacelayer->c=2;
-	else if(quality<=6)surfacelayer->c=1;
-	else surfacelayer->c=0;
-	surfacelayer->tl=renddesc.get_tl();
-	surfacelayer->br=renddesc.get_br();
+	if(quality<=4)surfacelayer->set_param("c", 3);else
+	if(quality<=5)surfacelayer->set_param("c", 2);
+	else if(quality<=6)surfacelayer->set_param("c", 1);
+	else surfacelayer->set_param("c",0);
+	surfacelayer->set_param("tl",renddesc.get_tl());
+	surfacelayer->set_param("br",renddesc.get_br());
 	// Sets the blend method to straight. See below
 	surfacelayer->set_blend_method(Color::BLEND_STRAIGHT);
 	// Push this layer on the image. The blending result is only this layer
@@ -134,19 +136,28 @@ Layer_Composite::accelerated_render(Context context,Surface *surface,int quality
 	target->set_rend_desc(&desc);
 
 	// Render the scene
-	return render(Context(image.begin()),target,desc,&stagetwo);
+	return render(Context(image.begin(),context),target,desc,&stagetwo);
 	//return render_threaded(Context(image.begin()),target,desc,&stagetwo,2);
 }
 
-/////
 
+/////
 bool
-Layer_Composite::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc_, ProgressCallback *cb)  const
+Layer_Composite::accelerated_cairorender(Context context,cairo_t *cr, int quality, const RendDesc &renddesc_, ProgressCallback *cb)  const
 {
 	RendDesc renddesc(renddesc_);
-	
+	Real amount(param_amount.get(Real()));
+
 	if(!amount)
-		return context.accelerated_cairorender(surface,quality,renddesc,cb);
+		return context.accelerated_cairorender(cr,quality,renddesc,cb);
+
+	// Untransform the render desc
+	if(!cairo_renddesc_untransform(cr, renddesc))
+		return false;
+	const Real pw(renddesc.get_pw()),ph(renddesc.get_ph());
+	const Point tl(renddesc.get_tl());
+	const int w(renddesc.get_w());
+	const int h(renddesc.get_h());
 	
 	CanvasBase image;
 	
@@ -162,42 +173,63 @@ Layer_Composite::accelerated_cairorender(Context context,cairo_surface_t *surfac
 	
 	// Add one Bitmap Layer on top
 	image.push_front(surfacelayer.get());
-		
+	
 	image.push_back(0);	// and Alpha black at end
 	
 	// Render the backdrop on the surface layer's surface.
-	cairo_surface_t* cs=cairo_image_surface_create(CAIRO_FORMAT_ARGB32, renddesc.get_w(), renddesc.get_h());
-	if(!context.accelerated_cairorender(cs,quality,renddesc,&stageone))
+	cairo_surface_t* cs=cairo_image_surface_create(CAIRO_FORMAT_ARGB32, w, h);
+	cairo_surface_t* result=cairo_image_surface_create(CAIRO_FORMAT_ARGB32, w, h);
+	cairo_t* cr_cs=cairo_create(cs);
+	cairo_scale(cr_cs, 1/pw, 1/ph);
+	cairo_translate(cr_cs, -tl[0], -tl[1]);
+	if(!context.accelerated_cairorender(cr_cs,quality,renddesc,&stageone))
 	{
 		cairo_surface_destroy(cs);
+		cairo_destroy(cr_cs);
 		return false;
 	}
+	cairo_destroy(cr_cs);
 	surfacelayer->set_cairo_surface(cs);
 	cairo_surface_destroy(cs);
 	// Sets up the interpolation of the context (now the surface layer is the first one)
 	// depending on the quality
-	if(quality<=4)surfacelayer->c=3;else
-		if(quality<=5)surfacelayer->c=2;
-		else if(quality<=6)surfacelayer->c=1;
-		else surfacelayer->c=0;
-	surfacelayer->tl=renddesc.get_tl();
-	surfacelayer->br=renddesc.get_br();
+	if(quality<=4)surfacelayer->set_param("c", 3);else
+		if(quality<=5)surfacelayer->set_param("c", 2);
+		else if(quality<=6)surfacelayer->set_param("c", 1);
+		else surfacelayer->set_param("c",0);
+	surfacelayer->set_param("tl",renddesc.get_tl());
+	surfacelayer->set_param("br",renddesc.get_br());
 	// Sets the blend method to straight. See below
 	surfacelayer->set_blend_method(Color::BLEND_STRAIGHT);
 	surfacelayer->set_render_method(context, CAIRO);
 	// Push this layer on the image. The blending result is only this layer
 	// and the surface layer. The rest of the context is ignored by the straight
 	// blend method of surface layer
-	image.push_front(const_cast<synfig::Layer_Composite*>(this));		
-
+	image.push_front(const_cast<synfig::Layer_Composite*>(this));
+	
 	// Render the scene
-	return cairorender(Context(image.begin()),surface,renddesc,&stagetwo);
+	if(!cairorender(Context(image.begin(),context),result,renddesc,&stagetwo))
+	{
+		cairo_surface_destroy(result);
+		return false;
+	}
+	// Put the result on the cairo context
+	cairo_save(cr);
+	cairo_translate(cr, tl[0], tl[1]);
+	cairo_scale(cr, pw, ph);
+	cairo_set_source_surface(cr, result, 0, 0);
+	cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
+	cairo_paint(cr);
+	cairo_restore(cr);
+
+	cairo_surface_destroy(result);
+	// Mark our progress as finished
+	if(cb && !cb->amount_complete(10000,10000))
+		return false;
+	return true;
 }
 
 
-
-/////
-
 Rect
 Layer_Composite::get_full_bounding_rect(Context context)const
 {
@@ -213,13 +245,14 @@ Layer_Composite::get_param_vocab()const
 	//! First fills the returning vocabulary with the ancestor class
 	Layer::Vocab ret(Layer::get_param_vocab());
 	//! Now inserts the two parameters that this layer knows.
-	ret.push_back(ParamDesc(amount,"amount")
+	ret.push_back(ParamDesc(param_amount,"amount")
 		.set_local_name(_("Amount"))
 		.set_description(_("Alpha channel of the layer"))
 	);
-	ret.push_back(ParamDesc(blend_method,"blend_method")
+	ret.push_back(ParamDesc(param_blend_method,"blend_method")
 		.set_local_name(_("Blend Method"))
 		.set_description(_("The blending method used to composite on the layers below"))
+		.set_static(true)
 	);
 
 	return ret;
@@ -228,21 +261,13 @@ Layer_Composite::get_param_vocab()const
 bool
 Layer_Composite::set_param(const String & param, const ValueBase &value)
 {
-	if(param=="amount" && value.same_type_as(amount))
-	{
-		amount=value.get(amount);
-		set_param_static(param,value.get_static());
-	}
-	else
-	if(param=="blend_method" && value.same_type_as(int()))
-	{
-		blend_method = static_cast<Color::BlendMethod>(value.get(int()));
-		set_param_static(param,value.get_static());
-
+	IMPORT_VALUE(param_amount)
+	IMPORT_VALUE_PLUS(param_blend_method,
+		Color::BlendMethod blend_method = static_cast<Color::BlendMethod>(value.get(int()));
 		if (blend_method < 0 || blend_method >= Color::BLEND_END)
 		{
 			warning("illegal value (%d) for blend_method - using Composite instead", blend_method);
-			blend_method = Color::BLEND_COMPOSITE;
+			param_blend_method.set(Color::BLEND_COMPOSITE);
 			return false;
 		}
 
@@ -260,7 +285,7 @@ Layer_Composite::set_param(const String & param, const ValueBase &value)
 								version.c_str(), get_non_empty_description().c_str());
 					else
 					{
-						blend_method = Color::BLEND_COMPOSITE;
+						param_blend_method.set(Color::BLEND_COMPOSITE);
 						converted_blend_ = true;
 
 						// if this layer has a transparent color, go back and set the color again
@@ -272,29 +297,17 @@ Layer_Composite::set_param(const String & param, const ValueBase &value)
 				}
 			}
 		}
-	}
-	else
-		return Layer::set_param(param,value);
-	return true;
+		);
+
+	return Layer::set_param(param,value);
 }
 
 ValueBase
 Layer_Composite::get_param(const String & param)const
 {
 
-	//! First check if the parameter's string is known.
-	if(param=="amount")
-	{
-		synfig::ValueBase ret(get_amount());
-		ret.set_static(get_param_static(param));
-		return ret;
-	}
-	if(param=="blend_method")
-	{
-		synfig::ValueBase ret(static_cast<int>(get_blend_method()));
-		ret.set_static(get_param_static(param));
-		return ret;
-	}
+	EXPORT_VALUE(param_amount)
+	EXPORT_VALUE(param_blend_method)
 	//! If it is unknown then call the ancestor's get param member
 	//! to see if it can handle that parameter's string.
 	return Layer::get_param(param);
diff --git a/src/synfig/layer_composite.h b/src/synfig/layer_composite.h
index 52ab9eb..165a4aa 100644
--- a/src/synfig/layer_composite.h
+++ b/src/synfig/layer_composite.h
@@ -50,13 +50,13 @@ class Layer_Composite : public Layer
 {
 private:
 	//! The amount of composite
-	float amount;
+	ValueBase param_amount;
 	//! The blend method for the composition
-	Color::BlendMethod blend_method;
+	ValueBase param_blend_method;
 
 protected:
 	//! Default constructor. Not used directly.
-	Layer_Composite(float amount=1.0, Color::BlendMethod blend_method=Color::BLEND_COMPOSITE);
+	Layer_Composite(Real amount=1.0, Color::BlendMethod blend_method=Color::BLEND_COMPOSITE);
 
 	//! Converted blend is used to check if an old version of canvas
 	//! is used in the composition. Old Straight was used as new Composite
@@ -68,17 +68,17 @@ protected:
 
 public:
 	//! Gets the amount of the layer
-	float get_amount()const { return amount; }
+	float get_amount()const { return param_amount.get(Real()); }
 	//! Sets the amount of the layer and returns this layer
-	Layer_Composite& set_amount(float x) { amount=x; return *this; }
+	Layer_Composite& set_amount(float x) { param_amount.set(x); return *this; }
 	//! Gets the blend method of the layer
-	Color::BlendMethod get_blend_method()const { return blend_method; }
+	Color::BlendMethod get_blend_method()const { return Color::BlendMethod((param_blend_method.get(int()))); }
 	//! Sets the blend method of the layer and returns this layer
-	Layer_Composite& set_blend_method(Color::BlendMethod x) { blend_method=x; return *this; }
+	Layer_Composite& set_blend_method(Color::BlendMethod x) { param_blend_method.set(x); return *this; }
 	//! Returns true is amount is 1 and blend method is straight
-	virtual bool is_solid_color()const { return amount==1.0f && blend_method==Color::BLEND_STRAIGHT; }
+	virtual bool is_solid_color()const { return param_amount.get(Real())==1.0f && param_blend_method.get(int())==Color::BLEND_STRAIGHT; }
 	//! Returns true if the amount is zero.
-	bool is_disabled()const { return amount==0.0f; }
+	bool is_disabled()const { return param_amount.get(Real())==0.0f; }
 	//! Gets the parameter vocabulary. To be overrided by the derived.
 	virtual Vocab get_param_vocab()const;
 	//! Sets the value for the given parameter.
@@ -90,7 +90,7 @@ public:
 	virtual Rect get_full_bounding_rect(Context context)const;
 	//! Renders the layer composited on the context and puts it on the target surface.
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 }; // END of class Layer_Composite
 
 }; // END of namespace synfig
diff --git a/src/synfig/layer_duplicate.cpp b/src/synfig/layer_duplicate.cpp
index d002016..e84fd86 100644
--- a/src/synfig/layer_duplicate.cpp
+++ b/src/synfig/layer_duplicate.cpp
@@ -65,12 +65,15 @@ Layer_Duplicate::Layer_Duplicate():
 {
 	LinkableValueNode* index_value_node = ValueNode_Duplicate::create(Real(3));
 	connect_dynamic_param("index", index_value_node);
+
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 Layer::Handle
-Layer_Duplicate::clone(const GUID& deriv_guid)const
+Layer_Duplicate::clone(Canvas::LooseHandle canvas, const GUID& deriv_guid)const
 {
-	Layer::Handle ret = (Layer::Handle)Layer_Composite::clone(deriv_guid);
+	Layer::Handle ret = (Layer::Handle)Layer_Composite::clone(canvas, deriv_guid);
 
 	const DynamicParamList &dpl = dynamic_param_list();
 	DynamicParamList::const_iterator iter = dpl.find("index");
@@ -79,7 +82,7 @@ Layer_Duplicate::clone(const GUID& deriv_guid)const
 	// it's not good to have two references to the same index valuenode,
 	// or nested duplications cause an infinite loop
 	if (iter != dpl.end())
-		ret->connect_dynamic_param(iter->first,iter->second->clone(deriv_guid));
+		ret->connect_dynamic_param(iter->first,iter->second->clone(canvas, deriv_guid));
 
 	return ret;
 }
@@ -87,14 +90,14 @@ Layer_Duplicate::clone(const GUID& deriv_guid)const
 bool
 Layer_Duplicate::set_param(const String &param, const ValueBase &value)
 {
-	IMPORT(index);
+	IMPORT_VALUE(param_index);
 	return Layer_Composite::set_param(param,value);
 }
 
 ValueBase
 Layer_Duplicate::get_param(const String &param)const
 {
- 	EXPORT(index);
+ 	EXPORT_VALUE(param_index);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -103,14 +106,14 @@ Layer_Duplicate::get_param(const String &param)const
 }
 
 void
-Layer_Duplicate::set_time(Context context, Time time)const
+Layer_Duplicate::set_time(IndependentContext context, Time time)const
 {
 	context.set_time(time);
 	time_cur=time;
 }
 
 void
-Layer_Duplicate::set_time(Context context, Time time, const Point &pos)const
+Layer_Duplicate::set_time(IndependentContext context, Time time, const Point &pos)const
 {
 	context.set_time(time,pos);
 	time_cur=time;
@@ -208,3 +211,53 @@ Layer_Duplicate::accelerated_render(Context context,Surface *surface,int quality
 
 	return true;
 }
+
+/////
+bool
+Layer_Duplicate::accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+{
+	if(quality == 10)
+		return context.accelerated_cairorender(cr,quality,renddesc,cb);
+	
+	if(context->empty())
+	{
+		cairo_save(cr);
+		cairo_set_operator(cr, CAIRO_OPERATOR_CLEAR);
+		cairo_paint(cr);
+		cairo_restore(cr);
+		return true;
+	}
+	
+	SuperCallback subimagecb;
+	
+	int i = 0;
+	
+	handle<ValueNode_Duplicate> duplicate_param = get_duplicate_param();
+	if (!duplicate_param) return context.accelerated_cairorender(cr,quality,renddesc,cb);
+	
+	Color::BlendMethod blend_method(get_blend_method());
+	int steps = duplicate_param->count_steps(time_cur);
+	
+	Mutex::Lock lock(mutex);
+	duplicate_param->reset_index(time_cur);
+	cairo_save(cr);
+	do
+	{
+		subimagecb=SuperCallback(cb,i*(5000/steps),(i+1)*(5000/steps),5000);
+		// \todo can we force a re-evaluation of all the variables without changing the time twice?
+		context.set_time(time_cur+1);
+		context.set_time(time_cur);
+		cairo_push_group(cr);
+		if(!context.accelerated_cairorender(cr,quality,renddesc,&subimagecb))
+		{
+			cairo_pop_group(cr);
+			return false;
+		}
+		cairo_pop_group_to_source(cr);;
+		// \todo have a checkbox allowing use of 'behind' to reverse the order?
+		cairo_paint_with_alpha_operator(cr, get_amount(), i ? blend_method : Color::BLEND_COMPOSITE);
+		i++;
+	} while (duplicate_param->step(time_cur));
+	cairo_restore(cr);
+	return true;
+}
diff --git a/src/synfig/layer_duplicate.h b/src/synfig/layer_duplicate.h
index 7c588e5..abf5433 100644
--- a/src/synfig/layer_duplicate.h
+++ b/src/synfig/layer_duplicate.h
@@ -41,7 +41,7 @@ class Layer_Duplicate : public synfig::Layer_Composite
 	SYNFIG_LAYER_MODULE_EXT
 
 private:
-	mutable Real index;
+	mutable ValueBase param_index;
 	mutable Time time_cur;
 	mutable synfig::Mutex mutex;
 
@@ -50,14 +50,15 @@ public:
 	Layer_Duplicate();
 
 	//! Duplicates the Layer
-	virtual Layer::Handle clone(const GUID& deriv_guid=GUID())const;
+	virtual Layer::Handle clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid=GUID())const;
 	virtual bool set_param(const String & param, const synfig::ValueBase &value);
 	virtual ValueBase get_param(const String & param)const;
 	virtual Color get_color(Context context, const Point &pos)const;
-	virtual void set_time(Context context, Time time)const;
-	virtual void set_time(Context context, Time time, const Point &point)const;
+	virtual void set_time(IndependentContext context, Time time)const;
+	virtual void set_time(IndependentContext context, Time time, const Point &point)const;
 	virtual ValueNode_Duplicate::Handle get_duplicate_param()const;
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 	virtual Vocab get_param_vocab()const;
 	virtual bool reads_context()const { return true; }
 }; // END of class Layer_Duplicate
diff --git a/src/synfig/layer_motionblur.cpp b/src/synfig/layer_motionblur.cpp
index 61fa152..17397c9 100644
--- a/src/synfig/layer_motionblur.cpp
+++ b/src/synfig/layer_motionblur.cpp
@@ -61,37 +61,36 @@ SYNFIG_LAYER_SET_CVS_ID(Layer_MotionBlur,"$Id$");
 /* === M E M B E R S ======================================================= */
 
 Layer_MotionBlur::Layer_MotionBlur():
-	Layer_Composite		(1.0,Color::BLEND_STRAIGHT),
-	aperture			(0),
-	subsamples_factor	(1.0),
-	subsampling_type	(SUBSAMPLING_HYPERBOLIC),
-	subsample_start		(0.0),
-	subsample_end		(1.0)
+	Layer_Composite         (1.0,Color::BLEND_STRAIGHT),
+	param_aperture          (ValueBase(Time(0))),
+	param_subsamples_factor (ValueBase(Real(1.0))),
+	param_subsampling_type  (ValueBase(SUBSAMPLING_HYPERBOLIC)),
+	param_subsample_start   (ValueBase(Real(0.0))),
+	param_subsample_end     (ValueBase(Real(1.0)))
 {
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+
 }
 
 bool
 Layer_MotionBlur::set_param(const String &param, const ValueBase &value)
 {
 
-	IMPORT(aperture);
-	IMPORT(subsamples_factor);
-	IMPORT(subsampling_type);
-	IMPORT(subsample_start);
-	IMPORT(subsample_end);
+	IMPORT_VALUE(param_aperture);
+	IMPORT_VALUE(param_subsamples_factor);
+	IMPORT_VALUE(param_subsampling_type);
+	IMPORT_VALUE(param_subsample_start);
+	IMPORT_VALUE(param_subsample_end);
 	return Layer_Composite::set_param(param,value);
 }
 
 ValueBase
 Layer_MotionBlur::get_param(const String &param)const
 {
-	EXPORT(aperture);
-	EXPORT(subsamples_factor);
-	EXPORT(subsampling_type);
-	EXPORT(subsample_start);
-	EXPORT(subsample_end);
+	EXPORT_VALUE(param_aperture);
+	EXPORT_VALUE(param_subsamples_factor);
+	EXPORT_VALUE(param_subsampling_type);
+	EXPORT_VALUE(param_subsample_start);
+	EXPORT_VALUE(param_subsample_end);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -100,14 +99,14 @@ Layer_MotionBlur::get_param(const String &param)const
 }
 
 void
-Layer_MotionBlur::set_time(Context context, Time time)const
+Layer_MotionBlur::set_time(IndependentContext context, Time time)const
 {
 	context.set_time(time);
 	time_cur=time;
 }
 
 void
-Layer_MotionBlur::set_time(Context context, Time time, const Point &pos)const
+Layer_MotionBlur::set_time(IndependentContext context, Time time, const Point &pos)const
 {
 	context.set_time(time,pos);
 	time_cur=time;
@@ -167,6 +166,12 @@ Layer_MotionBlur::get_param_vocab()const
 bool
 Layer_MotionBlur::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	Time aperture=param_aperture.get(Time());
+	Real subsamples_factor=param_subsamples_factor.get(Real());
+	SubsamplingType subsampling_type=param_subsampling_type.get(SUBSAMPLING_LINEAR);
+	Real subsample_start=param_subsample_start.get(Real());
+	Real subsample_end=param_subsample_end.get(Real());
+	
 	if(aperture && quality<=10)
 	{
 		//int x, y;
@@ -266,3 +271,141 @@ Layer_MotionBlur::accelerated_render(Context context,Surface *surface,int qualit
 
 	return true;
 }
+
+
+bool
+Layer_MotionBlur::accelerated_cairorender(Context context, cairo_t *cr ,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+{
+	Time aperture=param_aperture.get(Time());
+	Real subsamples_factor=param_subsamples_factor.get(Real());
+	SubsamplingType subsampling_type=param_subsampling_type.get(SUBSAMPLING_LINEAR);
+	Real subsample_start=param_subsample_start.get(Real());
+	Real subsample_end=param_subsample_end.get(Real());
+
+	if(aperture && quality<=10)
+	{
+		//int x, y;
+		SuperCallback subimagecb;
+		int samples=1;
+		switch(quality)
+		{
+			case 1:	// Production Quality
+				samples=32;
+				break;
+			case 2: // Excellent Quality
+				samples=24;
+				break;
+			case 3: // Good Quality
+				samples=16;
+				break;
+			case 4: // Moderate Quality
+				samples=12;
+				break;
+			case 5: // Draft Quality
+				samples=7;
+				break;
+			case 6:
+				samples=6;
+				break;
+			case 7:
+				samples=5;
+				break;
+			case 8:
+				samples=3;
+				break;
+			case 9:
+				samples=2;
+				break;
+			case 10: // Rough Quality
+            default:
+				samples=1;
+				break;
+				
+		}
+		
+		samples *= subsamples_factor;
+		
+		if (samples <= 1) return context.accelerated_cairorender(cr,quality,renddesc,cb);
+		
+		// Only in modes where subsample_start/end matters...
+		if(subsampling_type == SUBSAMPLING_LINEAR)
+		{
+			// We won't render when the scale==0, so we'll use those samples elsewhere
+			if(subsample_start == 0) samples++;
+			if(subsample_end == 0) samples++;
+		}
+		// We need to clear the given surface since it maybe not clean.
+//		cairo_set_operator(cr, CAIRO_OPERATOR_CLEAR);
+//		cairo_paint(cr);
+		
+		int i;
+		float scale, divisor = 0;
+		
+		// Precalculate the divisor
+		// this way we can use directly the values from the cairo surface
+		// and don't need to premultiply before sum and demultiply after divide
+		// Also it avoids a final for loop on the image pixels to divide.
+		for(i=0;i<samples;i++)
+		{
+			float pos = i/(samples-1.0);
+			float ipos = 1.0-pos;
+			switch(subsampling_type)
+			{
+				case SUBSAMPLING_LINEAR:
+					scale = ipos*subsample_start + pos*subsample_end;
+					break;
+				case SUBSAMPLING_HYPERBOLIC:
+					scale = 1.0/(samples-i);
+					break;
+				case SUBSAMPLING_CONSTANT:
+				default:
+					scale = 1.0; // Weights don't matter for constant overall subsampling.
+					break;
+			}
+			// Don't bother rendering if scale is zero
+			if(scale==0)
+				continue;
+			divisor += scale;
+		}
+		
+		// Render subsamples from time_cur-aperture to time_cur
+		for(i=0;i<samples;i++)
+		{
+			float pos = i/(samples-1.0);
+			float ipos = 1.0-pos;
+			switch(subsampling_type)
+			{
+				case SUBSAMPLING_LINEAR:
+					scale = ipos*subsample_start + pos*subsample_end;
+					break;
+				case SUBSAMPLING_HYPERBOLIC:
+					scale = 1.0/(samples-i);
+					break;
+				case SUBSAMPLING_CONSTANT:
+				default:
+					scale = 1.0; // Weights don't matter for constant overall subsampling.
+					break;
+			}
+			// Don't bother rendering if scale is zero
+			if(scale==0)
+				continue;
+			subimagecb=SuperCallback(cb,i*(5000/samples),(i+1)*(5000/samples),5000);
+			context.set_time(time_cur-aperture*ipos);
+			cairo_push_group(cr);
+			if(!context.accelerated_cairorender(cr,quality,renddesc,&subimagecb))
+			{
+				cairo_pop_group(cr);
+				return false;
+			}
+			cairo_pop_group_to_source(cr);
+			float s=scale/divisor;
+			cairo_set_operator(cr, CAIRO_OPERATOR_ADD);
+			cairo_paint_with_alpha(cr, s);
+		}
+	}
+	else
+		return context.accelerated_cairorender(cr,quality,renddesc,cb);
+	
+	return true;
+}
+
diff --git a/src/synfig/layer_motionblur.h b/src/synfig/layer_motionblur.h
index 9b4391c..113249e 100644
--- a/src/synfig/layer_motionblur.h
+++ b/src/synfig/layer_motionblur.h
@@ -49,11 +49,11 @@ class Layer_MotionBlur : public synfig::Layer_Composite
 	};
 
 private:
-	Time aperture;
-	Real subsamples_factor;
-	SubsamplingType subsampling_type;
-	Real subsample_start;
-	Real subsample_end;
+	ValueBase param_aperture;
+	ValueBase param_subsamples_factor;
+	ValueBase param_subsampling_type;
+	ValueBase param_subsample_start;
+	ValueBase param_subsample_end;
 	mutable Time time_cur;
 
 public:
@@ -61,9 +61,10 @@ public:
 	virtual bool set_param(const String & param, const synfig::ValueBase &value);
 	virtual ValueBase get_param(const String & param)const;
 	virtual Color get_color(Context context, const Point &pos)const;
-	virtual void set_time(Context context, Time time)const;
-	virtual void set_time(Context context, Time time, const Point &point)const;
+	virtual void set_time(IndependentContext context, Time time)const;
+	virtual void set_time(IndependentContext context, Time time, const Point &point)const;
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 	virtual Vocab get_param_vocab()const;
 	virtual bool reads_context()const { return true; }
 }; // END of class Layer_MotionBlur
diff --git a/src/synfig/layer_pastecanvas.cpp b/src/synfig/layer_pastecanvas.cpp
index 43af723..4fb0de0 100644
--- a/src/synfig/layer_pastecanvas.cpp
+++ b/src/synfig/layer_pastecanvas.cpp
@@ -41,6 +41,8 @@
 #include "value.h"
 #include "valuenode.h"
 #include "canvas.h"
+#include "cairo_renddesc.h"
+
 
 #endif
 
@@ -83,20 +85,21 @@ SYNFIG_LAYER_SET_CVS_ID(Layer_PasteCanvas,"$Id$");
 /* === M E T H O D S ======================================================= */
 
 Layer_PasteCanvas::Layer_PasteCanvas():
-	origin(0,0),
-	focus(0,0),
+	param_origin      (Vector(0,0)),
+	param_focus       (Vector(0,0)),
+	param_zoom        (Real(0)),
+	param_time_offset (Time(0)),
 	depth(0),
-	zoom(0),
-	time_offset(0),
 	extra_reference(false)
 {
-	children_lock=false;
+	param_children_lock=ValueBase(bool(false));
+	param_outline_grow=ValueBase(Real(0));
+	param_curr_time=ValueBase(Time::begin());
+
 	muck_with_time_=true;
-	curr_time=Time::begin();
-	outline_grow=0.0;
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
-	set_param_static("children_lock", true);
+
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 Layer_PasteCanvas::~Layer_PasteCanvas()
@@ -140,6 +143,8 @@ Layer_PasteCanvas::get_param_vocab()const
 	ret.push_back(ParamDesc("zoom")
 		.set_local_name(_("Zoom"))
 		.set_description(_("Size of canvas"))
+		.set_origin("origin")
+		.set_exponential()
 	);
 
 	ret.push_back(ParamDesc("time_offset")
@@ -150,6 +155,7 @@ Layer_PasteCanvas::get_param_vocab()const
 	ret.push_back(ParamDesc("children_lock")
 		.set_local_name(_("Children Lock"))
 		.set_description(_("When checked prevents to select the children using the mouse click"))
+		.set_static(true)
 	);
 
 	ret.push_back(ParamDesc("focus")
@@ -188,14 +194,13 @@ Layer_PasteCanvas::get_param_vocab()const
 bool
 Layer_PasteCanvas::set_param(const String & param, const ValueBase &value)
 {
-	IMPORT(origin);
-	IMPORT(focus);
+	IMPORT_VALUE(param_origin);
+	IMPORT_VALUE(param_focus);
 
 	// IMPORT(canvas);
 	if(param=="canvas" && value.same_type_as(Canvas::Handle()))
 	{
 		set_sub_canvas(value.get(Canvas::Handle()));
-		set_param_static(param, value.get_static());
 		return true;
 	}
 	//! \todo this introduces bug 1844764 if enabled; it was introduced in r954.
@@ -217,13 +222,13 @@ Layer_PasteCanvas::set_param(const String & param, const ValueBase &value)
 		return true;
 	}
 #else
-	IMPORT(time_offset);
+	IMPORT_VALUE(param_time_offset);
 #endif
 
-	IMPORT(children_lock);
-	IMPORT(zoom);
-	IMPORT(curr_time);
-	IMPORT(outline_grow);
+	IMPORT_VALUE(param_children_lock);
+	IMPORT_VALUE(param_zoom);
+	IMPORT_VALUE(param_outline_grow);
+	IMPORT_VALUE(param_curr_time);
 	return Layer_Composite::set_param(param,value);
 }
 
@@ -251,8 +256,6 @@ Layer_PasteCanvas::set_sub_canvas(etl::handle<synfig::Canvas> x)
 			)
 		);
 	*/
-	if(canvas)
-		bounds = ((canvas->get_context().get_full_bounding_rect() - focus) * exp(zoom) + origin + focus);
 
 	if(canvas && muck_with_time_)
 		add_child(canvas.get());
@@ -280,9 +283,9 @@ Layer_PasteCanvas::update_renddesc()
 	if(!get_canvas() || !canvas || !canvas->is_inline()) return;
 
 	canvas->rend_desc()=get_canvas()->rend_desc();
-	for (Context context = canvas->get_context(); !context->empty(); context++)
+	for (IndependentContext iter = canvas->get_independent_context(); !iter->empty(); iter++)
 	{
-		etl::handle<Layer_PasteCanvas> paste = etl::handle<Layer_PasteCanvas>::cast_dynamic(*context);
+		etl::handle<Layer_PasteCanvas> paste = etl::handle<Layer_PasteCanvas>::cast_dynamic(*iter);
 		if (paste) paste->update_renddesc();
 	}
 }
@@ -300,14 +303,18 @@ Layer_PasteCanvas::on_canvas_set()
 ValueBase
 Layer_PasteCanvas::get_param(const String& param)const
 {
-	EXPORT(origin);
-	EXPORT(focus);
-	EXPORT(canvas);
-	EXPORT(zoom);
-	EXPORT(time_offset);
-	EXPORT(children_lock);
-	EXPORT(curr_time);
-	EXPORT(outline_grow);
+	EXPORT_VALUE(param_origin);
+	EXPORT_VALUE(param_focus);
+	if (param=="canvas")
+	{
+		synfig::ValueBase ret(canvas);
+		return ret;
+	}
+	EXPORT_VALUE(param_zoom);
+	EXPORT_VALUE(param_time_offset);
+	EXPORT_VALUE(param_children_lock);
+	EXPORT_VALUE(param_curr_time);
+	EXPORT_VALUE(param_outline_grow);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -316,20 +323,16 @@ Layer_PasteCanvas::get_param(const String& param)const
 }
 
 void
-Layer_PasteCanvas::set_time(Context context, Time time)const
+Layer_PasteCanvas::set_time(IndependentContext context, Time time)const
 {
+	Time time_offset=param_time_offset.get(Time());
+
 	if(depth==MAX_DEPTH)return;depth_counter counter(depth);
-	curr_time=time;
+	param_curr_time.set(time);
 
 	context.set_time(time);
 	if(canvas)
-	{
 		canvas->set_time(time+time_offset);
-
-		bounds=(canvas->get_context().get_full_bounding_rect()-focus)*exp(zoom)+origin+focus;
-	}
-	else
-		bounds=Rect::zero();
 }
 
 synfig::Layer::Handle
@@ -337,14 +340,19 @@ Layer_PasteCanvas::hit_check(synfig::Context context, const synfig::Point &pos)c
 {
 	if(depth==MAX_DEPTH)return 0;depth_counter counter(depth);
 
+	Vector origin=param_origin.get(Vector());
+	Vector focus=param_focus.get(Vector());
+	Real zoom=param_zoom.get(Real());
+	bool children_lock=param_children_lock.get(bool(true));
+	
 	if (canvas) {
 		Point target_pos=(pos-focus-origin)/exp(zoom)+focus;
 
-		if(canvas && get_amount() && canvas->get_context().get_color(target_pos).get_a()>=0.25)
+		if(canvas && get_amount() && canvas->get_context(context).get_color(target_pos).get_a()>=0.25)
 		{
 			if(!children_lock)
 			{
-				return canvas->get_context().hit_check(target_pos);
+				return canvas->get_context(context).hit_check(target_pos);
 			}
 			return const_cast<Layer_PasteCanvas*>(this);
 		}
@@ -355,6 +363,10 @@ Layer_PasteCanvas::hit_check(synfig::Context context, const synfig::Point &pos)c
 Color
 Layer_PasteCanvas::get_color(Context context, const Point &pos)const
 {
+	Vector origin=param_origin.get(Vector());
+	Vector focus=param_focus.get(Vector());
+	Real zoom=param_zoom.get(Real());
+	
 	if(!canvas || !get_amount())
 		return context.get_color(pos);
 
@@ -362,13 +374,39 @@ Layer_PasteCanvas::get_color(Context context, const Point &pos)const
 
 	Point target_pos=(pos-focus-origin)/exp(zoom)+focus;
 
-	return Color::blend(canvas->get_context().get_color(target_pos),context.get_color(pos),get_amount(),get_blend_method());
+	return Color::blend(canvas->get_context(context).get_color(target_pos),context.get_color(pos),get_amount(),get_blend_method());
 }
 
+Rect
+Layer_PasteCanvas::get_bounding_rect_context_dependent(const ContextParams &context_params)const
+{
+	Vector origin=param_origin.get(Vector());
+	Vector focus=param_focus.get(Vector());
+	Real zoom=param_zoom.get(Real());
+	return canvas
+		 ? (canvas->get_context(context_params).get_full_bounding_rect()-focus)*exp(zoom)+origin+focus
+		 : Rect::zero();
+}
+
+Rect
+Layer_PasteCanvas::get_full_bounding_rect(Context context)const
+{
+	if(is_disabled() || Color::is_onto(get_blend_method()))
+		return context.get_full_bounding_rect();
+
+	return context.get_full_bounding_rect()|get_bounding_rect_context_dependent(context.get_params());
+}
 
 bool
 Layer_PasteCanvas::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	Vector origin=param_origin.get(Vector());
+	Vector focus=param_focus.get(Vector());
+	Real zoom=param_zoom.get(Real());
+	Real outline_grow=param_outline_grow.get(Real());
+	Time time_offset=param_time_offset.get(Time());
+	Time curr_time=param_curr_time.get(Time());
+	
 	if(cb && !cb->amount_complete(0,10000)) return false;
 
 	if(depth==MAX_DEPTH)
@@ -405,9 +443,9 @@ Layer_PasteCanvas::accelerated_render(Context context,Surface *surface,int quali
 
 	if(muck_with_time_ && curr_time!=Time::begin() /*&& canvas->get_time()!=curr_time+time_offset*/)
 		canvas->set_time(curr_time+time_offset);
-
+		
 	Color::BlendMethod blend_method(get_blend_method());
-	const Rect full_bounding_rect(canvas->get_context().get_full_bounding_rect());
+	const Rect full_bounding_rect(canvas->get_context(context).get_full_bounding_rect());
 
 	bool blend_using_straight = false; // use 'straight' just for the central blit
 
@@ -543,7 +581,7 @@ Layer_PasteCanvas::accelerated_render(Context context,Surface *surface,int quali
 
 	// render the canvas to be pasted onto pastesurface
 	Surface pastesurface;
-	if(!canvas->get_context().accelerated_render(&pastesurface,quality,desc,&stagetwo))
+	if(!canvas->get_context(context).accelerated_render(&pastesurface,quality,desc,&stagetwo))
 		return false;
 
 #ifdef SYNFIG_CLIP_PASTECANVAS
@@ -564,142 +602,96 @@ Layer_PasteCanvas::accelerated_render(Context context,Surface *surface,int quali
 ///////
 
 bool
-Layer_PasteCanvas::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+Layer_PasteCanvas::accelerated_cairorender(Context context,cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	Vector origin=param_origin.get(Vector());
+	Vector focus=param_focus.get(Vector());
+	Real zoom=param_zoom.get(Real());
+	Real outline_grow=param_outline_grow.get(Real());
+	Time time_offset=param_time_offset.get(Time());
+	Time curr_time=param_curr_time.get(Time());
+
 	if(cb && !cb->amount_complete(0,10000)) return false;
 	
 	if(depth==MAX_DEPTH)
 		// if we are at the extent of our depth,
 		// then we should just return whatever is under us.
-		return context.accelerated_cairorender(surface,quality,renddesc,cb);
+		return context.accelerated_cairorender(cr,quality,renddesc,cb);
 	
 	depth_counter counter(depth);
 	
 	if(!canvas || !get_amount())
-		return context.accelerated_cairorender(surface,quality,renddesc,cb);
+		return context.accelerated_cairorender(cr,quality,renddesc,cb);
 	
 	SuperCallback stageone(cb,0,4500,10000);
 	SuperCallback stagetwo(cb,4500,9000,10000);
 	SuperCallback stagethree(cb,9000,9999,10000);
-	
-	RendDesc desc(renddesc);
-	Vector::value_type zoomfactor=1.0/exp(zoom);
-	desc.clear_flags();
-	desc.set_tl((desc.get_tl()-focus-origin)*zoomfactor+focus);
-	desc.set_br((desc.get_br()-focus-origin)*zoomfactor+focus);
-	desc.set_flags(RendDesc::PX_ASPECT);
-	
-	if (is_solid_color() || context->empty())
-	{
-		// clear the surface
-		cairo_t* cr=cairo_create(surface);
-		cairo_set_operator(cr, CAIRO_OPERATOR_CLEAR);
-		cairo_paint(cr);
-		cairo_destroy(cr);
-	}
-	else if (!context.accelerated_cairorender(surface,quality,renddesc,&stageone))
-		return false;
+		
 	
 	Real grow_value(get_parent_canvas_grow_value());
 	canvas->set_grow_value(outline_grow+grow_value);
 	
 	if(muck_with_time_ && curr_time!=Time::begin() /*&& canvas->get_time()!=curr_time+time_offset*/)
 		canvas->set_time(curr_time+time_offset);
-	
-	Color::BlendMethod blend_method(get_blend_method());
-	const Rect full_bounding_rect(canvas->get_context().get_full_bounding_rect());
-	
-	bool blend_using_straight = false; // use 'straight' just for the central blit
-	
-	// sometimes the user changes the parameters while we're
-	// rendering, causing our pasted canvas' bounding box to shrink
-	// and no longer overlap with our tile.  if that has happened,
-	// let's just stop now - we'll be refreshing soon anyway
-	//! \todo shouldn't a mutex ensure this isn't needed?
-	// http://synfig.org/images/d/d2/Bbox-change.sifz is an example
-	// that shows this happening - open the encapsulation, select the
-	// 'shade', and toggle the 'invert' parameter quickly.
-	// Occasionally you'll see:
-	//   error: Context::accelerated_render(): Layer "shade" threw a bad_alloc exception!
-	// where the shade layer tries to allocate itself a canvas of
-	// negative proportions, due to changing bounding boxes.
-	if (!etl::intersect(desc.get_rect(), full_bounding_rect))
-	{
-		warning("%s:%d bounding box shrank while rendering?", __FILE__, __LINE__);
-		return true;
-	}
-	
-	// we have rendered what's under us, if necessary
-	if(context->empty())
-	{
-		// if there's nothing under us, and we're blending 'onto', then we've finished
-		if (Color::is_onto(blend_method)) return true;
-		
-		// there's nothing under us, so using straight blending is
-		// faster than and equivalent to using composite, but we don't
-		// want to blank the surrounding areas.
-		if (blend_method==Color::BLEND_COMPOSITE) blend_using_straight = true;
-	}
 
-	Rect area(desc.get_rect() & full_bounding_rect);
-	
-	Point min(area.get_min());
-	Point max(area.get_max());
+	bool ret;
+	RendDesc workdesc(renddesc);
 	
-	if (desc.get_tl()[0] > desc.get_br()[0]) swap(min[0], max[0]);
-	if (desc.get_tl()[1] > desc.get_br()[1]) swap(min[1], max[1]);
-	
-	const int x(floor_to_int((min[0] - desc.get_tl()[0]) / desc.get_pw()));
-	const int y(floor_to_int((min[1] - desc.get_tl()[1]) / desc.get_ph()));
-	const int w( ceil_to_int((max[0] - desc.get_tl()[0]) / desc.get_pw()) - x);
-	const int h( ceil_to_int((max[1] - desc.get_tl()[1]) / desc.get_ph()) - y);
-		
-	desc.set_subwindow(x,y,w,h);
+	// Render the background
+	ret=context.accelerated_cairorender(cr, quality, renddesc, &stagethree);
+	if(!ret)
+		return false;
+
+
+	// render the canvas to be pasted onto pastesurface
+	cairo_surface_t* pastesurface=cairo_surface_create_similar_image(cairo_get_target(cr), CAIRO_FORMAT_ARGB32, workdesc.get_w(), workdesc.get_h());
+	cairo_t* subcr=cairo_create(pastesurface);
+	// apply the transformations form the current context
+	cairo_matrix_t matrix;
+	cairo_get_matrix(cr, &matrix);
+	// apply the transformations form the (paste canvas) group layer
+	cairo_set_matrix(subcr, &matrix);
+	cairo_translate(subcr, origin[0], origin[1]);
+	cairo_translate(subcr, focus[0], focus[1]);
+	cairo_scale(subcr, exp(zoom), exp(zoom));
+	cairo_translate(subcr, -focus[0], -focus[1]);
+	// Effectively render the canvas content
+	ret=canvas->get_context(context).accelerated_cairorender(subcr, quality, workdesc, &stagetwo);
+	// we are done apply the result to the source
+	cairo_destroy(subcr);
 	
-	if(desc.get_w()==0 || desc.get_h()==0)
-	{
-		if(cb && !cb->amount_complete(10000,10000)) return false;
-		return true;
-	}
+	if(!ret)
+		return false;
+	// Let's paint the result with its alpha
+	cairo_save(cr);
 
-	if (!etl::intersect(context.get_full_bounding_rect(),(full_bounding_rect-focus)*exp(zoom)+origin+focus))
+	cairo_status_t status;
+	status=cairo_matrix_invert(&matrix);
+	if(status) // doh! the matrix can't be inverted!
 	{
-		// if there's no intersection between the context and our
-		// surface, and we're rendering 'onto', then we're done
-		if (Color::is_onto(blend_method) && !Color::is_straight(blend_method))
-			return true;
-	}
-	
-	// render the canvas to be pasted onto pastesurface
-	cairo_surface_t* pastesurface=cairo_surface_create_similar_image(surface, CAIRO_FORMAT_ARGB32, desc.get_w(), desc.get_h());
-	if(!canvas->get_context().accelerated_cairorender(pastesurface,quality,desc,&stagetwo))
+		synfig::error("Can't invert current Cairo matrix!");
 		return false;
+	}
+	// apply the inverse of the transformation of the current context to
+	// compensate the pending transformations form cr to be applied.
+	cairo_transform(cr, &matrix);
+	cairo_set_source_surface(cr, pastesurface, 0, 0);
+	cairo_paint_with_alpha_operator(cr, get_amount(), get_blend_method());
 
-	cairo_t *cr = cairo_create(surface);
-	cairo_set_source_surface(cr, pastesurface, x, y);
+	cairo_restore(cr);
 	cairo_surface_destroy(pastesurface);
-	cairo_paint_with_alpha_operator(cr, get_amount(), blend_using_straight ? Color::BLEND_STRAIGHT : blend_method);
-	cairo_destroy(cr);
-	
+
 	if(cb && !cb->amount_complete(10000,10000)) return false;
 	
 	return true;
 }
-
-
 ///////
 
 
-
-
-Rect
-Layer_PasteCanvas::get_bounding_rect()const
-{
-	return bounds;
-}
-
 void Layer_PasteCanvas::get_times_vfunc(Node::time_set &set) const
 {
+	Time time_offset=param_time_offset.get(Time());
+
 	Node::time_set tset;
 	if(canvas) tset = canvas->get_times();
 
@@ -719,24 +711,11 @@ void Layer_PasteCanvas::get_times_vfunc(Node::time_set &set) const
 }
 
 
-bool
-Layer_PasteCanvas::set_param_static(const String &param, const bool x)
-{
-	return Layer_Composite::set_param_static(param, x);
-}
-
-
-bool
-Layer_PasteCanvas::get_param_static(const String &param) const
-{
-	return Layer_Composite::get_param_static(param);
-}
-
 void
 Layer_PasteCanvas::set_render_method(Context context, RenderMethod x)
 {
 	if(canvas) // if there is a canvas pass down to it
-		canvas->get_context().set_render_method(x);
+		canvas->get_context(context).set_render_method(x);
 
 	// in any case pass it down
 	context.set_render_method(x);
diff --git a/src/synfig/layer_pastecanvas.h b/src/synfig/layer_pastecanvas.h
index 14816c0..4a12364 100644
--- a/src/synfig/layer_pastecanvas.h
+++ b/src/synfig/layer_pastecanvas.h
@@ -53,26 +53,28 @@ class Layer_PasteCanvas : public Layer_Composite, public Layer_NoDeform
 	//! Layer module: defines the needed members to belong to a layer's factory.
 	SYNFIG_LAYER_MODULE_EXT
 private:
-	//! Parameter Origin of the paste canvas layer
-	Vector origin;
-	//!Parameter Focus of the zoom of the paste canvas layer
-	Vector focus;
-	//! The canvas parameter
+	//! Parameter: (Vector) Origin of the paste canvas layer
+	ValueBase param_origin;
+	//! Parameter: (Vector) Focus of the zoom of the paste canvas layer
+	ValueBase param_focus;
+	//! Parameter: (etl::loose_handle<synfig::Canvas>) The canvas parameter
 	etl::loose_handle<synfig::Canvas> canvas;
-	//! Recursion depth counter. Not a parameter
-	mutable int depth;
-	//! Zoom parameter of the paste canvas layer
-	Real zoom;
-	//! Time offset parameter of the paste canvas layer
-	Time time_offset;
-	//! Current time of the paste canvas layer. \see set_time
-	mutable Time curr_time;
-	//! The value to grow the children outline layers
-	Real outline_grow;
-	//! \todo writeme! Not a parameter
+	//! Parameter: (Real) Zoom of the paste canvas layer
+	ValueBase param_zoom;
+	//! Parameter: (Time) Time offset of the paste canvas layer
+	ValueBase param_time_offset;
+	//! Parameter: (Real) The value to grow the children outline layers
+	ValueBase param_outline_grow;
+	//! Parameter: (bool) Value that avoid hit check to go depth into the children.
+	ValueBase param_children_lock;
+	//! Parameter: Current time of the paste canvas layer. \see set_time
+	mutable ValueBase param_curr_time;
+
+	//! \todo writeme!
 	bool muck_with_time_;
-	//! Parameter that avoid hit check to go depth into the children.
-	bool children_lock;
+	//! Recursion depth counter.
+	mutable int depth;
+
 	//! Boundaries of the paste canvas layer. It is the canvas's boundary
 	//! affected by the zoom, origin and focus.
 	mutable Rect bounds;
@@ -143,13 +145,13 @@ public:
 	//! \see get_sub_canvas()
 	void set_sub_canvas(etl::handle<synfig::Canvas> x);
 	//! Gets zoom parameter
-	Real get_zoom()const { return zoom; }
+	Real get_zoom()const { return param_zoom.get(Real()); }
 	//! Gets time offset parameter
-	Time get_time_offset()const { return time_offset; }
+	Time get_time_offset()const { return param_time_offset.get(Time()); }
 	//! Get origin parameter
-	Point get_origin()const { return origin; }
+	Point get_origin()const { return param_origin.get(Vector()); }
 	//! Get focus parameter
-	Vector get_focus()const { return focus; }
+	Vector get_focus()const { return param_focus.get(Vector()); }
 	//! Default constructor
 	Layer_PasteCanvas();
 	//! Destructor
@@ -160,20 +162,21 @@ public:
 	virtual bool set_param(const String & param, const synfig::ValueBase &value);
 	//! Get the value of the specified parameter. \see Layer::get_param
 	virtual ValueBase get_param(const String & param)const;
-	virtual bool set_param_static(const String &param, const bool x);
-	virtual bool get_param_static(const String &param) const;
 	//! Gets the blend color of the Layer in the context at \a pos
 	virtual Color get_color(Context context, const Point &pos)const;
 	//! Sets the time of the Paste Canvas Layer and those under it
-	virtual void set_time(Context context, Time time)const;
+	virtual void set_time(IndependentContext context, Time time)const;
 	//! Renders the Canvas to the given Surface in an accelerated manner
 	//! See Layer::accelerated_render
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(Context context, cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	//! Bounding rect for this layer depends from context_params
+	Rect get_bounding_rect_context_dependent(const ContextParams &context_params)const;
+	//!Returns the rectangle that includes the context of the layer and
+	//! the intersection of the layer in case it is active and not onto
+	virtual Rect get_full_bounding_rect(Context context)const;
 	//! Gets the parameter vocabulary
 	virtual Vocab get_param_vocab()const;
-	//! Returns the rectangle that includes the layer
-	virtual synfig::Rect get_bounding_rect()const;
 	//! Checks to see if a part of the Paste Canvas Layer is directly under \a point
 	virtual synfig::Layer::Handle hit_check(synfig::Context context, const synfig::Point &point)const;
 	virtual void set_render_method(Context context, RenderMethod x);
diff --git a/src/synfig/layer_polygon.cpp b/src/synfig/layer_polygon.cpp
index 486d906..e98d12f 100644
--- a/src/synfig/layer_polygon.cpp
+++ b/src/synfig/layer_polygon.cpp
@@ -40,7 +40,6 @@
 #include "surface.h"
 #include "value.h"
 #include "valuenode.h"
-//#include "ETL/bezier"
 #include <vector>
 
 #include <deque>
@@ -69,14 +68,17 @@ SYNFIG_LAYER_SET_CVS_ID(Layer_Polygon,"$Id$");
 
 Layer_Polygon::Layer_Polygon():
 	Layer_Shape(1.0,Color::BLEND_COMPOSITE),
-	vector_list(0)
+	param_vector_list(ValueBase(std::vector<Point>()))
 {
+	std::vector<Point> vector_list;
 	vector_list.push_back(Point(0,0.5));
 	vector_list.push_back(Point(-0.333333,0));
 	vector_list.push_back(Point(0.333333,0));
+	param_vector_list.set(vector_list);
 	sync();
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 Layer_Polygon::~Layer_Polygon()
@@ -136,28 +138,33 @@ Layer_Polygon::add_polygon(const std::vector<Point> &point_list)
 void
 Layer_Polygon::upload_polygon(const std::vector<Point> &point_list)
 {
+	std::vector<Point> vector_list(param_vector_list.get_list().begin(), param_vector_list.get_list().end());
+	
 	vector_list.clear();
 	int i,pointcount=point_list.size();
 	for(i = 0;i < pointcount; i++)
 	{
 		vector_list.push_back(point_list[i]);
 	}
-	
+	param_vector_list.set(vector_list);
 }
 
 void
 Layer_Polygon::clear()
 {
+	std::vector<Point> vector_list(param_vector_list.get_list().begin(), param_vector_list.get_list().end());
+
 	Layer_Shape::clear();
 	vector_list.clear();
+	param_vector_list.set(vector_list);
 }
 
 bool
 Layer_Polygon::set_param(const String & param, const ValueBase &value)
 {
-	if(	param=="vector_list" && value.same_type_as(vector_list))
+	if(	param=="vector_list" && param_vector_list.get_type()==value.get_type())
 	{
-		vector_list=value;
+		param_vector_list=value;
 		Layer_Shape::clear();
 		add_polygon(value);
 		sync();
@@ -170,7 +177,7 @@ Layer_Polygon::set_param(const String & param, const ValueBase &value)
 ValueBase
 Layer_Polygon::get_param(const String &param)const
 {
-	EXPORT(vector_list);
+	EXPORT_VALUE(param_vector_list);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -192,186 +199,3 @@ Layer_Polygon::get_param_vocab()const
 	return ret;
 }
 
-
-/////////
-bool
-Layer_Polygon::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
-{
-	//synfig::info("rendering Cairo polygon");
-
-	// Grab the rgba values
-	const float r(color.get_r());
-	const float g(color.get_g());
-	const float b(color.get_b());
-	const float a(color.get_a());
-
-	// Window Boundaries
-	const Point	tl(renddesc.get_tl());
-	const Point br(renddesc.get_br());
-	const int	w(renddesc.get_w());
-	const int	h(renddesc.get_h());
-	
-	// Width and Height of a pixel
-	const Real pw = (br[0] - tl[0]) / w;
-	const Real ph = (br[1] - tl[1]) / h;
-	
-	// These are the scale and translation values
-	const double sx(1/pw);
-	const double sy(1/ph);
-	const double tx((-tl[0]+origin[0])*sx);
-	const double ty((-tl[1]+origin[1])*sy);
-
-	cairo_t* cr=cairo_create(surface);
-	// Let's render the polygon in other surface
-	// Initially I'll fill it completely with the alpha color
-	cairo_surface_t* subimage;
-	// Let's calculate the subimage dimensions based on the feather value
-	//so make a separate surface
-	RendDesc	workdesc(renddesc);
-	int halfsizex(0), halfsizey(0);
-	if(feather && quality != 10)
-	{
-		//the expanded size = 1/2 the size in each direction rounded up
-		halfsizex = (int) (abs(feather*.5/pw) + 3),
-		halfsizey = (int) (abs(feather*.5/ph) + 3);
-		
-		//expand by 1/2 size in each direction on either side
-		switch(blurtype)
-		{
-			case Blur::DISC:
-			case Blur::BOX:
-			case Blur::CROSS:
-			{
-				workdesc.set_subwindow(-max(1,halfsizex),-max(1,halfsizey),w+2*max(1,halfsizex),h+2*max(1,halfsizey));
-				break;
-			}
-			case Blur::FASTGAUSSIAN:
-			{
-				if(quality < 4)
-				{
-					halfsizex*=2;
-					halfsizey*=2;
-				}
-				workdesc.set_subwindow(-max(1,halfsizex),-max(1,halfsizey),w+2*max(1,halfsizex),h+2*max(1,halfsizey));
-				break;
-			}
-			case Blur::GAUSSIAN:
-			{
-#define GAUSSIAN_ADJUSTMENT		(0.05)
-				Real	pw = (Real)workdesc.get_w()/(workdesc.get_br()[0]-workdesc.get_tl()[0]);
-				Real 	ph = (Real)workdesc.get_h()/(workdesc.get_br()[1]-workdesc.get_tl()[1]);
-				
-				pw=pw*pw;
-				ph=ph*ph;
-				
-				halfsizex = (int)(abs(pw)*feather*GAUSSIAN_ADJUSTMENT+0.5);
-				halfsizey = (int)(abs(ph)*feather*GAUSSIAN_ADJUSTMENT+0.5);
-				
-				halfsizex = (halfsizex + 1)/2;
-				halfsizey = (halfsizey + 1)/2;
-				workdesc.set_subwindow( -halfsizex, -halfsizey, w+2*halfsizex, h+2*halfsizey );
-				break;
-#undef GAUSSIAN_ADJUSTMENT
-			}
-		}
-	}
-	subimage=cairo_surface_create_similar(surface, CAIRO_CONTENT_COLOR_ALPHA, workdesc.get_w(), workdesc.get_h());
-	cairo_t* subcr=cairo_create(subimage);
-	cairo_save(subcr);
-	cairo_set_source_rgba(subcr, r, g, b, a);
-	// Now let's check if it is inverted
-	if(invert)
-	{
-		cairo_paint(subcr);
-	}
-	// Draw the polygon
-	// Calculate new translations after expand the tile
-	const double extx((-workdesc.get_tl()[0]+origin[0])*sx);
-	const double exty((-workdesc.get_tl()[1]+origin[1])*sy);
-	
-	cairo_save(subcr);
-	cairo_translate(subcr, extx , exty);
-	cairo_scale(subcr, sx, sy);
-	int i,pointcount=vector_list.size();
-	for(i=0;i<pointcount; i++)
-	{
-		cairo_line_to(subcr, vector_list[i][0], vector_list[i][1]);
-	}
-	cairo_close_path(subcr);
-	if(invert)
-		cairo_set_operator(subcr, CAIRO_OPERATOR_CLEAR);
-	else
-		cairo_set_operator(subcr, CAIRO_OPERATOR_OVER);
-	switch(winding_style)
-	{
-		case WINDING_NON_ZERO:
-		cairo_set_fill_rule(subcr, CAIRO_FILL_RULE_WINDING);
-		break;
-		default:
-		cairo_set_fill_rule(subcr, CAIRO_FILL_RULE_EVEN_ODD);
-		break;
-	}
-	if(!antialias)
-		cairo_set_antialias(subcr, CAIRO_ANTIALIAS_NONE);
-
-	cairo_fill(subcr);
-	cairo_restore(subcr);
-	if(feather && quality!=10)
-	{
-		etl::surface<float>	shapesurface;
-		shapesurface.set_wh(workdesc.get_w(),workdesc.get_h());
-		shapesurface.clear();
-
-		CairoSurface cairosubimage(subimage);
-		if(!cairosubimage.map_cairo_image())
-		{
-			synfig::info("map cairo image failed");
-			return false;
-		}
-		// Extract the alpha values:
-		int x, y;
-		int wh(workdesc.get_h()), ww(workdesc.get_w());
-		float div=1.0/((float)(CairoColor::ceil));
-		for(y=0; y<wh; y++)
-			for(x=0;x<ww;x++)
-				shapesurface[y][x]=cairosubimage[y][x].get_a()*div;
-		// Blue the alpha values
-		Blur(feather,feather,blurtype,cb)(shapesurface,workdesc.get_br()-workdesc.get_tl(),shapesurface);
-		// repaint the cairosubimage with the result
-		Color ccolor(color);
-		for(y=0; y<wh; y++)
-			for(x=0;x<ww;x++)
-			{
-				float a=shapesurface[y][x];
-				ccolor.set_a(a);
-				ccolor.clamped();
-				cairosubimage[y][x]=CairoColor(ccolor).premult_alpha();
-			}
-		
-		cairosubimage.unmap_cairo_image();
-	}
-	
-	// Put the (feathered) polygon on the surface
-	if(!is_solid_color()) // we need to render the context before
-		if(!context.accelerated_cairorender(surface,quality,renddesc,cb))
-		{
-			if(cb)
-				cb->error(strprintf(__FILE__"%d: Accelerated Cairo Renderer Failure",__LINE__));
-			cairo_destroy(cr);
-			cairo_destroy(subcr);
-			cairo_surface_destroy(subimage);
-			return false;
-		}
-	const double px(tl[0]-workdesc.get_tl()[0]);
-	const double py(tl[1]-workdesc.get_tl()[1]);
-	cairo_set_source_surface(cr, subimage, -px*sx, -py*sy);
-	cairo_paint_with_alpha_operator(cr, get_amount(), get_blend_method());
-	cairo_restore(cr);
-	cairo_surface_destroy(subimage);
-	cairo_destroy(subcr);
-	cairo_destroy(cr);
-
-	return true;
-}
-
-/////////
diff --git a/src/synfig/layer_polygon.h b/src/synfig/layer_polygon.h
index 6f60f31..d129b87 100644
--- a/src/synfig/layer_polygon.h
+++ b/src/synfig/layer_polygon.h
@@ -51,8 +51,8 @@ class Layer_Polygon : public Layer_Shape
 
 private:
 
-	//exported data
-	std::vector< Point > 	vector_list;
+	//! Parameter: (std::vector<Point>)
+	ValueBase param_vector_list;
 
 protected:
 
@@ -88,8 +88,6 @@ public:
 	virtual ValueBase get_param(const String & param)const;
 
 	virtual Vocab get_param_vocab()const;
-	virtual bool accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-
 private:
 	class 		PolySpan;
 	bool render_polyspan(Surface *surface,PolySpan &polyspan)const;
diff --git a/src/synfig/layer_shape.cpp b/src/synfig/layer_shape.cpp
index 0cda467..e8e61be 100644
--- a/src/synfig/layer_shape.cpp
+++ b/src/synfig/layer_shape.cpp
@@ -42,6 +42,8 @@
 #include "valuenode.h"
 #include "float.h"
 #include "blur.h"
+#include "cairo_renddesc.h"
+
 
 #include "curve_helper.h"
 
@@ -1122,18 +1124,18 @@ public:
 /* === M E T H O D S ======================================================= */
 
 Layer_Shape::Layer_Shape(const Real &a, const Color::BlendMethod m):
-	Layer_Composite	(a,m),
-	edge_table		(new Intersector),
-	color			(Color::black()),
-	origin			(0,0),
-	invert			(false),
-	antialias		(true),
-	blurtype		(Blur::FASTGAUSSIAN),
-	feather			(0),
-	winding_style	(WINDING_NON_ZERO),
-	bytestream		(0),
-	lastbyteop		(Primitive::NONE),
-	lastoppos		(-1)
+	Layer_Composite      (a,m),
+	edge_table	         (new Intersector),
+	param_color          (Color::black()),
+	param_origin         (Vector(0,0)),
+	param_invert         (bool(false)),
+	param_antialias      (bool(true)),
+	param_blurtype       (int(Blur::FASTGAUSSIAN)),
+	param_feather        (Real(0.0)),
+	param_winding_style	 (WINDING_NON_ZERO),
+	bytestream           (0),
+	lastbyteop           (Primitive::NONE),
+	lastoppos            (-1)
 {
 }
 
@@ -1152,31 +1154,57 @@ Layer_Shape::clear()
 bool
 Layer_Shape::set_param(const String & param, const ValueBase &value)
 {
-	IMPORT_PLUS(color, { if (color.get_a() == 0) { if (converted_blend_) {
-					set_blend_method(Color::BLEND_ALPHA_OVER);
-					color.set_a(1); } else transparent_color_ = true; } });
-	IMPORT(origin);
-	IMPORT(invert);
-	IMPORT(antialias);
-	IMPORT_PLUS(feather, if(feather<0)feather=0;);
-	IMPORT(blurtype);
-	IMPORT(winding_style);
-
-	IMPORT_AS(origin,"offset");
+	IMPORT_VALUE_PLUS(param_color,
+	{
+		Color color=param_color.get(Color());
+		if (color.get_a() == 0)
+		{
+			if (converted_blend_)
+			{
+				set_blend_method(Color::BLEND_ALPHA_OVER);
+				color.set_a(1);
+			}
+			else
+			transparent_color_ = true;
+		}
+		param_color.set(color);
+	}
+	);
+	IMPORT_VALUE(param_origin);
+	IMPORT_VALUE(param_invert);
+	IMPORT_VALUE(param_antialias);
+	IMPORT_VALUE_PLUS(param_feather,
+	{
+		Real feather=param_feather.get(Real());
+		if(feather<0)
+		{
+			feather=0;
+			param_feather.set(feather);
+		}
+	}
+	);
 
+	IMPORT_VALUE(param_blurtype);
+	IMPORT_VALUE(param_winding_style);
+
+	if(param=="offset" && param_origin.get_type() == value.get_type())
+	{
+		param_origin=value;
+		return true;
+	}
 	return Layer_Composite::set_param(param,value);
 }
 
 ValueBase
 Layer_Shape::get_param(const String &param)const
 {
-	EXPORT(color);
-	EXPORT(origin);
-	EXPORT(invert);
-	EXPORT(antialias);
-	EXPORT(feather);
-	EXPORT(blurtype);
-	EXPORT(winding_style);
+	EXPORT_VALUE(param_color);
+	EXPORT_VALUE(param_origin);
+	EXPORT_VALUE(param_invert);
+	EXPORT_VALUE(param_antialias);
+	EXPORT_VALUE(param_feather);
+	EXPORT_VALUE(param_blurtype);
+	EXPORT_VALUE(param_winding_style);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -1230,6 +1258,10 @@ Layer_Shape::get_param_vocab()const
 synfig::Layer::Handle
 Layer_Shape::hit_check(synfig::Context context, const synfig::Point &p)const
 {
+	Color color=param_color.get(Color());
+	Point origin=param_origin.get(Point());
+	bool invert =param_invert.get(bool(true));
+	
 	Point pos(p-origin);
 
 	int intercepts = edge_table->intersect(pos[0],pos[1]);
@@ -1272,6 +1304,12 @@ Layer_Shape::hit_check(synfig::Context context, const synfig::Point &p)const
 Color
 Layer_Shape::get_color(Context context, const Point &p)const
 {
+	Color color=param_color.get(Color());
+	Point origin=param_origin.get(Point());
+	bool invert =param_invert.get(bool(true));
+	int blurtype=param_blurtype.get(int());
+	Real feather=param_feather.get(Real());
+
 	Point pp = p;
 
 	if(feather)
@@ -2160,6 +2198,11 @@ void Layer_Shape::curve_to_smooth(Real x2, Real y2, Real x, Real y)		//x1,y1 der
 bool Layer_Shape::render_polyspan(Surface *surface, PolySpan &polyspan,
 								Color::BlendMethod got_blend_method, Color::value_type got_amount) const
 {
+	Color color=param_color.get(Color());
+	bool invert =param_invert.get(bool(true));
+	bool antialias =param_antialias.get(bool(true));
+	WindingStyle winding_style=param_winding_style.get(WINDING_NON_ZERO);
+
 	Surface::alpha_pen p(surface->begin(),got_amount,got_blend_method);
 	PolySpan::cover_array::iterator cur_mark = polyspan.covers.begin();
 	PolySpan::cover_array::iterator end_mark = polyspan.covers.end();
@@ -2285,6 +2328,10 @@ bool Layer_Shape::render_polyspan(Surface *surface, PolySpan &polyspan,
 
 bool Layer_Shape::render_polyspan(etl::surface<float> *surface, PolySpan &polyspan) const
 {
+	bool invert =param_invert.get(bool(true));
+	bool antialias =param_antialias.get(bool(true));
+	WindingStyle winding_style=param_winding_style.get(WINDING_NON_ZERO);
+
 	etl::surface<float>::pen p(surface->begin());
 	PolySpan::cover_array::iterator cur_mark = polyspan.covers.begin();
 	PolySpan::cover_array::iterator end_mark = polyspan.covers.end();
@@ -2460,6 +2507,12 @@ bool Layer_Shape::render_polyspan(etl::surface<float> *surface, PolySpan &polysp
 bool
 Layer_Shape::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	Color color=param_color.get(Color());
+	Point origin=param_origin.get(Point());
+	bool invert =param_invert.get(bool(true));
+	int blurtype=param_blurtype.get(int());
+	Real feather=param_feather.get(Real());
+
 	const unsigned int w = renddesc.get_w();
 	const unsigned int h = renddesc.get_h();
 
@@ -2620,6 +2673,183 @@ Layer_Shape::accelerated_render(Context context,Surface *surface,int quality, co
 	}
 
 }
+
+////
+bool
+Layer_Shape::accelerated_cairorender(Context context,cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+{
+	Color color=param_color.get(Color());
+	Point origin=param_origin.get(Point());
+	bool invert =param_invert.get(bool(true));
+	bool antialias =param_antialias.get(bool(true));
+	int blurtype=param_blurtype.get(int());
+	Real feather=param_feather.get(Real());
+	WindingStyle winding_style=param_winding_style.get(WINDING_NON_ZERO);
+
+	// Grab the rgba values
+	const float r(color.get_r());
+	const float g(color.get_g());
+	const float b(color.get_b());
+	const float a(color.get_a());
+	
+	// First render the context
+	if(!is_solid_color())
+		if(!context.accelerated_cairorender(cr,quality,renddesc,cb))
+		{
+			if(cb)
+				cb->error(strprintf(__FILE__"%d: Accelerated Cairo Renderer Failure",__LINE__));
+			return false;
+		}
+	
+	if(feather && quality != 10)
+	{
+		cairo_surface_t* subimage;
+		RendDesc	workdesc(renddesc);
+		
+		// Untransform the render desc
+		if(!cairo_renddesc_untransform(cr, workdesc))
+			return false;
+		
+		int halfsizex(0), halfsizey(0);
+		
+		int w=workdesc.get_w(), h=workdesc.get_h();
+		const double wpw=(workdesc.get_br()[0]-workdesc.get_tl()[0])/w;
+		const double wph=(workdesc.get_br()[1]-workdesc.get_tl()[1])/h;
+		//the expanded size = 1/2 the size in each direction rounded up
+		halfsizex = (int) (abs(feather*.5/wpw) + 3),
+		halfsizey = (int) (abs(feather*.5/wph) + 3);
+		
+		//expand by 1/2 size in each direction on either side
+		switch(blurtype)
+		{
+			case Blur::DISC:
+			case Blur::BOX:
+			case Blur::CROSS:
+			{
+				workdesc.set_subwindow(-max(1,halfsizex),-max(1,halfsizey),w+2*max(1,halfsizex),h+2*max(1,halfsizey));
+				break;
+			}
+			case Blur::FASTGAUSSIAN:
+			{
+				if(quality < 4)
+				{
+					halfsizex*=2;
+					halfsizey*=2;
+				}
+				workdesc.set_subwindow(-max(1,halfsizex),-max(1,halfsizey),w+2*max(1,halfsizex),h+2*max(1,halfsizey));
+				break;
+			}
+			case Blur::GAUSSIAN:
+			{
+#define GAUSSIAN_ADJUSTMENT		(0.05)
+				Real	pw = (Real)workdesc.get_w()/(workdesc.get_br()[0]-workdesc.get_tl()[0]);
+				Real 	ph = (Real)workdesc.get_h()/(workdesc.get_br()[1]-workdesc.get_tl()[1]);
+				
+				pw=pw*pw;
+				ph=ph*ph;
+				
+				halfsizex = (int)(abs(pw)*feather*GAUSSIAN_ADJUSTMENT+0.5);
+				halfsizey = (int)(abs(ph)*feather*GAUSSIAN_ADJUSTMENT+0.5);
+				
+				halfsizex = (halfsizex + 1)/2;
+				halfsizey = (halfsizey + 1)/2;
+				workdesc.set_subwindow( -halfsizex, -halfsizey, w+2*halfsizex, h+2*halfsizey );
+				break;
+#undef GAUSSIAN_ADJUSTMENT
+			}
+		}
+		
+		// New expanded workdesc values
+		const int ww=workdesc.get_w();
+		const int wh=workdesc.get_h();
+		const double wtlx=workdesc.get_tl()[0];
+		const double wtly=workdesc.get_tl()[1];
+		subimage=cairo_surface_create_similar(cairo_get_target(cr), CAIRO_CONTENT_COLOR_ALPHA, ww, wh);
+		cairo_t* subcr=cairo_create(subimage);
+		cairo_scale(subcr, 1/wpw, 1/wph);
+		cairo_translate(subcr, -wtlx, -wtly);
+		cairo_translate(subcr, origin[0], origin[1]);
+		switch(winding_style)
+		{
+			case WINDING_NON_ZERO:
+				cairo_set_fill_rule(subcr, CAIRO_FILL_RULE_WINDING);
+				break;
+			default:
+				cairo_set_fill_rule(subcr, CAIRO_FILL_RULE_EVEN_ODD);
+				break;
+		}
+		
+		cairo_set_source_rgba(subcr, r, g, b, a);
+		if(invert)
+			cairo_paint(subcr);
+		// Draw the shape
+		if(!antialias)
+			cairo_set_antialias(subcr, CAIRO_ANTIALIAS_NONE);
+		if(invert)
+			cairo_set_operator(subcr, CAIRO_OPERATOR_CLEAR);
+		else
+			cairo_set_operator(subcr, CAIRO_OPERATOR_OVER);
+		
+		Layer_Shape::shape_to_cairo(subcr);
+		cairo_clip(subcr);
+		cairo_paint(subcr);
+		
+		if(!feather_cairo_surface(subimage, workdesc, quality))
+		{
+			cairo_surface_destroy(subimage);
+			cairo_destroy(subcr);
+			return false;
+		}
+		cairo_destroy(subcr);
+		
+		cairo_save(cr);
+		cairo_translate(cr, wtlx, wtly);
+		cairo_scale(cr, wpw, wph);
+		cairo_set_source_surface(cr, subimage, 0, 0);
+		cairo_paint_with_alpha_operator(cr, get_amount(), get_blend_method());
+		cairo_restore(cr);
+		cairo_surface_destroy(subimage);
+		return true;
+	}
+	cairo_save(cr);
+	cairo_translate(cr, origin[0], origin[1]);
+	cairo_set_source_rgba(cr, r, g, b, a);
+	switch(winding_style)
+	{
+		case WINDING_NON_ZERO:
+			cairo_set_fill_rule(cr, CAIRO_FILL_RULE_WINDING);
+			break;
+		default:
+			cairo_set_fill_rule(cr, CAIRO_FILL_RULE_EVEN_ODD);
+			break;
+	}
+	if(!antialias)
+		cairo_set_antialias(cr, CAIRO_ANTIALIAS_NONE);
+	if(invert)
+	{
+		cairo_push_group(cr);
+		cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
+		cairo_set_source_rgba(cr, r, g, b, a);
+		cairo_paint(cr);
+		Layer_Shape::shape_to_cairo(cr);
+		cairo_set_operator(cr, CAIRO_OPERATOR_CLEAR);
+		cairo_clip(cr);
+		cairo_paint(cr);
+		cairo_pop_group_to_source(cr);
+		cairo_paint_with_alpha_operator(cr, get_amount(), get_blend_method());
+	}
+	else
+	{
+		Layer_Shape::shape_to_cairo(cr);
+		cairo_clip(cr);
+		cairo_paint_with_alpha_operator(cr, get_amount(), get_blend_method());
+	}
+	cairo_restore(cr);
+	return true;
+}
+////
+
+
 //
 bool
 Layer_Shape::shape_to_cairo(cairo_t *cr)const
@@ -2812,9 +3042,56 @@ Layer_Shape::shape_to_cairo(cairo_t *cr)const
 //
 
 bool
+Layer_Shape::feather_cairo_surface(cairo_surface_t* surface, RendDesc renddesc, int quality)const
+{
+	Color color=param_color.get(Color());
+	int blurtype=param_blurtype.get(int());
+	Real feather=param_feather.get(Real());
+
+	if(feather && quality!=10)
+	{
+		etl::surface<float>	shapesurface;
+		shapesurface.set_wh(renddesc.get_w(),renddesc.get_h());
+		shapesurface.clear();
+		
+		CairoSurface cairosurface(surface);
+		if(!cairosurface.map_cairo_image())
+		{
+			synfig::info("map cairo image failed");
+			return false;
+		}
+		// Extract the alpha values:
+		int x, y;
+		int h(renddesc.get_h()), w(renddesc.get_w());
+		float div=1.0/((float)(CairoColor::ceil));
+		for(y=0; y<h; y++)
+			for(x=0;x<w;x++)
+				shapesurface[y][x]=cairosurface[y][x].get_a()*div;
+		// Blue the alpha values
+		Blur(feather,feather,blurtype)(shapesurface, renddesc.get_br()-renddesc.get_tl(), shapesurface);
+		// repaint the cairosurface with the result
+		Color ccolor(color);
+		for(y=0; y<h; y++)
+			for(x=0;x<w;x++)
+			{
+				float a=shapesurface[y][x];
+				ccolor.set_a(a);
+				ccolor.clamped();
+				cairosurface[y][x]=CairoColor(ccolor).premult_alpha();
+			}
+		
+		cairosurface.unmap_cairo_image();
+	}
+	return true;
+}
+
+
+bool
 Layer_Shape::render_shape(Surface *surface,bool useblend,int /*quality*/,
 							const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	Point origin=param_origin.get(Point());
+
 	int tmp(0);
 
 	SuperCallback	progress(cb,0,renddesc.get_h(),renddesc.get_h());
@@ -3059,6 +3336,7 @@ bool
 Layer_Shape::render_shape(etl::surface<float> *surface,int /*quality*/,
 							const RendDesc &renddesc, ProgressCallback */*cb*/)const
 {
+	Point origin=param_origin.get(Point());
 	// If our amount is set to zero, no need to render anything
 	if(!get_amount())
 		return true;
@@ -3285,6 +3563,10 @@ Layer_Shape::render_shape(etl::surface<float> *surface,int /*quality*/,
 Rect
 Layer_Shape::get_bounding_rect()const
 {
+	Point origin=param_origin.get(Point());
+	bool invert =param_invert.get(bool(true));
+	Real feather=param_feather.get(Real());
+
 	if(invert)
 		return Rect::full_plane();
 
diff --git a/src/synfig/layer_shape.h b/src/synfig/layer_shape.h
index 8cc6167..f3878de 100644
--- a/src/synfig/layer_shape.h
+++ b/src/synfig/layer_shape.h
@@ -64,16 +64,20 @@ private:
 	struct Intersector;
 	Intersector	*edge_table;
 protected:
-	//exported data
-	Color 	color;
-
-	Point 	origin;
-	bool	invert;
-	bool	antialias;
-
-	int		blurtype;
-	Real	feather;
-	WindingStyle winding_style;
+	//!Parameter: (Color) Color of the shape
+	ValueBase   param_color;
+	//!Parameter: (Point) Origin of the shape definition
+	ValueBase   param_origin;
+	//!Parameter: (bool) Whether the shape is inverted or not
+	ValueBase   param_invert;
+	//!Parameter: (bool) Whether the shape has antialiased edge
+	ValueBase   param_antialias;
+	//!Parameter: (Blur::Type) The type of blur used for the feather
+	ValueBase   param_blurtype;
+	//!Parameter: (Real) Amount of feather of the shape
+	ValueBase   param_feather;
+	//!Parameter: (WindingStyle) How shape is rendered when crosses it self
+	ValueBase param_winding_style;
 private:
 	std::vector< char > 	bytestream;
 
@@ -110,11 +114,13 @@ public:
 	virtual Vocab get_param_vocab()const;
 
 	virtual Color get_color(Context context, const Point &pos)const;
-	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_render(Context context, Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 	virtual synfig::Layer::Handle hit_check(synfig::Context context, const synfig::Point &point)const;
 	virtual Rect get_bounding_rect()const;
 	//This function translates Shape primitives to Cairo primitives. Currently only supported move_to and line_to.
 	bool shape_to_cairo(cairo_t* cr)const;
+	bool feather_cairo_surface(cairo_surface_t* surface, RendDesc renddesc, int quality)const;
 
 private:
 	class 		PolySpan;
diff --git a/src/synfig/layer_skeleton.cpp b/src/synfig/layer_skeleton.cpp
new file mode 100644
index 0000000..4e9f00e
--- /dev/null
+++ b/src/synfig/layer_skeleton.cpp
@@ -0,0 +1,143 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file layer_skeleton.cpp
+**	\brief Implementation of the "Layer_Skeleton" layer
+**
+**	$Id$
+**
+**	\legal
+**	Copyright (c) 2008 Chris Moore
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include "string.h"
+#include "layer_skeleton.h"
+#include "time.h"
+#include "context.h"
+#include "paramdesc.h"
+#include "renddesc.h"
+#include "surface.h"
+#include "value.h"
+#include "valuenode.h"
+
+#endif
+
+/* === U S I N G =========================================================== */
+
+using namespace etl;
+using namespace std;
+using namespace synfig;
+
+/* === G L O B A L S ======================================================= */
+
+SYNFIG_LAYER_INIT(Layer_Skeleton);
+SYNFIG_LAYER_SET_NAME(Layer_Skeleton,"skeleton");
+SYNFIG_LAYER_SET_LOCAL_NAME(Layer_Skeleton,N_("Skeleton"));
+SYNFIG_LAYER_SET_CATEGORY(Layer_Skeleton,N_("Other"));
+SYNFIG_LAYER_SET_VERSION(Layer_Skeleton,"0.1");
+SYNFIG_LAYER_SET_CVS_ID(Layer_Skeleton,"$Id$");
+
+/* === P R O C E D U R E S ================================================= */
+
+/* === M E T H O D S ======================================================= */
+
+/* === E N T R Y P O I N T ================================================= */
+
+Layer_Skeleton::Layer_Skeleton():
+	param_name(ValueBase("skeleton"))
+{
+	std::vector<synfig::Bone> bones;
+	int bone_count = 1;
+	if (getenv("SYNFIG_NUMBER_OF_BONES_IN_SKELETON"))
+		bone_count = atoi(getenv("SYNFIG_NUMBER_OF_BONES_IN_SKELETON"));
+	if (bone_count < 1) bone_count = 1;
+	else if (bone_count > 10) bone_count = 10;
+
+	while (bone_count--)
+		bones.push_back(Bone());
+
+	param_bones.set(bones);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
+}
+
+#ifdef _DEBUG
+Layer_Skeleton::~Layer_Skeleton()
+{
+	if (getenv("SYNFIG_DEBUG_DESTRUCTORS"))
+		printf("%s:%d ~Layer_Skeleton()\n", __FILE__, __LINE__);
+}
+#endif
+
+bool
+Layer_Skeleton::set_param(const String & param, const ValueBase &value)
+{
+	IMPORT_VALUE(param_name);
+
+	if (param=="bones" && param_bones.get_type()==value.get_type())
+	{
+		param_bones = value;
+		return true;
+	}
+
+	return Layer::set_param(param,value);
+}
+
+ValueBase
+Layer_Skeleton::get_param(const String &param)const
+{
+	EXPORT_VALUE(param_name);
+	EXPORT_VALUE(param_bones);
+
+	EXPORT_NAME();
+	EXPORT_VERSION();
+
+	return Layer::get_param(param);
+}
+
+Layer::Vocab
+Layer_Skeleton::get_param_vocab()const
+{
+	Layer::Vocab ret(Layer::get_param_vocab());
+
+	ret.push_back(ParamDesc("name")
+		.set_local_name(_("Name"))
+	);
+
+	ret.push_back(ParamDesc("bones")
+		.set_local_name(_("Bones"))
+	);
+
+	return ret;
+}
+
+bool
+Layer_Skeleton::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+{
+	return context.accelerated_render(surface,quality,renddesc,cb);
+}
+
+bool
+Layer_Skeleton::accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+{
+	return context.accelerated_cairorender(cr,quality,renddesc,cb);
+}
diff --git a/src/modules/mod_example/filledrect.h b/src/synfig/layer_skeleton.h
similarity index 66%
copy from src/modules/mod_example/filledrect.h
copy to src/synfig/layer_skeleton.h
index 38f4fec..af46eb5 100644
--- a/src/modules/mod_example/filledrect.h
+++ b/src/synfig/layer_skeleton.h
@@ -1,6 +1,6 @@
 /* === S Y N F I G ========================================================= */
-/*!	\file filledrect.h
-**	\brief Header file for implementation of the "Rectangle" layer
+/*!	\file layer_skeleton.h
+**	\brief Header file for implementation of the "Layer_Skeleton" layer
 **
 **	$Id$
 **
@@ -22,16 +22,15 @@
 
 /* === S T A R T =========================================================== */
 
-#ifndef __SYNFIG_FILLEDRECT_H
-#define __SYNFIG_FILLEDRECT_H
+#ifndef __SYNFIG_LAYER_SKELETON_H
+#define __SYNFIG_LAYER_SKELETON_H
 
 /* === H E A D E R S ======================================================= */
 
-#include <synfig/layer_composite.h>
-#include <synfig/color.h>
-#include <synfig/vector.h>
-#include <synfig/value.h>
-#include <list>
+#include "bone.h"
+#include "layer.h"
+// #include <synfig/value.h>
+// #include <vector>
 
 /* === M A C R O S ========================================================= */
 
@@ -39,42 +38,38 @@
 
 /* === C L A S S E S & S T R U C T S ======================================= */
 
-class FilledRect : public synfig::Layer_Composite, public synfig::Layer_NoDeform
+namespace synfig {
+
+class Layer_Skeleton : public Layer
 {
 	SYNFIG_LAYER_MODULE_EXT
-
 private:
 
-	synfig::Color color;
-
-	synfig::Point point1;
-	synfig::Point point2;
-
-	synfig::Real feather_x;
-	synfig::Real feather_y;
-
-	synfig::Real	bevel;
-
-	bool		bevCircle;
-
-	bool get_color(const synfig::Point &pos, synfig::Color &out, synfig::Real &outamount)const;
+	//!Parameter: (std::vector<synfig::Bone>) Bones list of the skeleton
+	ValueBase param_bones;
+	//!Parameter: (synfig::String) Name of the skeleton
+	ValueBase param_name;
 
 public:
 
-	FilledRect();
+	Layer_Skeleton();
+
+#ifdef _DEBUG
+	~Layer_Skeleton();
+#endif
 
 	virtual bool set_param(const synfig::String & param, const synfig::ValueBase &value);
 
 	virtual synfig::ValueBase get_param(const synfig::String & param)const;
 
-	virtual synfig::Color get_color(synfig::Context context, const synfig::Point &pos)const;
+	virtual Vocab get_param_vocab()const;
 
 	virtual bool accelerated_render(synfig::Context context,synfig::Surface *surface,int quality, const synfig::RendDesc &renddesc, synfig::ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(synfig::Context context, cairo_t* cr, int quality, const synfig::RendDesc &renddesc, synfig::ProgressCallback *cb)const;
 
-	virtual Vocab get_param_vocab()const;
+}; // END of class Layer_Skeleton
 
-	virtual synfig::Layer::Handle hit_check(synfig::Context context, const synfig::Point &point)const;
-}; // END of class FilledRect
+}; // END of namespace synfig
 
 /* === E N D =============================================================== */
 
diff --git a/src/synfig/layer_solidcolor.cpp b/src/synfig/layer_solidcolor.cpp
index fe2a869..7a30649 100644
--- a/src/synfig/layer_solidcolor.cpp
+++ b/src/synfig/layer_solidcolor.cpp
@@ -66,18 +66,30 @@ SYNFIG_LAYER_SET_CVS_ID(Layer_SolidColor,"$Id$");
 
 Layer_SolidColor::Layer_SolidColor():
 	Layer_Composite(1.0,Color::BLEND_COMPOSITE),
-	color(Color::black())
+	param_color(ValueBase(Color::black()))
 {
-	Layer::Vocab voc(get_param_vocab());
-	Layer::fill_static(voc);
+	SET_INTERPOLATION_DEFAULTS();
+	SET_STATIC_DEFAULTS();
 }
 
 bool
 Layer_SolidColor::set_param(const String & param, const ValueBase &value)
 {
-	IMPORT_PLUS(color, { if (color.get_a() == 0) { if (converted_blend_) {
+	IMPORT_VALUE_PLUS(param_color,
+		{
+			Color color=param_color.get(Color());
+			if (color.get_a() == 0)
+			{
+				if (converted_blend_)
+				{
 					set_blend_method(Color::BLEND_ALPHA_OVER);
-					color.set_a(1); } else transparent_color_ = true; } });
+					color.set_a(1);
+					param_color.set(color);
+				}
+				else transparent_color_ = true;
+			}
+		}
+		);
 
 	return Layer_Composite::set_param(param,value);
 }
@@ -85,7 +97,7 @@ Layer_SolidColor::set_param(const String & param, const ValueBase &value)
 ValueBase
 Layer_SolidColor::get_param(const String &param)const
 {
-	EXPORT(color);
+	EXPORT_VALUE(param_color);
 
 	EXPORT_NAME();
 	EXPORT_VERSION();
@@ -109,6 +121,7 @@ Layer_SolidColor::get_param_vocab()const
 synfig::Layer::Handle
 Layer_SolidColor::hit_check(synfig::Context context, const synfig::Point &point)const
 {
+	Color color=param_color.get(Color());
 	if(get_blend_method()==Color::BLEND_STRAIGHT && get_amount()>=0.5)
 		return const_cast<Layer_SolidColor*>(this);
 	else
@@ -123,6 +136,7 @@ Layer_SolidColor::hit_check(synfig::Context context, const synfig::Point &point)
 Color
 Layer_SolidColor::get_color(Context context, const Point &pos)const
 {
+	Color color=param_color.get(Color());
 	if(get_amount()==1.0 && get_blend_method()==Color::BLEND_STRAIGHT)
 		return color;
 	else
@@ -132,6 +146,7 @@ Layer_SolidColor::get_color(Context context, const Point &pos)const
 bool
 Layer_SolidColor::accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
+	Color color=param_color.get(Color());
 	if(get_amount()==1.0 && get_blend_method()==Color::BLEND_STRAIGHT)
 	{
 		// Mark our progress as starting
@@ -175,44 +190,44 @@ Layer_SolidColor::accelerated_render(Context context,Surface *surface,int qualit
 //////
 
 bool
-Layer_SolidColor::accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const
+Layer_SolidColor::accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const
 {
-	cairo_t* cr=cairo_create(surface);
-	float	r(color.get_r()),
-			g(color.get_g()),
-			b(color.get_b()),
-			a(color.get_a());
-
-	if(get_amount()==1.0 && get_blend_method()==Color::BLEND_STRAIGHT
+	Color color=param_color.get(Color());
+	float r(color.get_r()),
+	      g(color.get_g()),
+		  b(color.get_b()),
+		  a(color.get_a());
+	
+	if((get_amount()==1.f && get_blend_method()==Color::BLEND_STRAIGHT)
 	   ||
-	   get_amount()==1.0 && color.get_a()==1.0 && get_blend_method()==Color::BLEND_COMPOSITE
+	   (get_amount()==1.f && color.get_a()==1.f && get_blend_method()==Color::BLEND_COMPOSITE)
 	   )
 	{
 		// Mark our progress as starting
 		if(cb && !cb->amount_complete(0,1000))
 			return false;
+		cairo_save(cr);
 		cairo_set_source_rgba(cr, r, g, b, a);
 		cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
 		cairo_paint(cr);
-		cairo_destroy(cr);
+		cairo_restore(cr);
 		// Mark our progress as finished
 		if(cb && !cb->amount_complete(1000,1000))
-			return false;		
+			return false;
 		return true;
 	}
 	
 	SuperCallback supercb(cb,0,9500,10000);
 	
-	if(!context.accelerated_cairorender(surface,quality,renddesc,&supercb))
-	{
-		cairo_destroy(cr);
+	if(!context.accelerated_cairorender(cr,quality,renddesc,&supercb))
 		return false;
-	}
-
+	
+	cairo_save(cr);
+	cairo_reset_clip(cr);
 	cairo_set_source_rgba(cr, r, g, b, a);
 	cairo_paint_with_alpha_operator(cr, get_amount(), get_blend_method());
-	cairo_destroy(cr);
-	
+	cairo_restore(cr);
+
 	// Mark our progress as finished
 	if(cb && !cb->amount_complete(10000,10000))
 		return false;
@@ -220,4 +235,4 @@ Layer_SolidColor::accelerated_cairorender(Context context,cairo_surface_t *surfa
 	return true;
 }
 
-//////
\ No newline at end of file
+//////
diff --git a/src/synfig/layer_solidcolor.h b/src/synfig/layer_solidcolor.h
index 2ef3927..5578788 100644
--- a/src/synfig/layer_solidcolor.h
+++ b/src/synfig/layer_solidcolor.h
@@ -45,7 +45,8 @@ class Layer_SolidColor : public Layer_Composite, public Layer_NoDeform
 
 private:
 
-	Color color;
+	//!Parameter: (Color) color of the solid
+	ValueBase param_color;
 
 public:
 
@@ -58,7 +59,7 @@ public:
 	virtual Color get_color(Context context, const Point &pos)const;
 
 	virtual bool accelerated_render(Context context,Surface *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
-	virtual bool accelerated_cairorender(Context context,cairo_surface_t *surface,int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
+	virtual bool accelerated_cairorender(Context context, cairo_t *cr, int quality, const RendDesc &renddesc, ProgressCallback *cb)const;
 	virtual Vocab get_param_vocab()const;
 
 	virtual synfig::Layer::Handle hit_check(synfig::Context context, const synfig::Point &point)const;
diff --git a/src/synfig/listimporter.cpp b/src/synfig/listimporter.cpp
index b5d5f44..7998dd8 100644
--- a/src/synfig/listimporter.cpp
+++ b/src/synfig/listimporter.cpp
@@ -48,6 +48,12 @@ using namespace synfig;
 
 /* === G L O B A L S ======================================================= */
 
+SYNFIG_IMPORTER_INIT(ListImporter);
+SYNFIG_IMPORTER_SET_NAME(ListImporter,"lst");
+SYNFIG_IMPORTER_SET_EXT(ListImporter,"lst");
+SYNFIG_IMPORTER_SET_VERSION(ListImporter,"0.1");
+SYNFIG_IMPORTER_SET_CVS_ID(ListImporter,"$Id$");
+
 /* === P R O C E D U R E S ================================================= */
 
 /* === M E T H O D S ======================================================= */
@@ -139,11 +145,6 @@ ListImporter::ListImporter(const String &filename)
 	}
 }
 
-Importer*
-ListImporter::create(const char *filename)
-{
-	return new ListImporter(filename);
-}
 
 ListImporter::~ListImporter()
 {
diff --git a/src/synfig/listimporter.h b/src/synfig/listimporter.h
index 2a40fc5..8515a3a 100644
--- a/src/synfig/listimporter.h
+++ b/src/synfig/listimporter.h
@@ -32,7 +32,6 @@
 #include "surface.h"
 #include <ETL/smart_ptr>
 #include <vector>
-//#include <deque>
 #include <list>
 #include <utility>
 
@@ -49,21 +48,21 @@ namespace synfig {
 */
 class ListImporter : public Importer
 {
+	SYNFIG_IMPORTER_MODULE_EXT
+private:
 	float fps;
 	std::vector<String> filename_list;
 	std::list<std::pair<String,Surface> > frame_cache;
-protected:
-	ListImporter(const String &filename);
 
 public:
+	ListImporter(const String &filename);
 
-	virtual ~ListImporter();
+	~ListImporter();
 
 	virtual bool get_frame(Surface &surface, const RendDesc &renddesc, Time time, ProgressCallback *callback=NULL);
 
 	virtual bool is_animated();
 
-	static Importer* create(const char *filename);
 };
 
 }; // END of namespace synfig
diff --git a/src/synfig/loadcanvas.cpp b/src/synfig/loadcanvas.cpp
index 3715618..385abd2 100644
--- a/src/synfig/loadcanvas.cpp
+++ b/src/synfig/loadcanvas.cpp
@@ -59,6 +59,7 @@
 #include "valuenode_segcalctangent.h"
 #include "valuenode_segcalcvertex.h"
 #include "valuenode_bline.h"
+#include "valuenode_bone.h"
 #include "valuenode_wplist.h"
 #include "valuenode_dilist.h"
 
@@ -253,7 +254,6 @@ CanvasParser::parse_keyframe(xmlpp::Element *element,Canvas::Handle canvas)
 	}
 	ret.set_active(active);
 		
-
 	return ret;
 }
 
@@ -315,6 +315,25 @@ CanvasParser::parse_integer(xmlpp::Element *element)
 	return atoi(val.c_str());
 }
 
+GUID
+CanvasParser::parse_guid(xmlpp::Element *element)
+{
+	assert(element->get_name()=="guid");
+
+	if(!element->get_children().empty())
+		warning(element, strprintf(_("<%s> should not contain anything"),"guid"));
+
+	if(!element->get_attribute("value"))
+	{
+		error(element,strprintf(_("<%s> is missing \"value\" attribute"),"guid"));
+		return false;
+	}
+
+	string val=element->get_attribute("value")->get_value();
+
+	return GUID(val);
+}
+
 // see 'minor hack' at the end of parse_vector() below
 // making this 'static' to give it file local scope
 // stops it working (where working means working around
@@ -364,7 +383,10 @@ CanvasParser::parse_vector(xmlpp::Element *element)
 			vect[1]=atof(child->get_child_text()->get_content().c_str());
 		}
 		else
+		{
+			printf("%s:%d\n", __FILE__, __LINE__);
 			error_unexpected_element(child,child->get_name());
+		}
 	}
 	// Minor hack - gcc 4.1.2 and earlier think that we're not using
 	// 'vect' and optimize it out at -O2 and higher.  This convinces
@@ -434,7 +456,10 @@ CanvasParser::parse_color(xmlpp::Element *element)
 			color.set_a(atof(child->get_child_text()->get_content().c_str()));
 		}
 		else
+		{
+			printf("%s:%d\n", __FILE__, __LINE__);
 			error_unexpected_element(child,child->get_name());
+		}
 	}
 
 	return color;
@@ -659,7 +684,10 @@ CanvasParser::parse_segment(xmlpp::Element *element)
 			seg.t2=parse_vector(dynamic_cast<xmlpp::Element*>(*iter));
 		}
 		else
+		{
+			printf("%s:%d\n", __FILE__, __LINE__);
 			error_unexpected_element(child,child->get_name());
+		}
 	}
 	return seg;
 }
@@ -810,7 +838,10 @@ CanvasParser::parse_bline_point(xmlpp::Element *element)
 			ret.set_origin(parse_real(dynamic_cast<xmlpp::Element*>(*iter)));
 		}
 		else
+		{
+			printf("%s:%d\n", __FILE__, __LINE__);
 			error_unexpected_element(child,child->get_name());
+		}
 	}
 	return ret;
 }
@@ -1128,6 +1159,31 @@ CanvasParser::parse_angle(xmlpp::Element *element)
 	return Angle::deg(atof(val.c_str()));
 }
 
+Interpolation
+CanvasParser::parse_interpolation(xmlpp::Element *element,String attribute)
+{
+	if(!element->get_attribute(attribute))
+		return INTERPOLATION_UNDEFINED;
+	
+	string val=element->get_attribute(attribute)->get_value();
+	if(val=="halt")
+		return INTERPOLATION_HALT;
+	else if(val=="constant")
+		return INTERPOLATION_CONSTANT;
+	else if(val=="linear")
+		return INTERPOLATION_LINEAR;
+	else if(val=="manual")
+		return INTERPOLATION_MANUAL;
+	else if(val=="auto")
+		return INTERPOLATION_TCB;
+	else if(val=="clamped")
+		return INTERPOLATION_CLAMPED;
+	else
+		error(element,strprintf(_("Bad value \"%s\" in <%s>"),val.c_str(),attribute.c_str()));
+
+	return INTERPOLATION_UNDEFINED;
+}
+
 bool
 CanvasParser::parse_static(xmlpp::Element *element)
 {
@@ -1155,6 +1211,7 @@ CanvasParser::parse_value(xmlpp::Element *element,Canvas::Handle canvas)
 		ValueBase ret;
 		ret.set(parse_real(element));
 		ret.set_static(parse_static(element));
+		ret.set_interpolation(parse_interpolation(element,"interpolation"));
 		return ret;
 	}
 	else
@@ -1163,6 +1220,7 @@ CanvasParser::parse_value(xmlpp::Element *element,Canvas::Handle canvas)
 		ValueBase ret;
 		ret.set(parse_time(element,canvas));
 		ret.set_static(parse_static(element));
+		ret.set_interpolation(parse_interpolation(element,"interpolation"));
 		return ret;
 	}
 	else
@@ -1171,6 +1229,7 @@ CanvasParser::parse_value(xmlpp::Element *element,Canvas::Handle canvas)
 		ValueBase ret;
 		ret.set(parse_integer(element));
 		ret.set_static(parse_static(element));
+		ret.set_interpolation(parse_interpolation(element,"interpolation"));
 		return ret;
 	}
 	else
@@ -1179,6 +1238,7 @@ CanvasParser::parse_value(xmlpp::Element *element,Canvas::Handle canvas)
 		ValueBase ret;
 		ret.set(parse_string(element));
 		ret.set_static(parse_static(element));
+		ret.set_interpolation(parse_interpolation(element,"interpolation"));
 		return ret;
 	}
 	else
@@ -1187,6 +1247,7 @@ CanvasParser::parse_value(xmlpp::Element *element,Canvas::Handle canvas)
 		ValueBase ret;
 		ret.set(parse_vector(element));
 		ret.set_static(parse_static(element));
+		ret.set_interpolation(parse_interpolation(element,"interpolation"));
 		return ret;
 	}
 	else
@@ -1195,6 +1256,7 @@ CanvasParser::parse_value(xmlpp::Element *element,Canvas::Handle canvas)
 		ValueBase ret;
 		ret.set(parse_color(element));
 		ret.set_static(parse_static(element));
+		ret.set_interpolation(parse_interpolation(element,"interpolation"));
 		return ret;
 	}
 	else
@@ -1203,6 +1265,7 @@ CanvasParser::parse_value(xmlpp::Element *element,Canvas::Handle canvas)
 		ValueBase ret;
 		ret.set(parse_segment(element));
 		ret.set_static(parse_static(element));
+		ret.set_interpolation(parse_interpolation(element,"interpolation"));
 		return ret;
 	}
 	else
@@ -1214,6 +1277,7 @@ CanvasParser::parse_value(xmlpp::Element *element,Canvas::Handle canvas)
 		ValueBase ret;
 		ret.set(parse_gradient(element));
 		ret.set_static(parse_static(element));
+		ret.set_interpolation(parse_interpolation(element,"interpolation"));
 		return ret;
 	}
 	else
@@ -1222,6 +1286,7 @@ CanvasParser::parse_value(xmlpp::Element *element,Canvas::Handle canvas)
 		ValueBase ret;
 		ret.set(parse_bool(element));
 		ret.set_static(parse_static(element));
+		ret.set_interpolation(parse_interpolation(element,"interpolation"));
 		return ret;
 	}
 	else
@@ -1230,11 +1295,14 @@ CanvasParser::parse_value(xmlpp::Element *element,Canvas::Handle canvas)
 		ValueBase ret;
 		ret.set(parse_angle(element));
 		ret.set_static(parse_static(element));
+		ret.set_interpolation(parse_interpolation(element,"interpolation"));
 		return ret;
 	}	else
 	if(element->get_name()=="bline_point")
 		return parse_bline_point(element);
 	else
+	if(element->get_name()=="guid")
+		return parse_guid(element);
 	if(element->get_name()=="width_point")
 		return parse_width_point(element);
 	if(element->get_name()=="dash_item")
@@ -1249,6 +1317,7 @@ CanvasParser::parse_value(xmlpp::Element *element,Canvas::Handle canvas)
 	}
 	else
 	{
+		printf("%s:%d\n", __FILE__, __LINE__);
 		error_unexpected_element(element,element->get_name());
 	}
 
@@ -1286,6 +1355,11 @@ CanvasParser::parse_animated(xmlpp::Element *element,Canvas::Handle canvas)
 	}
 
 	value_node->set_root_canvas(canvas->get_root());
+	
+	if(element->get_attribute("interpolation"))
+	{
+		value_node->set_interpolation(parse_interpolation(element, "interpolation"));
+	}
 
 	xmlpp::Element::NodeList list = element->get_children();
 	for(xmlpp::Element::NodeList::iterator iter = list.begin(); iter != list.end(); ++iter)
@@ -1372,7 +1446,8 @@ CanvasParser::parse_animated(xmlpp::Element *element,Canvas::Handle canvas)
 				**	a feature which is so obscure that we can get
 				**	away with something like this pretty easily.
 				*/
-				waypoint_value_node=waypoint_value_node->clone();
+// doo			waypoint_value_node=waypoint_value_node->clone(canvas);
+				//note: commented out as part of bones branch merge
 
 				// Warn if there is trash after the param value
 				for(iter++; iter != list.end(); ++iter)
@@ -1407,40 +1482,12 @@ CanvasParser::parse_animated(xmlpp::Element *element,Canvas::Handle canvas)
 
 			if(child->get_attribute("before"))
 			{
-				string val=child->get_attribute("before")->get_value();
-				if(val=="halt")
-					waypoint->set_before(INTERPOLATION_HALT);
-				else if(val=="constant")
-					waypoint->set_before(INTERPOLATION_CONSTANT);
-				else if(val=="linear")
-					waypoint->set_before(INTERPOLATION_LINEAR);
-				else if(val=="manual")
-					waypoint->set_before(INTERPOLATION_MANUAL);
-				else if(val=="auto")
-					waypoint->set_before(INTERPOLATION_TCB);
-				else if(val=="clamped")
-					waypoint->set_before(INTERPOLATION_CLAMPED);
-				else
-					error(child,strprintf(_("\"%s\" not a valid value for attribute \"%s\" in <%s>"),val.c_str(),"before","waypoint"));
+				waypoint->set_before(parse_interpolation(child,"before"));
 			}
 
 			if(child->get_attribute("after"))
 			{
-				string val=child->get_attribute("after")->get_value();
-				if(val=="halt")
-					waypoint->set_after(INTERPOLATION_HALT);
-				else if(val=="constant")
-					waypoint->set_after(INTERPOLATION_CONSTANT);
-				else if(val=="linear")
-					waypoint->set_after(INTERPOLATION_LINEAR);
-				else if(val=="manual")
-					waypoint->set_after(INTERPOLATION_MANUAL);
-				else if(val=="auto")
-					waypoint->set_after(INTERPOLATION_TCB);
-				else if(val=="clamped")
-					waypoint->set_after(INTERPOLATION_CLAMPED);
-				else
-					error(child,strprintf(_("\"%s\" not a valid value for attribute \"%s\" in <%s>"),val.c_str(),"before","waypoint"));
+				waypoint->set_after(parse_interpolation(child,"after"));
 			}
 			}
 			catch(Exception::BadTime x)
@@ -1451,7 +1498,10 @@ CanvasParser::parse_animated(xmlpp::Element *element,Canvas::Handle canvas)
 
 		}
 		else
+		{
+			printf("%s:%d\n", __FILE__, __LINE__);
 			error_unexpected_element(child,child->get_name());
+		}
 	}
 
 	// in canvas version 0.1, angles used to wrap, so to get from -179
@@ -1467,7 +1517,7 @@ CanvasParser::parse_animated(xmlpp::Element *element,Canvas::Handle canvas)
 		{
 			bool first = true;
 			Real angle, prev = 0;
-			WaypointList &wl = value_node->waypoint_list();
+			WaypointList &wl = value_node->editable_waypoint_list();
 			for (WaypointList::iterator iter = wl.begin(); iter != wl.end(); iter++)
 			{
 				angle = Angle::deg(iter->get_value(iter->get_time()).get(Angle())).get();
@@ -1498,10 +1548,13 @@ CanvasParser::parse_animated(xmlpp::Element *element,Canvas::Handle canvas)
 etl::handle<LinkableValueNode>
 CanvasParser::parse_linkable_value_node(xmlpp::Element *element,Canvas::Handle canvas)
 {
+	if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d parse_linkable_value_node\n", __FILE__, __LINE__);
+
 	// Determine the type
 	if(!element->get_attribute("type"))
 	{
 		error(element, strprintf(_("Missing attribute \"type\" in <%s>"), element->get_name().c_str()));
+		printf("%s:%d parse_linkable_value_node done missing attr\n", __FILE__, __LINE__);
 		return 0;
 	}
 
@@ -1510,10 +1563,12 @@ CanvasParser::parse_linkable_value_node(xmlpp::Element *element,Canvas::Handle c
 	if(!type)
 	{
 		error(element, strprintf(_("Bad type in <%s>"), element->get_name().c_str()));
+		printf("%s:%d parse_linkable_value_node done bad type\n", __FILE__, __LINE__);
 		return 0;
 	}
 
-	handle<LinkableValueNode> value_node=LinkableValueNode::create(element->get_name(),type);
+	if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d creating linkable '%s' type '%s'\n", __FILE__, __LINE__, element->get_name().c_str(), ValueBase::type_name(type).c_str());
+	handle<LinkableValueNode> value_node=LinkableValueNode::create(element->get_name(),type,canvas);
  	//handle<ValueNode> c[value_node->link_count()]; changed because of clang complain
 	std::vector<handle<ValueNode> > c(value_node->link_count());
 
@@ -1523,6 +1578,7 @@ CanvasParser::parse_linkable_value_node(xmlpp::Element *element,Canvas::Handle c
 								 element->get_name().c_str(),
 								 ValueBase::type_local_name(type).c_str(),
 								 VALUENODE_COMPATIBILITY_URL));
+		printf("%s:%d parse_linkable_value_node done error creating\n", __FILE__, __LINE__);
 		return 0;
 	}
 
@@ -1531,11 +1587,10 @@ CanvasParser::parse_linkable_value_node(xmlpp::Element *element,Canvas::Handle c
 		error(element, strprintf(_("<%s> did not accept type '%s'"),
 								 element->get_name().c_str(),
 								 ValueBase::type_local_name(type).c_str()));
+		printf("%s:%d parse_linkable_value_node unacceptable type\n", __FILE__, __LINE__);
 		return 0;
 	}
 
-	value_node->set_root_canvas(canvas->get_root());
-
 	// handle exported valuenodes
 	{
 		int index;
@@ -1681,6 +1736,8 @@ CanvasParser::parse_linkable_value_node(xmlpp::Element *element,Canvas::Handle c
 	}
 
 	String version(canvas->get_version());
+	if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d link_count() is %d\n", __FILE__, __LINE__, value_node->link_count());
+	if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d value_node is %s\n", __FILE__, __LINE__, value_node->get_string().c_str());
 	for (int i = 0; i < value_node->link_count(); i++)
 	{
 		if (!c[i])
@@ -1715,6 +1772,13 @@ CanvasParser::parse_linkable_value_node(xmlpp::Element *element,Canvas::Handle c
 				value_node->link_name(i) == "loop")
 				continue;
 
+			// todo: remove this - it's temporary; accept bones with 'scalel' missing - it's new
+			if (element->get_name() == "bone" &&
+				(value_node->link_name(i) == "scalel" ||
+				 value_node->link_name(i) == "scalelx" ||
+				 value_node->link_name(i) == "scalely"))
+				continue;
+
 			// 'homogeneous' was added while canvas version 0.7 was in use and the BLineCalcVertex,
 			// BLineCalcTangent and BLineCalcWidth have been modified since canvas version 0.5
 			if ((version == "0.5" || version == "0.6" || version == "0.7") &&
@@ -1757,13 +1821,106 @@ CanvasParser::parse_linkable_value_node(xmlpp::Element *element,Canvas::Handle c
 	{
 		if (version == "0.1" || version == "0.2" || version == "0.3")
 		{
-			handle<LinkableValueNode> scale_value_node=LinkableValueNode::create("scale",type);
+			handle<LinkableValueNode> scale_value_node=LinkableValueNode::create("scale",type,canvas);
 			scale_value_node->set_link("link", value_node);
 			scale_value_node->set_link("scalar", ValueNode_Const::create(Real(0.5)));
+
 			value_node = scale_value_node;
 		}
 	}
 
+	if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d parse_linkable_value_node done\n", __FILE__, __LINE__);
+	return value_node;
+}
+
+handle<ValueNode_StaticList>
+CanvasParser::parse_static_list(xmlpp::Element *element,Canvas::Handle canvas)
+{
+	assert(element->get_name()=="static_list");
+
+	if(!element->get_attribute("type"))
+	{
+		error(element,"Missing attribute \"type\" in <list>");
+		return handle<ValueNode_StaticList>();
+	}
+
+	ValueBase::Type type=ValueBase::ident_type(element->get_attribute("type")->get_value());
+
+	if(!type)
+	{
+		error(element,"Bad type in <list>");
+		return handle<ValueNode_StaticList>();
+	}
+
+	handle<ValueNode_StaticList> value_node;
+
+	value_node=ValueNode_StaticList::create(type);
+
+	if(!value_node)
+	{
+		error(element,strprintf(_("Unable to create <list>")));
+		return handle<ValueNode_StaticList>();
+	}
+
+	value_node->set_root_canvas(canvas->get_root());
+
+	xmlpp::Element::NodeList list = element->get_children();
+	for(xmlpp::Element::NodeList::iterator iter = list.begin(); iter != list.end(); ++iter)
+	{
+		xmlpp::Element *child(dynamic_cast<xmlpp::Element*>(*iter));
+		if(!child)
+			continue;
+		else
+		if(child->get_name()=="entry")
+		{
+			ValueNode::Handle list_entry;
+
+			if(child->get_attribute("use"))
+			{
+				// \todo does this need to be able to read 'use="canvas"', like waypoints can now?  (see 'surefind_canvas' in this file)
+				string id=child->get_attribute("use")->get_value();
+				try
+				{
+					list_entry=canvas->surefind_value_node(id);
+				}
+				catch(Exception::IDNotFound)
+				{
+					error(child,"\"use\" attribute in <entry> references unknown ID -- "+id);
+					continue;
+				}
+			}
+			else
+			{
+				xmlpp::Element::NodeList list = child->get_children();
+				xmlpp::Element::NodeList::iterator iter;
+
+				// Search for the first non-text XML element
+				for(iter = list.begin(); iter != list.end(); ++iter)
+					if(dynamic_cast<xmlpp::Element*>(*iter)) break;
+
+				if(iter==list.end())
+				{
+					error(child,strprintf(_("<entry> is missing its contents or missing \"use\" element")));
+					continue;
+				}
+
+				list_entry=parse_value_node(dynamic_cast<xmlpp::Element*>(*iter),canvas);
+
+				if(!list_entry)
+					error((*iter),"Parse of ValueNode failed");
+
+				// \todo do a search for more elements and warn if they are found
+
+			}
+
+			value_node->add(list_entry);
+		}
+		else
+		{
+			printf("%s:%d\n", __FILE__, __LINE__);
+			error_unexpected_element(child,child->get_name());
+		}
+	}
 	return value_node;
 }
 
@@ -1799,7 +1956,7 @@ CanvasParser::parse_dynamic_list(xmlpp::Element *element,Canvas::Handle canvas)
 
 	if(element->get_name()=="bline")
 	{
-		value_node=bline_value_node=ValueNode_BLine::create();
+		value_node=bline_value_node=ValueNode_BLine::create(ValueBase::TYPE_LIST, canvas);
 		if(element->get_attribute("loop"))
 		{
 			String loop=element->get_attribute("loop")->get_value();
@@ -2007,7 +2164,10 @@ CanvasParser::parse_dynamic_list(xmlpp::Element *element,Canvas::Handle canvas)
 			value_node->set_link(value_node->link_count()-1,list_entry.value_node);
 		}
 		else
+		{
+			printf("%s:%d\n", __FILE__, __LINE__);
 			error_unexpected_element(child,child->get_name());
+		}
 	}
 	return value_node;
 }
@@ -2015,6 +2175,7 @@ CanvasParser::parse_dynamic_list(xmlpp::Element *element,Canvas::Handle canvas)
 handle<ValueNode>
 CanvasParser::parse_value_node(xmlpp::Element *element,Canvas::Handle canvas)
 {
+	if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d parse_value_node\n", __FILE__, __LINE__);
 	handle<ValueNode> value_node;
 	assert(element);
 
@@ -2023,19 +2184,41 @@ CanvasParser::parse_value_node(xmlpp::Element *element,Canvas::Handle canvas)
 	if(element->get_attribute("guid"))
 	{
 		guid=GUID(element->get_attribute("guid")->get_value())^canvas->get_root()->get_guid();
+		if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d got guid %s\n", __FILE__, __LINE__, guid.get_string().c_str());
+		if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d and element name = '%s'\n", __FILE__, __LINE__, element->get_name().c_str());
 		value_node=guid_cast<ValueNode>(guid);
 		if(value_node)
+		{
+			if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d parse_value_node done early\n", __FILE__, __LINE__);
+			if(element->get_name()!="canvas" && ValueBase::ident_type(element->get_name()))
+			{
+				if (element->get_name() == "bone_valuenode")
+				{
+					ValueNode_Bone::Handle value_node_bone(ValueNode_Bone::Handle::cast_dynamic(value_node));
+					if (!value_node_bone)
+					{
+						if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d bone_valuenode isn't a ValueNode_Bone?  It's a placeholder?\n", __FILE__, __LINE__);
+						return value_node;
+					}
+
+					return ValueNode_Const::create(ValueBase(value_node_bone));
+				}
+			}
 			return value_node;
+		}
 	}
 
 	// If ValueBase::ident_type() recognizes the name, then we know it's a ValueBase
+	if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d element name = '%s'\n", __FILE__, __LINE__, element->get_name().c_str());
 	if(element->get_name()!="canvas" && ValueBase::ident_type(element->get_name()))
 	{
+		if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d parse_value_node calls parse_value\n", __FILE__, __LINE__);
 		ValueBase data=parse_value(element,canvas);
 
 		if(!data.is_valid())
 		{
 			error(element,strprintf(_("Bad data in <%s>"),element->get_name().c_str()));
+			printf("%s:%d parse_value_node done bad data\n", __FILE__, __LINE__);
 			return value_node;
 		}
 
@@ -2048,13 +2231,28 @@ CanvasParser::parse_value_node(xmlpp::Element *element,Canvas::Handle canvas)
 	}
 	else
 	if(element->get_name()=="hermite" || element->get_name()=="animated")
+	{
+		if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d parse_value_node calls parse_animated\n", __FILE__, __LINE__);
 		value_node=parse_animated(element,canvas);
+	}
+	else
+	if(element->get_name()=="static_list")
+	{
+		if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d parse_value_node calls parse_static_list\n", __FILE__, __LINE__);
+		value_node=parse_static_list(element,canvas);
+	}
 	else
 	if(element->get_name()=="dynamic_list")
+	{
+		if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d parse_value_node calls parse_dynamic_list\n", __FILE__, __LINE__);
 		value_node=parse_dynamic_list(element,canvas);
+	}
 	else
 	if(element->get_name()=="bline") // This is not a typo. The dynamic list parser will parse a bline.
+	{
+		if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d parse_value_node calls parse_dynamic_list for bline\n", __FILE__, __LINE__);
 		value_node=parse_dynamic_list(element,canvas);
+	}
 	else
 	if(element->get_name()=="wplist") // This is not a typo. The dynamic list parser will parse a wplist.
 		value_node=parse_dynamic_list(element,canvas);
@@ -2064,14 +2262,23 @@ CanvasParser::parse_value_node(xmlpp::Element *element,Canvas::Handle canvas)
 	else
 	if(LinkableValueNode::book().count(element->get_name()))
 	{
+		if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d parse_value_node calls parse_linkable_value_node\n", __FILE__, __LINE__);
 		value_node=parse_linkable_value_node(element,canvas);
-		if (!value_node) value_node = PlaceholderValueNode::create();
+		if (!value_node)
+		{
+			if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d parse_linkable_value_node gave us a null valuenode\n", __FILE__, __LINE__);
+			value_node = PlaceholderValueNode::create();
+		}
 	}
 	else
 	if(element->get_name()=="canvas")
+	{
+		if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d parse_value_node calls parse_canvas\n", __FILE__, __LINE__);
 		value_node=ValueNode_Const::create(parse_canvas(element,canvas,true));
+	}
 	else
 	{
+		if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d parse_value_node doesn't know what to call\n", __FILE__, __LINE__);
 		error_unexpected_element(element,element->get_name());
 		error(element, strprintf(_("Expected a ValueNode.  Refer to '%s'"),
 								 VALUENODE_COMPATIBILITY_URL));
@@ -2095,11 +2302,13 @@ CanvasParser::parse_value_node(xmlpp::Element *element,Canvas::Handle canvas)
 		catch(Exception::BadLinkName)
 		{
 			warning(element,strprintf(_("Bad ID \"%s\""),id.c_str()));
+			printf("%s:%d parse_value_node done bad id\n", __FILE__, __LINE__);
 			return value_node;
 		}
 		catch(Exception::IDAlreadyExists)
 		{
 			error(element,strprintf(_("Duplicate ID \"%s\""),id.c_str()));
+			printf("%s:%d parse_value_node done dup id\n", __FILE__, __LINE__);
 			return value_node;
 		}
 		catch(...)
@@ -2109,12 +2318,14 @@ CanvasParser::parse_value_node(xmlpp::Element *element,Canvas::Handle canvas)
 		}
 	}
 	value_node->set_guid(guid);
+	if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d parse_value_node done\n", __FILE__, __LINE__);
 	return value_node;
 }
 
 void
 CanvasParser::parse_canvas_defs(xmlpp::Element *element,Canvas::Handle canvas)
 {
+	if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d parse_canvas_defs\n", __FILE__, __LINE__);
 	assert(element->get_name()=="defs");
 	xmlpp::Element::NodeList list = element->get_children();
 	for(xmlpp::Element::NodeList::iterator iter = list.begin(); iter != list.end(); ++iter)
@@ -2128,6 +2339,26 @@ CanvasParser::parse_canvas_defs(xmlpp::Element *element,Canvas::Handle canvas)
 		else
 			parse_value_node(child,canvas);
 	}
+	if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d parse_canvas_defs done\n", __FILE__, __LINE__);
+}
+
+std::list<ValueNode::Handle>
+CanvasParser::parse_canvas_bones(xmlpp::Element *element,Canvas::Handle canvas)
+{
+	if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d parse_canvas_bones\n", __FILE__, __LINE__);
+	assert(element->get_name()=="bones");
+	xmlpp::Element::NodeList list = element->get_children();
+	std::list<ValueNode::Handle> bone_list;
+	for(xmlpp::Element::NodeList::iterator iter = list.begin(); iter != list.end(); ++iter)
+	{
+		xmlpp::Element *child(dynamic_cast<xmlpp::Element*>(*iter));
+		if(!child)
+			continue;
+		else
+			bone_list.push_back(parse_value_node(child,canvas));
+	}
+	if (getenv("SYNFIG_DEBUG_LOAD_CANVAS")) printf("%s:%d parse_canvas_bones done\n", __FILE__, __LINE__);
+	return bone_list;
 }
 
 Layer::Handle
@@ -2170,6 +2401,9 @@ CanvasParser::parse_layer(xmlpp::Element *element,Canvas::Handle canvas)
 	if(element->get_attribute("active"))
 		layer->set_active(element->get_attribute("active")->get_value()=="false"?false:true);
 
+	if(element->get_attribute("exclude_from_rendering"))
+		layer->set_exclude_from_rendering(element->get_attribute("exclude_from_rendering")->get_value()=="false"?false:true);
+
 	xmlpp::Element::NodeList list = element->get_children();
 	for(xmlpp::Element::NodeList::iterator iter = list.begin(); iter != list.end(); ++iter)
 	{
@@ -2221,7 +2455,9 @@ CanvasParser::parse_layer(xmlpp::Element *element,Canvas::Handle canvas)
 					if(!layer->set_param(param_name,c))
 						error((*iter),_("Layer rejected canvas link"));
 					//Parse the static option and sets it to the canvas ValueBase
-					layer->set_param_static(param_name, parse_static(child));
+					ValueBase v=layer->get_param(param_name);
+					v.set_static(parse_static(child));
+					layer->set_param(param_name, v);
 				}
 				else
 				try
@@ -2304,7 +2540,10 @@ CanvasParser::parse_layer(xmlpp::Element *element,Canvas::Handle canvas)
 			continue;
 		}
 		else
+		{
+			printf("%s:%d\n", __FILE__, __LINE__);
 			error_unexpected_element(child,child->get_name());
+		}
 	}
 
 	layer->reset_version();
@@ -2458,6 +2697,7 @@ CanvasParser::parse_canvas(xmlpp::Element *element,Canvas::Handle parent,bool in
 
 	canvas->rend_desc().set_flags(RendDesc::PX_ASPECT|RendDesc::IM_SPAN);
 
+	list<ValueNode::Handle> bone_list;
 	xmlpp::Element::NodeList list = element->get_children();
 	for(xmlpp::Element::NodeList::iterator iter = list.begin(); iter != list.end(); ++iter)
 	{
@@ -2471,6 +2711,13 @@ CanvasParser::parse_canvas(xmlpp::Element *element,Canvas::Handle parent,bool in
 				parse_canvas_defs(child, canvas);
 			}
 			else
+			if(child->get_name()=="bones")
+			{
+				if(canvas->is_inline())
+					error(child,_("Inline canvas cannot have a <bones> section"));
+				bone_list = parse_canvas_bones(child, canvas);
+			}
+			else
 			if(child->get_name()=="keyframe")
 			{
 				if(canvas->is_inline())
@@ -2559,7 +2806,10 @@ CanvasParser::parse_canvas(xmlpp::Element *element,Canvas::Handle parent,bool in
 					canvas->push_front(parse_layer(child,canvas));
 			}
 			else
+			{
+				printf("%s:%d\n", __FILE__, __LINE__);
 				error_unexpected_element(child,child->get_name());
+			}
 		}
 //		else
 //		if((child->get_name()=="text"||child->get_name()=="comment") && child->has_child_text())
@@ -2641,7 +2891,7 @@ CanvasParser::parse_from_file_as(const String &file_,const String &as_,String &e
 				ValueNode::Handle value_node(*iter);
 				if(value_node->is_exported() && value_node->get_id().find("Unnamed")==0)
 				{
-					canvas->remove_value_node(value_node);
+					canvas->remove_value_node(value_node, true);
 					goto again;
 				}
 			}
@@ -2697,7 +2947,7 @@ CanvasParser::parse_as(xmlpp::Element* node,String &errors)
 				ValueNode::Handle value_node(*iter);
 				if(value_node->is_exported() && value_node->get_id().find("Unnamed")==0)
 				{
-					canvas->remove_value_node(value_node);
+					canvas->remove_value_node(value_node, false); // \todo verify false here
 					goto again;
 				}
 			}
diff --git a/src/synfig/loadcanvas.h b/src/synfig/loadcanvas.h
index 9e78880..6fec0f9 100644
--- a/src/synfig/loadcanvas.h
+++ b/src/synfig/loadcanvas.h
@@ -37,6 +37,7 @@
 #include "valuenode_subtract.h"
 #include "valuenode_animated.h"
 #include "valuenode_composite.h"
+#include "valuenode_staticlist.h"
 #include "valuenode_dynamiclist.h"
 #include "keyframe.h"
 #include "guid.h"
@@ -161,6 +162,9 @@ private:
 	Canvas::Handle parse_canvas(xmlpp::Element *node,Canvas::Handle parent=0,bool inline_=false, String path=".");
 	//! Canvas definitions Parsing Function (exported value nodes and exported canvases)
 	void parse_canvas_defs(xmlpp::Element *node,Canvas::Handle canvas);
+
+	std::list<ValueNode::Handle> parse_canvas_bones(xmlpp::Element *node,Canvas::Handle canvas);
+
 	//! Layer Parsing Function
 	etl::handle<Layer> parse_layer(xmlpp::Element *node,Canvas::Handle canvas);
 	//! Generic Value Base Parsing Function
@@ -192,6 +196,9 @@ private:
 	Gradient parse_gradient(xmlpp::Element *node);
 	//! Bline Point Value Base Parsing Function
 	BLinePoint parse_bline_point(xmlpp::Element *node);
+
+	GUID parse_guid(xmlpp::Element *node);
+
 	//! Width Point Value Base Parsing Function
 	WidthPoint parse_width_point(xmlpp::Element *node);
 	//! Dash Item Value Base Parsing Function
@@ -204,10 +211,16 @@ private:
 	etl::handle<ValueNode_Animated> parse_animated(xmlpp::Element *node,Canvas::Handle canvas);
 	//! Linkable ValueNode Parsing Function
 	etl::handle<LinkableValueNode> parse_linkable_value_node(xmlpp::Element *node,Canvas::Handle canvas);
+
+	//! Static List Parsnig Function
+	etl::handle<ValueNode_StaticList> parse_static_list(xmlpp::Element *node,Canvas::Handle canvas);
+
 	//! Dynamic List Parsnig Function
 	etl::handle<ValueNode_DynamicList> parse_dynamic_list(xmlpp::Element *node,Canvas::Handle canvas);
 
-	//! Static option for ValueBase parsing fucntion
+	//! Interpolation option for ValueBase parsing function
+	Interpolation parse_interpolation(xmlpp::Element *node, String attribute);
+	//! Static option for ValueBase parsing function
 	bool parse_static(xmlpp::Element *node);
 
 }; // END of CanvasParser
diff --git a/src/synfig/main.cpp b/src/synfig/main.cpp
index 4f61f73..0291d10 100644
--- a/src/synfig/main.cpp
+++ b/src/synfig/main.cpp
@@ -7,6 +7,7 @@
 **	\legal
 **	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
 **	Copyright (c) 2007, 2008 Chris Moore
+**	Copyright (c) 2013 Konstantin Dmitriev
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -36,14 +37,29 @@
 #include "module.h"
 #include <cstdlib>
 #include <ltdl.h>
+#include <glibmm.h>
 #include <stdexcept>
+
+// Includes used by get_binary_path():
+#ifdef WIN32
+#include <windows.h>
+#elif defined(__APPLE__)
+#include <mach-o/dyld.h>
+#include <sys/param.h>
+#else
+#include <sys/stat.h>
+#include <unistd.h>
+#endif
+
 #include "target.h"
 #include <ETL/stringf>
+#include "cairolistimporter.h"
 #include "listimporter.h"
 #include "cairoimporter.h"
 #include "color.h"
 #include "vector.h"
 #include <fstream>
+#include <time.h>
 #include "layer.h"
 #include "valuenode.h"
 
@@ -163,11 +179,18 @@ synfig::Main::Main(const synfig::String& basepath,ProgressCallback *cb):
 	// Add initialization after this point
 
 #ifdef ENABLE_NLS
-	bindtextdomain("synfig", LOCALEDIR);
+	String locale_dir;
+	locale_dir = etl::dirname(basepath)+ETL_DIRECTORY_SEPARATOR+"share"+ETL_DIRECTORY_SEPARATOR+"locale";
+#ifdef WIN32
+	locale_dir = Glib::locale_from_utf8(locale_dir);
+#endif
+
+	bindtextdomain("synfig", locale_dir.c_str() );
 	bind_textdomain_codeset("synfig", "UTF-8");
 #endif
 
-	String prefix=basepath+"/..";
+	String prefix=etl::dirname(basepath);
+
 	unsigned int i;
 #ifdef _DEBUG
 	std::set_terminate(__gnu_cxx::__verbose_terminate_handler);
@@ -232,6 +255,7 @@ synfig::Main::Main(const synfig::String& basepath,ProgressCallback *cb):
 
 	// Load up the list importer
 	Importer::book()[String("lst")]=ListImporter::create;
+	CairoImporter::book()[String("lst")]=CairoListImporter::create;
 
 	// Load up the modules
 	std::list<String> modules_to_load;
@@ -242,13 +266,12 @@ synfig::Main::Main(const synfig::String& basepath,ProgressCallback *cb):
 	else
 	{
 		locations.push_back("./"MODULE_LIST_FILENAME);
-		locations.push_back("../etc/"MODULE_LIST_FILENAME);
 		if(getenv("HOME"))
 			locations.push_back(strprintf("%s/.synfig/%s", getenv("HOME"), MODULE_LIST_FILENAME));
 	#ifdef SYSCONFDIR
 		locations.push_back(SYSCONFDIR"/"MODULE_LIST_FILENAME);
 	#endif
-		locations.push_back(prefix+"/etc/"+MODULE_LIST_FILENAME);
+		locations.push_back(prefix+ETL_DIRECTORY_SEPARATOR+"etc"+ETL_DIRECTORY_SEPARATOR+MODULE_LIST_FILENAME);
 		locations.push_back("/usr/local/etc/"MODULE_LIST_FILENAME);
 	#ifdef __APPLE__
 		locations.push_back("/Library/Frameworks/synfig.framework/Resources/"MODULE_LIST_FILENAME);
@@ -389,3 +412,146 @@ synfig::info(const String &str)
 	static Mutex mutex; Mutex::Lock lock(mutex);
 	cerr<<"synfig("<<getpid()<<")"<<current_time().c_str()<<_("info")<<": "<<str.c_str()<<endl;
 }
+
+// synfig::get_binary_path()
+// See also: http://libsylph.sourceforge.net/wiki/Full_path_to_binary
+
+String
+synfig::get_binary_path(const String &fallback_path)
+{
+	
+	String result;
+
+#ifdef WIN32
+	
+	size_t buf_size = PATH_MAX - 1;
+	char* path = (char*)malloc(buf_size);
+	
+	GetModuleFileName(NULL, path, PATH_MAX);
+
+	result = String(path);
+	
+	free(path);
+
+#elif defined(__APPLE__)
+	
+	uint32_t buf_size = MAXPATHLEN;
+	char* path = (char*)malloc(MAXPATHLEN);
+	
+	if(_NSGetExecutablePath(path, &buf_size) == -1 ) {
+		path = (char*)realloc(path, buf_size);
+		_NSGetExecutablePath(path, &buf_size);
+	}
+	
+	result = String(path);
+	
+	free(path);
+	
+	// "./synfig" case workaround
+	String artifact("/./");
+	size_t start_pos = result.find(artifact);
+	if (start_pos != std::string::npos)
+		result.replace(start_pos, artifact.length(), "/");
+	
+#else
+
+	size_t buf_size = PATH_MAX - 1;
+	char* path = (char*)malloc(buf_size);
+
+	ssize_t size;
+	struct stat stat_buf;
+	FILE *f;
+
+	/* Read from /proc/self/exe (symlink) */
+	char* path2 = (char*)malloc(buf_size);
+	strncpy(path2, "/proc/self/exe", buf_size - 1);
+
+	while (1) {
+		int i;
+
+		size = readlink(path2, path, buf_size - 1);
+		if (size == -1) {
+			/* Error. */
+			break;
+		}
+
+		/* readlink() success. */
+		path[size] = '\0';
+
+		/* Check whether the symlink's target is also a symlink.
+		 * We want to get the final target. */
+		i = stat(path, &stat_buf);
+		if (i == -1) {
+			/* Error. */
+			break;
+		}
+
+		/* stat() success. */
+		if (!S_ISLNK(stat_buf.st_mode)) {
+
+			/* path is not a symlink. Done. */
+			result = String(path);
+			
+			break;
+		}
+
+		/* path is a symlink. Continue loop and resolve this. */
+		strncpy(path, path2, buf_size - 1);
+	}
+	
+	free(path2);
+
+	if (result == "")
+	{
+		/* readlink() or stat() failed; this can happen when the program is
+		 * running in Valgrind 2.2. Read from /proc/self/maps as fallback. */
+
+		buf_size = PATH_MAX + 128;
+		char* line = (char*)malloc(buf_size);
+
+		f = fopen("/proc/self/maps", "r");
+		if (f == NULL) {
+			synfig::error("Cannot open /proc/self/maps.");
+		}
+
+		/* The first entry should be the executable name. */
+		char *r;
+		r = fgets(line, (int) buf_size, f);
+		if (r == NULL) {
+			synfig::error("Cannot read /proc/self/maps.");
+		}
+
+		/* Get rid of newline character. */
+		buf_size = strlen(line);
+		if (buf_size <= 0) {
+			/* Huh? An empty string? */
+			synfig::error("Invalid /proc/self/maps.");
+		}
+		if (line[buf_size - 1] == 10)
+			line[buf_size - 1] = 0;
+
+		/* Extract the filename; it is always an absolute path. */
+		path = strchr(line, '/');
+
+		/* Sanity check. */
+		if (strstr(line, " r-xp ") == NULL || path == NULL) {
+			synfig::error("Invalid /proc/self/maps.");
+		}
+
+		result = String(path);
+		free(line);
+		fclose(f);
+	}
+	
+	free(path);
+
+#endif
+	
+	if (result == "")
+	{
+		// In worst case use value specified as fallback 
+		// (usually should come from argv[0])
+		result = etl::absolute_path(fallback_path);
+	}
+	return result;
+}
diff --git a/src/synfig/matrix.cpp b/src/synfig/matrix.cpp
new file mode 100644
index 0000000..326efc9
--- /dev/null
+++ b/src/synfig/matrix.cpp
@@ -0,0 +1,248 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file matrix.cpp
+**	\brief Template File
+**
+**	$Id$
+**
+**	\legal
+**  Copyright (c) 2008 Carlos López
+**  Copyright (c) 2008 Chris Moore
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include "matrix.h"
+
+
+#ifdef WIN32
+#include <float.h>
+#ifndef isnan
+extern "C" { int _isnan(double x); }
+#define isnan _isnan
+#endif
+#endif
+
+// For some reason isnan() isn't working on macosx any more.
+// This is a quick fix.
+#if defined(__APPLE__) && !defined(SYNFIG_ISNAN_FIX)
+#ifdef isnan
+#undef isnan
+#endif
+inline bool isnan(double x) { return x != x; }
+inline bool isnan(float x) { return x != x; }
+#define SYNFIG_ISNAN_FIX 1
+#endif
+
+
+#endif
+
+/* === U S I N G =========================================================== */
+
+using namespace std;
+using namespace etl;
+using namespace synfig;
+
+/* === M A C R O S ========================================================= */
+
+#define epsilon 1e-6
+
+/* === G L O B A L S ======================================================= */
+
+/* === M E T H O D S ======================================================= */
+
+Matrix::Matrix()
+{
+	set_identity();
+}
+
+Matrix &
+Matrix::set_identity()
+{
+	m00=1.0; m01=0.0; m02=0.0;
+	m10=0.0; m11=1.0; m12=0.0;
+	m20=0.0; m21=0.0; m22=1.0;
+	return (*this);
+}
+
+Matrix &
+Matrix::set_scale(const value_type &sx, const value_type &sy)
+{
+	m00=sx;  m01=0.0; m02=0.0;
+	m10=0.0; m11=sy;  m12=0.0;
+	m20=0.0; m21=0.0; m22=1.0;
+	return (*this);
+}
+
+Matrix &
+Matrix::set_scale(const value_type &sxy)
+{
+	return set_scale(sxy, sxy);
+}
+
+Matrix &
+Matrix::set_scale(const Vector &s)
+{
+	return set_scale(s[0], s[1]);
+}
+
+Matrix &
+Matrix::set_rotate(const Angle &a)
+{
+	value_type c(Angle::cos(a).get());
+	value_type s(Angle::sin(a).get());
+	m00= c;     m01=s;    m02=0.0;
+	m10=-1.0*s; m11=c;    m12=0.0;
+	m20=0.0;    m21=0.0;  m22=1.0;
+	return (*this);
+}
+
+Matrix &
+Matrix::set_translate(const Vector &t)
+{
+	return set_translate(t[0], t[1]);
+}
+
+Matrix &
+Matrix::set_translate(value_type x, value_type y)
+{
+	m00=1.0; m01=0.0; m02=0.0;
+	m10=0.0; m11=1.0; m12=0.0;
+	m20=x  ; m21=y  ; m22=1.0;
+	return (*this);
+}
+
+Vector
+Matrix::get_transformed(const Vector &v)const
+{
+	return Vector(v[0]*m00+v[1]*m10+m20,
+				  v[0]*m01+v[1]*m11+m21);
+}
+
+Matrix
+Matrix::operator*=(const Matrix &rhs)
+{
+	value_type x, y, z;
+
+	x = m00;    y = m01;    z = m02;
+	m00=x*rhs.m00 + y*rhs.m10 + z*rhs.m20;
+	m01=x*rhs.m01 + y*rhs.m11 + z*rhs.m21;
+	m02=x*rhs.m02 + y*rhs.m12 + z*rhs.m22;
+
+	x = m10;    y = m11;    z = m12;
+	m10=x*rhs.m00 + y*rhs.m10 + z*rhs.m20;
+	m11=x*rhs.m01 + y*rhs.m11 + z*rhs.m21;
+	m12=x*rhs.m02 + y*rhs.m12 + z*rhs.m22;
+
+	x = m20;    y = m21;    z = m22;
+	m20=x*rhs.m00 + y*rhs.m10 + z*rhs.m20;
+	m21=x*rhs.m01 + y*rhs.m11 + z*rhs.m21;
+	m22=x*rhs.m02 + y*rhs.m12 + z*rhs.m22;
+
+	return *this;
+}
+
+Matrix
+Matrix::operator*=(const value_type &rhs)
+{
+	m00*=rhs;
+	m01*=rhs;
+	m02*=rhs;
+
+	m10*=rhs;
+	m11*=rhs;
+	m12*=rhs;
+
+	m20*=rhs;
+	m21*=rhs;
+	m22*=rhs;
+
+	return *this;
+}
+
+Matrix
+Matrix::operator+=(const Matrix &rhs)
+{
+	m00+=rhs.m00;
+	m01+=rhs.m01;
+	m02+=rhs.m02;
+
+	m10+=rhs.m10;
+	m11+=rhs.m11;
+	m12+=rhs.m12;
+
+	m20+=rhs.m20;
+	m21+=rhs.m21;
+	m22+=rhs.m22;
+	return *this;
+}
+
+Matrix
+Matrix::operator*(const Matrix &rhs)
+{
+	return Matrix(*this)*=rhs;
+}
+
+Matrix
+Matrix::operator*(const value_type &rhs)
+{
+	return Matrix(*this)*=rhs;
+}
+
+Matrix
+Matrix::operator+(const Matrix &rhs)
+{
+	return Matrix(*this)+=rhs;
+}
+
+bool
+Matrix::is_invertible()const
+{
+//	printf("%s:%d Matrix::is_invertible() checking %f * %f != %f*%f\nie. %f != %f\nie. %d\n",
+//		   __FILE__, __LINE__, m00,m11, m01,m10, m00*m11, m01*m10, abs(m00*m11 - m01*m10) > epsilon);
+	return abs(m00*m11 - m01*m10) > epsilon;
+}
+
+Matrix&
+Matrix::invert()
+{
+	assert(is_invertible() && !m02 && !m12 && m22==1);
+
+	value_type det(m00*m11-m01*m10);
+	value_type tmp(m20);
+	m20=(m10*m21-m11*m20)/det;
+	m21=(m01*tmp-m00*m21)/det;
+	tmp=m00;
+	m00=m11/det;
+	m11=tmp/det;
+	m01=-m01/det;
+	m10=-m10/det;
+	return *this;
+}
+
+String
+Matrix::get_string(int spaces, String before, String after)const
+{
+	return etl::strprintf("%*s [%7.2f %7.2f %7.2f] %s\n%*s [%7.2f %7.2f %7.2f]\n%*s [%7.2f %7.2f %7.2f]\n",
+						  spaces, before.c_str(), m00, m01, m02, after.c_str(),
+						  spaces, "",			  m10, m11, m12,
+						  spaces, "",			  m20, m21, m22);
+}
diff --git a/src/synfig/matrix.h b/src/synfig/matrix.h
new file mode 100644
index 0000000..1431752
--- /dev/null
+++ b/src/synfig/matrix.h
@@ -0,0 +1,186 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file matrix.h
+**	\brief Matrix definitions for 2D affine transformations
+**
+**	$Id$
+**
+**	\legal
+**	Copyright (c) 2008 Carlos López & Chirs Moore
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === S T A R T =========================================================== */
+
+#ifndef __SYNFIG_MATRIX_H
+#define __SYNFIG_MATRIX_H
+
+/* === H E A D E R S ======================================================= */
+
+#include "angle.h"
+#include "real.h"
+#include "vector.h"
+#include "string.h"
+#include <cassert>
+#include <math.h>
+#include <iostream>
+#include <ETL/stringf>
+
+/* === M A C R O S ========================================================= */
+
+
+#ifdef WIN32
+#include <float.h>
+#ifndef isnan
+extern "C" { int _isnan(double x); }
+#define isnan _isnan
+#endif
+#endif
+
+// For some reason isnan() isn't working on macosx any more.
+// This is a quick fix.
+#if defined(__APPLE__) && !defined(SYNFIG_ISNAN_FIX)
+#ifdef isnan
+#undef isnan
+#endif
+inline bool isnan(double x) { return x != x; }
+inline bool isnan(float x) { return x != x; }
+#define SYNFIG_ISNAN_FIX 1
+#endif
+
+#define COUT_MATRIX(m)													\
+	cout<<"["<<m.m00<<"]["<<m.m01<<"]["<<m.m02<<"]"<<endl;				\
+	cout<<"["<<m.m10<<"]["<<m.m11<<"]["<<m.m12<<"]"<<endl;				\
+	cout<<"["<<m.m20<<"]["<<m.m21<<"]["<<m.m22<<"]"<<endl
+
+/* === T Y P E D E F S ===================================================== */
+
+/* === C L A S S E S & S T R U C T S ======================================= */
+
+namespace synfig {
+
+/*!	\class Matrix
+**	\todo writeme
+*/
+class Matrix
+{
+public:
+	typedef Real value_type;
+
+private:
+	//! The matrix array
+	value_type m00, m01, m02;
+	value_type m10, m11, m12;
+	value_type m20, m21, m22;
+	// Index convention
+	// 00 01 02
+	// 10 11 12
+	// 20 21 22
+	// vectors are premultiplied when the matrix transformation is applied
+	// we consider the vectors as [1]x[3] arrays.
+	// [1]x[3] * [3]x[3] = [1]x[3]
+	// vector  * matrix  = vector
+	// In affine transformation matrixes the values of
+	// m02=0, m12=0 and m22=1 for non projective transformations.
+
+public:
+	//!Default constructor makes an identity matrix
+	Matrix();
+
+	//!set_identity member. Set an identity matrix
+	Matrix &set_identity();
+
+	//!set_scale member function. Sets a scale matrix
+	//! @param sx Scale by X axis
+	//! @param sy Scale by Y axis
+	//! @return A matrix reference filled with the sx, sy values
+	Matrix &set_scale(const value_type &sx, const value_type &sy);
+
+	//!set_scale member fucntion. Sets a scale matrix
+	//! @param sxy Scale by X and Y axis
+	//! @return A matrix reference filled with the sxy values
+	Matrix &set_scale(const value_type &sxy);
+
+	//!set_scale member fucntion. Sets a scale matrix
+	//! @param s Vector that defines the scale
+	//! @return A matrix reference filled with the proper scale parameters
+	Matrix &set_scale(const Vector &s);
+
+	//!set_rotate member function. Sets a rotate matrix
+	//! @param a Rotation angle counter clockwise
+	//! @return A matrix reference filled with the proper rotation parameters
+	Matrix &set_rotate(const Angle &a);
+
+	//!translate member function. Sets a translate matrix
+	//! @param t Vector that defines the translation
+	//! @return A matrix reference filled with the proper translation parameters
+	Matrix &set_translate(const Vector &t);
+
+	//!translate member function. Sets a translate matrix
+	//! @param x Scalar that defines the x component of the translation
+	//! @param y Scalar that defines the y component of the translation
+	//! @return A matrix reference filled with the proper translation parameters
+	Matrix &set_translate(value_type x, value_type y);
+
+	//!get_transformed member function.
+	//! @param v 2D Vector to transform
+	//! @return The Vector result
+	Vector get_transformed(const Vector &v)const;
+
+	//! operator*=. Multiplication and assignment of one matrix by another
+	//! @param rhs the right hand side of the multiplication operation
+	//! @return the modified resulting matrix
+	Matrix operator*=(const Matrix &rhs);
+
+	//! operator*=. Multiplication and assignment of one matrix by a scalar
+	//! @param rhs the number to multiply by
+	//! @return the modifed resulting matrix
+	Matrix operator*=(const value_type &rhs);
+
+	//! operator+=. Sum and assignment of two matrixes
+	//! @param rhs the matrix to sum
+	//! @return modified matrix with the summed matrix
+	Matrix operator+=(const Matrix &rhs);
+
+	//! operator*. Multiplication of one matrix by another
+	//! @param rhs the right hand side of the multiplication operation
+	//! @return the resulting matrix
+	Matrix operator*(const Matrix &rhs);
+
+	//! operator*. Multiplication of one matrix by a number
+	//! @param rhs the number to multiply by
+	//! @return the resulting matrix
+	Matrix operator*(const value_type &rhs);
+
+	//! operator+. Sum two matrixes
+	//! @param rhs the matrix to sum
+	//! @return the resulting matrix
+	Matrix
+	operator+(const Matrix &rhs);
+
+	bool is_invertible()const;
+
+	//         (m00 m01 0)       1               (     m11     )   (    -m01     )   (      0      )
+	// inverse (m10 m11 0)  =  -----          x  (    -m10     )   (     m00     )   (      0      )
+	//         (m20 m21 1)     m00m11-m01m10     (m10m21-m11m20)   (m01m20-m00m21)   (m00m11-m01m10)
+	Matrix &invert();
+
+	//!Get the string of the Matrix
+	//!@return String type. A string representation of the matrix
+	//!components.
+	String get_string(int spaces = 0, String before = String(), String after = String())const;
+};
+
+}; // END of namespace synfig
+
+#endif
diff --git a/src/synfig/node.cpp b/src/synfig/node.cpp
index 182483c..c7639bd 100644
--- a/src/synfig/node.cpp
+++ b/src/synfig/node.cpp
@@ -30,6 +30,8 @@
 #	include <config.h>
 #endif
 
+#include <cstdlib>
+#include <cstdio>
 #include "node.h"
 // #include "nodebase.h"		// this defines a bunch of sigc::slots that are never used
 
@@ -250,13 +252,41 @@ Node::get_time_last_changed()const
 void
 Node::add_child(Node*x)
 {
+	if (getenv("SYNFIG_DEBUG_NODE_PARENT_SET"))
+		printf("%s:%d adding %lx (%s) as parent of %lx (%s) (%zd -> ", __FILE__, __LINE__,
+			   uintptr_t(this), get_string().c_str(),
+			   uintptr_t(x), x->get_string().c_str(),
+			   x->parent_set.size());
+
 	x->parent_set.insert(this);
+
+	if (getenv("SYNFIG_DEBUG_NODE_PARENT_SET"))
+		printf("%zd)\n", x->parent_set.size());
 }
 
 void
 Node::remove_child(Node*x)
 {
-	if(x->parent_set.count(this)) x->parent_set.erase(this);
+	if(x->parent_set.count(this) == 0)
+	{
+		if (getenv("SYNFIG_DEBUG_NODE_PARENT_SET"))
+			printf("%s:%d %lx (%s) isn't in parent set of %lx (%s)\n", __FILE__, __LINE__,
+				   uintptr_t(this), get_string().c_str(),
+				   uintptr_t(x), x->get_string().c_str());
+
+		return;
+	}
+
+	if (getenv("SYNFIG_DEBUG_NODE_PARENT_SET"))
+		printf("%s:%d removing %lx (%s) from parent set of %lx (%s) (%zd -> ", __FILE__, __LINE__,
+			   uintptr_t(this), get_string().c_str(),
+			   uintptr_t(x), x->get_string().c_str(),
+			   x->parent_set.size());
+
+	x->parent_set.erase(this);
+
+	if (getenv("SYNFIG_DEBUG_NODE_PARENT_SET"))
+		printf("%zd)\n", x->parent_set.size());
 }
 
 int
@@ -291,6 +321,13 @@ Node::begin_delete()
 void
 Node::on_changed()
 {
+	if (getenv("SYNFIG_DEBUG_ON_CHANGED"))
+	{
+		printf("%s:%d Node::on_changed() for %lx (%s); signalling these %zd parents:\n", __FILE__, __LINE__, uintptr_t(this), get_string().c_str(), parent_set.size());
+		for (set<Node*>::iterator iter = parent_set.begin(); iter != parent_set.end(); iter++) printf(" %lx (%s)\n", uintptr_t(*iter), (*iter)->get_string().c_str());
+		printf("\n");
+	}
+
 	bchanged = true;
 	signal_changed()();
 
diff --git a/src/synfig/node.h b/src/synfig/node.h
index fd91cf2..7b896e3 100644
--- a/src/synfig/node.h
+++ b/src/synfig/node.h
@@ -223,7 +223,7 @@ public:
 	const GUID& get_guid()const;
 
 	//! Sets the GUID for this Node
-	void set_guid(const GUID& x);
+	virtual void set_guid(const GUID& x);
 
 	//! Gets the time when the Node was changed
 	int get_time_last_changed()const;
@@ -243,6 +243,7 @@ public:
 	//! Writeme!
 	RWLock& get_rw_lock()const { return rw_lock_; }
 
+	virtual String get_string()const = 0;
 protected:
 
 	void begin_delete();
diff --git a/src/synfig/paramdesc.cpp b/src/synfig/paramdesc.cpp
index 456dc74..95575b3 100644
--- a/src/synfig/paramdesc.cpp
+++ b/src/synfig/paramdesc.cpp
@@ -49,7 +49,7 @@ using namespace synfig;
 
 /* === M E T H O D S ======================================================= */
 
-ParamDesc::ParamDesc(synfig::Color::BlendMethod, const String &a):
+ParamDesc::ParamDesc(const ValueBase&, const String &a):
 	name_			(a),
 	local_name_		(a),
 	scalar_			(1.0),
@@ -57,9 +57,13 @@ ParamDesc::ParamDesc(synfig::Color::BlendMethod, const String &a):
 	hidden_			(false),
 	invisible_duck_	(false),
 	is_distance_	(false),
-	animation_only_	(false)
+	animation_only_	(false),
+	static_			(false),
+	interpolation_	(INTERPOLATION_UNDEFINED)
 {
-	set_local_name(_("Blend Method"))
+	if(a == "blend_method")
+	{
+		set_local_name(_("Blend Method"))
 		.set_hint("enum")		// used shortcuts: A B C D E F G H I K L M N O P R S T U V Y; free: J Q W X Z
 		.add_enum_value(Color::BLEND_COMPOSITE,      "composite",    _("Composite"))
 		.add_enum_value(Color::BLEND_STRAIGHT,       "straight",     _("Straight"))
@@ -84,16 +88,6 @@ ParamDesc::ParamDesc(synfig::Color::BlendMethod, const String &a):
 		.add_enum_value(Color::BLEND_ALPHA_BRIGHTEN, "alphabrighten",_("Alpha Brighten"))
 		.add_enum_value(Color::BLEND_ALPHA_DARKEN,   "alphadarken",  _("Alpha Darken"))
 		; // end of enums
-}
-
-ParamDesc::ParamDesc(const ValueBase&, const String &a):
-	name_			(a),
-	local_name_		(a),
-	scalar_			(1.0),
-	critical_		(true),
-	hidden_			(false),
-	invisible_duck_	(false),
-		is_distance_	(false),
-		animation_only_	(false)
-{
+		
+	}
 }
diff --git a/src/synfig/paramdesc.h b/src/synfig/paramdesc.h
index 2e0f0ad..15f960e 100644
--- a/src/synfig/paramdesc.h
+++ b/src/synfig/paramdesc.h
@@ -30,6 +30,7 @@
 #include "string.h"
 #include "real.h"
 #include "color.h"
+#include "interpolation.h"
 #include <list>
 
 /* === M A C R O S ========================================================= */
@@ -78,11 +79,14 @@ private:
    	String connect_;
    	String box_;
 	Real scalar_;			//! Scalar value for visual editing
+	bool exponential_;		//! Allow range from -inf to inf for visual editing
    	bool critical_;
 	bool hidden_;
 	bool invisible_duck_;
 	bool is_distance_;
 	bool animation_only_;
+	bool static_;
+	Interpolation interpolation_;
 
 	std::list<EnumData> enum_list_;
 
@@ -96,18 +100,18 @@ public:
 		name_			(a),
 		local_name_		(a),
 		scalar_			(1.0),
+		exponential_		(false),
 		critical_		(true),
 		hidden_			(false),
 		invisible_duck_	(false),
 		is_distance_	(false),
-		animation_only_	(false)
+		animation_only_	(false),
+		static_			(false),
+		interpolation_	(INTERPOLATION_UNDEFINED)
 	{ }
 
    	ParamDesc(const ValueBase&, const String &a);
 
-   	ParamDesc(synfig::Color::BlendMethod, const String &a);
-
-
 	/*
  --	** -- M E M B E R   F U N C T I O N S -------------------------------------
 	*/
@@ -156,6 +160,10 @@ public:
    	/*! This value determines how the value is to be presented
    	**	to the user when editing visually. */
    	ParamDesc &set_scalar(const Real &n) { scalar_=n; return *this; }
+	
+	//! Sets if the parameter value should be exposed for visual editing using the exponential function
+   	/*!	Such representation allows to set the Real values in the range from \c -inf to \c inf . */
+	ParamDesc &set_exponential(bool x=true) { exponential_=x; return *this; }
 
    	//!	Marks the parameter as not necessary for saving or copying
    	ParamDesc &not_critical() { critical_=false; return *this; }
@@ -202,14 +210,22 @@ public:
 
    	//! Returns the scalar value for the parameter. Used for visual editing.
    	const Real &get_scalar()const { return scalar_; }
+	
+	//! Tells if the value should be exposed for editing using the exponential function
+   	/*!	Such representation allows to set the Real values in the range from \c -inf to \c inf . */
+	bool get_exponential()const {return exponential_; }
 
    	//! Returns \c true if the layer is critical, \c false otherwise.
    	bool get_critical()const { return critical_; }
 
    	//! Returns \c true if the layer is hidden, \c false otherwise.
    	bool get_hidden()const { return hidden_; }
+	
+	bool get_static()const { return static_; }
+	ParamDesc &set_static(bool s) { static_=s; return *this; }
 
-
+	Interpolation get_interpolation()const { return interpolation_; }
+	ParamDesc &set_interpolation(Interpolation i) { interpolation_=i; return *this; }
 
    	ParamDesc& set_is_distance(bool x=true) { is_distance_=x; return *this;}
    	bool get_is_distance()const { return is_distance_; }
diff --git a/src/synfig/releases.h b/src/synfig/releases.h
index fd1f086..c757da9 100644
--- a/src/synfig/releases.h
+++ b/src/synfig/releases.h
@@ -50,6 +50,7 @@ namespace synfig {
 		RELEASE_VERSION_0_63_04,
 		RELEASE_VERSION_0_63_05,
 		RELEASE_VERSION_0_64_0,
+		RELEASE_VERSION_0_64_1,
 
 		RELEASE_VERSION_END
 	} ReleaseVersion;
diff --git a/src/synfig/renddesc.cpp b/src/synfig/renddesc.cpp
index 677bedb..a9d7274 100644
--- a/src/synfig/renddesc.cpp
+++ b/src/synfig/renddesc.cpp
@@ -356,6 +356,16 @@ RendDesc &
 RendDesc::set_clamp(bool x)
 { clamp=x; return *this; }
 
+//! Return the status of the render_excluded_contexts flag
+const bool &
+RendDesc::get_render_excluded_contexts()const
+{ return render_excluded_contexts; }
+
+//! Set the render_excluded_contexts flag
+RendDesc &
+RendDesc::set_render_excluded_contexts(bool x)
+{ render_excluded_contexts=x; return *this; }
+
 //! Set constraint flags
 RendDesc &
 RendDesc::set_flags(const int &x)
diff --git a/src/synfig/renddesc.h b/src/synfig/renddesc.h
index 145581b..d459380 100644
--- a/src/synfig/renddesc.h
+++ b/src/synfig/renddesc.h
@@ -97,6 +97,8 @@ private:
 	bool interlaced;
 	//! Clamp flag to decide if color must be clamped or not
 	bool clamp;
+	//! When \c true layers with exclude_from_rendering flag should be rendered
+	bool render_excluded_contexts;
 	//! Frame rate of the composition to be rendered
 	float frame_rate;
 	//! Begin time and end time of the Composition to render
@@ -127,6 +129,7 @@ public:
 		flags		(0),
 		interlaced	(false),
 		clamp		(false),
+		render_excluded_contexts(false),
 		frame_rate	(24),
 		time_begin	(0),
 		time_end	(0)
@@ -242,6 +245,12 @@ public:
 	//! Set the clamp flag
 	RendDesc &set_clamp(bool x);
 
+	//! Return the status of the render_excluded_contexts flag
+	const bool &get_render_excluded_contexts()const;
+
+	//! Set the render_excluded_contexts flag
+	RendDesc &set_render_excluded_contexts(bool x);
+
 	//! Set constraint flags
 	RendDesc &set_flags(const int &x);
 
diff --git a/src/synfig/render.cpp b/src/synfig/render.cpp
index ddb21d5..79a1220 100644
--- a/src/synfig/render.cpp
+++ b/src/synfig/render.cpp
@@ -43,6 +43,8 @@
 #include <cassert>
 #include "context.h"
 #include "surface.h"
+#include "cairo_renddesc.h"
+
 
 #endif
 
@@ -332,9 +334,6 @@ synfig::cairorender(
 	du, dv,		// Distance between pixels
 	dsu,dsv;	// Distance between subpixels
 	
-	bool
-	no_clamp=!desc.get_clamp();
-	
 	int
 	w(desc.get_w()),
 	h(desc.get_h()),
@@ -424,10 +423,48 @@ synfig::cairorender(
 	// Report our success
 	return(true);
 }
+////////
 
+bool
+synfig::cairorender(Context context,
+				cairo_t* cr,
+				const RendDesc &desc,
+				ProgressCallback *cb)
+{
+	RendDesc	renddesc(desc);
+	
+	// Untransform the render desc
+	if(!cairo_renddesc_untransform(cr, renddesc))
+		return false;
+	const Real pw(renddesc.get_pw()),ph(renddesc.get_ph());
+	const Point tl(renddesc.get_tl());
+	const int w(renddesc.get_w());
+	const int h(renddesc.get_h());
+	cairo_surface_t *surface;
+	
+	surface=cairo_surface_create_similar(cairo_get_target(cr), CAIRO_CONTENT_COLOR_ALPHA, w, h);
 
-////////
+	if(!cairorender(context, surface, renddesc, cb))
+	{
+		cairo_surface_destroy(surface);
+		return false;
+	}
+	
+	cairo_save(cr);
+	cairo_translate(cr, tl[0], tl[1]);
+	cairo_scale(cr, pw, ph);
+	cairo_set_source_surface(cr, surface, 0, 0);
+	cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
+	cairo_paint(cr);
+	cairo_restore(cr);
+	
+	cairo_surface_destroy(surface);
+	// Mark our progress as finished
+	if(cb && !cb->amount_complete(10000,10000))
+		return false;
 
+	return true;
+}
 
 
 
diff --git a/src/synfig/render.h b/src/synfig/render.h
index 9a9fcd8..36e394e 100644
--- a/src/synfig/render.h
+++ b/src/synfig/render.h
@@ -55,6 +55,7 @@ namespace synfig {
 */
 extern bool render(Context context, Target_Scanline::Handle target, const RendDesc &desc,ProgressCallback *);
 extern bool cairorender(Context context, cairo_surface_t* surface, const RendDesc &desc, ProgressCallback *cb=NULL);
+extern bool cairorender(Context context, cairo_t* cr, const RendDesc &desc, ProgressCallback *cb=NULL);
 
 extern bool parametric_render(Context context, Surface &surface, const RendDesc &desc,ProgressCallback *);
 
diff --git a/src/synfig/savecanvas.cpp b/src/synfig/savecanvas.cpp
index 5d63bbe..da520a2 100644
--- a/src/synfig/savecanvas.cpp
+++ b/src/synfig/savecanvas.cpp
@@ -40,9 +40,13 @@
 #include "valuenode.h"
 #include "valuenode_animated.h"
 #include "valuenode_const.h"
+#include "valuenode_linear.h"
+#include "valuenode_staticlist.h"
 #include "valuenode_dynamiclist.h"
 #include "valuenode_reference.h"
+#include "valuenode_subtract.h"
 #include "valuenode_bline.h"
+#include "valuenode_bone.h"
 #include "valuenode_wplist.h"
 #include "valuenode_dilist.h"
 #include "dashitem.h"
@@ -85,6 +89,8 @@ int valuenode_too_new_count;
 
 xmlpp::Element* encode_canvas(xmlpp::Element* root,Canvas::ConstHandle canvas);
 xmlpp::Element* encode_value_node(xmlpp::Element* root,ValueNode::ConstHandle value_node,Canvas::ConstHandle canvas);
+xmlpp::Element* encode_value_node_bone(xmlpp::Element* root,ValueNode::ConstHandle value_node,Canvas::ConstHandle canvas);
+xmlpp::Element* encode_value_node_bone_id(xmlpp::Element* root,ValueNode::ConstHandle value_node,Canvas::ConstHandle canvas);
 
 xmlpp::Element* encode_keyframe(xmlpp::Element* root,const Keyframe &kf, float fps)
 {
@@ -96,6 +102,37 @@ xmlpp::Element* encode_keyframe(xmlpp::Element* root,const Keyframe &kf, float f
 	return root;
 }
 
+xmlpp::Element* encode_interpolation(xmlpp::Element* root,Interpolation value,String attribute)
+{
+	if (value!=INTERPOLATION_UNDEFINED)
+	{
+		switch(value)
+		{
+		case INTERPOLATION_HALT:
+			root->set_attribute(attribute,"halt");
+			break;
+		case INTERPOLATION_LINEAR:
+			root->set_attribute(attribute,"linear");
+			break;
+		case INTERPOLATION_MANUAL:
+			root->set_attribute(attribute,"manual");
+			break;
+		case INTERPOLATION_CONSTANT:
+			root->set_attribute(attribute,"constant");
+			break;
+		case INTERPOLATION_TCB:
+			root->set_attribute(attribute,"auto");
+			break;
+		case INTERPOLATION_CLAMPED:
+			root->set_attribute(attribute,"clamped");
+			break;
+		default:
+			error("Unknown waypoint type for \""+attribute+"\" attribute");
+		}
+	}
+	return root;
+}
+
 xmlpp::Element* encode_static(xmlpp::Element* root,bool s)
 {
 	if(s)
@@ -104,82 +141,73 @@ xmlpp::Element* encode_static(xmlpp::Element* root,bool s)
 }
 
 
-xmlpp::Element* encode_real(xmlpp::Element* root,Real v,bool s=false)
+xmlpp::Element* encode_real(xmlpp::Element* root,Real v)
 {
 	root->set_name("real");
 	root->set_attribute("value",strprintf(VECTOR_VALUE_TYPE_FORMAT,v));
-	encode_static(root, s);
 	return root;
 }
 
-xmlpp::Element* encode_time(xmlpp::Element* root,Time t,bool s=false)
+xmlpp::Element* encode_time(xmlpp::Element* root,Time t)
 {
 	root->set_name("time");
 	root->set_attribute("value",t.get_string());
-	encode_static(root, s);
 	return root;
 }
 
-xmlpp::Element* encode_integer(xmlpp::Element* root,int i,bool s=false)
+xmlpp::Element* encode_integer(xmlpp::Element* root,int i)
 {
 	root->set_name("integer");
 	root->set_attribute("value",strprintf("%i",i));
-	encode_static(root, s);
 	return root;
 }
 
-xmlpp::Element* encode_bool(xmlpp::Element* root, bool b,bool s=false)
+xmlpp::Element* encode_bool(xmlpp::Element* root, bool b)
 {
 	root->set_name("bool");
 	root->set_attribute("value",b?"true":"false");
-	encode_static(root, s);
 	return root;
 }
 
-xmlpp::Element* encode_string(xmlpp::Element* root,const String &str,bool s=false)
+xmlpp::Element* encode_string(xmlpp::Element* root,const String &str)
 {
 	root->set_name("string");
 	root->set_child_text(str);
-	encode_static(root, s);
 	return root;
 }
 
-xmlpp::Element* encode_vector(xmlpp::Element* root,Vector vect,bool s=false)
+xmlpp::Element* encode_vector(xmlpp::Element* root,Vector vect)
 {
 	root->set_name("vector");
 	root->add_child("x")->set_child_text(strprintf(VECTOR_VALUE_TYPE_FORMAT,(float)vect[0]));
 	root->add_child("y")->set_child_text(strprintf(VECTOR_VALUE_TYPE_FORMAT,(float)vect[1]));
-	encode_static(root, s);
 	return root;
 }
 
-xmlpp::Element* encode_color(xmlpp::Element* root,Color color,bool s=false)
+xmlpp::Element* encode_color(xmlpp::Element* root,Color color)
 {
 	root->set_name("color");
 	root->add_child("r")->set_child_text(strprintf(COLOR_VALUE_TYPE_FORMAT,(float)color.get_r()));
 	root->add_child("g")->set_child_text(strprintf(COLOR_VALUE_TYPE_FORMAT,(float)color.get_g()));
 	root->add_child("b")->set_child_text(strprintf(COLOR_VALUE_TYPE_FORMAT,(float)color.get_b()));
 	root->add_child("a")->set_child_text(strprintf(COLOR_VALUE_TYPE_FORMAT,(float)color.get_a()));
-	encode_static(root, s);
 	return root;
 }
 
-xmlpp::Element* encode_angle(xmlpp::Element* root,Angle theta,bool s=false)
+xmlpp::Element* encode_angle(xmlpp::Element* root,Angle theta)
 {
 	root->set_name("angle");
 	root->set_attribute("value",strprintf("%f",(float)Angle::deg(theta).get()));
-	encode_static(root, s);
 	return root;
 }
 
-xmlpp::Element* encode_segment(xmlpp::Element* root,Segment seg,bool s=false)
+xmlpp::Element* encode_segment(xmlpp::Element* root,Segment seg)
 {
 	root->set_name("segment");
 	encode_vector(root->add_child("p1")->add_child("vector"),seg.p1);
 	encode_vector(root->add_child("t1")->add_child("vector"),seg.t1);
 	encode_vector(root->add_child("p2")->add_child("vector"),seg.p2);
 	encode_vector(root->add_child("t2")->add_child("vector"),seg.t2);
-	encode_static(root, s);
 	return root;
 }
 
@@ -218,10 +246,9 @@ xmlpp::Element* encode_dash_item(xmlpp::Element* root, DashItem dash_item)
 	return root;
 }
 
-xmlpp::Element* encode_gradient(xmlpp::Element* root,Gradient x,bool s=false)
+xmlpp::Element* encode_gradient(xmlpp::Element* root,Gradient x)
 {
 	root->set_name("gradient");
-	encode_static(root, s);
 	Gradient::const_iterator iter;
 	x.sort();
 	for(iter=x.begin();iter!=x.end();iter++)
@@ -250,26 +277,54 @@ xmlpp::Element* encode_list(xmlpp::Element* root,std::list<ValueBase> list, Canv
 
 xmlpp::Element* encode_value(xmlpp::Element* root,const ValueBase &data,Canvas::ConstHandle canvas)
 {
+	if (getenv("SYNFIG_DEBUG_SAVE_CANVAS")) printf("%s:%d encode_value (type %s)\n", __FILE__, __LINE__, ValueBase::type_name(data.get_type()).c_str());
 	switch(data.get_type())
 	{
 	case ValueBase::TYPE_REAL:
-		return encode_real(root,data.get(Real()), data.get_static());
+		encode_real(root,data.get(Real()));
+		encode_static(root, data.get_static());
+		encode_interpolation(root, data.get_interpolation(), "interpolation");
+		return root;
 	case ValueBase::TYPE_TIME:
-		return encode_time(root,data.get(Time()), data.get_static());
+		encode_time(root,data.get(Time()));
+		encode_static(root, data.get_static());
+		encode_interpolation(root, data.get_interpolation(), "interpolation");
+		return root;
 	case ValueBase::TYPE_INTEGER:
-		return encode_integer(root,data.get(int()), data.get_static());
+		encode_integer(root,data.get(int()));
+		encode_static(root, data.get_static());
+		encode_interpolation(root, data.get_interpolation(), "interpolation");
+		return root;
 	case ValueBase::TYPE_COLOR:
-		return encode_color(root,data.get(Color()), data.get_static());
+		encode_color(root,data.get(Color()));
+		encode_static(root, data.get_static());
+		encode_interpolation(root, data.get_interpolation(), "interpolation");
+		return root;
 	case ValueBase::TYPE_VECTOR:
-		return encode_vector(root,data.get(Vector()), data.get_static());
+		encode_vector(root,data.get(Vector()));
+		encode_static(root, data.get_static());
+		encode_interpolation(root, data.get_interpolation(), "interpolation");
+		return root;
 	case ValueBase::TYPE_ANGLE:
-		return encode_angle(root,data.get(Angle()), data.get_static());
+		encode_angle(root,data.get(Angle()));
+		encode_static(root, data.get_static());
+		encode_interpolation(root, data.get_interpolation(), "interpolation");
+		return root;
 	case ValueBase::TYPE_BOOL:
-		return encode_bool(root,data.get(bool()), data.get_static());
+		encode_bool(root,data.get(bool()));
+		encode_static(root, data.get_static());
+		encode_interpolation(root, data.get_interpolation(), "interpolation");
+		return root;
 	case ValueBase::TYPE_STRING:
-		return encode_string(root,data.get(String()), data.get_static());
+		encode_string(root,data.get(String()));
+		encode_static(root, data.get_static());
+		encode_interpolation(root, data.get_interpolation(), "interpolation");
+		return root;
 	case ValueBase::TYPE_SEGMENT:
-		return encode_segment(root,data.get(Segment()), data.get_static());
+		encode_segment(root,data.get(Segment()));
+		encode_static(root, data.get_static());
+		encode_interpolation(root, data.get_interpolation(), "interpolation");
+		return root;
 	case ValueBase::TYPE_BLINEPOINT:
 		return encode_bline_point(root,data.get(BLinePoint()));
 	case ValueBase::TYPE_WIDTHPOINT:
@@ -277,11 +332,25 @@ xmlpp::Element* encode_value(xmlpp::Element* root,const ValueBase &data,Canvas::
 	case ValueBase::TYPE_DASHITEM:
 		return encode_dash_item(root,data.get(DashItem()));
 	case ValueBase::TYPE_GRADIENT:
-		return encode_gradient(root,data.get(Gradient()), data.get_static());
+		encode_gradient(root,data.get(Gradient()));
+		encode_static(root, data.get_static());
+		encode_interpolation(root, data.get_interpolation(), "interpolation");
+		return root;
 	case ValueBase::TYPE_LIST:
 		return encode_list(root,data,canvas);
 	case ValueBase::TYPE_CANVAS:
 		return encode_canvas(root,data.get(Canvas::Handle()).get());
+		encode_static(root, data.get_static());
+	case ValueBase::TYPE_VALUENODE_BONE:
+		if (!canvas)
+		{
+			printf("%s:%d ------------------------------------------------------------------------\n", __FILE__, __LINE__);
+			printf("%s:%d zero canvas - please fix - report\n", __FILE__, __LINE__);
+			printf("%s:%d ------------------------------------------------------------------------\n", __FILE__, __LINE__);
+		}
+		root = encode_value_node_bone_id(root,data.get(ValueNode_Bone::Handle()).get(),canvas);
+		root->set_name("bone_valuenode");
+		return root;
 	case ValueBase::TYPE_NIL:
 		synfig::error("Encountered NIL ValueBase");
 		root->set_name("nil");
@@ -302,7 +371,9 @@ xmlpp::Element* encode_animated(xmlpp::Element* root,ValueNode_Animated::ConstHa
 
 	const ValueNode_Animated::WaypointList &waypoint_list=value_node->waypoint_list();
 	ValueNode_Animated::WaypointList::const_iterator iter;
-
+	
+	encode_interpolation(root, value_node->get_interpolation(), "interpolation");
+	
 	for(iter=waypoint_list.begin();iter!=waypoint_list.end();++iter)
 	{
 		xmlpp::Element *waypoint_node=root->add_child("waypoint");
@@ -312,7 +383,8 @@ xmlpp::Element* encode_animated(xmlpp::Element* root,ValueNode_Animated::ConstHa
 			waypoint_node->set_attribute("use",iter->get_value_node()->get_relative_id(canvas));
 		else {
 			ValueNode::ConstHandle value_node = iter->get_value_node();
-			if(ValueNode_Const::ConstHandle::cast_dynamic(value_node)) {
+			if(ValueNode_Const::ConstHandle::cast_dynamic(value_node))
+			{
 				const ValueBase data = ValueNode_Const::ConstHandle::cast_dynamic(value_node)->get_value();
 				if (data.get_type() == ValueBase::TYPE_CANVAS)
 					waypoint_node->set_attribute("use",data.get(Canvas::Handle()).get()->get_relative_id(canvas));
@@ -322,54 +394,16 @@ xmlpp::Element* encode_animated(xmlpp::Element* root,ValueNode_Animated::ConstHa
 			else
 				encode_value_node(waypoint_node->add_child("value_node"),iter->get_value_node(),canvas);
 		}
-
-		switch(iter->get_before())
-		{
-		case INTERPOLATION_HALT:
-			waypoint_node->set_attribute("before","halt");
-			break;
-		case INTERPOLATION_LINEAR:
-			waypoint_node->set_attribute("before","linear");
-			break;
-		case INTERPOLATION_MANUAL:
-			waypoint_node->set_attribute("before","manual");
-			break;
-		case INTERPOLATION_CONSTANT:
-			waypoint_node->set_attribute("before","constant");
-			break;
-		case INTERPOLATION_TCB:
-			waypoint_node->set_attribute("before","auto");
-			break;
-		case INTERPOLATION_CLAMPED:
-			waypoint_node->set_attribute("before","clamped");
-			break;
-		default:
+		
+		if (iter->get_before()!=INTERPOLATION_UNDEFINED)
+			encode_interpolation(waypoint_node,iter->get_before(),"before");
+		else
 			error("Unknown waypoint type for \"before\" attribute");
-		}
 
-		switch(iter->get_after())
-		{
-		case INTERPOLATION_HALT:
-			waypoint_node->set_attribute("after","halt");
-			break;
-		case INTERPOLATION_LINEAR:
-			waypoint_node->set_attribute("after","linear");
-			break;
-		case INTERPOLATION_MANUAL:
-			waypoint_node->set_attribute("after","manual");
-			break;
-		case INTERPOLATION_CONSTANT:
-			waypoint_node->set_attribute("after","constant");
-			break;
-		case INTERPOLATION_TCB:
-			waypoint_node->set_attribute("after","auto");
-			break;
-		case INTERPOLATION_CLAMPED:
-			waypoint_node->set_attribute("after","clamped");
-			break;
-		default:
+		if (iter->get_after()!=INTERPOLATION_UNDEFINED)
+			encode_interpolation(waypoint_node,iter->get_after(),"after");
+		else
 			error("Unknown waypoint type for \"after\" attribute");
-		}
 
 		if(iter->get_tension()!=0.0)
 			waypoint_node->set_attribute("tension",strprintf("%f",iter->get_tension()));
@@ -385,6 +419,73 @@ xmlpp::Element* encode_animated(xmlpp::Element* root,ValueNode_Animated::ConstHa
 	return root;
 }
 
+
+xmlpp::Element* encode_subtract(xmlpp::Element* root,ValueNode_Subtract::ConstHandle value_node,Canvas::ConstHandle canvas=0)
+{
+	assert(value_node);
+	root->set_name("subtract");
+
+	ValueNode::ConstHandle lhs=value_node->get_lhs();
+	ValueNode::ConstHandle rhs=value_node->get_rhs();
+	ValueNode::ConstHandle scalar=value_node->get_scalar();
+
+	assert(lhs);
+	assert(rhs);
+
+	root->set_attribute("type",ValueBase::type_name(value_node->get_type()));
+
+	if(lhs==rhs)
+		warning("LHS is equal to RHS, this <subtract> will always be zero!");
+
+	//if(value_node->get_scalar()!=1)
+	//	root->set_attribute("scalar",strprintf(VECTOR_VALUE_TYPE_FORMAT,value_node->get_scalar()));
+
+	if(!scalar->get_id().empty())
+		root->set_attribute("scalar",scalar->get_relative_id(canvas));
+	else
+		encode_value_node(root->add_child("scalar")->add_child("value_node"),scalar,canvas);
+
+	if(!lhs->get_id().empty())
+		root->set_attribute("lhs",lhs->get_relative_id(canvas));
+	else
+		encode_value_node(root->add_child("lhs")->add_child("value_node"),lhs,canvas);
+
+	if(!rhs->get_id().empty())
+		root->set_attribute("rhs",rhs->get_relative_id(canvas));
+	else
+		encode_value_node(root->add_child("rhs")->add_child("value_node"),rhs,canvas);
+
+	return root;
+}
+
+xmlpp::Element* encode_static_list(xmlpp::Element* root,ValueNode_StaticList::ConstHandle value_node,Canvas::ConstHandle canvas=0)
+{
+	if (getenv("SYNFIG_DEBUG_SAVE_CANVAS")) printf("%s:%d encode_static_list %s\n", __FILE__, __LINE__, value_node->get_string().c_str());
+	assert(value_node);
+
+	root->set_name(value_node->get_name());
+
+	root->set_attribute("type",ValueBase::type_name(value_node->get_contained_type()));
+
+	vector<ValueNode::RHandle>::const_iterator iter;
+
+	for(iter=value_node->list.begin();iter!=value_node->list.end();++iter)
+	{
+		xmlpp::Element	*entry_node=root->add_child("entry");
+		assert(*iter);
+		if(!(*iter)->get_id().empty())
+			entry_node->set_attribute("use",(*iter)->get_relative_id(canvas));
+		else
+		{
+			if (getenv("SYNFIG_DEBUG_SAVE_CANVAS")) printf("%s:%d encode entry %s\n", __FILE__, __LINE__, (*iter)->get_string().c_str());
+			encode_value_node(entry_node->add_child("value_node"),*iter,canvas);
+		}
+	}
+
+	if (getenv("SYNFIG_DEBUG_SAVE_CANVAS")) printf("%s:%d encode_static_list %s done\n", __FILE__, __LINE__, value_node->get_string().c_str());
+	return root;
+}
+
 xmlpp::Element* encode_dynamic_list(xmlpp::Element* root,ValueNode_DynamicList::ConstHandle value_node,Canvas::ConstHandle canvas=0)
 {
 	assert(value_node);
@@ -484,6 +585,7 @@ xmlpp::Element* encode_dynamic_list(xmlpp::Element* root,ValueNode_DynamicList::
 // Generic linkable data node entry
 xmlpp::Element* encode_linkable_value_node(xmlpp::Element* root,LinkableValueNode::ConstHandle value_node,Canvas::ConstHandle canvas=0)
 {
+	if (getenv("SYNFIG_DEBUG_SAVE_CANVAS")) printf("%s:%d encode_linkable_value_node %s\n", __FILE__, __LINE__, value_node->get_string().c_str());
 	assert(value_node);
 
 	String name(value_node->get_name());
@@ -510,29 +612,58 @@ xmlpp::Element* encode_linkable_value_node(xmlpp::Element* root,LinkableValueNod
 	synfig::ParamVocab::iterator iter(child_vocab.begin());
 	for(i=0;i<value_node->link_count();i++, iter++)
 	{
+		// printf("saving link %d : %s\n", i, value_node->link_local_name(i).c_str());
 		ValueNode::ConstHandle link=value_node->get_link(i).constant();
 		if(!link)
 			throw runtime_error("Bad link");
 		if(link->is_exported())
 			root->set_attribute(value_node->link_name(i),link->get_relative_id(canvas));
 		else if(iter->get_critical())
+		{
+			if (name == "bone" && value_node->link_name(i) == "parent")
+			{
+				if (getenv("SYNFIG_DEBUG_SAVE_CANVAS")) printf("%s:%d saving bone's parent\n", __FILE__, __LINE__);
+			}
 			encode_value_node(root->add_child(value_node->link_name(i))->add_child("value_node"),link,canvas);
+		}
 	}
 
+	if (getenv("SYNFIG_DEBUG_SAVE_CANVAS")) printf("%s:%d encode_linkable_value_node %s done\n", __FILE__, __LINE__, value_node->get_string().c_str());
 	return root;
 }
 
 xmlpp::Element* encode_value_node(xmlpp::Element* root,ValueNode::ConstHandle value_node,Canvas::ConstHandle canvas)
 {
 	assert(value_node);
+	if (getenv("SYNFIG_DEBUG_SAVE_CANVAS")) printf("%s:%d encode_value_node %s %s\n", __FILE__, __LINE__, value_node->get_string().c_str(), value_node->get_guid().get_string().c_str());
 
+	if(value_node->rcount()>1)
+		root->set_attribute("guid",(value_node->get_guid()^canvas->get_root()->get_guid()).get_string());
+
+	if(ValueNode_Bone::ConstHandle::cast_dynamic(value_node))
+	{
+		if (getenv("SYNFIG_DEBUG_SAVE_CANVAS")) printf("%s:%d shortcutting for valuenode_bone\n", __FILE__, __LINE__);
+		encode_value_node_bone_id(root,ValueNode_Bone::ConstHandle::cast_dynamic(value_node),canvas);
+	}
+	else
 	if(ValueNode_Animated::ConstHandle::cast_dynamic(value_node))
 		encode_animated(root,ValueNode_Animated::ConstHandle::cast_dynamic(value_node),canvas);
 	else
+	if(ValueNode_Subtract::ConstHandle::cast_dynamic(value_node))
+		encode_subtract(root,ValueNode_Subtract::ConstHandle::cast_dynamic(value_node),canvas);
+	else
+	if(ValueNode_StaticList::ConstHandle::cast_dynamic(value_node))
+		encode_static_list(root,ValueNode_StaticList::ConstHandle::cast_dynamic(value_node),canvas);
+	else
 	if(ValueNode_DynamicList::ConstHandle::cast_dynamic(value_node))
+	{
 		encode_dynamic_list(root,ValueNode_DynamicList::ConstHandle::cast_dynamic(value_node),canvas);
+	}
+	// if it's a ValueNode_Const
 	else if(ValueNode_Const::ConstHandle::cast_dynamic(value_node))
 	{
+		if (getenv("SYNFIG_DEBUG_SAVE_CANVAS")) printf("%s:%d got ValueNode_Const encoding value\n", __FILE__, __LINE__);
+		// encode its get_value()
 		encode_value(root,ValueNode_Const::ConstHandle::cast_dynamic(value_node)->get_value(),canvas);
 	}
 	else
@@ -549,8 +680,65 @@ xmlpp::Element* encode_value_node(xmlpp::Element* root,ValueNode::ConstHandle va
 	if(!value_node->get_id().empty())
 		root->set_attribute("id",value_node->get_id());
 
+//	if(ValueNode_Bone::ConstHandle::cast_dynamic(value_node))
+//		root->set_attribute("guid",value_node->get_guid().get_string());
+
+	if (getenv("SYNFIG_DEBUG_SAVE_CANVAS")) printf("%s:%d encode_value_node %s done\n", __FILE__, __LINE__, value_node->get_string().c_str());
+	return root;
+}
+
+xmlpp::Element* encode_value_node_bone(xmlpp::Element* root,ValueNode::ConstHandle value_node,Canvas::ConstHandle canvas)
+{
+	assert(value_node);
+	if (getenv("SYNFIG_DEBUG_SAVE_CANVAS")) printf("%s:%d encode_value_node_bone %s %s\n", __FILE__, __LINE__, value_node->get_string().c_str(), value_node->get_guid().get_string().c_str());
+
+	if(ValueNode_Bone::ConstHandle::cast_dynamic(value_node))
+		encode_linkable_value_node(root,LinkableValueNode::ConstHandle::cast_dynamic(value_node),canvas);
+	else
+	{
+		error(_("Unknown ValueNode Type (%s), cannot create an XML representation"),value_node->get_local_name().c_str());
+		assert(0);
+		root->set_name("nil");
+	}
+
+	assert(root);
+
+	if(!value_node->get_id().empty())
+		root->set_attribute("id",value_node->get_id());
+
+	if(ValueNode_Bone::ConstHandle::cast_dynamic(value_node))
+		root->set_attribute("guid",(value_node->get_guid()^canvas->get_root()->get_guid()).get_string());
+
+	if(value_node->rcount()>1)
+	{
+		// ~/notes/synfig/crash-when-saving.txt is an example of the execution reaching this line
+		printf("%s:%d xxx value_node->rcount() = %d\n", __FILE__, __LINE__, value_node->rcount());
+		root->set_attribute("guid",(value_node->get_guid()^canvas->get_root()->get_guid()).get_string());
+	}
+
+	if (getenv("SYNFIG_DEBUG_SAVE_CANVAS")) printf("%s:%d encode_value_node %s done\n", __FILE__, __LINE__, value_node->get_string().c_str());
+	return root;
+}
+
+xmlpp::Element* encode_value_node_bone_id(xmlpp::Element* root,ValueNode::ConstHandle value_node,Canvas::ConstHandle canvas)
+{
+	root->set_name("bone");
+	root->set_attribute("type",ValueBase::type_name(ValueBase::TYPE_BONE));
+	if (getenv("SYNFIG_DEBUG_SAVE_CANVAS")) printf("%s:%d encode_value_node_bone_id %s %s\n", __FILE__, __LINE__, value_node->get_string().c_str(), value_node->get_guid().get_string().c_str());
+	if(!value_node->get_id().empty())
+		root->set_attribute("id",value_node->get_id());
+
+	if(ValueNode_Bone::ConstHandle::cast_dynamic(value_node))
+	{
+		if (getenv("SYNFIG_DEBUG_SAVE_CANVAS")) printf("%s:%d bone guid case 1 guid %s\n", __FILE__, __LINE__, value_node->get_guid().get_string().c_str());
+		root->set_attribute("guid",(value_node->get_guid()^canvas->get_root()->get_guid()).get_string());
+	}
+
 	if(value_node->rcount()>1)
+	{
+		printf("%s:%d this happens too\n", __FILE__, __LINE__);
 		root->set_attribute("guid",(value_node->get_guid()^canvas->get_root()->get_guid()).get_string());
+	}
 
 	return root;
 }
@@ -561,6 +749,7 @@ xmlpp::Element* encode_layer(xmlpp::Element* root,Layer::ConstHandle layer)
 
 	root->set_attribute("type",layer->get_name());
 	root->set_attribute("active",layer->active()?"true":"false");
+	root->set_attribute("exclude_from_rendering",layer->get_exclude_from_rendering()?"true":"false");
 
 	if(!layer->get_version().empty())
 		root->set_attribute("version",layer->get_version());
@@ -712,12 +901,32 @@ xmlpp::Element* encode_canvas(xmlpp::Element* root,Canvas::ConstHandle canvas)
 			encode_keyframe(root->add_child("keyframe"),*iter,canvas->rend_desc().get_frame_rate());
 	}
 
+	// Output the <bones> section
+	if((!canvas->is_inline() && !ValueNode_Bone::get_bone_map(canvas).empty()))
+	{
+		xmlpp::Element *node=root->add_child("bones");
+
+		encode_value_node_bone(node->add_child("value_node"),ValueNode_Bone::get_root_bone(),canvas);
+
+		ValueNode_Bone::BoneList bone_list(ValueNode_Bone::get_ordered_bones(canvas));
+		for(ValueNode_Bone::BoneList::iterator iter=bone_list.begin();iter!=bone_list.end();++iter)
+		{
+			ValueNode_Bone::Handle bone(*iter);
+			encode_value_node_bone(node->add_child("value_node"),bone,canvas);
+		}
+	}
+
 	// Output the <defs> section
-	//! Check where the parentheses should really go - around the && or the ||?
+
+	//! \todo check where the parentheses should really go - around the && or the ||?
+	// I guess it should be the other way - but then, why would an inline canvas have either exported valuenode or child canvases?  it shouldn't, right?
+	// (not an inline canvas)   (has some exported valuenodes)         (has some child canvases)
+
 	//! If children is not empty (there are exported canvases in the current canvas)
 	//! they must be listed in the defs section regardless the result of check the
 	//! Value Node list (exported value nodes in the canvas) and if the canvas is
 	//! in line or not. Inline canvases cannot have exported canvases inside.
+
 	if((!canvas->is_inline() && !canvas->value_node_list().empty()) || !canvas->children().empty())
 	{
 		xmlpp::Element *node=root->add_child("defs");
@@ -729,7 +938,7 @@ xmlpp::Element* encode_canvas(xmlpp::Element* root,Canvas::ConstHandle canvas)
 			if(handle<ValueNode_Const>::cast_dynamic(*iter))
 			{
 				ValueNode_Const::Handle value_node(ValueNode_Const::Handle::cast_dynamic(*iter));
-				reinterpret_cast<xmlpp::Element*>(encode_value(node->add_child("value"),value_node->get_value()))->set_attribute("id",value_node->get_id());
+				reinterpret_cast<xmlpp::Element*>(encode_value(node->add_child("value"),value_node->get_value(),canvas))->set_attribute("id",value_node->get_id());
 				continue;
 			}
 			encode_value_node(node->add_child("value_node"),*iter,canvas);
diff --git a/src/synfig/surface.cpp b/src/synfig/surface.cpp
index 7193686..2a3f070 100644
--- a/src/synfig/surface.cpp
+++ b/src/synfig/surface.cpp
@@ -377,6 +377,10 @@ CairoSurface::set_cairo_surface(cairo_surface_t *cs)
 	if(cairo_surface_status(cs))
 	{
 		synfig::error("CairoSurface received a non valid cairo_surface_t");
+		if(is_mapped())
+			unmap_cairo_image();
+		cairo_surface_destroy(cs_);
+		cs_=NULL;
 		return;
 	}
 	else
@@ -410,8 +414,11 @@ CairoSurface::get_cairo_image_surface()const
 bool
 CairoSurface::map_cairo_image()
 {
-	assert(cs_);
-	assert(cs_image_ == NULL);
+	if(!cs_ || cs_image_)
+	{
+		synfig::error("Attempting to map a NULL surface or a surface already mapped)");
+		return false;
+	}
 	if(cairo_surface_get_type(cs_) != CAIRO_SURFACE_TYPE_IMAGE)
 	{
 #if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 12, 0)
@@ -445,8 +452,11 @@ CairoSurface::map_cairo_image()
 void
 CairoSurface::unmap_cairo_image()
 {
-	assert(cs_image_);
-	assert(cs_);
+	if(!cs_ || !cs_image_)
+	{
+		synfig::error("Attempting to unmap a NULL surface or a surface not mapped)");
+		return;
+	}
 	cairo_surface_mark_dirty(cs_image_);
 	if(cairo_surface_get_type(cs_) != CAIRO_SURFACE_TYPE_IMAGE)
 	{
diff --git a/src/synfig/target_cairo.cpp b/src/synfig/target_cairo.cpp
index 5482543..db58095 100644
--- a/src/synfig/target_cairo.cpp
+++ b/src/synfig/target_cairo.cpp
@@ -96,6 +96,8 @@ synfig::Target_Cairo::render(ProgressCallback *cb)
 	frame_start=desc.get_frame_start();
 	frame_end=desc.get_frame_end();
 
+	ContextParams context_params(desc.get_render_excluded_contexts());
+
 	// Calculate the number of frames
 	total_frames=frame_end-frame_start+1;
 	if(total_frames<=0)total_frames=1;
@@ -115,7 +117,7 @@ synfig::Target_Cairo::render(ProgressCallback *cb)
 			
 			Context context;
 			// pass the Render Method to the context
-			context=canvas->get_context();
+			context=canvas->get_context(context_params);
 			context.set_render_method(CAIRO);
 
 			// Set the time that we wish to render
@@ -128,11 +130,11 @@ synfig::Target_Cairo::render(ProgressCallback *cb)
 			{
 				op_canvas = Canvas::create();
 				op_canvas->set_file_name(canvas->get_file_name());
-				optimize_layers(canvas->get_time(), canvas->get_context(), op_canvas);
-				context=op_canvas->get_context();
+				optimize_layers(canvas->get_time(), canvas->get_context(context_params), op_canvas);
+				context=op_canvas->get_context(context_params);
 			}
 			else
-				context=canvas->get_context();
+				context=canvas->get_context(context_params);
 	#else
 			context=canvas->get_context();
 	#endif
@@ -140,22 +142,31 @@ synfig::Target_Cairo::render(ProgressCallback *cb)
 			cairo_surface_t* surface;
 			if(obtain_surface(surface))
 			{
-				if(!context.accelerated_cairorender(surface,quality,desc,cb))
+				cairo_t* cr=cairo_create(surface);
+				double tx=desc.get_tl()[0];
+				double ty=desc.get_tl()[1];
+				double sx=1.0/desc.get_pw();
+				double sy=1.0/desc.get_ph();
+				cairo_scale(cr, sx, sy);
+				cairo_translate(cr, -tx, -ty);
+				if(!context.accelerated_cairorender(cr,quality,desc,cb))
 				{
 					// For some reason, the accelerated renderer failed.
 					if(cb)cb->error(_("Frame Renderer Failure"));
+					cairo_destroy(cr);
 					return false;
 				}
 				else
 				{
 					// Put the surface we renderer onto the target's device.
 					// and destrois cairo_surface_t
-					if(!put_surface(surface, cb))
+					if(!put_surface(cairo_surface_reference(surface), cb))
 					{
 						if(cb)cb->error(_("Unable to put surface on target"));
 						return false;
 					}
 				}
+				cairo_destroy(cr);
 			}
 			else
 			{
@@ -196,24 +207,25 @@ Target_Cairo::put_surface(cairo_surface_t *surface, ProgressCallback *cb)
 }
 
 void
-Target_Cairo::gamma_filter(cairo_surface_t *surface)
+Target_Cairo::gamma_filter(cairo_surface_t *surface, const synfig::Gamma gamma)
 {
-	CairoSurface temp(surface);
-	temp.map_cairo_image();
-	int x, y, w, h;
-	float range(CairoColor::range);
-	w=temp.get_w();
-	h=temp.get_h();
-	for(y=0;y<h; y++)
-		for(x=0;x<w; x++)
+	CairoSurface cairo_s;
+	cairo_s.set_cairo_surface(surface);
+	cairo_s.map_cairo_image();
+	int w=cairo_s.get_w();
+	int h=cairo_s.get_h();
+	for(int y=0; y<h; y++)
+		for(int x=0; x<w; x++)
 		{
-			CairoColor c(temp[y][x]);
-			c=c.demult_alpha();
-			c.set_r(gamma_in(c.get_r()/range)*range);
-			c.set_g(gamma_in(c.get_g()/range)*range);
-			c.set_b(gamma_in(c.get_b()/range)*range);
-			c=c.premult_alpha();
-			temp[y][x]=c;
+			CairoColor c=cairo_s[y][x];
+			float a=c.get_alpha();
+			unsigned char r=(unsigned char)(a*gamma.r_F32_to_F32(c.get_r()/a));
+			unsigned char g=(unsigned char)(a*gamma.g_F32_to_F32(c.get_g()/a));
+			unsigned char b=(unsigned char)(a*gamma.b_F32_to_F32(c.get_b()/a));
+			c.set_r(r);
+			c.set_g(g);
+			c.set_b(b);
+			cairo_s[y][x]=c;
 		}
-	temp.unmap_cairo_image();
+	cairo_s.unmap_cairo_image();
 }
diff --git a/src/synfig/target_cairo.h b/src/synfig/target_cairo.h
index c883026..a48b438 100644
--- a/src/synfig/target_cairo.h
+++ b/src/synfig/target_cairo.h
@@ -73,7 +73,7 @@ public:
 	//! Puts the rendered surface onto the target.
 	virtual bool put_surface(cairo_surface_t *surface, ProgressCallback *cb=NULL);
 	//! Filters the cairo surface based on gamma (hardcored for the moment to 2.2)
-	static void gamma_filter(cairo_surface_t* surface);
+	static void gamma_filter(cairo_surface_t* surface, const synfig::Gamma gamma);
 
 private:
 }; // END of class Target_Cairo
diff --git a/src/synfig/target_cairo_tile.cpp b/src/synfig/target_cairo_tile.cpp
index 3ab22d9..b6f68bd 100644
--- a/src/synfig/target_cairo_tile.cpp
+++ b/src/synfig/target_cairo_tile.cpp
@@ -135,11 +135,18 @@ synfig::Target_Cairo_Tile::render_frame_(Context context,ProgressCallback *cb)
 		tile_desc.set_subwindow(x,y,w,h);
 				
 		cairo_surface_t* surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, w, h);
-
-		if(!context.accelerated_cairorender(surface,get_quality(),tile_desc,&super))
+		cairo_t* cr=cairo_create(surface);
+		double tx=tile_desc.get_tl()[0];
+		double ty=tile_desc.get_tl()[1];
+		double sx=1.0/tile_desc.get_pw();
+		double sy=1.0/tile_desc.get_ph();
+		cairo_scale(cr, sx, sy);
+		cairo_translate(cr, -tx, -ty);
+		if(!context.accelerated_cairorender(cr,get_quality(),tile_desc,&super))
 		{
 			// For some reason, the accelerated renderer failed.
 			if(cb)cb->error(_("Accelerated Renderer Failure"));
+			cairo_destroy(cr);
 			return false;
 		}
 		else
@@ -148,14 +155,16 @@ synfig::Target_Cairo_Tile::render_frame_(Context context,ProgressCallback *cb)
 			if(status)
 			{
 				if(cb) cb->error(strprintf(_("Bad surface: %s"), cairo_status_to_string(status)));
+				cairo_destroy(cr);
 				return false;
 			}
 			// Add the tile to the target
-			if(!add_tile(surface, x,y))
+			if(!add_tile(cairo_surface_reference(surface), x,y))
 			{
 				if(cb)cb->error(_("add_tile():Unable to put surface on target"));
 				return false;
 			}
+			cairo_destroy(cr);
 		}
 		signal_progress()();
 	}
@@ -189,6 +198,8 @@ synfig::Target_Cairo_Tile::render(ProgressCallback *cb)
 	frame_start=desc.get_frame_start();
 	frame_end=desc.get_frame_end();
 
+	ContextParams context_params(desc.get_render_excluded_contexts());
+
 	// Calculate the number of frames
 	total_frames=frame_end-frame_start+1;
 	if(total_frames<=0)total_frames=1;
@@ -213,7 +224,7 @@ synfig::Target_Cairo_Tile::render(ProgressCallback *cb)
 			}
 			Context context;
 			// pass the Render Method to the context
-			context=canvas->get_context();
+			context=canvas->get_context(context_params);
 			context.set_render_method(CAIRO);
 
 			// Set the time that we wish to render
@@ -226,13 +237,13 @@ synfig::Target_Cairo_Tile::render(ProgressCallback *cb)
 			{
 				op_canvas = Canvas::create();
 				op_canvas->set_file_name(canvas->get_file_name());
-				optimize_layers(canvas->get_time(), canvas->get_context(), op_canvas);
-				context=op_canvas->get_context();
+				optimize_layers(canvas->get_time(), canvas->get_context(context_params), op_canvas);
+				context=op_canvas->get_context(context_params);
 			}
 			else
-				context=canvas->get_context();
+				context=canvas->get_context(context_params);
 	#else
-			context=canvas->get_context();
+			context=canvas->get_context(context_params);
 	#endif
 			if(!render_frame_(context,cb))
 			{
@@ -262,24 +273,25 @@ synfig::Target_Cairo_Tile::render(ProgressCallback *cb)
 }
 
 void
-Target_Cairo_Tile::gamma_filter(cairo_surface_t *surface)
+Target_Cairo_Tile::gamma_filter(cairo_surface_t *surface, const synfig::Gamma gamma)
 {
-	CairoSurface temp(surface);
-	temp.map_cairo_image();
-	int x, y, w, h;
-	float range(CairoColor::range);
-	w=temp.get_w();
-	h=temp.get_h();
-	for(y=0;y<h; y++)
-		for(x=0;x<w; x++)
+	CairoSurface cairo_s;
+	cairo_s.set_cairo_surface(surface);
+	cairo_s.map_cairo_image();
+	int w=cairo_s.get_w();
+	int h=cairo_s.get_h();
+	for(int y=0; y<h; y++)
+		for(int x=0; x<w; x++)
 		{
-			CairoColor c(temp[y][x]);
-			c=c.demult_alpha();
-			c.set_r(gamma_in(c.get_r()/range)*range);
-			c.set_g(gamma_in(c.get_g()/range)*range);
-			c.set_b(gamma_in(c.get_b()/range)*range);
-			c=c.premult_alpha();
-			temp[y][x]=c;
+			CairoColor c=cairo_s[y][x];
+			float a=c.get_alpha();
+			unsigned char r=(unsigned char)(a*gamma.r_F32_to_F32(c.get_r()/a));
+			unsigned char g=(unsigned char)(a*gamma.g_F32_to_F32(c.get_g()/a));
+			unsigned char b=(unsigned char)(a*gamma.b_F32_to_F32(c.get_b()/a));
+			c.set_r(r);
+			c.set_g(g);
+			c.set_b(b);
+			cairo_s[y][x]=c;
 		}
-	temp.unmap_cairo_image();
+	cairo_s.unmap_cairo_image();
 }
diff --git a/src/synfig/target_cairo_tile.h b/src/synfig/target_cairo_tile.h
index 58d4c59..cad1a03 100644
--- a/src/synfig/target_cairo_tile.h
+++ b/src/synfig/target_cairo_tile.h
@@ -124,7 +124,7 @@ public:
 	virtual void end_frame()=0;
 	
 	//! Filters the cairo surface based on gamma (hardcored for the moment to 2.2)
-	static void gamma_filter(cairo_surface_t* surface);
+	static void gamma_filter(cairo_surface_t* surface, const synfig::Gamma gamma);
 
 private:
 	//! Renders the context to the surface
diff --git a/src/synfig/target_scanline.cpp b/src/synfig/target_scanline.cpp
index 498df11..0c55bfd 100644
--- a/src/synfig/target_scanline.cpp
+++ b/src/synfig/target_scanline.cpp
@@ -102,6 +102,8 @@ synfig::Target_Scanline::render(ProgressCallback *cb)
 	frame_start=desc.get_frame_start();
 	frame_end=desc.get_frame_end();
 
+	ContextParams context_params(desc.get_render_excluded_contexts());
+
 	// Calculate the number of frames
 	total_frames=frame_end-frame_start+1;
 	if(total_frames<=0)total_frames=1;
@@ -123,7 +125,7 @@ synfig::Target_Scanline::render(ProgressCallback *cb)
 
 			Context context;
 			// pass the Render Method to the context
-			context=canvas->get_context();
+			context=canvas->get_context(context_params);
 			context.set_render_method(SOFTWARE);
 
 			// Set the time that we wish to render
@@ -136,13 +138,13 @@ synfig::Target_Scanline::render(ProgressCallback *cb)
 			{
 				op_canvas = Canvas::create();
 				op_canvas->set_file_name(canvas->get_file_name());
-				optimize_layers(canvas->get_time(), canvas->get_context(), op_canvas);
-				context=op_canvas->get_context();
+				optimize_layers(canvas->get_time(), canvas->get_context(context_params), op_canvas);
+				context=op_canvas->get_context(context_params);
 			}
 			else
-				context=canvas->get_context();
+				context=canvas->get_context(context_params);
 	#else
-			context=canvas->get_context();
+			context=canvas->get_context(context_params);
 	#endif
 
 			// If the quality is set to zero, then we
@@ -278,13 +280,13 @@ synfig::Target_Scanline::render(ProgressCallback *cb)
 		{
 			op_canvas = Canvas::create();
 			op_canvas->set_file_name(canvas->get_file_name());
-			optimize_layers(canvas->get_time(), canvas->get_context(), op_canvas);
-			context=op_canvas->get_context();
+			optimize_layers(canvas->get_time(), canvas->get_context(context_params), op_canvas);
+			context=op_canvas->get_context(context_params);
 		}
 		else
-			context=canvas->get_context();
+			context=canvas->get_context(context_params);
 #else
-		context=canvas->get_context();
+		context=canvas->get_context(context_params);
 #endif
 
 		// If the quality is set to zero, then we
diff --git a/src/synfig/target_tile.cpp b/src/synfig/target_tile.cpp
index b59faf5..f9cf310 100644
--- a/src/synfig/target_tile.cpp
+++ b/src/synfig/target_tile.cpp
@@ -285,6 +285,8 @@ synfig::Target_Tile::render(ProgressCallback *cb)
 	frame_start=desc.get_frame_start();
 	frame_end=desc.get_frame_end();
 
+	ContextParams context_params(desc.get_render_excluded_contexts());
+
 	// Calculate the number of frames
 	total_frames=frame_end-frame_start+1;
 	if(total_frames<=0)total_frames=1;
@@ -309,12 +311,12 @@ synfig::Target_Tile::render(ProgressCallback *cb)
 					return false;
 				Context context;
 				// pass the Render Method to the context
-				context=canvas->get_context();
+				context=canvas->get_context(context_params);
 				context.set_render_method(SOFTWARE);
 
 				// Set the time that we wish to render
 				//if(!get_avoid_time_sync() || canvas->get_time()!=t)
-				// Why the above line is commented here and not in TargetScaline?
+				// Why the above line was commented here and not in TargetScaline?
 					canvas->set_time(t);
 
 	#ifdef SYNFIG_OPTIMIZE_LAYER_TREE
@@ -323,13 +325,13 @@ synfig::Target_Tile::render(ProgressCallback *cb)
 				{
 					op_canvas = Canvas::create();
 					op_canvas->set_file_name(canvas->get_file_name());
-					optimize_layers(canvas->get_time(), canvas->get_context(), op_canvas);
-					context=op_canvas->get_context();
+					optimize_layers(canvas->get_time(), canvas->get_context(context_params), op_canvas);
+					context=op_canvas->get_context(context_params);
 				}
 				else
-					context=canvas->get_context();
+					context=canvas->get_context(context_params);
 	#else
-				context=canvas->get_context();
+				context=canvas->get_context(context_params);
 	#endif
 
 	/*
@@ -339,13 +341,13 @@ synfig::Target_Tile::render(ProgressCallback *cb)
 				op_canvas->set_file_name(canvas->get_file_name());
 				// Set the time that we wish to render
 				canvas->set_time(t);
-				optimize_layers(canvas->get_time(), canvas->get_context(), op_canvas);
+				optimize_layers(canvas->get_time(), canvas->get_context(context_params), op_canvas);
 				context=op_canvas->get_context();
 				#else
 				Context context;
 				// Set the time that we wish to render
 				canvas->set_time(t);
-				context=canvas->get_context();
+				context=canvas->get_context(context_params);
 				#endif
 	*/
 
@@ -363,7 +365,7 @@ synfig::Target_Tile::render(ProgressCallback *cb)
 				return false;
 
 			// Set the time that we wish to render
-//			if(!get_avoid_time_sync() || canvas->get_time()!=t)
+			//if(!get_avoid_time_sync() || canvas->get_time()!=t)
 				canvas->set_time(t);
 
 			//synfig::info("2time_set_to %s",t.get_string().c_str());
@@ -376,13 +378,13 @@ synfig::Target_Tile::render(ProgressCallback *cb)
 			{
 				op_canvas = Canvas::create();
 				op_canvas->set_file_name(canvas->get_file_name());
-				optimize_layers(canvas->get_time(), canvas->get_context(), op_canvas);
-				context=op_canvas->get_context();
+				optimize_layers(canvas->get_time(), canvas->get_context(context_params), op_canvas);
+				context=op_canvas->get_context(context_params);
 			}
 			else
-				context=canvas->get_context();
+				context=canvas->get_context(context_params);
 #else
-			context=canvas->get_context();
+			context=canvas->get_context(context_params);
 #endif
 
 			if(!render_frame_(context, cb))
diff --git a/src/synfig/transform.cpp b/src/synfig/transform.cpp
index 2e9de68..b4e8504 100644
--- a/src/synfig/transform.cpp
+++ b/src/synfig/transform.cpp
@@ -63,8 +63,13 @@ TransformStack::perform(const synfig::Vector& x)const
 {
 	synfig::Vector ret(x);
 
+	if (getenv("SYNFIG_DEBUG_TRANSFORM_STACK")) printf("   PERFORM %s: %5.2f %5.2f", get_guid().get_string().substr(0,6).c_str(), ret[0], ret[1]);
 	for(const_reverse_iterator iter(rbegin());iter!=rend();++iter)
+	{
 		ret=(*iter)->perform(ret);
+		if (getenv("SYNFIG_DEBUG_TRANSFORM_STACK")) printf(" (%14s) %5.2f %5.2f", (*iter)->get_string().c_str(), ret[0], ret[1]);
+	}
+	if (getenv("SYNFIG_DEBUG_TRANSFORM_STACK")) printf("\n");
 
 	return ret;
 }
@@ -74,8 +79,13 @@ TransformStack::unperform(const synfig::Vector& x)const
 {
 	synfig::Vector ret(x);
 
+	if (getenv("SYNFIG_DEBUG_TRANSFORM_STACK")) printf(" UNPERFORM %s: %5.2f %5.2f", get_guid().get_string().substr(0,6).c_str(), ret[0], ret[1]);
 	for(const_iterator iter(begin());iter!=end();++iter)
+	{
 		ret=(*iter)->unperform(ret);
+		if (getenv("SYNFIG_DEBUG_TRANSFORM_STACK")) printf(" (%14s) %5.2f %5.2f", (*iter)->get_string().c_str(), ret[0], ret[1]);
+	}
+	if (getenv("SYNFIG_DEBUG_TRANSFORM_STACK")) printf("\n");
 
 	return ret;
 }
diff --git a/src/synfig/transform.h b/src/synfig/transform.h
index 50bf7ff..6679b6a 100644
--- a/src/synfig/transform.h
+++ b/src/synfig/transform.h
@@ -62,6 +62,8 @@ public:
 	virtual synfig::Rect perform(const synfig::Rect& x)const;
 	virtual synfig::Rect unperform(const synfig::Rect& x)const;
 
+	virtual String get_string()const=0;
+
 }; // END of class Transform
 
 class TransformStack : public std::list<Transform::Handle>
diff --git a/src/synfig/value.cpp b/src/synfig/value.cpp
index 4011562..92ed582 100644
--- a/src/synfig/value.cpp
+++ b/src/synfig/value.cpp
@@ -35,7 +35,11 @@
 #include "general.h"
 #include <ETL/stringf>
 #include "canvas.h"
+#include "valuenode_bone.h"
 #include "gradient.h"
+#include "bone.h"
+#include "matrix.h"
+#include "boneweightpair.h"
 
 
 
@@ -52,13 +56,15 @@ using namespace etl;
 
 /* === M A C R O S ========================================================= */
 
+#define TRY_FIX_FOR_BUG_27
+
 /* === G L O B A L S ======================================================= */
 
 /* === P R O C E D U R E S ================================================= */
 
 /* === M E T H O D S ======================================================= */
 
-ValueBase::ValueBase():type(TYPE_NIL),data(0),ref_count(0),loop_(0),static_(0)
+ValueBase::ValueBase():type(TYPE_NIL),data(0),ref_count(0),loop_(0),static_(0),interpolation_(INTERPOLATION_UNDEFINED)
 {
 }
 
@@ -66,7 +72,8 @@ ValueBase::ValueBase(Type x):
 	type(x),
 	data(0),
 	loop_(0),
-	static_(0)
+	static_(0),
+	interpolation_(INTERPOLATION_UNDEFINED)
 {
 	switch(type)
 	{
@@ -79,11 +86,15 @@ ValueBase::ValueBase(Type x):
 	case TYPE_COLOR:		data=static_cast<void*>(new Color());				break;
 	case TYPE_SEGMENT:		data=static_cast<void*>(new Segment());				break;
 	case TYPE_BLINEPOINT:	data=static_cast<void*>(new BLinePoint());			break;
+	case TYPE_MATRIX:		data=static_cast<void*>(new Matrix());				break;
+	case TYPE_BONE_WEIGHT_PAIR:	data=static_cast<void*>(new BoneWeightPair());	break;
 	case TYPE_WIDTHPOINT:	data=static_cast<void*>(new WidthPoint());			break;
 	case TYPE_DASHITEM:		data=static_cast<void*>(new DashItem());			break;
 	case TYPE_LIST:			data=static_cast<void*>(new list_type());			break;
 	case TYPE_STRING:		data=static_cast<void*>(new String());				break;
 	case TYPE_GRADIENT:		data=static_cast<void*>(new Gradient());			break;
+	case TYPE_BONE:			data=static_cast<void*>(new Bone());				break;
+	case TYPE_VALUENODE_BONE:	data=static_cast<void*>(new etl::handle<ValueNode_Bone>());	break;
 	case TYPE_CANVAS:		data=static_cast<void*>(new etl::handle<Canvas>());	break;
 	default:																	break;
 	}
@@ -106,32 +117,57 @@ ValueBase::get_string() const
 {
 	switch(type)
 	{
-	case TYPE_NIL:			return "Nil";
-	case TYPE_BOOL:			return strprintf("Bool (%s)", get(bool()) ? "true" : "false");
-	case TYPE_INTEGER:		return strprintf("Integer (%s)", get(int()));
-	case TYPE_ANGLE:		return strprintf("Angle (%.2f)", Angle::deg(get(Angle())).get());
+	case TYPE_NIL:
+				return "Nil";
+	case TYPE_BOOL:
+		return strprintf("Bool (%s)", get(bool()) ? "true" : "false");
+	case TYPE_INTEGER:
+		return strprintf("Integer (%d)", get(int()));
+	case TYPE_ANGLE:
+		return strprintf("Angle (%.2f)", Angle::deg(get(Angle())).get());
 
 		// All types after this point are larger than 32 bits
 
-	case TYPE_TIME:			return strprintf("Time (%s)", get(Time()).get_string().c_str());
-	case TYPE_REAL:			return strprintf("Real (%f)", get(Real()));
+	case TYPE_TIME:
+		return strprintf("Time (%s)", get(Time()).get_string().c_str());
+	case TYPE_REAL:
+		return strprintf("Real (%f)", get(Real()));
 
 		// All types after this point are larger than 64 bits
 
-	case TYPE_VECTOR:		return strprintf("Vector (%f, %f)", get(Vector())[0], get(Vector())[1]);
-	case TYPE_COLOR:		return strprintf("Color (%s)", get(Color()).get_string().c_str());
-	case TYPE_SEGMENT:		return strprintf("Segment ((%f, %f) to (%f, %f))", get(Segment()).p1[0], get(Segment()).p1[1], get(Segment()).p2[0], get(Segment()).p2[1]);
-	case TYPE_BLINEPOINT:	return strprintf("BLinePoint (%s)", get(BLinePoint()).get_vertex()[0], get(BLinePoint()).get_vertex()[1]);
-	case TYPE_WIDTHPOINT:	return strprintf("WidthPoint (%s)", get(WidthPoint()).get_position(), get(WidthPoint()).get_width());
-	case TYPE_DASHITEM:		return strprintf("DashItem (%s)", get(DashItem()).get_offset(), get(DashItem()).get_length());
+	case TYPE_VECTOR:
+		return strprintf("Vector (%f, %f)", get(Vector())[0], get(Vector())[1]);
+	case TYPE_COLOR:
+		return strprintf("Color (%s)", get(Color()).get_string().c_str());
+	case TYPE_SEGMENT:
+		return strprintf("Segment ((%f, %f) to (%f, %f))", get(Segment()).p1[0], get(Segment()).p1[1], get(Segment()).p2[0], get(Segment()).p2[1]);
+	case TYPE_BLINEPOINT:
+		return strprintf("BLinePoint (%f, %f)", get(BLinePoint()).get_vertex()[0], get(BLinePoint()).get_vertex()[1]);
+	case TYPE_MATRIX:
+		return strprintf("Matrix (%s)",get(Matrix().get_string().c_str()));
+	case TYPE_BONE_WEIGHT_PAIR:
+		return strprintf("Bone Weight Pair (%s)",get(BoneWeightPair()).get_string().c_str());
+	case TYPE_WIDTHPOINT:
+		return strprintf("WidthPoint (%s)", get(WidthPoint()).get_position(), get(WidthPoint()).get_width());
+	case TYPE_DASHITEM:
+				return strprintf("DashItem (%s)", get(DashItem()).get_offset(), get(DashItem()).get_length());
 
 		// All types after this point require construction/destruction
 
-	case TYPE_LIST:			return strprintf("List (%d elements)", get(list_type()).size());
-	case TYPE_CANVAS:		return strprintf("Canvas (%s)", get(etl::loose_handle<Canvas>())->get_id().c_str());
-	case TYPE_STRING:		return strprintf("String (%s)", get(String()).c_str());
-	case TYPE_GRADIENT:		return strprintf("Gradient (%d cpoints)", get(Gradient()).size());
-	default:				return "Invalid type";
+	case TYPE_LIST:
+		return strprintf("List (%d elements)", get(list_type()).size());
+	case TYPE_CANVAS:
+		return strprintf("Canvas (%s)", get(etl::loose_handle<Canvas>())->get_id().c_str());
+	case TYPE_STRING:
+		return strprintf("String (%s)", get(String()).c_str());
+	case TYPE_GRADIENT:
+		return strprintf("Gradient (%d cpoints)", get(Gradient()).size());
+	case TYPE_BONE:
+		return strprintf("Bone (%s)", get(Bone()).get_string().c_str());
+	case TYPE_VALUENODE_BONE:
+		return strprintf("ValueNodeBone (%s)", get(ValueNode_Bone::Handle())->get_string().c_str());
+	default:
+		return "Invalid type";
 	}
 }
 #endif	// _DEBUG
@@ -140,7 +176,11 @@ void
 ValueBase::set(Canvas* x)
 {
 	clear();
-	if(x && x->is_inline())
+	if(x
+#ifndef TRY_FIX_FOR_BUG_27
+	   && x->is_inline()
+#endif
+		)
 	{
 		_set(etl::handle<Canvas>(x));
 	}
@@ -155,7 +195,11 @@ void
 ValueBase::set(etl::loose_handle<Canvas> x)
 {
 	clear();
-	if(x && x->is_inline())
+	if(x
+#ifndef TRY_FIX_FOR_BUG_27
+	   && x->is_inline()
+#endif
+		)
 		_set(etl::handle<Canvas>(x));
 	else
 		_set(etl::loose_handle<Canvas>(x));
@@ -166,7 +210,11 @@ void
 ValueBase::set(etl::handle<Canvas> x)
 {
 	clear();
-	if(x && x->is_inline())
+	if(x
+#ifndef TRY_FIX_FOR_BUG_27
+	   && x->is_inline()
+#endif
+		)
 		_set(etl::handle<Canvas>(x));
 	else
 		_set(etl::loose_handle<Canvas>(x));
@@ -197,6 +245,44 @@ ValueBase::is_valid()const
 	return type>TYPE_NIL && type<TYPE_END && ref_count;
 }
 
+void
+ValueBase::copy(const ValueBase& x)
+{
+	switch(x.type)
+	{
+	case TYPE_BOOL:			set(x.get(bool())); break;
+	case TYPE_INTEGER:		set(x.get(int())); break;
+	case TYPE_ANGLE:		set(x.get(Angle())); break;
+	case TYPE_VECTOR:		set(x.get(Vector())); break;
+	case TYPE_TIME:			set(x.get(Time())); break;
+	case TYPE_REAL:			set(x.get(Real())); break;
+	case TYPE_COLOR:		set(x.get(Color())); break;
+	case TYPE_SEGMENT:		set(x.get(Segment())); break;
+	case TYPE_BLINEPOINT:		set(x.get(BLinePoint())); break;
+	case TYPE_MATRIX:		set(x.get(Matrix())); break;
+	case TYPE_BONE_WEIGHT_PAIR:	set(x.get(BoneWeightPair())); break;
+	case TYPE_WIDTHPOINT:		set(x.get(WidthPoint())); break;
+	case TYPE_DASHITEM:		set(x.get(DashItem())); break;
+	case TYPE_LIST:			set(x.get(list_type())); break;
+	case TYPE_STRING:		set(x.get(String())); break;
+	case TYPE_GRADIENT:		set(x.get(Gradient())); break;
+	case TYPE_BONE:			set(x.get(Bone())); break;
+	case TYPE_VALUENODE_BONE:	set(x.get(etl::handle<ValueNode_Bone>())); break;
+	case TYPE_CANVAS:		set(x.get(etl::handle<Canvas>())); break;
+	default:																	break;
+	}
+
+	copy_properties_of(x);
+}
+
+void
+ValueBase::copy_properties_of(const ValueBase& x)
+{
+	loop_=x.loop_;
+	static_=x.static_;
+	interpolation_=x.interpolation_;
+}
+
 bool
 ValueBase::empty()const
 {
@@ -223,6 +309,7 @@ ValueBase::operator=(const ValueBase& x)
 	}
 	loop_=x.loop_;
 	static_=x.static_;
+	interpolation_=x.interpolation_;
 	return *this;
 }
 
@@ -233,29 +320,37 @@ ValueBase::clear()
 	{
 		switch(type)
 		{
-		case TYPE_BOOL:			delete static_cast<bool*>(data);		break;
-		case TYPE_INTEGER:		delete static_cast<int*>(data);			break;
-		case TYPE_ANGLE:		delete static_cast<Angle*>(data);		break;
-		case TYPE_TIME:			delete static_cast<Time*>(data);		break;
-		case TYPE_REAL:			delete static_cast<Real*>(data);		break;
-		case TYPE_VECTOR:		delete static_cast<Vector*>(data);		break;
-		case TYPE_COLOR:		delete static_cast<Color*>(data);		break;
-		case TYPE_SEGMENT:		delete static_cast<Segment*>(data);		break;
-		case TYPE_BLINEPOINT:	delete static_cast<BLinePoint*>(data);	break;
-		case TYPE_WIDTHPOINT:	delete static_cast<WidthPoint*>(data);	break;
-		case TYPE_DASHITEM:		delete static_cast<DashItem*>(data);	break;
-		case TYPE_LIST:			delete static_cast<list_type*>(data);	break;
+		case TYPE_BOOL:             delete static_cast<bool*>(data); break;
+		case TYPE_INTEGER:          delete static_cast<int*>(data); break;
+		case TYPE_ANGLE:            delete static_cast<Angle*>(data); break;
+		case TYPE_TIME:             delete static_cast<Time*>(data); break;
+		case TYPE_REAL:             delete static_cast<Real*>(data); break;
+		case TYPE_VECTOR:           delete static_cast<Vector*>(data); break;
+		case TYPE_COLOR:            delete static_cast<Color*>(data); break;
+		case TYPE_SEGMENT:          delete static_cast<Segment*>(data); break;
+		case TYPE_BLINEPOINT:       delete static_cast<BLinePoint*>(data); break;
+		case TYPE_MATRIX:           delete static_cast<Matrix*>(data); break;
+		case TYPE_BONE_WEIGHT_PAIR: delete static_cast<BoneWeightPair*>(data); break;
+		case TYPE_WIDTHPOINT:       delete static_cast<WidthPoint*>(data); break;
+		case TYPE_DASHITEM:         delete static_cast<DashItem*>(data); break;
+		case TYPE_LIST:             delete static_cast<list_type*>(data); break;
 		case TYPE_CANVAS:
 		{
 			etl::handle<Canvas> canvas(get(etl::loose_handle<Canvas>()));
-			if(canvas && canvas->is_inline())
+			if(canvas
+#ifndef TRY_FIX_FOR_BUG_27
+			   && canvas->is_inline()
+#endif
+				)
 				delete static_cast<etl::handle<Canvas>*>(data);
 			else
 				delete static_cast<etl::loose_handle<Canvas>*>(data);
 			break;
 		}
-		case TYPE_STRING:		delete static_cast<String*>(data);		break;
-		case TYPE_GRADIENT:		delete static_cast<Gradient*>(data);	break;
+		case TYPE_STRING:           delete static_cast<String*>(data); break;
+		case TYPE_GRADIENT:         delete static_cast<Gradient*>(data); break;
+		case TYPE_BONE:             delete static_cast<Bone*>(data); break;
+		case TYPE_VALUENODE_BONE:   delete static_cast<etl::handle<ValueNode_Bone>*>(data); break;
 		default:
 			break;
 		}
@@ -266,29 +361,32 @@ ValueBase::clear()
 	type=TYPE_NIL;
 }
 
-
 String
 ValueBase::type_name(Type id)
 {
-	// don't internationalize these type names - they're using in .sif files
+	// don't internationalize these type names - they're used in .sif files
 	switch(id)
 	{
-	case TYPE_BOOL:			return N_("bool");
-	case TYPE_INTEGER:		return N_("integer");
-	case TYPE_ANGLE:		return N_("angle");
-	case TYPE_TIME:			return N_("time");
-	case TYPE_REAL:			return N_("real");
-	case TYPE_VECTOR:		return N_("vector");
-	case TYPE_COLOR:		return N_("color");
-	case TYPE_SEGMENT:		return N_("segment");
-	case TYPE_BLINEPOINT:		return N_("bline_point");
-	case TYPE_WIDTHPOINT:		return N_("width_point");
-	case TYPE_DASHITEM:		return N_("dash_item");
-	case TYPE_LIST:			return N_("list");
-	case TYPE_CANVAS:		return N_("canvas");
-	case TYPE_STRING:		return N_("string");
-	case TYPE_GRADIENT:		return N_("gradient");
-	case TYPE_NIL:			return N_("nil");
+	case TYPE_BOOL:                return N_("bool");
+	case TYPE_INTEGER:             return N_("integer");
+	case TYPE_ANGLE:               return N_("angle");
+	case TYPE_TIME:                return N_("time");
+	case TYPE_REAL:                return N_("real");
+	case TYPE_VECTOR:              return N_("vector");
+	case TYPE_COLOR:               return N_("color");
+	case TYPE_SEGMENT:             return N_("segment");
+	case TYPE_BLINEPOINT:          return N_("bline_point");
+	case TYPE_MATRIX:              return N_("matrix");
+	case TYPE_BONE_WEIGHT_PAIR:    return N_("bone_weight_pair");
+	case TYPE_WIDTHPOINT:          return N_("width_point");
+	case TYPE_DASHITEM:            return N_("dash_item");
+	case TYPE_LIST:                return N_("list");
+	case TYPE_CANVAS:              return N_("canvas");
+	case TYPE_STRING:              return N_("string");
+	case TYPE_GRADIENT:            return N_("gradient");
+	case TYPE_BONE:	               return N_("bone_object");
+	case TYPE_VALUENODE_BONE:      return N_("bone_valuenode");
+	case TYPE_NIL:                 return N_("nil");
 	default:
 		break;
 	}
@@ -305,44 +403,53 @@ ValueBase::type_local_name(Type id)
 	switch(id)
 	{
 		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_BOOL:			return N_("bool");
+	case TYPE_BOOL:                 return N_("bool");
+		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
+	case TYPE_INTEGER:              return N_("integer");
+		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
+	case TYPE_ANGLE:                return N_("angle");
+		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
+	case TYPE_TIME:	                return N_("time");
 		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_INTEGER:		return N_("integer");
+	case TYPE_REAL:	                return N_("real");
 		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_ANGLE:		return N_("angle");
+	case TYPE_VECTOR:               return N_("vector");
 		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_TIME:			return N_("time");
+	case TYPE_COLOR:                return N_("color");
 		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_REAL:			return N_("real");
+	case TYPE_SEGMENT:              return N_("segment");
 		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_VECTOR:		return N_("vector");
+	case TYPE_BLINEPOINT:           return N_("spline_point");
 		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_COLOR:		return N_("color");
+	case TYPE_MATRIX:               return N_("matrix");
 		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_SEGMENT:		return N_("segment");
+	case TYPE_BONE_WEIGHT_PAIR:     return N_("bone_weight_pair");
 		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_BLINEPOINT:		return N_("spline_point");
+	case TYPE_WIDTHPOINT:           return N_("width_point");
 		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_WIDTHPOINT:		return N_("width_point");
+	case TYPE_DASHITEM:             return N_("dash_item");
 		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_DASHITEM:		return N_("dash_item");
+	case TYPE_LIST:                 return N_("list");
 		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_LIST:			return N_("list");
+	case TYPE_CANVAS:               return N_("canvas");
 		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_CANVAS:		return N_("canvas");
+	case TYPE_STRING:               return N_("string");
 		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_STRING:		return N_("string");
+	case TYPE_GRADIENT:             return N_("gradient");
 		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_GRADIENT:		return N_("gradient");
+	case TYPE_BONE:	                return N_("bone_object");
 		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
-	case TYPE_NIL:			return N_("nil");
-	default:			break;
+	case TYPE_VALUENODE_BONE:       return N_("bone_valuenode");
+		/* TRANSLATORS: this is the name of a type -- see http://synfig.org/wiki/Dev:Types */
+	case TYPE_NIL:                  return N_("nil");
+	default: break;
 	}
-	synfig::warning("Encountered unknown ValueBase with an Type of %d",id);
+	synfig::warning("Encountered unknown ValueBase with a Type of %d",id);
 //	assert(0);
 	return "UNKNOWN";
 }
 
+
 ValueBase::Type
 ValueBase::ident_type(const String &str)
 {
@@ -370,8 +477,12 @@ ValueBase::ident_type(const String &str)
 	else if(str=="list")		return TYPE_LIST;
 	else if(str=="segment")		return TYPE_SEGMENT;
 	else if(str=="gradient")	return TYPE_GRADIENT;
+	else if(str=="bone_object")	return TYPE_BONE;
+	else if(str=="bone_valuenode")	return TYPE_VALUENODE_BONE;
 	else if(str=="bline_point" ||
 			str=="blinepoint")	return TYPE_BLINEPOINT;
+	else if(str=="matrix")		return TYPE_MATRIX;
+	else if(str=="bone_weight_pair")	return TYPE_BONE_WEIGHT_PAIR;
 	else if(str=="width_point" ||
 			str=="widthpoint")	return TYPE_WIDTHPOINT;
 	else if(str=="dash_item" ||
@@ -390,23 +501,27 @@ ValueBase::operator==(const ValueBase& rhs)const
 
 	switch(get_type())
 	{
-	case TYPE_TIME:            return get(Time()).is_equal(rhs.get(Time()));
-	case TYPE_REAL:            return abs(get(Real())-rhs.get(Real()))<=0.00000000000001;
-	case TYPE_INTEGER:         return get(int())==rhs.get(int());
-	case TYPE_BOOL:            return get(bool())==rhs.get(bool());
-	case TYPE_ANGLE:           return get(Angle())==rhs.get(Angle());
-	case TYPE_VECTOR:          return get(Vector()).is_equal_to(rhs.get(Vector()));
-	case TYPE_COLOR:           return get(Color())==rhs.get(Color());
-	case TYPE_STRING:          return get(String())==rhs.get(String());
-	case TYPE_CANVAS:          return get(Canvas::LooseHandle())==rhs.get(Canvas::LooseHandle());
-	case TYPE_LIST:            return get_list()==rhs.get_list();
-	case TYPE_WIDTHPOINT:      return get(WidthPoint())==rhs.get(WidthPoint());
-	case TYPE_DASHITEM:        return get(DashItem())==rhs.get(DashItem());
-	case TYPE_SEGMENT:      // return get(Segment())==rhs.get(Segment());
-	case TYPE_GRADIENT:     // return get(Gradient())==rhs.get(Gradient());
-	case TYPE_BLINEPOINT:   // return get(BLinePoint())==rhs.get(BLinePoint());
+	case TYPE_TIME:                   return get(Time()).is_equal(rhs.get(Time()));
+	case TYPE_REAL:                   return abs(get(Real())-rhs.get(Real()))<=0.00000000000001;
+	case TYPE_INTEGER:                return get(int())==rhs.get(int());
+	case TYPE_BOOL:                   return get(bool())==rhs.get(bool());
+	case TYPE_ANGLE:                  return get(Angle())==rhs.get(Angle());
+	case TYPE_VECTOR:                 return get(Vector()).is_equal_to(rhs.get(Vector()));
+	case TYPE_COLOR:                  return get(Color())==rhs.get(Color());
+	case TYPE_STRING:                 return get(String())==rhs.get(String());
+	case TYPE_CANVAS:                 return get(Canvas::LooseHandle())==rhs.get(Canvas::LooseHandle());
+	case TYPE_LIST:                   return get_list()==rhs.get_list();
+	case TYPE_VALUENODE_BONE:         return get(ValueNode_Bone::Handle())==rhs.get(ValueNode_Bone::Handle());
+	case TYPE_DASHITEM:               return get(DashItem())==rhs.get(DashItem());
+	case TYPE_SEGMENT:             // return get(Segment())==rhs.get(Segment());
+	case TYPE_GRADIENT:            // return get(Gradient())==rhs.get(Gradient());
+	case TYPE_BONE:                // return get(Bone())==rhs.get(Bone());
+	case TYPE_BLINEPOINT:          // return get(BLinePoint())==rhs.get(BLinePoint());
+	case TYPE_MATRIX:              // return get(Matrix())==rhs.get(Matrix());
+	case TYPE_BONE_WEIGHT_PAIR:    // return get(BoneWeightPair())==rhs.get(BoneWeightPair());
+	case TYPE_WIDTHPOINT:
 	case TYPE_NIL:
-	default:                   return false;
+	default:                          return false;
 	}
 	return false;
 }
diff --git a/src/synfig/value.h b/src/synfig/value.h
index 71c2eb6..38587aa 100644
--- a/src/synfig/value.h
+++ b/src/synfig/value.h
@@ -38,9 +38,11 @@
 #include <ETL/handle>
 #include "general.h"
 #include "blinepoint.h"
+#include "bone.h"
 #include "widthpoint.h"
 #include "dashitem.h"
 #include "exception.h"
+#include "interpolation.h"
 
 #ifdef USE_HALF_TYPE
 #include <OpenEXR/half.h>
@@ -66,6 +68,10 @@ class BLinePoint;
 class WidthPoint;
 class DashItem;
 class Color;
+class Bone;
+class ValueNode_Bone;
+class Matrix;
+class BoneWeightPair;
 
 /*!	\class ValueBase
 **	\brief Base class for the Values of Synfig
@@ -98,6 +104,8 @@ public:
 		TYPE_COLOR,			//!< Color (Real, Real, Real, Real)
 		TYPE_SEGMENT,		//!< Segment Point and Vector
 		TYPE_BLINEPOINT,	//!< BLinePoint Origin (Point) 2xTangents (Vector) Width (Real), Origin (Real) Split Tangent (Boolean)
+		TYPE_MATRIX,		//!< Matrix
+		TYPE_BONE_WEIGHT_PAIR,	//!< pair<Bone,Real>
 		TYPE_WIDTHPOINT,	//!< WidthPoint Position (Real), Width (Real), 2xSide Type (int enum)
 		TYPE_DASHITEM,		//!< DashItem Offset (Real distance), Length (Real distance), 2xSide Type (int enum)
 
@@ -107,6 +115,8 @@ public:
 		TYPE_CANVAS,		//!< Canvas
 		TYPE_STRING,		//!< String
 		TYPE_GRADIENT,		//!< Color Gradient
+		TYPE_BONE,			//!< Bone
+		TYPE_VALUENODE_BONE,//!< ValueNode_Bone
 
 		TYPE_END			//!< Not a valid type, used for sanity checks
 	};
@@ -132,6 +142,8 @@ protected:
 	bool loop_;
 	//! For Values of Constant Value Nodes
 	bool static_;
+	//! Parameter interpolation
+	Interpolation interpolation_;
 
 	/*
  --	** -- C O N S T R U C T O R S -----------------------------------
@@ -145,7 +157,8 @@ public:
 	//! Template constructor for any type
 	template <typename T>
 	ValueBase(const T &x, bool loop_=false, bool static_=false):
-		type(TYPE_NIL),data(0),ref_count(0),loop_(loop_), static_(static_)
+		type(TYPE_NIL),data(0),ref_count(0),loop_(loop_), static_(static_),
+		interpolation_(INTERPOLATION_UNDEFINED)
 		{ set(x); }
 
 	//! Copy constructor. The data is not copied, just the type.
@@ -199,6 +212,18 @@ public:
 	//! Sets the static option.
 	void set_static(bool x) { static_=x; }
 
+	//! Gets the interpolation.
+	Interpolation get_interpolation()const { return interpolation_; }
+
+	//! Sets the interpolation.
+	void set_interpolation(Interpolation x) { interpolation_=x; }
+	
+	//! Create independent copy from existing ValueBase object
+	void copy(const ValueBase& x);
+
+	//! Copies properties (static, interpolation, etc) from other ValueBase object.
+	void copy_properties_of(const ValueBase& x);
+
 	//! True if the Value is not valid or is type LIST and is empty
 	bool empty()const;
 
@@ -245,6 +270,12 @@ public:
 	template <typename T>
 	const T &get(const T& x __attribute__ ((unused)))const
 	{
+#ifdef _DEBUG
+		if (!is_valid())
+			printf("%s:%d !is_valid()\n", __FILE__, __LINE__);
+		else if (!same_type_as(x))
+			printf("%s:%d !'%s'.same_type_as('%s')\n", __FILE__, __LINE__, type_name(type).c_str(), type_name(get_type(x)).c_str());
+#endif
 		assert(is_valid() && same_type_as(x));
 		return *static_cast<const T*>(data);
 	}
@@ -339,10 +370,15 @@ public:
 	static Type get_type(const Color&) { return TYPE_COLOR; }
 	static Type get_type(const Segment&) { return TYPE_SEGMENT; }
 	static Type get_type(const BLinePoint&) { return TYPE_BLINEPOINT; }
+	static Type get_type(const Matrix&) {return TYPE_MATRIX;}
+	static Type get_type(const BoneWeightPair&) {return TYPE_BONE_WEIGHT_PAIR;}
 	static Type get_type(const WidthPoint&) { return TYPE_WIDTHPOINT; }
 	static Type get_type(const DashItem&) { return TYPE_DASHITEM; }
 	static Type get_type(const String&) { return TYPE_STRING; }
 	static Type get_type(const Gradient&) { return TYPE_GRADIENT; }
+	static Type get_type(const Bone&) { return TYPE_BONE; }
+	static Type get_type(const etl::handle<ValueNode_Bone>&) { return TYPE_VALUENODE_BONE; }
+	static Type get_type(const etl::loose_handle<ValueNode_Bone>&) { return TYPE_VALUENODE_BONE; }
 	static Type get_type(Canvas*) { return TYPE_CANVAS; }
 	static Type get_type(const etl::handle<Canvas>&)
 		{ return TYPE_CANVAS; }
@@ -370,12 +406,14 @@ public:
 
 	operator const Vector&()const {  return get(Vector()); }
 	operator const BLinePoint&()const {  return get(BLinePoint()); }
+	operator const Matrix&()const { return get(Matrix()); }
 	operator const WidthPoint&()const {  return get(WidthPoint()); }
 	operator const DashItem&()const {  return get(DashItem()); }
 	//operator const int&()const {  return get(int()); }
 	//operator const String&()const {  return get(String()); }
 	//operator const char *()const {  return get(String()).c_str(); }
 	operator const Segment&()const { return get(Segment()); }
+	operator const Bone&()const { return get(Bone()); }
 
 
 	/*
@@ -433,6 +471,10 @@ private:
 
 		type=newtype;
 		ref_count.reset();
+
+//		if (type == TYPE_BONE && &x == 0)
+//			data = 0;
+//		else
 		data=new T(x);
 	}
 
diff --git a/src/synfig/valuenode.cpp b/src/synfig/valuenode.cpp
index 3a48813..fc61b98 100644
--- a/src/synfig/valuenode.cpp
+++ b/src/synfig/valuenode.cpp
@@ -40,6 +40,9 @@
 #include "valuenode_linear.h"
 #include "valuenode_composite.h"
 #include "valuenode_reference.h"
+#include "valuenode_boneinfluence.h"
+#include "valuenode_boneweightpair.h"
+#include "valuenode_bone.h"
 #include "valuenode_greyed.h"
 #include "valuenode_scale.h"
 #include "valuenode_blinecalctangent.h"
@@ -56,6 +59,7 @@
 #include "valuenode_timedswap.h"
 #include "valuenode_twotone.h"
 #include "valuenode_bline.h"
+#include "valuenode_staticlist.h"
 #include "valuenode_wplist.h"
 #include "valuenode_dilist.h"
 #include "valuenode_dynamiclist.h"
@@ -119,22 +123,24 @@ synfig::find_value_node(const GUID& guid)
 
 /* === M E T H O D S ======================================================= */
 
+void
+ValueNode::breakpoint()
+{
+	return;
+}
+
 bool
 ValueNode::subsys_init()
 {
 	book_=new LinkableValueNode::Book();
 
-#define ADD_VALUENODE(class,name,local,version)													\
+#define ADD_VALUENODE_CREATE(class,name,local,version,create)									\
 	(*book_)[name].factory=reinterpret_cast<LinkableValueNode::Factory>(&class::create);		\
 	(*book_)[name].check_type=&class::check_type;												\
 	(*book_)[name].local_name=local;															\
 	(*book_)[name].release_version=version
-
-#define ADD_VALUENODE2(class,name,local,version)												\
-	(*book_)[name].factory=reinterpret_cast<LinkableValueNode::Factory>(&class::create_from);	\
-	(*book_)[name].check_type=&class::check_type;												\
-	(*book_)[name].local_name=local;															\
-	(*book_)[name].release_version=version
+#define ADD_VALUENODE(class,name,local,version)		ADD_VALUENODE_CREATE(class,name,local,version,create)
+#define ADD_VALUENODE2(class,name,local,version)	ADD_VALUENODE_CREATE(class,name,local,version,create_from)
 
 	ADD_VALUENODE(ValueNode_Linear,			  "linear",			  _("Linear"),			 RELEASE_VERSION_0_61_06);
 	ADD_VALUENODE(ValueNode_Composite,		  "composite",		  _("Composite"),		 RELEASE_VERSION_0_61_06);
@@ -183,7 +189,6 @@ ValueNode::subsys_init()
 	ADD_VALUENODE(ValueNode_AngleString,	  "anglestring",	  _("Angle String"),	 RELEASE_VERSION_0_61_09); // SVN r2010
 	ADD_VALUENODE(ValueNode_IntString,		  "intstring",		  _("Int String"),		 RELEASE_VERSION_0_61_09); // SVN r2010
 	ADD_VALUENODE(ValueNode_Logarithm,		  "logarithm",		  _("Logarithm"),		 RELEASE_VERSION_0_61_09); // SVN r2034
-
 	ADD_VALUENODE(ValueNode_Greyed,			  "greyed",			  _("Greyed"),			 RELEASE_VERSION_0_62_00); // SVN r2305
 	ADD_VALUENODE(ValueNode_Pow,		      "power",		      _("Power"),		     RELEASE_VERSION_0_62_00); // SVN r2362
 	ADD_VALUENODE(ValueNode_Compare,		  "compare",  	 	  _("Compare"),			 RELEASE_VERSION_0_62_00); // SVN r2364
@@ -191,9 +196,16 @@ ValueNode::subsys_init()
 	ADD_VALUENODE(ValueNode_And,		      "and",			  _("And"),				 RELEASE_VERSION_0_62_00); // SVN r2364
 	ADD_VALUENODE(ValueNode_Or,		          "or",			  _("Or"),					 RELEASE_VERSION_0_62_00); // SVN r2364
 
+	ADD_VALUENODE(ValueNode_BoneInfluence,	  "boneinfluence",	  _("Bone Influence"),	 RELEASE_VERSION_0_62_00); 
+	ADD_VALUENODE(ValueNode_Bone,			  "bone",			  _("Bone"),			 RELEASE_VERSION_0_62_00); 
+	ADD_VALUENODE(ValueNode_Bone_Root,		  "bone_root",		  _("Root Bone"),		 RELEASE_VERSION_0_62_00); 
+	ADD_VALUENODE2(ValueNode_StaticList,	  "static_list",	  _("Static List"),		 RELEASE_VERSION_0_62_00); 
+	ADD_VALUENODE(ValueNode_BoneWeightPair,	  "boneweightpair",	  _("Bone Weight Pair"), RELEASE_VERSION_0_62_00); 
+
 	ADD_VALUENODE(ValueNode_WPList,           "wplist",           _("WPList"),           RELEASE_VERSION_0_63_00);
 	ADD_VALUENODE(ValueNode_DIList,           "dilist",           _("DIList"),           RELEASE_VERSION_0_63_01);
-
+	
+#undef ADD_VALUENODE_CREATE
 #undef ADD_VALUENODE
 #undef ADD_VALUENODE2
 
@@ -219,34 +231,37 @@ LinkableValueNode::book()
 }
 
 LinkableValueNode::Handle
-LinkableValueNode::create(const String &name, const ValueBase& x)
+LinkableValueNode::create(const String &name, const ValueBase& x, Canvas::LooseHandle canvas)
 {
 	if(!book().count(name))
 		return 0;
 
-	if (!check_type(name, x.get_type()) &&
-		// the Duplicate ValueNode is an exception - we don't want the
-		// user creating it for themselves, so check_type() fails for
-		// it even when it is valid
-		!(name == "duplicate" && x.get_type() == ValueBase::TYPE_REAL))
+	if (!check_type(name, x.get_type()))
 	{
 		error(_("Bad type: ValueNode '%s' doesn't accept type '%s'"), book()[name].local_name.c_str(), ValueBase::type_local_name(x.get_type()).c_str());
 		return 0;
 	}
 
-	return book()[name].factory(x);
+	return book()[name].factory(x,canvas);
 }
 
 bool
 LinkableValueNode::check_type(const String &name, ValueBase::Type x)
 {
+	// the BoneRoot and Duplicate ValueNodes are exceptions - we don't want the
+	// user creating them for themselves, so check_type() fails for
+	// them even when it is valid
+	if((name == "bone_root" && x == ValueBase::TYPE_BONE) ||
+	   (name == "duplicate" && x == ValueBase::TYPE_REAL))
+		return true;
+
 	if(!book().count(name) || !book()[name].check_type)
 		return false;
 	return book()[name].check_type(x);
 }
 
 bool
-LinkableValueNode::set_link(int i,ValueNode::Handle x)
+LinkableValueNode::set_link(int i,ValueNode::Handle x, bool silent)
 {
 	ValueNode::Handle previous(get_link(i));
 
@@ -275,7 +290,7 @@ LinkableValueNode::set_link(int i,ValueNode::Handle x)
 		{
 			x->set_parent_canvas(get_parent_canvas());
 		}
-		changed();
+		if (!silent) changed();
 		return true;
 	}
 	return false;
@@ -308,6 +323,9 @@ ValueNode::~ValueNode()
 void
 ValueNode::on_changed()
 {
+	if (getenv("SYNFIG_DEBUG_ON_CHANGED"))
+		printf("%s:%d ValueNode::on_changed()\n", __FILE__, __LINE__);
+
 	etl::loose_handle<Canvas> parent_canvas = get_parent_canvas();
 	if(parent_canvas)
 		do						// signal to all the ancestor canvases
@@ -350,6 +368,9 @@ ValueNode::set_id(const String &x)
 String
 ValueNode::get_description(bool show_exported_name)const
 {
+	if (dynamic_cast<const LinkableValueNode*>(this))
+		return dynamic_cast<const LinkableValueNode*>(this)->get_description(-1, show_exported_name);
+
 	String ret(_("ValueNode"));
 
 	if (dynamic_cast<const LinkableValueNode*>(this))
@@ -387,7 +408,7 @@ ValueNodeList::count(const String &id)const
 }
 
 ValueNode::Handle
-ValueNodeList::find(const String &id)
+ValueNodeList::find(const String &id, bool might_fail)
 {
 	iterator iter;
 
@@ -398,13 +419,16 @@ ValueNodeList::find(const String &id)
 		;
 
 	if(iter==end())
+	{
+		if (!might_fail) ValueNode::breakpoint();
 		throw Exception::IDNotFound("ValueNode in ValueNodeList: "+id);
+	}
 
 	return *iter;
 }
 
 ValueNode::ConstHandle
-ValueNodeList::find(const String &id)const
+ValueNodeList::find(const String &id, bool might_fail)const
 {
 	const_iterator iter;
 
@@ -415,7 +439,10 @@ ValueNodeList::find(const String &id)const
 		;
 
 	if(iter==end())
+	{
+		if (!might_fail) ValueNode::breakpoint();
 		throw Exception::IDNotFound("ValueNode in ValueNodeList: "+id);
+	}
 
 	return *iter;
 }
@@ -430,7 +457,7 @@ ValueNodeList::surefind(const String &id)
 
 	try
 	{
-		value_node=find(id);
+		value_node=find(id, true);
 	}
 	catch(Exception::IDNotFound)
 	{
@@ -471,7 +498,7 @@ ValueNodeList::add(ValueNode::Handle value_node)
 
 	try
 	{
-		ValueNode::RHandle other_value_node=find(value_node->get_id());
+		ValueNode::RHandle other_value_node=find(value_node->get_id(), true);
 		if(PlaceholderValueNode::Handle::cast_dynamic(other_value_node))
 		{
 			other_value_node->replace(value_node);
@@ -513,17 +540,26 @@ PlaceholderValueNode::get_local_name()const
 	return _("Placeholder");
 }
 
+String
+PlaceholderValueNode::get_string()const
+{
+	return String("PlaceholderValueNode: ") + get_guid().get_string();
+}
+
 ValueNode*
-PlaceholderValueNode::clone(const GUID& deriv_guid)const
+PlaceholderValueNode::clone(Canvas::LooseHandle canvas, const GUID& deriv_guid)const
 {
 	ValueNode* ret(new PlaceholderValueNode());
 	ret->set_guid(get_guid()^deriv_guid);
+	ret->set_parent_canvas(canvas);
 	return ret;
 }
 
 PlaceholderValueNode::Handle
 PlaceholderValueNode::create(ValueBase::Type type)
 {
+	if (getenv("SYNFIG_DEBUG_PLACEHOLDER_VALUENODE"))
+		printf("%s:%d PlaceholderValueNode::create\n", __FILE__, __LINE__);
 	return new PlaceholderValueNode(type);
 }
 
@@ -540,7 +576,7 @@ PlaceholderValueNode::PlaceholderValueNode(ValueBase::Type type):
 }
 
 ValueNode*
-LinkableValueNode::clone(const GUID& deriv_guid)const
+LinkableValueNode::clone(Canvas::LooseHandle canvas, const GUID& deriv_guid)const
 {
 	{
 		ValueNode* x(find_value_node(get_guid()^deriv_guid).get());
@@ -559,13 +595,14 @@ LinkableValueNode::clone(const GUID& deriv_guid)const
 		{
 			ValueNode::LooseHandle value_node(find_value_node(link->get_guid()^deriv_guid));
 			if(!value_node)
-				value_node=link->clone(deriv_guid);
+				value_node=link->clone(canvas, deriv_guid);
 			ret->set_link(i,value_node);
 		}
 		else
 			ret->set_link(i,link);
 	}
 
+	ret->set_parent_canvas(canvas);
 	return ret;
 }
 
@@ -581,16 +618,72 @@ ValueNode::get_relative_id(etl::loose_handle<const Canvas> x)const
 	return canvas_->_get_relative_id(x)+':'+get_id();
 }
 
+etl::loose_handle<Canvas>
+ValueNode::get_parent_canvas()const
+{
+	if (getenv("SYNFIG_DEBUG_GET_PARENT_CANVAS"))
+		printf("%s:%d get_parent_canvas of %lx is %lx\n", __FILE__, __LINE__, uintptr_t(this), uintptr_t(canvas_.get()));
+
+	return canvas_;
+}
+
+etl::loose_handle<Canvas>
+ValueNode::get_root_canvas()const
+{
+	if (getenv("SYNFIG_DEBUG_GET_PARENT_CANVAS"))
+		printf("%s:%d get_root_canvas of %lx is %lx\n", __FILE__, __LINE__, uintptr_t(this), uintptr_t(root_canvas_.get()));
+
+	return root_canvas_;
+}
+
+etl::loose_handle<Canvas>
+ValueNode::get_non_inline_ancestor_canvas()const
+{
+	etl::loose_handle<Canvas> parent(get_parent_canvas());
+
+	if (parent)
+	{
+		etl::loose_handle<Canvas> ret(parent->get_non_inline_ancestor());
+
+		if (getenv("SYNFIG_DEBUG_GET_PARENT_CANVAS"))
+			printf("%s:%d get_non_inline_ancestor_canvas of %lx is %lx\n", __FILE__, __LINE__, uintptr_t(this), uintptr_t(ret.get()));
+
+		return ret;
+	}
+
+	return parent;
+}
+
 void
 ValueNode::set_parent_canvas(etl::loose_handle<Canvas> x)
 {
-	canvas_=x; if(x) root_canvas_=x->get_root();
+	if (getenv("SYNFIG_DEBUG_SET_PARENT_CANVAS"))
+		printf("%s:%d set_parent_canvas of %lx to %lx\n", __FILE__, __LINE__, uintptr_t(this), uintptr_t(x.get()));
+
+	canvas_=x;
+
+	if (getenv("SYNFIG_DEBUG_SET_PARENT_CANVAS"))
+		printf("%s:%d now %lx\n", __FILE__, __LINE__, uintptr_t(canvas_.get()));
+
+	if(x) set_root_canvas(x);
 }
 
 void
 ValueNode::set_root_canvas(etl::loose_handle<Canvas> x)
 {
+	if (getenv("SYNFIG_DEBUG_SET_PARENT_CANVAS"))
+		printf("%s:%d set_root_canvas of %lx to %lx - ", __FILE__, __LINE__, uintptr_t(this), uintptr_t(x.get()));
+
 	root_canvas_=x->get_root();
+
+	if (getenv("SYNFIG_DEBUG_SET_PARENT_CANVAS"))
+		printf("now %lx\n", uintptr_t(root_canvas_.get()));
+}
+
+String
+ValueNode::get_string()const
+{
+	return String("ValueNode: ") + get_description();
 }
 
 void LinkableValueNode::get_times_vfunc(Node::time_set &set) const
@@ -619,6 +712,7 @@ LinkableValueNode::get_description(int index, bool show_exported_name)const
 
 	if (index == -1)
 	{
+		description = strprintf(" Linkable ValueNode (%s)", get_local_name().c_str());
 		if (show_exported_name && is_exported())
 			description += strprintf(" (%s)", get_id().c_str());
 	}
diff --git a/src/synfig/valuenode.h b/src/synfig/valuenode.h
index c6e0385..95d1aae 100644
--- a/src/synfig/valuenode.h
+++ b/src/synfig/valuenode.h
@@ -41,6 +41,7 @@
 #include "guid.h"
 #include <ETL/angle>
 #include "paramdesc.h"
+#include "interpolation.h"
 
 #include "node.h"
 
@@ -48,7 +49,7 @@
 
 /* === M A C R O S ========================================================= */
 
-#define CHECK_TYPE_AND_SET_VALUE(variable, type)						\
+#define VALUENODE_CHECK_TYPE(type) 										\
 	/* I don't think this ever happens - maybe remove this code? */		\
 	if (get_type() == ValueBase::TYPE_NIL) {							\
 		warning("%s:%d get_type() IS nil sometimes!",					\
@@ -64,12 +65,18 @@
 			  ValueBase::type_local_name(type).c_str(),					\
 			  ValueBase::type_local_name(value->get_type()).c_str());	\
 		return false;													\
-	}																	\
+	}
+
+#define VALUENODE_SET_VALUE(variable)									\
 	variable = value;													\
 	signal_child_changed()(i);											\
 	signal_value_changed()();											\
 	return true
 
+#define CHECK_TYPE_AND_SET_VALUE(variable, type)						\
+	VALUENODE_CHECK_TYPE(type)											\
+	VALUENODE_SET_VALUE(variable)
+
 /* === T Y P E D E F S ===================================================== */
 
 /* === C L A S S E S & S T R U C T S ======================================= */
@@ -108,6 +115,8 @@ public:
 	//!Deletes the book of ValueNodes
 	static bool subsys_stop();
 
+	static void breakpoint();
+
 	/*
  --	** -- D A T A -------------------------------------------------------------
 	*/
@@ -211,9 +220,10 @@ public:
 	//! Return a full description of the ValueNode and its parentage
 	virtual String get_description(bool show_exported_name = true)const;
 
+	String get_string()const;
 
 	//! Clones a Value Node
-	virtual ValueNode* clone(const GUID& deriv_guid=GUID())const=0;
+	virtual ValueNode* clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid=GUID())const=0;
 
 	//! Returns \true if the Value Node has an ID (has been exported)
 	bool is_exported()const { return !get_id().empty(); }
@@ -222,16 +232,19 @@ public:
 	ValueBase::Type get_type()const { return type; }
 
 	//! Returns a handle to the parent canvas, if it has one.
-	etl::loose_handle<Canvas> get_parent_canvas()const { return canvas_; }
+	etl::loose_handle<Canvas> get_parent_canvas()const;
+
+	//! Returns a handle to the parent canvas, if it has one.
+	etl::loose_handle<Canvas> get_root_canvas()const;
 
 	//! Returns a handle to the parent canvas, if it has one.
-	etl::loose_handle<Canvas> get_root_canvas()const { return root_canvas_; }
+	etl::loose_handle<Canvas> get_non_inline_ancestor_canvas()const;
 
 	//! Sets the parent canvas for the Value Node
 	void set_parent_canvas(etl::loose_handle<Canvas> x);
 
 	//! Sets the root canvas parent for the Value Node
-	void set_root_canvas(etl::loose_handle<Canvas> x);
+	virtual void set_root_canvas(etl::loose_handle<Canvas> x);
 
 	//! Returns the relative ID of a Node when accessed form the \x Canvas
 	String get_relative_id(etl::loose_handle<const Canvas> x)const;
@@ -242,6 +255,10 @@ public:
 	//! a replaceable handle to the Node
 	//! \see etl::rhandle
 	int replace(etl::handle<ValueNode> x);
+	
+	//! Get/Set the default interpolation for Value Nodes
+	virtual Interpolation get_interpolation()const { return INTERPOLATION_UNDEFINED; }
+	virtual void set_interpolation(Interpolation /* i*/) { }
 
 protected:
 	//! Sets the type of the ValueNode
@@ -278,7 +295,9 @@ public:
 
 	virtual String get_local_name()const;
 
-	virtual ValueNode* clone(const GUID& deriv_guid=GUID())const;
+	String get_string()const;
+
+	virtual ValueNode* clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid=GUID())const;
 
 	static Handle create(ValueBase::Type type=ValueBase::TYPE_NIL);
 
@@ -313,7 +332,7 @@ public:
 	/*! As a pointer to the constructor, it represents a "factory" of
 	**  objects of this class.
 	*/
-	typedef LinkableValueNode* (*Factory)(const ValueBase&);
+	typedef LinkableValueNode* (*Factory)(const ValueBase&, etl::loose_handle<Canvas> canvas);
 
 	//! This represents a pointer to a Type check member fucntion
 	/*! As a pointer to the member, it represents a fucntion that checks
@@ -347,7 +366,7 @@ public:
 
 	//! Creates a Linkable Value Node based on the name and the returned
 	//! value type. Returns a valid Handle if both (name and type) match
-	static Handle create(const String &name, const ValueBase& x);
+	static Handle create(const String &name, const ValueBase& x, etl::loose_handle<Canvas> canvas /* = 0 */);
 
 	//! Each derived Linkable Value Node has to implement this fucntion and
 	//! should return true only if the type matches. \name is the name of
@@ -383,10 +402,10 @@ public:
 	virtual int get_link_index_from_name(const String &name)const;
 
 	//! Clones a Value Node
-	virtual ValueNode* clone(const GUID& deriv_guid=GUID())const;
+	virtual ValueNode* clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid=GUID())const;
 
 	//! Sets a new Value Node link by its index
-	bool set_link(int i,ValueNode::Handle x);
+	bool set_link(int i,ValueNode::Handle x,bool silent=false);
 	//! Sets a new Value Node link by its name
 	bool set_link(const String &name,ValueNode::Handle x) {	return set_link(get_link_index_from_name(name),x);	}
 
@@ -441,13 +460,13 @@ public:
 	/*!	\return If found, returns a handle to the ValueNode.
 	**		Otherwise, returns an empty handle.
 	*/
-	ValueNode::Handle find(const String &name);
+	ValueNode::Handle find(const String &name, bool might_fail);
 
 	//! Finds the ValueNode in the list with the given \a name
 	/*!	\return If found, returns a handle to the ValueNode.
 	**		Otherwise, returns an empty handle.
 	*/
-	ValueNode::ConstHandle find(const String &name)const;
+	ValueNode::ConstHandle find(const String &name, bool might_fail)const;
 
 	//! Removes the \a value_node from the list
 	bool erase(ValueNode::Handle value_node);
diff --git a/src/synfig/valuenode_animated.cpp b/src/synfig/valuenode_animated.cpp
index 510bf03..c2a6315 100644
--- a/src/synfig/valuenode_animated.cpp
+++ b/src/synfig/valuenode_animated.cpp
@@ -48,6 +48,7 @@
 #include "canvas.h"
 #include "general.h"
 #include "valuenode_animated.h"
+#include "valuenode_bone.h"
 #include "valuenode_const.h"
 #include "exception.h"
 #include "gradient.h"
@@ -331,13 +332,14 @@ private:
 	Time r,s;
 
 public:
-	ValueNode* clone(const synfig::GUID& deriv_guid)const
+	ValueNode* clone(Canvas::LooseHandle canvas, const synfig::GUID& deriv_guid)const
 	{
 		{ ValueNode* x(find_value_node(get_guid()^deriv_guid).get()); if(x)return x; }
 		_Hermite<T>* ret(new _Hermite<T>());
 		ret->set_guid(get_guid()^deriv_guid);
 		for(WaypointList::const_iterator iter=waypoint_list().begin();iter!=waypoint_list().end();++iter)
-			ret->add(iter->clone(deriv_guid));
+			ret->add(iter->clone(canvas, deriv_guid));
+		ret->set_parent_canvas(canvas);
 		return ret;
 	}
 
@@ -398,6 +400,9 @@ public:
 
 	virtual void on_changed()
 	{
+		if (getenv("SYNFIG_DEBUG_ON_CHANGED"))
+			printf("%s:%d _Hermite::on_changed()\n", __FILE__, __LINE__);
+
 		ValueNode_Animated::on_changed();
 
 		if(waypoint_list_.size()<=1)
@@ -680,13 +685,14 @@ private:
 	Time r,s;
 
 public:
-	ValueNode* clone(const synfig::GUID& deriv_guid)const
+	ValueNode* clone(Canvas::LooseHandle canvas, const synfig::GUID& deriv_guid)const
 	{
 		{ ValueNode* x(find_value_node(get_guid()^deriv_guid).get()); if(x)return x; }
 		_Constant<T>* ret(new _Constant<T>());
 		ret->set_guid(get_guid()^deriv_guid);
 		for(WaypointList::const_iterator iter=waypoint_list().begin();iter!=waypoint_list().end();++iter)
-			ret->add(iter->clone(deriv_guid));
+			ret->add(iter->clone(canvas, deriv_guid));
+		ret->set_parent_canvas(canvas);
 		return ret;
 	}
 
@@ -733,6 +739,9 @@ public:
 
 	virtual void on_changed()
 	{
+		if (getenv("SYNFIG_DEBUG_ON_CHANGED"))
+			printf("%s:%d _Constant::on_changed()\n", __FILE__, __LINE__);
+
 		ValueNode_Animated::on_changed();
 
 		if(waypoint_list_.size()<=1)
@@ -778,13 +787,14 @@ private:
 	Time r,s;
 
 public:
-	ValueNode* clone(const synfig::GUID& deriv_guid)const
+	ValueNode* clone(Canvas::LooseHandle canvas, const synfig::GUID& deriv_guid)const
 	{
 		{ ValueNode* x(find_value_node(get_guid()^deriv_guid).get()); if(x)return x; }
 		_AnimBool* ret(new _AnimBool());
 		ret->set_guid(get_guid()^deriv_guid);
 		for(WaypointList::const_iterator iter=waypoint_list().begin();iter!=waypoint_list().end();++iter)
-			ret->add(iter->clone(deriv_guid));
+			ret->add(iter->clone(canvas, deriv_guid));
+		ret->set_parent_canvas(canvas);
 		return ret;
 	}
 
@@ -832,6 +842,9 @@ public:
 
 	virtual void on_changed()
 	{
+		if (getenv("SYNFIG_DEBUG_ON_CHANGED"))
+			printf("%s:%d _AnimBool::on_changed()\n", __FILE__, __LINE__);
+
 		ValueNode_Animated::on_changed();
 
 		if(waypoint_list_.size()<=1)
@@ -876,6 +889,7 @@ public:
 
 ValueNode_Animated::ValueNode_Animated()
 {
+	interpolation_=INTERPOLATION_UNDEFINED;
 }
 
 int
@@ -1004,8 +1018,8 @@ ValueNode_Animated::WaypointList::iterator
 ValueNode_Animated::find(const UniqueID &x)
 {
 	ValueNode_Animated::WaypointList::iterator iter;
-	iter=std::find(waypoint_list().begin(),waypoint_list().end(),x);
-	if(iter==waypoint_list().end() || iter->get_uid()!=x.get_uid())
+	iter=std::find(editable_waypoint_list().begin(),editable_waypoint_list().end(),x);
+	if(iter==editable_waypoint_list().end() || iter->get_uid()!=x.get_uid())
 		throw Exception::NotFound(strprintf("ValueNode_Animated::find(): Can't find UniqueID %d",x.get_uid()));
 	return iter;
 }
@@ -1019,9 +1033,9 @@ ValueNode_Animated::find(const UniqueID &x)const
 ValueNode_Animated::WaypointList::iterator
 ValueNode_Animated::find(const Time &x)
 {
-	WaypointList::iterator iter(binary_find(waypoint_list().begin(),waypoint_list().end(),x));
+	WaypointList::iterator iter(binary_find(editable_waypoint_list().begin(),editable_waypoint_list().end(),x));
 
-	if(iter!=waypoint_list().end() && x.is_equal(iter->get_time()))
+	if(iter!=editable_waypoint_list().end() && x.is_equal(iter->get_time()))
 		return iter;
 
 	throw Exception::NotFound(strprintf("ValueNode_Animated::find(): Can't find Waypoint at %s",x.get_string().c_str()));
@@ -1036,14 +1050,14 @@ ValueNode_Animated::find(const Time &x)const
 ValueNode_Animated::WaypointList::iterator
 ValueNode_Animated::find_next(const Time &x)
 {
-	WaypointList::iterator iter(binary_find(waypoint_list().begin(),waypoint_list().end(),x));
+	WaypointList::iterator iter(binary_find(editable_waypoint_list().begin(),editable_waypoint_list().end(),x));
 
-	if(iter!=waypoint_list().end())
+	if(iter!=editable_waypoint_list().end())
 	{
 		if(iter->get_time().is_more_than(x))
 			return iter;
 		++iter;
-		if(iter!=waypoint_list().end() && iter->get_time().is_more_than(x))
+		if(iter!=editable_waypoint_list().end() && iter->get_time().is_more_than(x))
 			return iter;
 	}
 
@@ -1059,13 +1073,13 @@ ValueNode_Animated::find_next(const Time &x)const
 ValueNode_Animated::WaypointList::iterator
 ValueNode_Animated::find_prev(const Time &x)
 {
-	WaypointList::iterator iter(binary_find(waypoint_list().begin(),waypoint_list().end(),x));
+	WaypointList::iterator iter(binary_find(editable_waypoint_list().begin(),editable_waypoint_list().end(),x));
 
-	if(iter!=waypoint_list().end())
+	if(iter!=editable_waypoint_list().end())
 	{
 		if(iter->get_time().is_less_than(x))
 			return iter;
-		if(iter!=waypoint_list().begin() && (--iter)->get_time().is_less_than(x))
+		if(iter!=editable_waypoint_list().begin() && (--iter)->get_time().is_less_than(x))
 			return iter;
 	}
 
@@ -1078,10 +1092,31 @@ ValueNode_Animated::find_prev(const Time &x)const
 	return const_cast<ValueNode_Animated*>(this)->find_prev(x);
 }
 
+bool
+ValueNode_Animated::waypoint_is_only_use_of_valuenode(Waypoint &waypoint)
+{
+	ValueNode::Handle value_node(waypoint.get_value_node());
+	assert(value_node);
+	WaypointList wp_list(waypoint_list());
+	WaypointList::iterator iter;
+	for (iter = wp_list.begin(); iter != wp_list.end(); iter++)
+		if (*iter == waypoint)
+			continue;
+		else if (iter->get_value_node() == value_node)
+			return false;
+	return true;
+}
+
 void
 ValueNode_Animated::erase(const UniqueID &x)
 {
-	waypoint_list().erase(find(x));
+	printf("%s:%d erasing waypoint from %lx\n", __FILE__, __LINE__, uintptr_t(this));
+	WaypointList::iterator iter(find(x));
+	Waypoint waypoint(*iter);
+	assert(waypoint.get_value_node());
+	editable_waypoint_list().erase(iter);
+	if (waypoint_is_only_use_of_valuenode(waypoint))
+		remove_child(waypoint.get_value_node().get());
 }
 
 ValueNode_Animated::WaypointList::iterator
@@ -1123,6 +1158,10 @@ synfig::ValueNode_Animated::create(ValueBase::Type type)
 
 		case ValueBase::TYPE_STRING:
 			return ValueNode_Animated::Handle(new _Constant<String>);
+		case ValueBase::TYPE_VALUENODE_BONE:
+			return ValueNode_Animated::Handle(new _Constant<ValueNode_Bone::LooseHandle>);
+		case ValueBase::TYPE_BONE:
+			return ValueNode_Animated::Handle(new _Constant<Bone>);
 		case ValueBase::TYPE_GRADIENT:
 			return ValueNode_Animated::Handle(new _Hermite<Gradient>);
 		case ValueBase::TYPE_BOOL:
@@ -1254,6 +1293,12 @@ ValueNode_Animated::find_time(const Time &x)const
  	return f;
 }
 
+String
+ValueNode_Animated::get_string()const
+{
+	return "ValueNode_Animated";
+}
+
 void
 ValueNode_Animated::insert_time(const Time& location, const Time& delta)
 {
diff --git a/src/synfig/valuenode_animated.h b/src/synfig/valuenode_animated.h
index df953b9..bd2e569 100644
--- a/src/synfig/valuenode_animated.h
+++ b/src/synfig/valuenode_animated.h
@@ -52,6 +52,8 @@ namespace synfig {
 */
 struct ValueNode_Animated : public ValueNode
 {
+private:
+	Interpolation interpolation_;
 public:
 	typedef etl::handle<ValueNode_Animated> Handle;
 	typedef etl::handle<const ValueNode_Animated> ConstHandle;
@@ -67,7 +69,7 @@ protected:
 	WaypointList waypoint_list_;
 
 public:
-	WaypointList &waypoint_list() { return waypoint_list_; }
+	WaypointList &editable_waypoint_list() { return waypoint_list_; }
 
 	const WaypointList &waypoint_list()const { return waypoint_list_; }
 
@@ -86,6 +88,8 @@ public:
 	//! \see : Waypoint new_waypoint_at_time(const Time& t)const;
 	WaypointList::iterator add(const Waypoint &x);
 
+	bool waypoint_is_only_use_of_valuenode(Waypoint &waypoint);
+
 	//! Removes a waypoint based on its UniqueId from the waypoint list
 	void erase(const UniqueID &x);
 
@@ -137,6 +141,14 @@ public:
 	//! used to move waypoints in the time line.
 	void insert_time(const Time& location, const Time& delta);
 
+	String get_string()const;
+
+	//! Get/Set the default interpolation for Value Nodes
+	virtual Interpolation get_interpolation()const { return interpolation_; }
+	virtual void set_interpolation(Interpolation i) { interpolation_=i; }
+
+	
+
 protected:
 	ValueNode_Animated();
 
diff --git a/src/synfig/valuenode_bline.cpp b/src/synfig/valuenode_bline.cpp
index 2be5b5c..4269f10 100644
--- a/src/synfig/valuenode_bline.cpp
+++ b/src/synfig/valuenode_bline.cpp
@@ -34,6 +34,7 @@
 #include "valuenode_bline.h"
 #include "valuenode_const.h"
 #include "valuenode_composite.h"
+#include "canvas.h"
 #include "general.h"
 #include "exception.h"
 #include "blinepoint.h"
@@ -460,9 +461,11 @@ synfig::bline_length(const ValueBase &bline, bool bline_loop, std::vector<Real>
 /* === M E T H O D S ======================================================= */
 
 
-ValueNode_BLine::ValueNode_BLine():
-	ValueNode_DynamicList(ValueBase::TYPE_BLINEPOINT)
+ValueNode_BLine::ValueNode_BLine(Canvas::LooseHandle canvas):
+	ValueNode_DynamicList(ValueBase::TYPE_BLINEPOINT, canvas)
 {
+	if (getenv("SYNFIG_DEBUG_SET_PARENT_CANVAS"))
+		printf("%s:%d should have already set parent canvas for bline %lx to %lx (using dynamic_list constructor)\n", __FILE__, __LINE__, uintptr_t(this), uintptr_t(canvas.get()));
 }
 
 ValueNode_BLine::~ValueNode_BLine()
@@ -470,11 +473,14 @@ ValueNode_BLine::~ValueNode_BLine()
 }
 
 ValueNode_BLine*
-ValueNode_BLine::create(const ValueBase &value)
+ValueNode_BLine::create(const ValueBase &value, Canvas::LooseHandle canvas)
 {
 	if(value.get_type()!=ValueBase::TYPE_LIST)
 		return 0;
 
+	// don't set the parent canvas yet - do it just before returning from this function
+	// otherwise we'll start constructing and destroying handles to the new bline before
+	// we have a permanent handle to it and it will be destroyed
 	ValueNode_BLine* value_node(new ValueNode_BLine());
 
 	if(!value.empty())
@@ -490,7 +496,7 @@ ValueNode_BLine::create(const ValueBase &value)
 
 			for(iter=bline_points.begin();iter!=bline_points.end();iter++)
 			{
-				value_node->add(ValueNode::Handle(ValueNode_Composite::create(*iter)));
+				value_node->add(ValueNode::Handle(ValueNode_Composite::create(*iter, canvas)));
 			}
 			value_node->set_loop(value.get_loop());
 		}
@@ -517,7 +523,7 @@ ValueNode_BLine::create(const ValueBase &value)
 #define CURR_POINT	curr->get_value().get(BLinePoint())
 				if(iter==segments.begin())
 				{
-					prev=ValueNode_Const::create(ValueBase::TYPE_BLINEPOINT);
+					prev=ValueNode_Const::Handle::cast_dynamic(create(ValueBase::TYPE_BLINEPOINT, canvas));
 					{
 						BLinePoint prev_point(PREV_POINT);
 						prev_point.set_vertex(iter->p1);
@@ -543,8 +549,7 @@ ValueNode_BLine::create(const ValueBase &value)
 					continue;
 				}
 
-				ValueNode_Const::Handle curr;
-				curr=ValueNode_Const::create(ValueBase::TYPE_BLINEPOINT);
+				ValueNode_Const::Handle curr(ValueNode_Const::Handle::cast_dynamic(create(ValueBase::TYPE_BLINEPOINT, canvas)));
 				{
 					BLinePoint curr_point(CURR_POINT);
 					curr_point.set_vertex(iter->p2);
@@ -575,6 +580,8 @@ ValueNode_BLine::create(const ValueBase &value)
 		}
 	}
 
+	value_node->set_parent_canvas(canvas);
+
 	return value_node;
 }
 
@@ -614,8 +621,6 @@ ValueNode_BLine::create_list_entry(int index, Time time, Real origin)
 	return ret;
 }
 
-// Remove this variable because it is not used.
-//static int instance_count;
 
 ValueBase
 ValueNode_BLine::operator()(Time t)const
@@ -649,14 +654,14 @@ ValueNode_BLine::operator()(Time t)const
 			if(first_flag)
 			{
 				first_iter=iter;
-				first=prev=(*iter->value_node)(t).get(prev);
+				first=prev=get_blinepoint(iter, t);
 				first_flag=false;
 				ret_list.push_back(first);
 				continue;
 			}
 
 			BLinePoint curr;
-			curr=(*iter->value_node)(t).get(prev);
+			curr=get_blinepoint(iter, t);
 
 			if(next_scale!=1.0f)
 			{
@@ -711,7 +716,7 @@ ValueNode_BLine::operator()(Time t)const
 				catch(...) { on_time=Time::end(); }
 			}
 
-			blp_here_on=(*iter->value_node)(on_time).get(blp_here_on);
+			blp_here_on=get_blinepoint(iter, on_time);
 //			blp_here_on=(*iter->value_node)(t).get(blp_here_on);
 
 			// Find "end" of dynamic group - ie. search forward along
@@ -734,7 +739,7 @@ ValueNode_BLine::operator()(Time t)const
 					end_iter=--list.end();
 			}
 
-			blp_next_off=(*end_iter->value_node)(off_time).get(prev);
+			blp_next_off=get_blinepoint(end_iter, off_time);
 
 			// Find "begin" of dynamic group
 			begin_iter=iter;
@@ -758,7 +763,7 @@ ValueNode_BLine::operator()(Time t)const
 
 				if(begin_iter->amount_at_time(t)>amount)
 				{
-					blp_prev_off=(*begin_iter->value_node)(off_time).get(prev);
+					blp_prev_off=get_blinepoint(begin_iter, off_time);
 					break;
 				}
 			}while(true);
@@ -772,7 +777,7 @@ ValueNode_BLine::operator()(Time t)const
 					begin_iter=list.begin();
 				else
 					begin_iter=first_iter;
-				blp_prev_off=(*begin_iter->value_node)(off_time).get(prev);
+				blp_prev_off=get_blinepoint(begin_iter, off_time);
 			}
 
 			// this is how the curve looks when we have completely vanished
@@ -805,7 +810,7 @@ ValueNode_BLine::operator()(Time t)const
 			else if(list.end()!=++std::vector<ListEntry>::const_iterator(iter))
 			{
 				BLinePoint next;
-				next=((*(++std::vector<ListEntry>::const_iterator(iter))->value_node)(t).get(prev));
+				next=get_blinepoint(++std::vector<ListEntry>::const_iterator(iter), t);
 				next_tangent_scalar=linear_interpolation(next.get_origin()-blp_here_on.get_origin(), 1.0f, amount);
 			}
 			else
@@ -845,20 +850,20 @@ ValueNode_BLine::operator()(Time t)const
 				// for each of the 3 systems, the origin is half way between the previous and next active point
 				// and the axes are based on a vector from the next active point to the previous
 				{
-					const Point   end_pos_at_off_time((  *end_iter->value_node)(off_time).get(prev).get_vertex());
-					const Point begin_pos_at_off_time((*begin_iter->value_node)(off_time).get(prev).get_vertex());
+					const Point   end_pos_at_off_time(get_blinepoint(end_iter,   off_time).get_vertex());
+					const Point begin_pos_at_off_time(get_blinepoint(begin_iter, off_time).get_vertex());
 					off_coord_origin=(begin_pos_at_off_time + end_pos_at_off_time)/2;
 					off_coord_sys[0]=(begin_pos_at_off_time - end_pos_at_off_time).norm();
 					off_coord_sys[1]=off_coord_sys[0].perp();
 
-					const Point   end_pos_at_on_time((  *end_iter->value_node)(on_time).get(prev).get_vertex());
-					const Point begin_pos_at_on_time((*begin_iter->value_node)(on_time).get(prev).get_vertex());
+					const Point   end_pos_at_on_time(get_blinepoint(end_iter,   on_time).get_vertex());
+					const Point begin_pos_at_on_time(get_blinepoint(begin_iter, on_time).get_vertex());
 					on_coord_origin=(begin_pos_at_on_time + end_pos_at_on_time)/2;
 					on_coord_sys[0]=(begin_pos_at_on_time - end_pos_at_on_time).norm();
 					on_coord_sys[1]=on_coord_sys[0].perp();
 
-					const Point   end_pos_at_current_time((  *end_iter->value_node)(t).get(prev).get_vertex());
-					const Point begin_pos_at_current_time((*begin_iter->value_node)(t).get(prev).get_vertex());
+					const Point   end_pos_at_current_time(get_blinepoint(end_iter,   t).get_vertex());
+					const Point begin_pos_at_current_time(get_blinepoint(begin_iter, t).get_vertex());
 					curr_coord_origin=(begin_pos_at_current_time + end_pos_at_current_time)/2;
 					curr_coord_sys[0]=(begin_pos_at_current_time - end_pos_at_current_time).norm();
 					curr_coord_sys[1]=curr_coord_sys[0].perp();
@@ -1013,6 +1018,89 @@ ValueNode_BLine::check_type(ValueBase::Type type)
 	return type==ValueBase::TYPE_LIST;
 }
 
+
+BLinePoint
+ValueNode_BLine::get_blinepoint(std::vector<ListEntry>::const_iterator current, Time t) const
+{
+	BLinePoint bpcurr((*current->value_node)(t).get(BLinePoint()));
+	if(!bpcurr.get_boned_vertex_flag())
+		return bpcurr;
+
+	std::vector<ListEntry>::const_iterator next(current), previous(current); //iterators current, next, previous
+	BLinePoint bpprev,bpnext; //BLinePoints next, previous
+	Vector t1,t2;
+	Vector tt1,tt2; // Calculated tangents
+	Point v,vn,vp; // Transformed current Vertex, next Vertex, previous Vertex
+	Point vs,vns,vps; // Setup current Vertex, next Vertex, previous Vertex
+	Angle beta1,beta2; //Final angle of tangents (trasformed)
+	Angle beta01,beta02; //Original angle of tangnets (untransformed)
+	Angle alpha; // Increment of angle produced in the segment next-previous
+	Angle gamma; // Compensation due to the variation relative to the midpoint.
+
+	next++;
+	if(next==list.end())
+		next=list.begin();
+	if(current==list.begin())
+		previous=list.end();
+	previous--;
+
+	bpprev=(*previous->value_node)(t).get(BLinePoint());
+	bpnext=(*next->value_node)(t).get(BLinePoint());
+
+	t1=bpcurr.get_tangent1();
+	t2=bpcurr.get_tangent2();
+	v=bpcurr.get_vertex();
+	vp=bpprev.get_vertex();
+	vn=bpnext.get_vertex();
+	vs=bpcurr.get_vertex_setup();
+	vps=bpprev.get_vertex_setup();
+	vns=bpnext.get_vertex_setup();
+	beta01=t1.angle();
+	beta02=t2.angle();
+	// New aproaching: I calculate the needed relative change of the tangents
+	// in relation to the segment that joins the next and previous vertices.
+	// Then add a compensation due to the modification relative to the mid point.
+	// If the blinepoint tangent is not split it is not needed the compensation
+	// in fact the compensation makes it worst so it makes only sense when the
+	// vertex has a particular "shape" by its split tangents.
+	alpha=(vn-vp).angle()-(vns-vps).angle();
+	if (bpcurr.get_split_tangent_flag())
+		gamma=((v-(vn+vp)*0.5).angle()-(vn-vp).angle()) - ((vs-(vns+vps)*0.5).angle()-(vns-vps).angle());
+	else
+		gamma=Angle::zero();
+
+	beta1=alpha + gamma + beta01;
+	beta2=alpha + gamma + beta02;
+	tt1[0]=t1.mag()*Angle::cos(beta1).get();
+	tt1[1]=t1.mag()*Angle::sin(beta1).get();
+	tt2[0]=t2.mag()*Angle::cos(beta2).get();
+	tt2[1]=t2.mag()*Angle::sin(beta2).get();
+	bpcurr.set_tangent1(tt1);
+	bpcurr.set_tangent2(tt2);
+
+	return bpcurr;
+}
+
+#ifdef _DEBUG
+void
+ValueNode_BLine::ref()const
+{
+	if (getenv("SYNFIG_DEBUG_BLINE_REFCOUNT"))
+		printf("%s:%d %lx   ref bline %*s -> %2d\n", __FILE__, __LINE__, uintptr_t(this), (count()*2), "", count()+1);
+
+	LinkableValueNode::ref();
+}
+
+bool
+ValueNode_BLine::unref()const
+{
+	if (getenv("SYNFIG_DEBUG_BLINE_REFCOUNT"))
+		printf("%s:%d %lx unref bline %*s%2d <-\n", __FILE__, __LINE__, uintptr_t(this), ((count()-1)*2), "", count()-1);
+
+	return LinkableValueNode::unref();
+}
+#endif
+
 LinkableValueNode::Vocab
 ValueNode_BLine::get_children_vocab_vfunc()const
 {
diff --git a/src/synfig/valuenode_bline.h b/src/synfig/valuenode_bline.h
index 44a395b..91c727c 100644
--- a/src/synfig/valuenode_bline.h
+++ b/src/synfig/valuenode_bline.h
@@ -75,12 +75,10 @@ public:
 	typedef etl::handle<const ValueNode_BLine> ConstHandle;
 
 
-	ValueNode_BLine();
+	ValueNode_BLine(etl::loose_handle<Canvas> canvas = 0);
 
 public:
 
-
-
  	virtual ValueBase operator()(Time t)const;
 
 	virtual ~ValueNode_BLine();
@@ -99,8 +97,16 @@ protected:
 public:
 	//using synfig::LinkableValueNode::set_link_vfunc;
 	static bool check_type(ValueBase::Type type);
-	static ValueNode_BLine* create(const ValueBase &x=ValueBase::TYPE_LIST);
+	static ValueNode_BLine* create(const ValueBase &x=ValueBase::TYPE_LIST, etl::loose_handle<Canvas> canvas = 0);
+
+	//! Returns the BlinePoint at time t, with the tangents modified if
+	//! the vertex is boned influenced, otherwise returns the Blinepoint at time t.
+	BLinePoint get_blinepoint(std::vector<ListEntry>::const_iterator current, Time t)const;
 	virtual Vocab get_children_vocab_vfunc()const;
+#ifdef _DEBUG
+	virtual void ref()const;
+	virtual bool unref()const;
+#endif
 }; // END of class ValueNode_BLine
 
 typedef ValueNode_BLine::ListEntry::ActivepointList ActivepointList;
diff --git a/src/synfig/valuenode_bone.cpp b/src/synfig/valuenode_bone.cpp
new file mode 100644
index 0000000..f6c01f3
--- /dev/null
+++ b/src/synfig/valuenode_bone.cpp
@@ -0,0 +1,1190 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file valuenode_bone.cpp
+**	\brief Implementation of the "Bone" valuenode conversion.
+**
+**	$Id$
+**
+**	\legal
+**	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**	Copyright (c) 2007, 2008 Chris Moore
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include "valuenode_bone.h"
+#include "valuenode_const.h"
+#include "valuenode_animated.h"
+#include "general.h"
+#include "canvas.h"
+
+#endif
+
+/* === U S I N G =========================================================== */
+
+using namespace std;
+using namespace etl;
+using namespace synfig;
+
+/* === M A C R O S ========================================================= */
+
+// #define HIDE_BONE_FIELDS
+
+#define GET_NODE_PARENT_NODE(node,t) (*node->get_link("parent"))(t).get(ValueNode_Bone::Handle())
+#define GET_NODE_PARENT(node,t) GET_NODE_PARENT_NODE(node,t)->get_guid()
+#define GET_NODE_NAME(node,t) node->get_bone_name(t)
+#define GET_NODE_BONE(node,t) (*node)(t).get(Bone())
+
+#define GET_GUID_CSTR(guid) guid.get_string().substr(0,GUID_PREFIX_LEN).c_str()
+#define GET_NODE_GUID_CSTR(node) GET_GUID_CSTR(node->get_guid())
+#define GET_NODE_NAME_CSTR(node,t) GET_NODE_NAME(node,t).c_str()
+#define GET_NODE_BONE_CSTR(node,t) GET_NODE_BONE(node,t).c_str()
+#define GET_NODE_DESC_CSTR(node,t) (node ? strprintf("%s (%s)", GET_NODE_GUID_CSTR(node), GET_NODE_NAME_CSTR(node,t)) : strprintf("%s <root>", GET_GUID_CSTR(GUID(0)))).c_str()
+#define GET_NODE_PARENT_CSTR(node,t) GET_GUID_CSTR(GET_NODE_PARENT(node,t))
+
+/* === G L O B A L S ======================================================= */
+
+static ValueNode_Bone::CanvasMap canvas_map;
+static int bone_counter;
+// static map<ValueNode_Bone::Handle, Matrix> setup_matrix_map;
+// static map<ValueNode_Bone::Handle, Matrix> animated_matrix_map;
+static Time last_time = Time::begin();
+
+static ValueNode_Bone_Root::Handle rooot;
+
+/* === P R O C E D U R E S ================================================= */
+
+struct compare_bones
+{
+	bool operator() (const ValueNode_Bone::LooseHandle b1, const ValueNode_Bone::LooseHandle b2) const
+	{
+		String n1(GET_NODE_NAME(b1,0));
+		String n2(GET_NODE_NAME(b2,0));
+
+		if (n1 < n2) return true;
+		if (n1 > n2) return false;
+
+		return b1->get_guid() < b2->get_guid();
+	}
+};
+
+void
+ValueNode_Bone::show_bone_map(Canvas::LooseHandle canvas, const char *file, int line, String text, Time t)
+{
+	if (!getenv("SYNFIG_DEBUG_BONE_MAP")) return;
+
+	BoneMap bone_map(canvas_map[canvas]);
+
+	set<ValueNode_Bone::LooseHandle, compare_bones> bone_set;
+	for (ValueNode_Bone::BoneMap::iterator iter = bone_map.begin(); iter != bone_map.end(); iter++)
+		bone_set.insert(iter->second);
+
+	printf("\n  %s:%d (canvas %lx) %s we now have %d bones (%d unreachable):\n", file, line, uintptr_t(canvas.get()), text.c_str(), int(bone_map.size()), int(bone_map.size() - bone_set.size()));
+
+	for (set<ValueNode_Bone::LooseHandle>::iterator iter = bone_set.begin(); iter != bone_set.end(); iter++)
+	{
+		ValueNode_Bone::LooseHandle bone(*iter);
+		GUID guid(bone->get_guid());
+//		printf("%s:%d loop 1 get_node_parent_node\n", __FILE__, __LINE__);
+		ValueNode_Bone::LooseHandle parent(GET_NODE_PARENT_NODE(bone,t));
+		String id;
+		if (bone->is_exported()) id = String(" ") + bone->get_id();
+//		printf("%s : %s (%d)\n",           		GET_GUID_CSTR(guid), GET_NODE_BONE_CSTR(bone,t), bone->rcount());
+		printf("    %-20s : parent %-20s (%d refs, %d rrefs)%s\n",
+			   GET_NODE_DESC_CSTR(bone,t),
+			   GET_NODE_DESC_CSTR(parent,t),
+			   bone->count(), bone->rcount(),
+			   id.c_str());
+	}
+	printf("\n");
+}
+
+ValueNode_Bone::BoneMap
+ValueNode_Bone::get_bone_map(Canvas::ConstHandle canvas)
+{
+	return canvas_map[canvas];
+}
+
+ValueNode_Bone::BoneList
+ValueNode_Bone::get_ordered_bones(etl::handle<const Canvas> canvas)
+{
+	std::multimap<ValueNode_Bone::Handle, ValueNode_Bone::Handle> uses;
+	std::multimap<ValueNode_Bone::Handle, ValueNode_Bone::Handle> is_used_by;
+	BoneList current_list;
+
+	{
+		BoneMap bone_map(canvas_map[canvas]);
+		for(BoneMap::const_iterator iter=bone_map.begin();iter!=bone_map.end();++iter)
+		{
+			ValueNode_Bone::Handle user(iter->second);
+			BoneSet ref(get_bones_referenced_by(user, false));
+			if (ref.empty())
+			{
+				if (getenv("SYNFIG_DEBUG_ORDER_BONES_FOR_SAVE_CANVAS")) printf("%s:%d %s doesn't need anybody\n", __FILE__, __LINE__,
+					   user->get_bone_name(0).c_str());
+				current_list.push_back(user);
+			}
+			else
+				for(BoneSet::iterator iter=ref.begin();iter!=ref.end();++iter)
+				{
+					ValueNode_Bone::Handle used(*iter);
+					if (getenv("SYNFIG_DEBUG_ORDER_BONES_FOR_SAVE_CANVAS")) printf("%s:%d %s is used by %s\n", __FILE__, __LINE__,
+																				   used->get_bone_name(0).c_str(),
+																				   user->get_bone_name(0).c_str());
+					is_used_by.insert(make_pair(used, user));
+					uses.insert(make_pair(user, used));
+				}
+		}
+	}
+
+	BoneList ret;
+	BoneSet seen;
+	BoneList new_list;
+
+	while (current_list.size())
+	{
+		if (getenv("SYNFIG_DEBUG_ORDER_BONES_FOR_SAVE_CANVAS")) printf("%s:%d current_list has %zd members; we have %zd in is_used_by and %zd in uses\n",
+																	   __FILE__, __LINE__, current_list.size(), is_used_by.size(), uses.size());
+		for(BoneList::iterator iter=current_list.begin();iter!=current_list.end();++iter)
+		{
+			ValueNode_Bone::Handle bone(*iter);
+			if (getenv("SYNFIG_DEBUG_ORDER_BONES_FOR_SAVE_CANVAS")) printf("%s:%d bone: %s\n", __FILE__, __LINE__, bone->get_bone_name(0).c_str());
+			ret.push_back(bone);
+
+			std::multimap<ValueNode_Bone::Handle, ValueNode_Bone::Handle>::iterator begin(is_used_by.lower_bound(bone));
+			std::multimap<ValueNode_Bone::Handle, ValueNode_Bone::Handle>::iterator end(is_used_by.upper_bound(bone));
+			for (std::multimap<ValueNode_Bone::Handle, ValueNode_Bone::Handle>::iterator iter = begin; iter != end; iter++)
+			{
+				ValueNode_Bone::Handle user(iter->second);
+				if (getenv("SYNFIG_DEBUG_ORDER_BONES_FOR_SAVE_CANVAS")) printf("\t\t\t%s:%d user: %s\n", __FILE__, __LINE__, user->get_bone_name(0).c_str());
+
+				// erase (user,bone) from uses
+				if (getenv("SYNFIG_DEBUG_ORDER_BONES_FOR_SAVE_CANVAS")) printf("%s:%d trying to erase - searching %zd\n", __FILE__, __LINE__, uses.count(user));
+				std::multimap<ValueNode_Bone::Handle, ValueNode_Bone::Handle>::iterator begin2(uses.lower_bound(user));
+				std::multimap<ValueNode_Bone::Handle, ValueNode_Bone::Handle>::iterator end2(uses.upper_bound(user));
+				std::multimap<ValueNode_Bone::Handle, ValueNode_Bone::Handle>::iterator iter2;
+				for (iter2 = begin2; iter2 != end2; iter2++)
+				{
+					if (iter2->second == bone)
+					{
+						uses.erase(iter2);
+						if (getenv("SYNFIG_DEBUG_ORDER_BONES_FOR_SAVE_CANVAS")) printf("%s:%d found it\n", __FILE__, __LINE__);
+						break;
+					}
+					else
+					{
+						if (getenv("SYNFIG_DEBUG_ORDER_BONES_FOR_SAVE_CANVAS")) printf("no\n");
+					}
+				}
+				if (iter2 == end2)
+				{
+					if (getenv("SYNFIG_DEBUG_ORDER_BONES_FOR_SAVE_CANVAS")) printf("%s:%d didn't find it?!?\n", __FILE__, __LINE__);
+					assert(0);
+				}
+
+				if (getenv("SYNFIG_DEBUG_ORDER_BONES_FOR_SAVE_CANVAS")) printf("%s:%d now there are %zd\n", __FILE__, __LINE__, uses.count(user));
+				if (uses.count(user) == 0)
+				{
+					if (getenv("SYNFIG_DEBUG_ORDER_BONES_FOR_SAVE_CANVAS")) printf("\t\t\t%s:%d adding %s\n", __FILE__, __LINE__, user->get_bone_name(0).c_str());
+					new_list.push_back(user);
+				}
+			}
+		}
+		current_list = new_list;
+		new_list.clear();
+	}
+
+	assert(uses.empty());
+
+	return ret;
+}
+
+/* === M E T H O D S ======================================================= */
+
+// this should only be used when creating the root bone
+ValueNode_Bone::ValueNode_Bone():
+	LinkableValueNode(ValueBase::TYPE_BONE),
+	setup_(false)
+{
+	Vocab ret(get_children_vocab());
+	set_children_vocab(ret);
+	if (getenv("SYNFIG_DEBUG_ROOT_BONE"))
+		printf("%s:%d ValueNode_Bone::ValueNode_Bone() this line should only appear once guid %s\n", __FILE__, __LINE__, get_guid().get_string().c_str());
+}
+
+ValueNode_Bone::ValueNode_Bone(const ValueBase &value, etl::loose_handle<Canvas> canvas):
+	LinkableValueNode(value.get_type()),
+	setup_(false)
+{
+	if (getenv("SYNFIG_DEBUG_BONE_CONSTRUCTORS"))
+	{
+		printf("\n%s:%d ------------------------------------------------------------------------\n", __FILE__, __LINE__);
+		printf("%s:%d --- ValueNode_Bone() for %s at %lx---\n", __FILE__, __LINE__, GET_GUID_CSTR(get_guid()), uintptr_t(this));
+		printf("%s:%d ------------------------------------------------------------------------\n\n", __FILE__, __LINE__);
+	}
+	Vocab ret(get_children_vocab());
+	set_children_vocab(ret);
+	switch(value.get_type())
+	{
+	case ValueBase::TYPE_BONE:
+	{
+		Bone bone(value.get(Bone()));
+		String name(bone.get_name());
+
+		if (name.empty())
+			name = strprintf(_("Bone %d"), ++bone_counter);
+
+		name = unique_name(name);
+
+		set_link("name",ValueNode_Const::create(name));
+#ifndef HIDE_BONE_FIELDS
+		set_link("origin",ValueNode_Const::create(bone.get_origin()));
+		set_link("angle",ValueNode_Const::create(bone.get_angle()));
+		set_link("scalelx",ValueNode_Const::create(bone.get_scalelx()));
+		set_link("scalely",ValueNode_Const::create(bone.get_scalely()));
+		set_link("scalex",ValueNode_Const::create(bone.get_scalex()));
+		set_link("scaley",ValueNode_Const::create(bone.get_scaley()));
+		set_link("origin0",ValueNode_Const::create(bone.get_origin0()));
+		set_link("angle0",ValueNode_Const::create(bone.get_angle0()));
+		set_link("length",ValueNode_Const::create(bone.get_length()));
+		set_link("strength",ValueNode_Const::create(bone.get_strength()));
+#endif
+		ValueNode_Bone::ConstHandle parent(ValueNode_Bone::Handle::cast_const(bone.get_parent()));
+		if (!parent) parent = get_root_bone();
+		set_link("parent",ValueNode_Const::create(ValueNode_Bone::Handle::cast_const(parent)));
+
+		if (getenv("SYNFIG_DEBUG_BONE_MAP"))
+			printf("%s:%d adding to canvas_map\n", __FILE__, __LINE__);
+		canvas_map[get_root_canvas()][get_guid()] = this;
+
+		if (getenv("SYNFIG_DEBUG_SET_PARENT_CANVAS"))
+			printf("%s:%d set parent canvas for bone %lx to %lx\n", __FILE__, __LINE__, uintptr_t(this), uintptr_t(canvas.get()));
+		set_parent_canvas(canvas);
+
+		show_bone_map(get_root_canvas(), __FILE__, __LINE__, strprintf("in constructor of %s at %lx", GET_GUID_CSTR(get_guid()), uintptr_t(this)));
+
+		break;
+	}
+	default:
+		throw Exception::BadType(ValueBase::type_local_name(value.get_type()));
+	}
+}
+
+void ValueNode_Bone::on_changed()
+{
+	if (getenv("SYNFIG_DEBUG_ON_CHANGED"))
+		printf("%s:%d ValueNode_Bone::on_changed()\n", __FILE__, __LINE__);
+
+	LinkableValueNode::on_changed();
+}
+
+LinkableValueNode*
+ValueNode_Bone::create_new()const
+{
+	return new ValueNode_Bone(get_type());
+}
+
+ValueNode_Bone*
+ValueNode_Bone::create(const ValueBase &x, Canvas::LooseHandle canvas)
+{
+	return new ValueNode_Bone(x, canvas);
+}
+
+ValueNode_Bone::~ValueNode_Bone()
+{
+	if (getenv("SYNFIG_DEBUG_BONE_CONSTRUCTORS"))
+	{
+		printf("\n%s:%d ------------------------------------------------------------------------\n", __FILE__, __LINE__);
+		printf("%s:%d --- ~ValueNode_Bone() for %s at %lx---\n", __FILE__, __LINE__, GET_GUID_CSTR(get_guid()), uintptr_t(this));
+		printf("%s:%d ------------------------------------------------------------------------\n\n", __FILE__, __LINE__);
+	}
+
+	if (getenv("SYNFIG_DEBUG_BONE_MAP"))
+		printf("%s:%d removing from canvas_map\n", __FILE__, __LINE__);
+	canvas_map[get_root_canvas()].erase(get_guid());
+
+	show_bone_map(get_root_canvas(), __FILE__, __LINE__, "in destructor");
+
+	unlink_all();
+}
+
+void
+ValueNode_Bone::set_guid(const GUID& new_guid)
+{
+	GUID old_guid(get_guid());
+	Canvas::LooseHandle canvas(get_root_canvas());
+	show_bone_map(canvas, __FILE__, __LINE__, strprintf("before changing guid from %s to %s", GET_GUID_CSTR(old_guid), GET_GUID_CSTR(new_guid)));
+	LinkableValueNode::set_guid(new_guid);
+	canvas_map[canvas][new_guid] = canvas_map[canvas][old_guid];
+	canvas_map[canvas].erase(old_guid);
+	show_bone_map(canvas, __FILE__, __LINE__, strprintf("after changing guid from %s to %s", GET_GUID_CSTR(old_guid), GET_GUID_CSTR(new_guid)));
+}
+
+void
+ValueNode_Bone::set_root_canvas(etl::loose_handle<Canvas> canvas)
+{
+	GUID guid(get_guid());
+	Canvas::LooseHandle old_canvas(get_root_canvas());
+	show_bone_map(old_canvas, __FILE__, __LINE__, strprintf("before changing canvas from %lx to (%lx)", uintptr_t(old_canvas.get()), uintptr_t(canvas.get())));
+	LinkableValueNode::set_root_canvas(canvas);
+	Canvas::LooseHandle new_canvas(get_root_canvas()); // it isn't necessarily what we passed in, because set_root_canvas walks up to the root
+	if (new_canvas != old_canvas)
+	{
+		if (!canvas_map[old_canvas].count(guid))
+			warning("%s:%d the node we're moving (%lx) isn't in the map", __FILE__, __LINE__, uintptr_t(this));
+
+		canvas_map[new_canvas][guid] = canvas_map[old_canvas][guid];
+		canvas_map[old_canvas].erase(guid);
+		show_bone_map(new_canvas, __FILE__, __LINE__, strprintf("after changing canvas from %lx to %lx", uintptr_t(old_canvas.get()), uintptr_t(new_canvas.get())));
+	}
+	else
+		if (getenv("SYNFIG_DEBUG_BONE_MAP"))
+			printf("%s:%d canvases are the same\n", __FILE__, __LINE__);
+}
+
+//!Setup Transformation matrix.
+//!This matrix applied to a setup point in global
+//!coordinates calculates the local coordinates of
+//!the point relative to the current bone.
+Matrix
+ValueNode_Bone::get_setup_matrix(Time t)const
+{
+	Point  origin0	((*origin0_	)(t).get(Point()));
+	Angle  angle0	((*angle0_	)(t).get(Angle()));
+
+	return (get_parent(t)->get_setup_matrix(t) *
+			Matrix().set_translate(-origin0) *
+			Matrix().set_rotate(-angle0));
+}
+
+Matrix
+ValueNode_Bone::get_setup_matrix(Time t, Point translate, Angle rotate, ValueNode_Bone::ConstHandle parent)const
+{
+	Matrix parent_matrix(parent->get_setup_matrix(t));
+	Matrix ret(parent_matrix *
+			   Matrix().set_translate(-translate) *
+			   Matrix().set_rotate(-rotate));
+
+	if (getenv("SYNFIG_DEBUG_SETUP_MATRIX_CALCULATION"))
+	{
+		printf("%s  *\n", parent_matrix.get_string(18, "", strprintf("rotate(%.2f)", Angle::deg(-rotate).get())).c_str());
+		printf("%s  *\n", Matrix().set_translate(-translate).get_string(18, "setup_matrix = ", strprintf("translate(%7.2f, %7.2f) (%s)", -translate[0], -translate[1], get_bone_name(t).c_str())).c_str());
+		printf("%s  =\n", Matrix().set_rotate(-rotate).get_string(18).c_str());
+		printf("%s\n",	  ret.get_string(18).c_str());
+	}
+
+	return ret;
+}
+
+//!Animated Transformation matrix.
+//!This matrix applied to a setup point in local
+//!coordinates (the one obtained form the Setup
+//!Transformation matrix) would obtain the
+//!animated position of the point due the current
+//!bone influence
+Matrix
+ValueNode_Bone::get_animated_matrix(Time t, Point child_origin)const
+{
+	Real   scalelx	((*scalelx_	)(t).get(Real ()));
+	Real   scalely	((*scalely_	)(t).get(Real ()));
+	Real   scalex	((*scalex_	)(t).get(Real ()));
+	Real   scaley	((*scaley_	)(t).get(Real ()));
+	Angle  angle	((*angle_	)(t).get(Angle()));
+	Point  origin	((*origin_	)(t).get(Point()));
+
+	return (Matrix().set_translate(child_origin[0]*scalelx, child_origin[1]*scalely) *
+			Matrix().set_scale(scalex,scaley) *
+			Matrix().set_rotate(angle) *
+			get_parent(t)->get_animated_matrix(t, origin));
+}
+
+Matrix
+ValueNode_Bone::get_animated_matrix(Time t, Real scalex, Real scaley, Angle angle, Point origin, ValueNode_Bone::ConstHandle parent)const
+{
+	Matrix parent_matrix(parent->get_animated_matrix(t, origin));
+	Matrix ret(Matrix().set_scale(scalex,scaley) *
+			   Matrix().set_rotate(angle) *
+			   parent_matrix);
+
+	if (getenv("SYNFIG_DEBUG_ANIMATED_MATRIX_CALCULATION"))
+	{
+		printf("%s  *\n", Matrix().set_scale(scalex, scaley).get_string(18, "animated_matrix = ",
+																		strprintf("scale(%7.2f, %7.2f) (%s)", scalex, scaley,
+																				  get_bone_name(t).c_str())).c_str());
+		printf("%s  *\n", Matrix().set_rotate(angle).get_string(18, "", strprintf("rotate(%.2f)", Angle::deg(angle).get())).c_str());
+		printf("%s  =\n", parent_matrix.get_string(18, "", "parent").c_str());
+		printf("%s\n",	  ret.get_string(18).c_str());
+	}
+
+	return ret;
+}
+
+ValueNode_Bone::ConstHandle
+ValueNode_Bone::get_parent(Time t)const
+{
+	// check if we are an ancestor of the proposed parent
+	ValueNode_Bone::ConstHandle parent((*parent_)(t).get(ValueNode_Bone::Handle()));
+	if (ValueNode_Bone::ConstHandle result = is_ancestor_of(parent,t))
+	{
+		if (result == ValueNode_Bone::ConstHandle(this))
+			synfig::error("A bone cannot be parent of itself or any of its descendants");
+		else
+			synfig::error("A loop was detected in the ancestry at bone %s", GET_NODE_DESC_CSTR(result,t));
+		printf("%s:%d root 1\n", __FILE__, __LINE__);
+		return get_root_bone();
+	}
+
+	// proposed parent is root or not a descendant of current bone
+	if (parent)
+	{
+		return parent;
+	}
+	assert(0);
+	return ValueNode_Bone::ConstHandle::cast_dynamic(new ValueNode_Bone_Root);
+}
+
+ValueBase
+ValueNode_Bone::operator()(Time t)const
+{
+	if (getenv("SYNFIG_DEBUG_VALUENODE_OPERATORS"))
+		printf("%s:%d operator()\n", __FILE__, __LINE__);
+
+//	show_bone_map(get_root_canvas(), __FILE__, __LINE__, strprintf("in op() at %s", t.get_string().c_str()), t);
+
+	String bone_name			((*name_	)(t).get(String()));
+	ValueNode_Bone::ConstHandle   bone_parent			(get_parent(t));
+#ifndef HIDE_BONE_FIELDS
+	Point  bone_origin			((*origin_	)(t).get(Point()));
+	Angle  bone_angle			((*angle_	)(t).get(Angle()));
+	Real   bone_scalelx			((*scalelx_	)(t).get(Real()));
+	Real   bone_scalely			((*scalely_	)(t).get(Real()));
+	Real   bone_scalex			((*scalex_	)(t).get(Real()));
+	Real   bone_scaley			((*scaley_	)(t).get(Real()));
+	Point  bone_origin0			((*origin0_	)(t).get(Point()));
+	Angle  bone_angle0			((*angle0_	)(t).get(Angle()));
+	Real   bone_length			((*length_	)(t).get(Real()));
+	Real   bone_strength		((*strength_)(t).get(Real()));
+	if (getenv("SYNFIG_DEBUG_SETUP_MATRIX_CALCULATION")) printf("\n***\n*** %s:%d get_setup_matrix() for %s\n***\n\n", __FILE__, __LINE__, get_bone_name(t).c_str());
+	Matrix bone_setup_matrix	(get_setup_matrix   (t, bone_origin0, bone_angle0, bone_parent));
+	if (getenv("SYNFIG_DEBUG_SETUP_MATRIX_CALCULATION")) printf("\n***\n*** %s:%d get_setup_matrix() for %s done\n***\n\n", __FILE__, __LINE__, get_bone_name(t).c_str());
+	if (getenv("SYNFIG_DEBUG_ANIMATED_MATRIX_CALCULATION")) printf("\n***\n*** %s:%d get_animated_matrix() for %s\n***\n\n", __FILE__, __LINE__, get_bone_name(t).c_str());
+	Matrix bone_animated_matrix	(get_animated_matrix(t, bone_scalex, bone_scaley, bone_angle, bone_origin, bone_parent));
+	if (getenv("SYNFIG_DEBUG_ANIMATED_MATRIX_CALCULATION")) printf("\n***\n*** %s:%d get_animated_matrix() for %s done\n***\n\n", __FILE__, __LINE__, get_bone_name(t).c_str());
+#endif
+
+	Bone ret;
+
+	ret.set_name			(bone_name);
+	ret.set_parent			(bone_parent.get());
+#ifndef HIDE_BONE_FIELDS
+	ret.set_origin			(bone_origin);
+	ret.set_angle			(bone_angle);
+	ret.set_scalelx			(bone_scalelx);
+	ret.set_scalely			(bone_scalely);
+	ret.set_scalex			(bone_scalex);
+	ret.set_scaley			(bone_scaley);
+	ret.set_origin0			(bone_origin0);
+	ret.set_angle0			(bone_angle0);
+	ret.set_length			(bone_length);
+	ret.set_strength		(bone_strength);
+	ret.set_setup_matrix	(bone_setup_matrix);
+	ret.set_animated_matrix	(bone_animated_matrix);
+#endif
+	ret.set_setup			(setup_);
+
+	return ret;
+}
+
+ValueNode*
+ValueNode_Bone::clone(Canvas::LooseHandle canvas, const GUID& deriv_guid)const
+{
+	String old_name;
+	ValueNode_Const::Handle const_name_link;
+	ValueNode::Handle name_link(get_link("name"));
+
+	if (!name_link->is_exported())
+	{
+		if (const_name_link = ValueNode_Const::Handle::cast_dynamic(name_link))
+		{
+			String name(old_name = const_name_link->get_value().get(String()));
+//			printf("got old name '%s'\n", name.c_str());
+			name = unique_name(name);
+//			printf("using new name '%s'\n", name.c_str());
+			const_name_link->set_value(name);
+		}
+//		else
+//			printf("%s:%d bone's name is not constant, so not editing\n", __FILE__, __LINE__);
+	}
+//	else
+//		printf("%s:%d cloned bone's name is exported, so not editing\n", __FILE__, __LINE__);
+
+	ValueNode* ret(LinkableValueNode::clone(canvas, deriv_guid));
+
+	if (const_name_link)
+		const_name_link->set_value(old_name);
+
+	return ret;
+}
+
+String
+ValueNode_Bone::get_name()const
+{
+	return "bone";
+}
+
+String
+ValueNode_Bone::get_local_name()const
+{
+	return _("Bone");
+}
+
+String
+ValueNode_Bone::get_bone_name(Time t)const
+{
+	return (*get_link("name"))(t).get(String());
+}
+
+bool
+ValueNode_Bone::check_type(ValueBase::Type type)
+{
+	return type==ValueBase::TYPE_BONE;
+}
+
+bool
+ValueNode_Bone::set_link_vfunc(int i,ValueNode::Handle value)
+{
+	assert(i>=0 && i<link_count());
+
+	switch(i)
+	{
+	case 0: CHECK_TYPE_AND_SET_VALUE(name_,		ValueBase::TYPE_STRING);
+	case 1:
+	{
+		VALUENODE_CHECK_TYPE(ValueBase::TYPE_VALUENODE_BONE);
+
+		// check for loops
+		ValueNode_Bone::BoneSet parents(ValueNode_Bone::get_bones_referenced_by(value));
+		if (parents.count(this))
+		{
+			error("creating potential loops in the bone ancestry isn't allowed");
+			return false;
+		}
+
+		VALUENODE_SET_VALUE(parent_);
+	}
+#ifndef HIDE_BONE_FIELDS
+	case 2: CHECK_TYPE_AND_SET_VALUE(origin_,	ValueBase::TYPE_VECTOR);
+	case 3: CHECK_TYPE_AND_SET_VALUE(angle_,	ValueBase::TYPE_ANGLE);
+	case 4: CHECK_TYPE_AND_SET_VALUE(scalelx_,	ValueBase::TYPE_REAL);
+	case 5: CHECK_TYPE_AND_SET_VALUE(scalely_,	ValueBase::TYPE_REAL);
+	case 6: CHECK_TYPE_AND_SET_VALUE(scalex_,	ValueBase::TYPE_REAL);
+	case 7: CHECK_TYPE_AND_SET_VALUE(scaley_,	ValueBase::TYPE_REAL);
+	case 8: CHECK_TYPE_AND_SET_VALUE(origin0_,	ValueBase::TYPE_VECTOR);
+	case 9: CHECK_TYPE_AND_SET_VALUE(angle0_,	ValueBase::TYPE_ANGLE);
+	case 10:CHECK_TYPE_AND_SET_VALUE(length_,	ValueBase::TYPE_REAL);
+	case 11:CHECK_TYPE_AND_SET_VALUE(strength_,	ValueBase::TYPE_REAL);
+#endif
+	}
+	return false;
+}
+
+ValueNode::LooseHandle
+ValueNode_Bone::get_link_vfunc(int i)const
+{
+	assert(i>=0 && i<link_count());
+
+	switch(i)
+	{
+	case 0: return name_;
+	case 1: return parent_;
+#ifndef HIDE_BONE_FIELDS
+	case 2: return origin_;
+	case 3: return angle_;
+	case 4: return scalelx_;
+	case 5: return scalely_;
+	case 6: return scalex_;
+	case 7: return scaley_;
+	case 8: return origin0_;
+	case 9: return angle0_;
+	case 10:return length_;
+	case 11:return strength_;
+#endif
+	}
+
+	return 0;
+}
+
+LinkableValueNode::Vocab
+ValueNode_Bone::get_children_vocab_vfunc() const
+{
+
+	LinkableValueNode::Vocab ret;
+
+	ret.push_back(ParamDesc(ValueBase(),"name")
+		.set_local_name(_("Name"))
+		.set_description(_("The name of the bone"))
+	);
+
+	ret.push_back(ParamDesc(ValueBase(),"parent")
+		.set_local_name(_("Parent"))
+		.set_description(_("The parent bone of the bone"))
+	);
+
+		ret.push_back(ParamDesc(ValueBase(),"origin")
+		.set_local_name(_("Origin"))
+		.set_description(_("The rotating origin of the bone relative to its parent"))
+	);
+
+		ret.push_back(ParamDesc(ValueBase(),"angle")
+		.set_local_name(_("Angle"))
+		.set_description(_("The rotating angle of the bone relative to its parent"))
+	);
+
+		ret.push_back(ParamDesc(ValueBase(),"scalelx")
+		.set_local_name(_("Local Length Scale"))
+		.set_description(_("The scale of the bone aligned its length"))
+	);
+
+		ret.push_back(ParamDesc(ValueBase(),"scalely")
+		.set_local_name(_("Local Width Scale"))
+		.set_description(_("The scale of the bone perpendicular to its length"))
+	);
+
+		ret.push_back(ParamDesc(ValueBase(),"scalex")
+		.set_local_name(_("Recursive Length Scale"))
+		.set_description(_("The scale of the bone and its children aligned to its length"))
+	);
+
+		ret.push_back(ParamDesc(ValueBase(),"scaley")
+		.set_local_name(_("Recursive Width Scale"))
+		.set_description(_("The scale of the bone and its children perpendicular to its length"))
+	);
+
+		ret.push_back(ParamDesc(ValueBase(),"origin0")
+		.set_local_name(_("Origin Setup"))
+		.set_description(_("The rotating origin of the bone relative to its parent at setup"))
+	);
+
+		ret.push_back(ParamDesc(ValueBase(),"angle0")
+		.set_local_name(_("Angle Setup"))
+		.set_description(_("The rotating angle of the bone relative to its parent at setup"))
+	);
+
+		ret.push_back(ParamDesc(ValueBase(),"length")
+		.set_local_name(_("Length Setup"))
+		.set_description(_("The length of the bone at setup"))
+	);
+
+		ret.push_back(ParamDesc(ValueBase(),"strength")
+		.set_local_name(_("Strength Setup"))
+		.set_description(_("The strength of the bone at setup"))
+	);
+
+	return ret;
+}
+
+
+ValueNode_Bone::LooseHandle
+ValueNode_Bone::find(String name)const
+{
+	// printf("%s:%d finding '%s' : ", __FILE__, __LINE__, name.c_str());
+
+	BoneMap bone_map(canvas_map[get_root_canvas()]);
+
+	for (ValueNode_Bone::BoneMap::iterator iter =  bone_map.begin(); iter != bone_map.end(); iter++)
+		if ((*iter->second->get_link("name"))(0).get(String()) == name)
+		{
+			// printf("yes\n");
+			return iter->second;
+		}
+
+	// printf("no\n");
+	return 0;
+}
+
+String
+ValueNode_Bone::unique_name(String name)const
+{
+	if (!find(name))
+		return name;
+
+	// printf("%s:%d making unique name for '%s'\n", __FILE__, __LINE__, name.c_str());
+
+	size_t last_close(name.size()-1);
+	int number = -1;
+	String prefix;
+
+	do
+	{
+		if (name.substr(last_close) != ")")
+			break;
+
+		size_t last_open(name.rfind('('));
+		if (last_open == String::npos)
+			break;
+
+		if (last_open+2 > last_close)
+			break;
+
+		String between(name.substr(last_open+1, last_close - (last_open+1)));
+		String::iterator iter;
+		for (iter = between.begin(); iter != between.end(); iter++)
+			if (!isdigit(*iter))
+				break;
+
+		if (iter != between.end())
+			break;
+
+		prefix = name.substr(0, last_open);
+		number = atoi(between.c_str());
+	} while (0);
+
+	if (number == -1)
+	{
+		prefix = name + " ";
+		number = 2;
+	}
+
+	do
+	{
+		name = prefix + "(" + strprintf("%d", number++) + ")";
+	} while (find(name));
+
+	// printf("%s:%d unique name is '%s'\n", __FILE__, __LINE__, name.c_str());
+	return name;
+}
+
+// checks whether the current object is an ancestor of the supplied bone
+// returns a handle to NULL if it isn't
+// if there's a loop in the ancestry it returns a handle to the valuenode where the loop is detected
+// otherwise it returns the current object
+ValueNode_Bone::ConstHandle
+ValueNode_Bone::is_ancestor_of(ValueNode_Bone::ConstHandle bone, Time t)const
+{
+	ValueNode_Bone::ConstHandle ancestor(this);
+	set<ValueNode_Bone::ConstHandle> seen;
+
+	if (getenv("SYNFIG_DEBUG_ANCESTOR_CHECK"))
+		printf("%s:%d checking whether %s is ancestor of %s\n", __FILE__, __LINE__, GET_NODE_DESC_CSTR(ancestor,t), GET_NODE_DESC_CSTR(bone,t));
+
+	while (bone != get_root_bone())
+	{
+		if (bone == ancestor)
+		{
+			if (getenv("SYNFIG_DEBUG_ANCESTOR_CHECK"))
+				printf("%s:%d bone reached us - so we are its ancestor - return true\n", __FILE__, __LINE__);
+			return bone;
+		}
+
+		if (seen.count(bone))
+		{
+			if (getenv("SYNFIG_DEBUG_ANCESTOR_CHECK"))
+				printf("%s:%d stuck in a loop - return true\n", __FILE__, __LINE__);
+			return bone;
+		}
+
+		seen.insert(bone);
+		bone=GET_NODE_PARENT_NODE(bone,t);
+
+		if (getenv("SYNFIG_DEBUG_ANCESTOR_CHECK"))
+			printf("%s:%d step on to parent %s\n", __FILE__, __LINE__, GET_NODE_DESC_CSTR(bone,t));
+	}
+
+	if (getenv("SYNFIG_DEBUG_ANCESTOR_CHECK"))
+		printf("%s:%d reached root - return false\n", __FILE__, __LINE__);
+	return 0;
+}
+
+ValueNode_Bone::BoneSet
+ValueNode_Bone::get_bones_referenced_by(ValueNode::Handle value_node, bool recursive)
+{
+	// printf("%s:%d rec = %d\n", __FILE__, __LINE__,recursive);
+	BoneSet ret;
+	if (!value_node)
+	{
+		printf("%s:%d failed?\n", __FILE__, __LINE__);
+		assert(0);
+		return ret;
+	}
+
+	// if it's a ValueNode_Const
+	if (ValueNode_Const::Handle value_node_const = ValueNode_Const::Handle::cast_dynamic(value_node))
+	{
+		ValueBase value_node(value_node_const->get_value());
+		if (value_node.get_type() == ValueBase::TYPE_VALUENODE_BONE)
+			if (ValueNode_Bone::Handle bone = value_node.get(ValueNode_Bone::Handle()))
+			{
+				// do we want to check for bone references in other bone fields or just 'parent'?
+				if (recursive)
+				{
+					// printf("%s:%d rec\n", __FILE__, __LINE__);
+					ret = get_bones_referenced_by(bone, recursive);
+					// ret = get_bones_referenced_by(bone->get_link("parent"), recursive);
+				}
+				if (!bone->is_root())
+					ret.insert(bone);
+			}
+		return ret;
+	}
+
+	// if it's a ValueNode_Animated
+	if (ValueNode_Animated::Handle value_node_animated = ValueNode_Animated::Handle::cast_dynamic(value_node))
+	{
+		// ValueNode_Animated::Handle ret = ValueNode_Animated::create(ValueBase::TYPE_BONE);
+		ValueNode_Animated::WaypointList list(value_node_animated->waypoint_list());
+		for (ValueNode_Animated::WaypointList::iterator iter = list.begin(); iter != list.end(); iter++)
+		{
+//			printf("%s:%d getting bones from waypoint\n", __FILE__, __LINE__);
+			BoneSet ret2(get_bones_referenced_by(iter->get_value_node(), recursive));
+			ret.insert(ret2.begin(), ret2.end());
+//			printf("added %d bones from waypoint to get %d\n", int(ret2.size()), int(ret.size()));
+		}
+//		printf("returning %d bones\n", int(ret.size()));
+		return ret;
+	}
+
+	// if it's a LinkableValueNode
+	if (LinkableValueNode::Handle linkable_value_node = LinkableValueNode::Handle::cast_dynamic(value_node))
+	{
+		for (int i = 0; i < linkable_value_node->link_count(); i++)
+		{
+			BoneSet ret2(get_bones_referenced_by(linkable_value_node->get_link(i), recursive));
+			ret.insert(ret2.begin(), ret2.end());
+		}
+		return ret;
+	}
+
+	if (PlaceholderValueNode::Handle linkable_value_node = PlaceholderValueNode::Handle::cast_dynamic(value_node))
+	{
+		// todo: while loading we might be setting up an ancestry loop by ignoring the placeholder valuenode here
+		// can we check for loops in badly formatted .sifz files somehow?
+		if (getenv("SYNFIG_DEBUG_PLACEHOLDER_VALUENODE"))
+			printf("%s:%d found a placeholder - skipping loop check\n", __FILE__, __LINE__);
+		return ret;
+	}
+
+	error("%s:%d BUG: bad type in valuenode '%s'", __FILE__, __LINE__, value_node->get_string().c_str());
+	assert(0);
+	return ret;
+}
+
+ValueNode_Bone::BoneSet
+ValueNode_Bone::get_bones_affected_by(ValueNode::Handle value_node)
+{
+	BoneSet ret;
+	set<const Node*> seen, current_nodes, new_nodes;
+	int generation = 0;
+	bool debug(false);
+
+	if (getenv("SYNFIG_DEBUG_SUITABLE_PARENTS"))
+		debug = true;
+
+	if (debug) printf("getting bones affected by %lx %s\n", uintptr_t(value_node.get()), value_node->get_string().c_str());
+
+	// initialise current_nodes with the node we're editing
+	current_nodes.insert(value_node.get());
+	do
+	{
+		generation++;
+		if (debug) printf("generation %d has %zd nodes\n", generation, current_nodes.size());
+
+		int count = 0;
+		// loop through current_nodes
+		for (set<const Node*>::iterator iter = current_nodes.begin(); iter != current_nodes.end(); iter++, count++)
+		{
+			// loop through the parents of each node in current_nodes
+			set<Node*> node_parents((*iter)->parent_set);
+			if (debug) printf("%s:%d node %d %lx (%s) has %zd parents\n",
+							  __FILE__, __LINE__, count, uintptr_t(*iter), (*iter)->get_string().c_str(), node_parents.size());
+			int count2 = 0;
+			for (set<Node*>::iterator iter2 = node_parents.begin(); iter2 != node_parents.end(); iter2++, count2++)
+			{
+				Node* node(*iter2);
+				// if (debug) printf("%s:%d parent %d: %lx (%s)\n", __FILE__, __LINE__, count2, uintptr_t(node), node->get_string().c_str());
+				// for each parent we've not already seen
+				if (!seen.count(node))
+				{
+					// note that we've seen it now
+					seen.insert(node);
+					// add it to the list of new nodes to loop though in the next iteration
+					new_nodes.insert(node);
+					// and if it's a ValueNode_Bone, add it to the set to be returned
+					if (dynamic_cast<ValueNode_Bone*>(node))
+						ret.insert(dynamic_cast<ValueNode_Bone*>(node));
+				}
+			}
+		}
+		current_nodes = new_nodes;
+		new_nodes.clear();
+	} while (current_nodes.size());
+
+	if (debug) printf("%s:%d got %zd affected bones\n", __FILE__, __LINE__, ret.size());
+	return ret;
+}
+
+ValueNode_Bone::BoneSet
+ValueNode_Bone::get_possible_parent_bones(ValueNode::Handle value_node)
+{
+	BoneSet ret;
+	bool debug(false);
+
+	if (getenv("SYNFIG_DEBUG_SUITABLE_PARENTS"))
+		debug = true;
+
+	if (debug) printf("%s:%d which bones can be parents of %lx (%s)\n", __FILE__, __LINE__, uintptr_t(value_node.get()), value_node->get_string().c_str());
+
+	// which bones are we currently editing the parent of - it can be more than one due to linking
+	ValueNode_Bone::BoneSet affected_bones(ValueNode_Bone::get_bones_affected_by(value_node));
+	if (debug) printf("%s:%d got %zd affected bones\n", __FILE__, __LINE__, affected_bones.size());
+	Canvas::LooseHandle canvas(value_node->get_root_canvas());
+	if (debug) printf("%s:%d canvas %lx\n", __FILE__, __LINE__, uintptr_t(canvas.get()));
+	for (ValueNode_Bone::BoneSet::iterator iter = affected_bones.begin(); iter != affected_bones.end(); iter++)
+	{
+		if (!canvas)
+		{
+			canvas = (*iter)->get_root_canvas();
+			printf("%s:%d root canvas %lx\n", __FILE__, __LINE__, uintptr_t((*iter)->get_root_canvas().get()));
+			printf("%s:%d parent canvas %lx\n", __FILE__, __LINE__, uintptr_t((*iter)->get_parent_canvas().get()));
+			printf("%s:%d ancestor canvas %lx\n", __FILE__, __LINE__, uintptr_t((*iter)->get_non_inline_ancestor_canvas().get()));
+
+		}
+		if (canvas != (*iter)->get_root_canvas())
+			warning("%s:%d multiple root canvases in affected bones: %lx and %lx", __FILE__, __LINE__,
+					uintptr_t(canvas.get()), uintptr_t((*iter)->get_root_canvas().get()));
+	}
+
+	BoneMap bone_map(canvas_map[canvas]);
+
+	// loop through all the bones that exist
+	for (ValueNode_Bone::BoneMap::const_iterator iter=bone_map.begin(); iter!=bone_map.end(); iter++)
+	{
+		ValueNode_Bone::Handle bone_value_node(iter->second);
+
+		// if the bone would be affected by our editing, skip it - it would cause a loop if the user selected it
+		if (affected_bones.count(bone_value_node.get()))
+			continue;
+
+		// loop through the list of bones referenced by this bone's parent link;
+		// if any of them would be affected by editing the cell, don't offer this bone in the menu
+		{
+			ValueNode_Bone::BoneSet parents(ValueNode_Bone::get_bones_referenced_by(bone_value_node->get_link("parent")));
+
+			ValueNode_Bone::BoneSet::iterator iter;
+			for (iter = parents.begin(); iter != parents.end(); iter++)
+				if (affected_bones.count(iter->get()))
+					break;
+			if (iter == parents.end())
+				ret.insert(bone_value_node);
+		}
+	}
+
+	if (debug) printf("%s:%d returning %zd possible parents\n", __FILE__, __LINE__, ret.size());
+	return ret;
+}
+
+ValueNode_Bone::Handle
+ValueNode_Bone::get_root_bone()
+{
+	if (!rooot) rooot = new ValueNode_Bone_Root();
+	return rooot;
+}
+
+#ifdef _DEBUG
+void
+ValueNode_Bone::ref()const
+{
+	if (getenv("SYNFIG_DEBUG_BONE_REFCOUNT"))
+		printf("%s:%d %s   ref valuenode_bone %*s -> %2d\n", __FILE__, __LINE__, GET_GUID_CSTR(get_guid()), (count()*2), "", count()+1);
+
+	LinkableValueNode::ref();
+}
+
+bool
+ValueNode_Bone::unref()const
+{
+	if (getenv("SYNFIG_DEBUG_BONE_REFCOUNT"))
+		printf("%s:%d %s unref valuenode_bone %*s%2d <-\n", __FILE__, __LINE__, GET_GUID_CSTR(get_guid()), ((count()-1)*2), "", count()-1);
+
+	return LinkableValueNode::unref();
+}
+
+void
+ValueNode_Bone::rref()const
+{
+	if (getenv("SYNFIG_DEBUG_BONE_REFCOUNT"))
+		printf("%s:%d %s               rref valuenode_bone %d -> ", __FILE__, __LINE__, GET_GUID_CSTR(get_guid()), rcount());
+
+	LinkableValueNode::rref();
+
+	if (getenv("SYNFIG_DEBUG_BONE_REFCOUNT"))
+		printf("%d\n", rcount());
+}
+
+void
+ValueNode_Bone::runref()const
+{
+	if (getenv("SYNFIG_DEBUG_BONE_REFCOUNT"))
+		printf("%s:%d %s             runref valuenode_bone %d -> ", __FILE__, __LINE__, GET_GUID_CSTR(get_guid()), rcount());
+
+	LinkableValueNode::runref();
+
+	if (getenv("SYNFIG_DEBUG_BONE_REFCOUNT"))
+		printf("%d\n", rcount());
+}
+#endif
+
+// ------------------------------------------------------------------------
+
+ValueNode_Bone_Root::ValueNode_Bone_Root()
+{
+	if (getenv("SYNFIG_DEBUG_ROOT_BONE"))
+		printf("%s:%d ValueNode_Bone_Root::ValueNode_Bone_Root()\n", __FILE__, __LINE__);
+}
+
+ValueNode_Bone_Root::~ValueNode_Bone_Root()
+{
+	if (getenv("SYNFIG_DEBUG_ROOT_BONE"))
+		printf("%s:%d ValueNode_Bone_Root::~ValueNode_Bone_Root()\n", __FILE__, __LINE__);
+}
+
+ValueBase
+ValueNode_Bone_Root::operator()(Time t __attribute__ ((unused)))const
+{
+	Bone ret;
+	ret.set_name			(get_local_name());
+	ret.set_parent			(0);
+	return ret;
+}
+
+void
+ValueNode_Bone_Root::set_guid(const GUID& new_guid)
+{
+	if (getenv("SYNFIG_DEBUG_ROOT_BONE"))
+		printf("%s:%d bypass set_guid() for root bone\n", __FILE__, __LINE__);
+	LinkableValueNode::set_guid(new_guid);
+}
+
+void
+ValueNode_Bone_Root::set_root_canvas(etl::loose_handle<Canvas> canvas)
+{
+	if (getenv("SYNFIG_DEBUG_ROOT_BONE"))
+		printf("%s:%d bypass set_root_canvas() for root bone\n", __FILE__, __LINE__);
+	LinkableValueNode::set_root_canvas(canvas);
+}
+
+ValueNode_Bone*
+ValueNode_Bone_Root::create(const ValueBase &x __attribute__ ((unused)))
+{
+	return get_root_bone().get();
+}
+
+String
+ValueNode_Bone_Root::get_name()const
+{
+	return "bone_root";
+}
+
+String
+ValueNode_Bone_Root::get_local_name()const
+{
+	return _("Root");
+}
+
+String
+ValueNode_Bone_Root::get_bone_name(Time t __attribute__ ((unused)))const
+{
+	return get_local_name();
+}
+
+int
+ValueNode_Bone_Root::link_count()const
+{
+	return 0;
+}
+
+LinkableValueNode*
+ValueNode_Bone_Root::create_new()const
+{
+	assert(0);
+	return rooot.get();
+}
+
+Matrix
+ValueNode_Bone_Root::get_setup_matrix(Time t __attribute__ ((unused)))const
+{
+	return Matrix();
+}
+
+Matrix
+ValueNode_Bone_Root::get_animated_matrix(Time t __attribute__ ((unused)), Point child_origin)const
+{
+	return Matrix().set_translate(child_origin);
+}
+
+bool
+ValueNode_Bone_Root::check_type(ValueBase::Type type __attribute__ ((unused)))
+{
+	return false;
+}
+
+#ifdef _DEBUG
+void
+ValueNode_Bone_Root::ref()const
+{
+	if (getenv("SYNFIG_DEBUG_BONE_REFCOUNT"))
+		printf("%s:%d %s   ref valuenode_bone_root %*s -> %2d\n", __FILE__, __LINE__, GET_GUID_CSTR(get_guid()), (count()*2), "", count()+1);
+
+	LinkableValueNode::ref();
+}
+
+bool
+ValueNode_Bone_Root::unref()const
+{
+	if (getenv("SYNFIG_DEBUG_BONE_REFCOUNT"))
+		printf("%s:%d %s unref valuenode_bone_root %*s%2d <-\n", __FILE__, __LINE__, GET_GUID_CSTR(get_guid()), ((count()-1)*2), "", count()-1);
+
+	return LinkableValueNode::unref();
+}
+
+void
+ValueNode_Bone_Root::rref()const
+{
+	if (getenv("SYNFIG_DEBUG_BONE_REFCOUNT"))
+		printf("%s:%d %s               rref valuenode_bone_root %d -> ", __FILE__, __LINE__, GET_GUID_CSTR(get_guid()), rcount());
+
+	LinkableValueNode::rref();
+
+	if (getenv("SYNFIG_DEBUG_BONE_REFCOUNT"))
+		printf("%d\n", rcount());
+}
+
+void
+ValueNode_Bone_Root::runref()const
+{
+	if (getenv("SYNFIG_DEBUG_BONE_REFCOUNT"))
+		printf("%s:%d %s             runref valuenode_bone_root %d -> ", __FILE__, __LINE__, GET_GUID_CSTR(get_guid()), rcount());
+
+	LinkableValueNode::runref();
+
+	if (getenv("SYNFIG_DEBUG_BONE_REFCOUNT"))
+		printf("%d\n", rcount());
+}
+#endif
diff --git a/src/synfig/valuenode_bone.h b/src/synfig/valuenode_bone.h
new file mode 100644
index 0000000..30f12b4
--- /dev/null
+++ b/src/synfig/valuenode_bone.h
@@ -0,0 +1,182 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file valuenode_bone.h
+**	\brief Header file for implementation of the "Bone" valuenode conversion.
+**
+**	$Id$
+**
+**	\legal
+**	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**	Copyright (c) 2007 Chris Moore
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === S T A R T =========================================================== */
+
+#ifndef __SYNFIG_VALUENODE_BONE_H
+#define __SYNFIG_VALUENODE_BONE_H
+
+/* === H E A D E R S ======================================================= */
+
+#include "valuenode.h"
+
+/* === M A C R O S ========================================================= */
+
+/* === C L A S S E S & S T R U C T S ======================================= */
+
+namespace synfig {
+
+class ValueNode_Bone : public LinkableValueNode
+{
+	ValueNode::RHandle name_;
+	ValueNode::RHandle origin_;
+	ValueNode::RHandle origin0_;
+	ValueNode::RHandle angle_;
+	ValueNode::RHandle angle0_;
+	ValueNode::RHandle scalelx_;
+	ValueNode::RHandle scalely_;
+	ValueNode::RHandle scalex_;
+	ValueNode::RHandle scaley_;
+	ValueNode::RHandle length_;
+	ValueNode::RHandle strength_;
+	ValueNode::RHandle parent_;
+	bool setup_;
+
+protected:
+	ValueNode_Bone();
+	ValueNode_Bone(const ValueBase &value, etl::loose_handle<Canvas> canvas = 0);
+
+public:
+
+	typedef etl::handle<ValueNode_Bone> Handle;
+	typedef etl::handle<const ValueNode_Bone> ConstHandle;
+	typedef etl::loose_handle<ValueNode_Bone> LooseHandle;
+	typedef std::map<synfig::GUID, LooseHandle> BoneMap;
+	typedef std::map<etl::loose_handle<const Canvas>, BoneMap> CanvasMap;
+	typedef std::set<LooseHandle> BoneSet;
+	typedef std::list<LooseHandle> BoneList;
+
+	virtual ValueBase operator()(Time t)const;
+
+	virtual ValueNode* clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid=GUID())const;
+
+	virtual ~ValueNode_Bone();
+	virtual void set_guid(const GUID& new_guid);
+	virtual void set_root_canvas(etl::loose_handle<Canvas> canvas);
+
+	virtual String get_name()const;
+	virtual String get_local_name()const;
+	virtual String get_bone_name(Time t)const;
+
+	virtual ValueNode::LooseHandle get_link_vfunc(int i)const;
+
+protected:
+	LinkableValueNode* create_new()const;
+	virtual bool set_link_vfunc(int i,ValueNode::Handle x);
+
+	virtual void on_changed();
+
+public:
+	using synfig::LinkableValueNode::get_link_vfunc;
+
+	using synfig::LinkableValueNode::set_link_vfunc;
+	static bool check_type(ValueBase::Type type);
+	static ValueNode_Bone* create(const ValueBase &x, etl::loose_handle<Canvas> canvas = 0);
+	virtual Vocab get_children_vocab_vfunc()const;
+	ValueNode_Bone::LooseHandle find(String name)const;
+	String unique_name(String name)const;
+	static void show_bone_map(etl::loose_handle<Canvas> canvas, const char *file, int line, String text, Time t=0);
+	static BoneMap get_bone_map(etl::handle<const Canvas> canvas);
+	static BoneList get_ordered_bones(etl::handle<const Canvas> canvas);
+
+	ValueNode_Bone::ConstHandle is_ancestor_of(ValueNode_Bone::ConstHandle bone, Time t)const;
+	virtual bool is_root()const { return false; }
+
+	// return a set of the bones that affect the given valuenode
+	//   recurses through the valuenodes in the waypoints if it's animated,
+	//   through the subnodes if it's linkable,
+	//   and through the bone itself it's a bone constant
+	static BoneSet get_bones_referenced_by(ValueNode::Handle value_node, bool recursive = true);
+
+	// return a set of the bones that would be affected if the given ValueNode were edited
+	// value_node is either a ValueNode_Const or a ValueNode_Animated, of type VALUENODE_BONE
+	static BoneSet get_bones_affected_by(ValueNode::Handle value_node);
+
+	// return a set of the bones that can be parents of the given ValueNode without causing loops
+	static BoneSet get_possible_parent_bones(ValueNode::Handle value_node);
+
+	static ValueNode_Bone::Handle get_root_bone();
+
+	bool get_setup() { return setup_; }
+	void set_setup(bool value) { setup_ = value; changed(); }
+
+#ifdef _DEBUG
+	virtual void ref()const;
+	virtual bool unref()const;
+	virtual void rref()const;
+	virtual void runref()const;
+#endif
+
+private:
+	virtual Matrix get_setup_matrix(Time t)const;
+	Matrix get_setup_matrix(Time t, Point origin0, Angle angle0, ValueNode_Bone::ConstHandle parent)const;
+	virtual Matrix get_animated_matrix(Time t, Point child_origin)const;
+	Matrix get_animated_matrix(Time t, Real scalex, Real scaley, Angle angle, Point origin, ValueNode_Bone::ConstHandle parent)const;
+	ValueNode_Bone::ConstHandle get_parent(Time t)const;
+
+}; // END of class ValueNode_Bone
+
+class ValueNode_Bone_Root : public ValueNode_Bone
+{
+public:
+
+	ValueNode_Bone_Root();
+	virtual ~ValueNode_Bone_Root();
+
+	virtual ValueBase operator()(Time t)const;
+
+	virtual String get_name()const;
+	virtual String get_local_name()const;
+	virtual String get_bone_name(Time t)const;
+
+	virtual void set_guid(const GUID& new_guid);
+	virtual void set_root_canvas(etl::loose_handle<Canvas> canvas);
+
+	virtual int link_count()const;
+	virtual bool is_root()const { return true; }
+
+private:
+	Matrix get_setup_matrix(Time t)const;
+	Matrix get_animated_matrix(Time t, Point child_origin)const;
+
+protected:
+	LinkableValueNode* create_new()const;
+
+public:
+	static bool check_type(ValueBase::Type type);
+	static ValueNode_Bone* create(const ValueBase &x);
+
+#ifdef _DEBUG
+	virtual void ref()const;
+	virtual bool unref()const;
+	virtual void rref()const;
+	virtual void runref()const;
+#endif
+
+}; // END of class ValueNode_Bone_Root
+
+}; // END of namespace synfig
+
+/* === E N D =============================================================== */
+
+#endif
diff --git a/src/synfig/valuenode_boneinfluence.cpp b/src/synfig/valuenode_boneinfluence.cpp
new file mode 100644
index 0000000..66dbda5
--- /dev/null
+++ b/src/synfig/valuenode_boneinfluence.cpp
@@ -0,0 +1,319 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file valuenode_boneinfluence.cpp
+**	\brief Implementation of the "BoneInfluence" valuenode conversion.
+**
+**	$Id$
+**
+**	\legal
+**	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**	Copyright (c) 2008 Chris Moore
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include "valuenode_boneinfluence.h"
+#include "valuenode_boneweightpair.h"
+#include "valuenode_staticlist.h"
+#include "valuenode_const.h"
+#include "valuenode_composite.h"
+#include "boneweightpair.h"
+#include "canvas.h"
+#include "general.h"
+
+#endif
+
+/* === U S I N G =========================================================== */
+
+using namespace std;
+using namespace etl;
+using namespace synfig;
+
+/* === M A C R O S ========================================================= */
+
+#define epsilon 1e-6
+
+/* === G L O B A L S ======================================================= */
+
+/* === P R O C E D U R E S ================================================= */
+
+/* === M E T H O D S ======================================================= */
+
+ValueNode_BoneInfluence::ValueNode_BoneInfluence(const ValueBase::Type &x):
+	LinkableValueNode(x)
+{
+}
+
+ValueNode_BoneInfluence::ValueNode_BoneInfluence(const ValueNode::Handle &x, Canvas::LooseHandle canvas):
+	LinkableValueNode(x->get_type())
+{
+	switch(x->get_type())
+	{
+	case ValueBase::TYPE_VECTOR:
+	case ValueBase::TYPE_BLINEPOINT:
+	//case ValueBase::TYPE_BLINE:
+	{
+		ValueNode_StaticList::Handle bone_weight_list(ValueNode_StaticList::create(ValueBase::TYPE_BONE_WEIGHT_PAIR, canvas));
+		bone_weight_list->add(ValueNode_BoneWeightPair::create(BoneWeightPair(Bone(), 1), canvas));
+		set_link("bone_weight_list",	bone_weight_list);
+		set_link("link",				x);
+
+		if (getenv("SYNFIG_DEBUG_SET_PARENT_CANVAS"))
+			printf("%s:%d set parent canvas for bone influence to %lx\n", __FILE__, __LINE__, uintptr_t(canvas.get()));
+		set_parent_canvas(canvas);
+
+		break;
+	}
+	default:
+		throw Exception::BadType(ValueBase::type_local_name(x->get_type()));
+	}
+}
+
+ValueNode_BoneInfluence*
+ValueNode_BoneInfluence::create(const ValueBase &x, Canvas::LooseHandle canvas)
+{
+	if (x.get_type() == ValueBase::TYPE_BLINEPOINT)
+		return new ValueNode_BoneInfluence(ValueNode_Composite::create(x, canvas), canvas);
+
+	return new ValueNode_BoneInfluence(ValueNode_Const::create(x, canvas), canvas);
+}
+
+LinkableValueNode*
+ValueNode_BoneInfluence::create_new()const
+{
+	return new ValueNode_BoneInfluence(get_type());
+}
+
+ValueNode_BoneInfluence::~ValueNode_BoneInfluence()
+{
+	unlink_all();
+}
+
+ValueBase
+ValueNode_BoneInfluence::operator()(Time t)const
+{
+	if (getenv("SYNFIG_DEBUG_VALUENODE_OPERATORS"))
+		printf("%s:%d operator()\n", __FILE__, __LINE__);
+
+	Matrix transform(get_transform(true, t));
+	switch(link_->get_type())
+	{
+	case ValueBase::TYPE_VECTOR:
+	{
+		Vector link((*link_)(t).get(Vector()));
+
+		if (getenv("SYNFIG_DEBUG_BONE_VECTOR_TRANSFORMATION"))
+			printf("%s\n", transform.get_string(35,
+												strprintf("transform (%7.2f %7.2f) using",
+														  link[0],
+														  link[1]),
+												strprintf("= (%7.2f %7.2f)",
+														  transform.get_transformed(link)[0],
+														  transform.get_transformed(link)[1])).c_str());
+
+		return transform.get_transformed(link);
+	}
+	case ValueBase::TYPE_BLINEPOINT:
+	{
+		BLinePoint link((*link_)(t).get(BLinePoint()));
+		Point v(link.get_vertex());
+		Point vt(transform.get_transformed(v));
+		link.set_vertex(vt);
+
+		if (!getenv("SYNFIG_COMPLEX_TANGENT_BONE_INFLUENCE"))
+		{
+			link.set_tangent1(transform.get_transformed(link.get_tangent1() + v) - vt);
+			if (link.get_split_tangent_flag())
+				link.set_tangent2(transform.get_transformed(link.get_tangent2() + v) - vt);
+		}
+		else
+		{
+			link.set_boned_vertex_flag(true);
+			link.set_vertex_setup(v);
+		}
+
+		if (getenv("SYNFIG_DEBUG_BONE_BLINEPOINT_TRANSFORMATION"))
+			printf("%s\n", transform.get_string(35,
+												strprintf("transform v(%7.2f %7.2f) using",
+														  v[0],
+														  v[1]),
+												strprintf("= (%7.2f %7.2f)",
+														  vt[0],
+														  vt[1]
+														  )).c_str());
+		return link;
+	}
+	default:
+		assert(0);
+		break;
+	}
+	return ValueBase();
+}
+
+
+String
+ValueNode_BoneInfluence::get_name()const
+{
+	return "boneinfluence";
+}
+
+String
+ValueNode_BoneInfluence::get_local_name()const
+{
+	return _("Bone Influence");
+}
+
+bool
+ValueNode_BoneInfluence::set_link_vfunc(int i,ValueNode::Handle value)
+{
+	assert(i>=0 && i<link_count());
+
+	switch(i)
+	{
+	case 0: CHECK_TYPE_AND_SET_VALUE(bone_weight_list_,	ValueBase::TYPE_LIST);
+	case 1: CHECK_TYPE_AND_SET_VALUE(link_,				get_type());
+	}
+
+	return false;
+}
+
+ValueNode::LooseHandle
+ValueNode_BoneInfluence::get_link_vfunc(int i)const
+{
+	assert(i>=0 && i<link_count());
+
+	switch(i)
+	{
+	case 0: return bone_weight_list_;
+	case 1: return link_;
+	}
+
+	return 0;
+}
+
+bool
+ValueNode_BoneInfluence::check_type(ValueBase::Type type)
+{
+	return 	type==ValueBase::TYPE_VECTOR ||
+			type==ValueBase::TYPE_BLINEPOINT;
+}
+
+LinkableValueNode::Vocab
+ValueNode_BoneInfluence::get_children_vocab_vfunc() const
+{
+	LinkableValueNode::Vocab ret;
+
+	ret.push_back(ParamDesc(ValueBase(),"bone_weight_list")
+		.set_local_name(_("Bone Weight List"))
+		.set_description(_("List of bones used to calculate the influence"))
+	);
+
+	ret.push_back(ParamDesc(ValueBase(),"link")
+		.set_local_name(_("Link"))
+		.set_description(_("The value node being bone influenced"))
+	);
+
+	return ret;
+}
+
+
+Matrix
+ValueNode_BoneInfluence::calculate_transform(Time t)const
+{
+	Matrix transform;
+	transform *= 0;
+	vector<ValueBase> bone_weight_list((*bone_weight_list_)(t).get_list());
+	Real total_weight = 0;
+	for (vector<ValueBase>::iterator iter = bone_weight_list.begin(); iter != bone_weight_list.end(); iter++)
+	{
+		Bone bone(iter->get(BoneWeightPair()).get_bone());
+		Real weight(iter->get(BoneWeightPair()).get_weight());
+
+		if (getenv("SYNFIG_DEBUG_BONE_TRANSFORM_WEIGHTING"))
+		{
+			printf("%s  *\n", bone.get_setup_matrix().get_string(15, "t = setup").c_str());
+			printf("%s  *\n", Matrix().set_scale(bone.get_local_scale()).get_string(15, "local scale").c_str());
+			printf("%s  =\n", bone.get_animated_matrix().get_string(15, "animated", strprintf("* %.2f (weight)", weight)).c_str());
+			printf("%s\n",	 (bone.get_setup_matrix() * Matrix().set_scale(bone.get_local_scale()) * bone.get_animated_matrix() * weight).get_string(15).c_str());
+		}
+
+		if (bone.get_setup()) continue;
+
+		transform += (bone.get_setup_matrix() *
+					  Matrix().set_scale(bone.get_local_scale()) *
+					  bone.get_animated_matrix() *
+					  weight);
+		total_weight += weight;
+	}
+
+	if (getenv("SYNFIG_DEBUG_BONE_TRANSFORM_WEIGHTING"))
+	{
+		printf("%s:%d transform:\n%s\n", __FILE__, __LINE__, transform.get_string().c_str());
+		printf("%s:%d total_weight: %.2f\n", __FILE__, __LINE__, total_weight);;
+	}
+
+	if (abs(total_weight) > epsilon)
+		transform *= (1/total_weight);
+	else
+		transform = Matrix();
+
+	if (getenv("SYNFIG_DEBUG_BONE_TRANSFORM_WEIGHTING"))
+		printf("%s:%d final transform:\n%s\n", __FILE__, __LINE__, transform.get_string().c_str());
+
+	return transform;
+}
+
+Matrix&
+ValueNode_BoneInfluence::get_transform(bool rebuild, Time t)const
+{
+	if (rebuild) set_transform(calculate_transform(t));
+
+	return transform_;
+}
+
+bool
+ValueNode_BoneInfluence::has_inverse_transform()const
+{
+	if (checked_inverse_)
+	{
+//		printf("%s:%d returning stored value %d for has_inverse\n", __FILE__, __LINE__, has_inverse_);
+		return has_inverse_;
+	}
+
+	inverse_transform_ = get_transform();
+	if ((has_inverse_ = inverse_transform_.is_invertible()))
+		inverse_transform_.invert();
+
+//	printf("%s:%d returning calculated value %d for has_inverse\n", __FILE__, __LINE__, has_inverse_);
+
+	checked_inverse_ = true;
+	return has_inverse_;
+}
+
+Matrix&
+ValueNode_BoneInfluence::get_inverse_transform()const
+{
+	if (has_inverse_transform())
+		return inverse_transform_;
+	error("get_inverse_transform() called when no inverse is available");
+	assert(0);
+	return inverse_transform_;
+}
diff --git a/src/synfig/valuenode_reference.h b/src/synfig/valuenode_boneinfluence.h
similarity index 62%
copy from src/synfig/valuenode_reference.h
copy to src/synfig/valuenode_boneinfluence.h
index cc56a03..9f1afb7 100644
--- a/src/synfig/valuenode_reference.h
+++ b/src/synfig/valuenode_boneinfluence.h
@@ -1,12 +1,11 @@
 /* === S Y N F I G ========================================================= */
-/*!	\file valuenode_reference.h
-**	\brief Header file for implementation of the "Reference" valuenode conversion.
+/*!	\file valuenode_boneinfluence.h
+**	\brief Header file for implementation of the "BoneInfluence" valuenode conversion.
 **
 **	$Id$
 **
 **	\legal
 **	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
-**  Copyright (c) 2011 Carlos López
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -23,8 +22,8 @@
 
 /* === S T A R T =========================================================== */
 
-#ifndef __SYNFIG_VALUENODE_REFERENCE_H
-#define __SYNFIG_VALUENODE_REFERENCE_H
+#ifndef __SYNFIG_VALUENODE_BONEINFLUENCE_H
+#define __SYNFIG_VALUENODE_BONEINFLUENCE_H
 
 /* === H E A D E R S ======================================================= */
 
@@ -36,16 +35,21 @@
 
 namespace synfig {
 
-class ValueNode_Reference : public LinkableValueNode
+class ValueNode_BoneInfluence : public LinkableValueNode
 {
+	ValueNode::RHandle bone_weight_list_;
 	ValueNode::RHandle link_;
+
+	mutable Matrix transform_, inverse_transform_;
+	mutable bool checked_inverse_, has_inverse_;
+
 public:
-	typedef etl::handle<ValueNode_Reference> Handle;
-	typedef etl::handle<const ValueNode_Reference> ConstHandle;
+	typedef etl::handle<ValueNode_BoneInfluence> Handle;
+	typedef etl::handle<const ValueNode_BoneInfluence> ConstHandle;
 
-	ValueNode_Reference(const ValueBase::Type &x);
+	ValueNode_BoneInfluence(const ValueBase::Type &x);
 
-	ValueNode_Reference(const ValueNode::Handle &x);
+	ValueNode_BoneInfluence(const ValueNode::Handle &x, etl::loose_handle<Canvas> canvas);
 
 //	static Handle create(const ValueBase::Type &x);
 //	static Handle create(const ValueNode::Handle &x);
@@ -55,7 +59,7 @@ public:
 
 	virtual ValueBase operator()(Time t)const;
 
-	virtual ~ValueNode_Reference();
+	virtual ~ValueNode_BoneInfluence();
 
 	virtual String get_name()const;
 
@@ -69,9 +73,16 @@ protected:
 public:
 	using synfig::LinkableValueNode::set_link_vfunc;
 	static bool check_type(ValueBase::Type type);
-	static ValueNode_Reference* create(const ValueBase &x);
 	virtual Vocab get_children_vocab_vfunc()const;
-}; // END of class ValueNode_Reference
+	static ValueNode_BoneInfluence* create(const ValueBase &x, etl::loose_handle<Canvas>);
+
+	Matrix calculate_transform(Time t)const;
+	Matrix& get_transform(bool rebuild=false, Time t=0)const;
+	void set_transform(Matrix transform)const { transform_ = transform; checked_inverse_ = false; }
+	bool has_inverse_transform()const;
+	Matrix& get_inverse_transform()const;
+
+}; // END of class ValueNode_BoneInfluence
 
 }; // END of namespace synfig
 
diff --git a/src/synfig/valuenode_boneweightpair.cpp b/src/synfig/valuenode_boneweightpair.cpp
new file mode 100644
index 0000000..c09f307
--- /dev/null
+++ b/src/synfig/valuenode_boneweightpair.cpp
@@ -0,0 +1,175 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file valuenode_boneweightpair.cpp
+**	\brief Implementation of the "BoneWeightPair" valuenode conversion.
+**
+**	$Id$
+**
+**	\legal
+**	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**	Copyright (c) 2008 Chris Moore
+**	Copyright (c) 2008 Carlos López
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include "valuenode_boneweightpair.h"
+#include "valuenode_bone.h"
+#include "valuenode_const.h"
+#include "canvas.h"
+#include "general.h"
+#include "boneweightpair.h"
+
+#endif
+
+/* === U S I N G =========================================================== */
+
+using namespace std;
+using namespace etl;
+using namespace synfig;
+
+/* === M A C R O S ========================================================= */
+
+/* === G L O B A L S ======================================================= */
+
+/* === P R O C E D U R E S ================================================= */
+
+/* === M E T H O D S ======================================================= */
+
+ValueNode_BoneWeightPair::ValueNode_BoneWeightPair(const ValueBase &value, Canvas::LooseHandle canvas):
+	LinkableValueNode(value.get_type())
+{
+	switch(value.get_type())
+	{
+	case ValueBase::TYPE_BONE_WEIGHT_PAIR:
+	{
+		BoneWeightPair bone_weight_pair(value.get(BoneWeightPair()));
+		ValueBase bone(bone_weight_pair.get_bone());
+		ValueNode_Bone::Handle bone_value_node;
+		bone_value_node = ValueNode_Bone::create(bone, canvas);
+		set_link("bone",ValueNode_Const::create(bone_value_node, canvas));
+		set_link("weight",ValueNode_Const::create(Real(bone_weight_pair.get_weight())));
+
+		if (getenv("SYNFIG_DEBUG_SET_PARENT_CANVAS"))
+			printf("%s:%d set parent canvas for bwp to %lx\n", __FILE__, __LINE__, uintptr_t(canvas.get()));
+		set_parent_canvas(canvas);
+
+		ValueNode_Bone::show_bone_map(canvas, __FILE__, __LINE__, "after making new boneweightpair");
+
+		break;
+	}
+	default:
+		throw Exception::BadType(ValueBase::type_local_name(value.get_type()));
+	}
+}
+
+LinkableValueNode*
+ValueNode_BoneWeightPair::create_new()const
+{
+	return new ValueNode_BoneWeightPair(get_type());
+}
+
+ValueNode_BoneWeightPair*
+ValueNode_BoneWeightPair::create(const ValueBase &x, Canvas::LooseHandle canvas)
+{
+	return new ValueNode_BoneWeightPair(x, canvas);
+}
+
+ValueNode_BoneWeightPair::~ValueNode_BoneWeightPair()
+{
+	unlink_all();
+}
+
+ValueBase
+ValueNode_BoneWeightPair::operator()(Time t)const
+{
+	if (getenv("SYNFIG_DEBUG_VALUENODE_OPERATORS"))
+		printf("%s:%d operator()\n", __FILE__, __LINE__);
+
+	ValueNode_Bone::Handle bone_node((*bone_)(t).get(ValueNode_Bone::Handle()));
+	Bone bone((*bone_node)(t).get(Bone()));
+	Real weight((*weight_)(t).get(Real()));
+	return BoneWeightPair(bone, weight);
+}
+
+String
+ValueNode_BoneWeightPair::get_name()const
+{
+	return "boneweightpair";
+}
+
+String
+ValueNode_BoneWeightPair::get_local_name()const
+{
+	return _("Bone Weight Pair");
+}
+
+bool
+ValueNode_BoneWeightPair::check_type(ValueBase::Type type)
+{
+	return type==ValueBase::TYPE_BONE_WEIGHT_PAIR;
+}
+
+bool
+ValueNode_BoneWeightPair::set_link_vfunc(int i,ValueNode::Handle value)
+{
+	assert(i>=0 && i<link_count());
+
+	switch(i)
+	{
+	case 0: CHECK_TYPE_AND_SET_VALUE(bone_, ValueBase::TYPE_VALUENODE_BONE);
+	case 1: CHECK_TYPE_AND_SET_VALUE(weight_,   ValueBase::TYPE_REAL);
+	}
+	return false;
+}
+
+ValueNode::LooseHandle
+ValueNode_BoneWeightPair::get_link_vfunc(int i)const
+{
+	assert(i>=0 && i<link_count());
+
+	switch(i)
+	{
+	case 0:	return bone_;
+	case 1: return weight_;
+	}
+
+	return 0;
+}
+
+
+LinkableValueNode::Vocab
+ValueNode_BoneWeightPair::get_children_vocab_vfunc() const
+{
+	LinkableValueNode::Vocab ret;
+
+	ret.push_back(ParamDesc(ValueBase(),"bone")
+		.set_local_name(_("Bone"))
+		.set_description(_("Bone used to make influence"))
+	);
+
+	ret.push_back(ParamDesc(ValueBase(),"weight")
+		.set_local_name(_("weight"))
+		.set_description(_("The relative value of influence of the bone"))
+	);
+
+	return ret;
+}
diff --git a/src/synfig/valuenode_realstring.h b/src/synfig/valuenode_boneweightpair.h
similarity index 71%
copy from src/synfig/valuenode_realstring.h
copy to src/synfig/valuenode_boneweightpair.h
index 240d29b..048957a 100644
--- a/src/synfig/valuenode_realstring.h
+++ b/src/synfig/valuenode_boneweightpair.h
@@ -1,13 +1,13 @@
 /* === S Y N F I G ========================================================= */
-/*!	\file valuenode_realstring.h
-**	\brief Header file for implementation of the "Real String" valuenode conversion.
+/*!	\file valuenode_boneweightpair.h
+**	\brief Header file for implementation of the "BoneWeightPair" valuenode conversion.
 **
 **	$Id$
 **
 **	\legal
 **	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
 **	Copyright (c) 2008 Chris Moore
-**  Copyright (c) 2011 Carlos López
+**	Copyright (c) 2008 Carlos López
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -24,8 +24,8 @@
 
 /* === S T A R T =========================================================== */
 
-#ifndef __SYNFIG_VALUENODE_REALSTRING_H
-#define __SYNFIG_VALUENODE_REALSTRING_H
+#ifndef __SYNFIG_VALUENODE_BONEWEIGHTPAIR_H
+#define __SYNFIG_VALUENODE_BONEWEIGHTPAIR_H
 
 /* === H E A D E R S ======================================================= */
 
@@ -37,24 +37,22 @@
 
 namespace synfig {
 
-class ValueNode_RealString : public LinkableValueNode
+class ValueNode_BoneWeightPair : public LinkableValueNode
 {
-	ValueNode::RHandle real_;
-	ValueNode::RHandle width_;
-	ValueNode::RHandle precision_;
-	ValueNode::RHandle zero_pad_;
+	ValueNode::RHandle bone_;
+	ValueNode::RHandle weight_;
 
-	ValueNode_RealString(const ValueBase &value);
+	ValueNode_BoneWeightPair(const ValueBase &value, etl::loose_handle<Canvas> = 0);
 
 public:
 
-	typedef etl::handle<ValueNode_RealString> Handle;
-	typedef etl::handle<const ValueNode_RealString> ConstHandle;
+	typedef etl::handle<ValueNode_BoneWeightPair> Handle;
+	typedef etl::handle<const ValueNode_BoneWeightPair> ConstHandle;
 
 
 	virtual ValueBase operator()(Time t)const;
 
-	virtual ~ValueNode_RealString();
+	virtual ~ValueNode_BoneWeightPair();
 
 	virtual String get_name()const;
 	virtual String get_local_name()const;
@@ -70,9 +68,9 @@ public:
 
 	using synfig::LinkableValueNode::set_link_vfunc;
 	static bool check_type(ValueBase::Type type);
-	static ValueNode_RealString* create(const ValueBase &x);
+	static ValueNode_BoneWeightPair* create(const ValueBase &x, etl::loose_handle<Canvas>);
 	virtual Vocab get_children_vocab_vfunc()const;
-}; // END of class ValueNode_RealString
+}; // END of class ValueNode_BoneWeightPair
 
 }; // END of namespace synfig
 
diff --git a/src/synfig/valuenode_composite.cpp b/src/synfig/valuenode_composite.cpp
index a347c39..fe5a102 100644
--- a/src/synfig/valuenode_composite.cpp
+++ b/src/synfig/valuenode_composite.cpp
@@ -58,7 +58,7 @@ using namespace synfig;
 
 /* === M E T H O D S ======================================================= */
 
-synfig::ValueNode_Composite::ValueNode_Composite(const ValueBase &value):
+synfig::ValueNode_Composite::ValueNode_Composite(const ValueBase &value, Canvas::LooseHandle canvas):
 	LinkableValueNode(value.get_type())
 {
 	Vocab ret(get_children_vocab());
@@ -100,12 +100,18 @@ synfig::ValueNode_Composite::ValueNode_Composite(const ValueBase &value):
 			set_link("side_before",ValueNode_Const::create(wpoint.get_side_type_before()));
 			set_link("side_after",ValueNode_Const::create(wpoint.get_side_type_after()));
 			ValueNode_Const::Handle value_node;
-			value_node=ValueNode_Const::create(wpoint.get_lower_bound());
-			value_node->set_static(true);
-			set_link("lower_bound",value_node);
-			value_node=ValueNode_Const::create(wpoint.get_upper_bound());
-			value_node->set_static(true);
-			set_link("upper_bound",value_node);
+			value_node=ValueNode_Const::Handle::cast_dynamic(ValueNode_Const::create(wpoint.get_lower_bound()));
+			if(value_node) 
+			{
+				value_node->set_static(true);
+				set_link("lower_bound",value_node);
+			}
+			value_node=ValueNode_Const::Handle::cast_dynamic(ValueNode_Const::create(wpoint.get_upper_bound()));
+			if(value_node)
+			{
+				value_node->set_static(true);
+				set_link("upper_bound",value_node);
+			}
 			break;
 		}
 		case ValueBase::TYPE_DASHITEM:
@@ -121,6 +127,10 @@ synfig::ValueNode_Composite::ValueNode_Composite(const ValueBase &value):
 			assert(0);
 			throw Exception::BadType(ValueBase::type_local_name(get_type()));
 	}
+
+	if (getenv("SYNFIG_DEBUG_SET_PARENT_CANVAS"))
+		printf("%s:%d set parent canvas for composite %lx to %lx\n", __FILE__, __LINE__, uintptr_t(this), uintptr_t(canvas.get()));
+	set_parent_canvas(canvas);
 }
 
 ValueNode_Composite::~ValueNode_Composite()
@@ -129,9 +139,9 @@ ValueNode_Composite::~ValueNode_Composite()
 }
 
 ValueNode_Composite*
-ValueNode_Composite::create(const ValueBase &value)
+ValueNode_Composite::create(const ValueBase &value, Canvas::LooseHandle canvas)
 {
-	return new ValueNode_Composite(value);
+	return new ValueNode_Composite(value, canvas);
 }
 
 LinkableValueNode*
diff --git a/src/synfig/valuenode_composite.h b/src/synfig/valuenode_composite.h
index 61952ce..647199c 100644
--- a/src/synfig/valuenode_composite.h
+++ b/src/synfig/valuenode_composite.h
@@ -32,14 +32,16 @@
 
 /* === M A C R O S ========================================================= */
 
+#define MAX_LINKS 6
+
 /* === C L A S S E S & S T R U C T S ======================================= */
 
 namespace synfig {
 
 class ValueNode_Composite : public LinkableValueNode
 {
-	ValueNode::RHandle components[6];
-	ValueNode_Composite(const ValueBase &value);
+	ValueNode::RHandle components[MAX_LINKS];
+	ValueNode_Composite(const ValueBase &value, etl::loose_handle<Canvas> canvas = 0);
 
 public:
 	typedef etl::handle<ValueNode_Composite> Handle;
@@ -64,7 +66,7 @@ public:
 	using synfig::LinkableValueNode::set_link_vfunc;
 	using synfig::LinkableValueNode::get_link_vfunc;
 	static bool check_type(ValueBase::Type type);
-	static ValueNode_Composite* create(const ValueBase &x);
+	static ValueNode_Composite* create(const ValueBase &x, etl::loose_handle<Canvas> canvas = 0);
 	virtual Vocab get_children_vocab_vfunc()const;
 }; // END of class ValueNode_Composite
 
diff --git a/src/synfig/valuenode_const.cpp b/src/synfig/valuenode_const.cpp
index 69caae5..b5e901f 100644
--- a/src/synfig/valuenode_const.cpp
+++ b/src/synfig/valuenode_const.cpp
@@ -30,6 +30,9 @@
 #endif
 
 #include "valuenode_const.h"
+#include "valuenode_bone.h"
+#include "valuenode_boneweightpair.h"
+#include "canvas.h"
 #include "general.h"
 
 #endif
@@ -53,32 +56,56 @@ ValueNode_Const::ValueNode_Const()
 }
 
 
-ValueNode_Const::ValueNode_Const(const ValueBase &x):
+ValueNode_Const::ValueNode_Const(const ValueBase &x, Canvas::LooseHandle canvas):
 	ValueNode	(x.get_type()),
 	value		(x)
 {
+	if (getenv("SYNFIG_DEBUG_SET_PARENT_CANVAS"))
+		printf("%s:%d set parent canvas for const %lx to %lx\n", __FILE__, __LINE__, uintptr_t(this), uintptr_t(canvas.get()));
+
+	if (x.get_type() == ValueBase::TYPE_VALUENODE_BONE)
+		add_child(x.get(ValueNode_Bone::Handle()).get());
+
+	set_parent_canvas(canvas);
 }
 
 
-ValueNode_Const*
-ValueNode_Const::create(const ValueBase &x)
+ValueNode*
+ValueNode_Const::create(const ValueBase &x, Canvas::LooseHandle canvas)
 {
-	return new ValueNode_Const(x);
+	// this is nasty - shouldn't it be done somewhere else?
+	if (x.get_type() == ValueBase::TYPE_BONE)
+	{
+		printf("%s:%d forcing convert to ValueNode_Bone\n", __FILE__, __LINE__);
+		return ValueNode_Bone::create(x, canvas);
+	}
+
+	// this too
+	if (x.get_type() == ValueBase::TYPE_BONE_WEIGHT_PAIR)
+	{
+		printf("%s:%d forcing convert to ValueNode_BoneWeightPair\n", __FILE__, __LINE__);
+		return ValueNode_BoneWeightPair::create(x, canvas);
+	}
+
+	return new ValueNode_Const(x, canvas);
 }
 
 
 ValueNode*
-ValueNode_Const::clone(const GUID& deriv_guid)const
+ValueNode_Const::clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid)const
 {
 	{ ValueNode* x(find_value_node(get_guid()^deriv_guid).get()); if(x)return x; }
 	ValueNode* ret(new ValueNode_Const(value));
 	ret->set_guid(get_guid()^deriv_guid);
+	ret->set_parent_canvas(canvas);
 	return ret;
 }
 
 
 ValueNode_Const::~ValueNode_Const()
 {
+	if (get_value().get_type() == ValueBase::TYPE_VALUENODE_BONE)
+		remove_child(get_value().get(ValueNode_Bone::Handle()).get());
 }
 
 
@@ -109,6 +136,12 @@ ValueNode_Const::set_value(const ValueBase &data)
 {
 	if(data!=value)
 	{
+		if (value.get_type() == ValueBase::TYPE_VALUENODE_BONE)
+			remove_child(value.get(ValueNode_Bone::Handle()).get());
+
+		if (data.get_type() == ValueBase::TYPE_VALUENODE_BONE)
+			add_child(data.get(ValueNode_Bone::Handle()).get());
+
 		value=data;
 		changed();
 	}
@@ -118,15 +151,21 @@ ValueNode_Const::set_value(const ValueBase &data)
 String
 ValueNode_Const::get_name()const
 {
-	return get_static()?"static":"constant";
+	return "constant";
 }
 
 String
 ValueNode_Const::get_local_name()const
 {
-	return get_static()?_("Static"):_("Constant");
+	return _("Constant");
 }
-
+#ifdef _DEBUG
+String
+ValueNode_Const::get_string()const
+{
+	return strprintf("ValueNode_Const (%s)", get_value().get_string().c_str());
+}
+#endif	// _DEBUG
 void ValueNode_Const::get_times_vfunc(Node::time_set &/*set*/) const
 {
 }
diff --git a/src/synfig/valuenode_const.h b/src/synfig/valuenode_const.h
index a97bbde..95e7032 100644
--- a/src/synfig/valuenode_const.h
+++ b/src/synfig/valuenode_const.h
@@ -45,7 +45,7 @@ private:
 	ValueBase value;
 
 	ValueNode_Const();
-	ValueNode_Const(const ValueBase &x);
+	ValueNode_Const(const ValueBase &x, etl::loose_handle<Canvas> canvas = 0);
 
 public:
 
@@ -58,13 +58,19 @@ public:
 
 	bool get_static()const {return get_value().get_static();}
 	void set_static(bool x) { get_value().set_static(x); }
+	virtual Interpolation get_interpolation()const {return get_value().get_interpolation();}
+	virtual void set_interpolation(Interpolation x) { get_value().set_interpolation(x); }
 	virtual String get_name()const;
 	virtual String get_local_name()const;
 
-	virtual ValueNode* clone(const GUID& deriv_guid=GUID())const;
-
+	virtual ValueNode* clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid=GUID())const;
+#ifdef _DEBUG
+	String get_string()const;
+#endif	// _DEBUG
 public:
-	static ValueNode_Const* create(const ValueBase &x=ValueBase());
+	// create a new ValueNode_Const object with the given value.
+	// Unless the given value is a Bone, in which case make a ValueNode_Bone.
+	static ValueNode* create(const ValueBase &x=ValueBase(), etl::loose_handle<Canvas> canvas = 0);
 
 protected:
 	virtual void get_times_vfunc(Node::time_set &set) const;
diff --git a/src/synfig/valuenode_dynamiclist.cpp b/src/synfig/valuenode_dynamiclist.cpp
index fb0ea83..5e37cb0 100644
--- a/src/synfig/valuenode_dynamiclist.cpp
+++ b/src/synfig/valuenode_dynamiclist.cpp
@@ -240,6 +240,7 @@ ValueNode_DynamicList::create_list_entry(int index, Time time, Real origin)
 		break;
 	}
 
+	ret.value_node->set_parent_canvas(get_parent_canvas());
 
 	return ret;
 }
@@ -576,8 +577,10 @@ ValueNode_DynamicList::erase(const ValueNode::Handle &value_node_)
 				// 	get_parent_canvas()->signal_value_node_child_removed()(this,value_node);
 				// else if(get_root_canvas() && get_parent_canvas())
 				//	get_root_canvas()->signal_value_node_child_removed()(this,value_node);
-				if(get_root_canvas())
-					get_root_canvas()->signal_value_node_child_removed()(this,value_node);
+				if(get_non_inline_ancestor_canvas())
+					get_non_inline_ancestor_canvas()->invoke_signal_value_node_child_removed(this,value_node);
+				else
+					printf("%s:%d == can't get non_inline_ancestor_canvas - parent canvas = %lx\n", __FILE__, __LINE__, uintptr_t(get_parent_canvas().get()));
 			}
 			break;
 		}
@@ -585,17 +588,20 @@ ValueNode_DynamicList::erase(const ValueNode::Handle &value_node_)
 }
 
 
-ValueNode_DynamicList::ValueNode_DynamicList(ValueBase::Type container_type):
+ValueNode_DynamicList::ValueNode_DynamicList(ValueBase::Type container_type, Canvas::LooseHandle canvas):
 	LinkableValueNode(ValueBase::TYPE_LIST),
 	container_type	(container_type),
 	loop_(false)
 {
+	if (getenv("SYNFIG_DEBUG_SET_PARENT_CANVAS"))
+		printf("%s:%d set parent canvas for dynamic_list %lx to %lx\n", __FILE__, __LINE__, uintptr_t(this), uintptr_t(canvas.get()));
+	set_parent_canvas(canvas);
 }
 
 ValueNode_DynamicList::Handle
-ValueNode_DynamicList::create(ValueBase::Type id)
+ValueNode_DynamicList::create(ValueBase::Type id, Canvas::LooseHandle canvas)
 {
-	return new ValueNode_DynamicList(id);
+	return new ValueNode_DynamicList(id, canvas);
 }
 
 ValueNode_DynamicList::~ValueNode_DynamicList()
@@ -704,7 +710,7 @@ ValueNode_DynamicList::link_local_name(int i)const
 }
 
 ValueNode*
-ValueNode_DynamicList::clone(const GUID& deriv_guid)const
+ValueNode_DynamicList::clone(Canvas::LooseHandle canvas, const GUID& deriv_guid)const
 {
 	{ ValueNode* x(find_value_node(get_guid()^deriv_guid).get()); if(x)return x; }
 
@@ -722,12 +728,13 @@ ValueNode_DynamicList::clone(const GUID& deriv_guid)const
 			ListEntry list_entry(*iter);
 			//list_entry.value_node=find_value_node(iter->value_node->get_guid()^deriv_guid).get();
 			//if(!list_entry.value_node)
-			list_entry.value_node=iter->value_node->clone(deriv_guid);
+			list_entry.value_node=iter->value_node->clone(canvas, deriv_guid);
 			ret->add(list_entry);
 			//ret->list.back().value_node=iter->value_node.clone();
 		}
 	}
 	ret->set_loop(get_loop());
+	ret->set_parent_canvas(canvas);
 	return ret;
 }
 
diff --git a/src/synfig/valuenode_dynamiclist.h b/src/synfig/valuenode_dynamiclist.h
index d789aa5..cd5ba77 100644
--- a/src/synfig/valuenode_dynamiclist.h
+++ b/src/synfig/valuenode_dynamiclist.h
@@ -162,7 +162,7 @@ public:
 	typedef etl::handle<const ValueNode_DynamicList> ConstHandle;
 
 protected:
-	ValueNode_DynamicList(ValueBase::Type container_type=ValueBase::TYPE_NIL);
+	ValueNode_DynamicList(ValueBase::Type container_type=ValueBase::TYPE_NIL, etl::loose_handle<Canvas> canvas = 0);
 
 	ValueBase::Type container_type;
 
@@ -218,7 +218,7 @@ public:
 	void insert_time(const Time& location, const Time& delta);
 	//void manipulate_time(const Time& old_begin,const Time& old_end,const Time& new_begin,const Time& new_end);
 
-	virtual ValueNode* clone(const GUID& deriv_guid=GUID())const;
+	virtual ValueNode* clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid=GUID())const;
 
 	virtual ListEntry create_list_entry(int index, Time time=0, Real origin=0.5);
 
@@ -234,7 +234,7 @@ public:
 	**	contains, rather than the type that it will yield
 	**	(which is ValueBase::TYPE_LIST)
 	*/
-	static Handle create(ValueBase::Type id=ValueBase::TYPE_NIL);
+	static Handle create(ValueBase::Type id=ValueBase::TYPE_NIL, etl::loose_handle<Canvas> canvas = 0);
 	using synfig::LinkableValueNode::get_link_vfunc;
 	using synfig::LinkableValueNode::set_link_vfunc;
 	static bool check_type(ValueBase::Type type);
diff --git a/src/synfig/valuenode_integer.cpp b/src/synfig/valuenode_integer.cpp
index 25ab291..eef413a 100644
--- a/src/synfig/valuenode_integer.cpp
+++ b/src/synfig/valuenode_integer.cpp
@@ -147,13 +147,13 @@ ValueNode_Integer::operator()(Time t)const
 }
 
 ValueBase
-synfig::ValueNode_Integer::get_inverse(Time t, const synfig::Real &target_value) const
+synfig::ValueNode_Integer::get_inverse(Time /*t*/, const synfig::Real &target_value) const
 {
 	return (int)target_value;
 }
 
 synfig::ValueBase
-synfig::ValueNode_Integer::get_inverse(Time t, const synfig::Angle &target_value) const
+synfig::ValueNode_Integer::get_inverse(Time /*t*/, const synfig::Angle &target_value) const
 {
 	return (int)Angle::deg(target_value).get();
 }
diff --git a/src/synfig/valuenode_real.cpp b/src/synfig/valuenode_real.cpp
index 683c955..5c0a88e 100644
--- a/src/synfig/valuenode_real.cpp
+++ b/src/synfig/valuenode_real.cpp
@@ -142,7 +142,7 @@ ValueNode_Real::operator()(Time t)const
 }
 
 synfig::ValueBase
-synfig::ValueNode_Real::get_inverse(Time t, const synfig::Angle &target_value) const
+synfig::ValueNode_Real::get_inverse(Time /*t*/, const synfig::Angle &target_value) const
 {
 	return (float)Angle::deg(target_value).get();
 }
diff --git a/src/synfig/valuenode_staticlist.cpp b/src/synfig/valuenode_staticlist.cpp
new file mode 100644
index 0000000..53a580d
--- /dev/null
+++ b/src/synfig/valuenode_staticlist.cpp
@@ -0,0 +1,455 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file valuenode_staticlist.cpp
+**	\brief Implementation of the "StaticList" valuenode conversion.
+**
+**	$Id$
+**
+**	\legal
+**	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**	Copyright (c) 2008 Chris Moore
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === H E A D E R S ======================================================= */
+
+#ifdef USING_PCH
+#	include "pch.h"
+#else
+#ifdef HAVE_CONFIG_H
+#	include <config.h>
+#endif
+
+#include "valuenode_staticlist.h"
+#include "valuenode_const.h"
+#include "valuenode_composite.h"
+#include "valuenode_bone.h"
+#include "boneweightpair.h"
+#include "general.h"
+#include "exception.h"
+#include <vector>
+#include <list>
+#include <algorithm>
+#include "canvas.h"
+
+#endif
+
+/* === U S I N G =========================================================== */
+
+using namespace std;
+using namespace etl;
+using namespace synfig;
+
+/* === M A C R O S ========================================================= */
+
+/* === G L O B A L S ======================================================= */
+
+/* === P R O C E D U R E S ================================================= */
+
+/* === M E T H O D S ======================================================= */
+
+ValueNode_StaticList::ListEntry
+ValueNode_StaticList::create_list_entry(int index, Time time, Real origin) // line 137
+{
+	ValueNode_StaticList::ListEntry ret;
+
+	synfig::ValueBase prev,next;
+
+	index=index%link_count();
+
+	assert(index>=0);
+
+	next=(*list[index])(time);
+
+	if(index!=0)
+		prev=(*list[index-1])(time);
+	else if(get_loop())
+		prev=(*list[link_count()-1])(time);
+	else
+		prev=next;
+
+	switch(get_contained_type())
+	{
+	case ValueBase::TYPE_VECTOR:
+	{
+		Vector a(prev.get(Vector())), b(next.get(Vector()));
+		ret=ValueNode_Const::create((b-a)*origin+a);
+		break;
+	}
+	case ValueBase::TYPE_REAL:
+	{
+		Real a(prev.get(Real())), b(next.get(Real()));
+		ret=ValueNode_Const::create((b-a)*origin+a);
+		break;
+	}
+	case ValueBase::TYPE_COLOR:
+	{
+		Color a(prev.get(Color())), b(next.get(Color()));
+		ret=ValueNode_Composite::create((b-a)*origin+a);
+		break;
+	}
+	case ValueBase::TYPE_ANGLE:
+	{
+		Angle a(prev.get(Angle())), b(next.get(Angle()));
+		ret=ValueNode_Const::create((b-a)*origin+a);
+		break;
+	}
+	case ValueBase::TYPE_TIME:
+	{
+		Time a(prev.get(Time())), b(next.get(Time()));
+		ret=ValueNode_Const::create((b-a)*origin+a);
+		break;
+	}
+	case ValueBase::TYPE_BONE:
+	{
+		ValueNode::Handle value_node(list[index]);
+		if (ValueNode_Bone::Handle value_node_bone = ValueNode_Bone::Handle::cast_dynamic(value_node))
+		{
+			Bone new_bone;
+			new_bone.set_parent(value_node_bone.get());
+
+			Real length(next.get(Bone()).get_length());
+			new_bone.set_origin(Point(1.1*length,0));
+			new_bone.set_origin0(Point(1.1*length,0));
+
+			ret=ValueNode_Const::create(new_bone, get_parent_canvas());
+		}
+		else
+			ret=ValueNode_Const::create(ValueBase::TYPE_BONE, get_parent_canvas());
+		break;
+	}
+	case ValueBase::TYPE_BONE_WEIGHT_PAIR:
+	{
+		ret=ValueNode_Const::create(BoneWeightPair(Bone(), next.get(BoneWeightPair()).get_weight()), get_parent_canvas());
+		break;
+	}
+	default:
+		ret=ValueNode_Const::create(get_contained_type(), get_parent_canvas());
+		break;
+	}
+
+	ret->set_parent_canvas(get_parent_canvas());
+
+	return ret;
+}
+
+void
+ValueNode_StaticList::add(const ValueNode::Handle &value_node, int index) // line 470
+{
+	if(index<0 || index>=(int)list.size())
+	{
+		if (getenv("SYNFIG_DEBUG_BONE_REFCOUNT"))
+			printf("%s:%d vvv adding valuenode to end of static list\n", __FILE__, __LINE__);
+
+		list.push_back(value_node);
+
+		if (getenv("SYNFIG_DEBUG_BONE_REFCOUNT"))
+			printf("%s:%d ^^^ done adding valuenode\n", __FILE__, __LINE__);
+	}
+	else
+	{
+		if (getenv("SYNFIG_DEBUG_BONE_REFCOUNT"))
+			printf("%s:%d vvv inserting valuenode into static list at %d\n", __FILE__, __LINE__, index);
+
+		list.insert(list.begin()+index,value_node);
+
+		if (getenv("SYNFIG_DEBUG_BONE_REFCOUNT"))
+			printf("%s:%d ^^^ done inserting valuenode\n", __FILE__, __LINE__);
+	}
+
+	add_child(value_node.get());
+	//changed();
+
+	if(get_parent_canvas())
+		get_parent_canvas()->signal_value_node_child_added()(this,value_node);
+	else if(get_root_canvas() && get_parent_canvas())
+		get_root_canvas()->signal_value_node_child_added()(this,value_node);
+}
+
+void
+ValueNode_StaticList::erase(const ListEntry &value_node_) // line 513
+{
+	ValueNode::Handle value_node(value_node_);
+
+	assert(value_node);
+	if(!value_node)
+		throw String("ValueNode_StaticList::erase(): Passed bad value node");
+
+	std::vector<ReplaceableListEntry>::iterator iter;
+	for(iter=list.begin();iter!=list.end();++iter)
+		if(*iter==value_node)
+		{
+			list.erase(iter);
+			if(value_node)
+			{
+				remove_child(value_node.get());
+				// changed to fix bug 1420091 - it seems that when a .sif file containing a bline layer encapsulated inside
+				// another layer, get_parent_canvas() is false and get_root_canvas() is true, but when we come to erase a
+				// vertex, both are true.  So the signal is sent to the parent, but the signal wasn't sent to the parent
+				// when it was added.  This probably isn't the right fix, but it seems to work for now.  Note that the same
+				// strange "if (X) else if (Y && X)" code is also present in the two previous functions, above.
+
+				// if(get_parent_canvas())
+				// 	get_parent_canvas()->signal_value_node_child_removed()(this,value_node);
+				// else if(get_root_canvas() && get_parent_canvas())
+				//	get_root_canvas()->signal_value_node_child_removed()(this,value_node);
+				if(get_non_inline_ancestor_canvas())
+					get_non_inline_ancestor_canvas()->invoke_signal_value_node_child_removed(this,value_node);
+				else
+					printf("%s:%d == can't get non_inline_ancestor_canvas - parent canvas = %lx\n", __FILE__, __LINE__, uintptr_t(get_parent_canvas().get()));
+			}
+			break;
+		}
+}
+
+ValueNode_StaticList::ValueNode_StaticList(ValueBase::Type container_type, Canvas::LooseHandle canvas): // line 548
+	LinkableValueNode(ValueBase::TYPE_LIST),
+	container_type	(container_type),
+	loop_(false)
+{
+	if (getenv("SYNFIG_DEBUG_STATICLIST_CONSTRUCTORS"))
+		printf("%s:%d ValueNode_StaticList::ValueNode_StaticList() construct %lx\n", __FILE__, __LINE__, uintptr_t(this));
+
+	if (getenv("SYNFIG_DEBUG_SET_PARENT_CANVAS"))
+		printf("%s:%d set parent canvas for static_list %lx to %lx\n", __FILE__, __LINE__, uintptr_t(this), uintptr_t(canvas.get()));
+	set_parent_canvas(canvas);
+}
+
+ValueNode_StaticList::~ValueNode_StaticList()
+{
+#ifdef _DEBUG
+	if (getenv("SYNFIG_DEBUG_STATICLIST_CONSTRUCTORS"))
+	{
+		printf("\n%s:%d ------------------------------------------------------------------------\n", __FILE__, __LINE__);
+		printf("%s:%d ~ValueNode_StaticList()\n", __FILE__, __LINE__);
+		printf("%s:%d ------------------------------------------------------------------------\n\n", __FILE__, __LINE__);
+	}
+#endif
+
+	ValueNode_Bone::show_bone_map(get_root_canvas(), __FILE__, __LINE__, "deleting staticlist");
+	unlink_all();
+}
+
+ValueNode_StaticList::Handle
+ValueNode_StaticList::create(ValueBase::Type id, Canvas::LooseHandle canvas) // line 557
+{
+	return new ValueNode_StaticList(id, canvas);
+}
+
+ValueNode_StaticList*
+ValueNode_StaticList::create_from(const ValueBase &value) // line 568
+{
+	vector<ValueBase> value_list(value.get_list());
+
+	vector<ValueBase>::iterator iter;
+
+	if(value_list.empty())
+		return 0;
+
+	ValueBase::Type type(value.get_contained_type());
+	ValueNode_StaticList* value_node(new ValueNode_StaticList(type));
+
+	// when creating a list of vectors, start it off being looped.
+	// I think the only time this is used if for creating polygons,
+	// and we want them to be looped by default
+	if (value_node->get_contained_type() == ValueBase::TYPE_VECTOR)
+		value_node->set_loop(true);
+
+	for(iter=value_list.begin();iter!=value_list.end();++iter)
+	{
+		if (type == ValueBase::TYPE_BONE)
+		{
+			ValueNode::Handle item(ValueNode_Bone::create(*iter));
+			value_node->add(item);
+		}
+		else
+		{
+			ValueNode::Handle item(ValueNode_Const::create(*iter));
+			value_node->add(item);
+		}
+	}
+	return value_node;
+}
+
+ValueBase
+ValueNode_StaticList::operator()(Time t)const // line 596
+{
+	if (getenv("SYNFIG_DEBUG_VALUENODE_OPERATORS"))
+		printf("%s:%d operator()\n", __FILE__, __LINE__);
+
+	std::vector<ValueBase> ret_list;
+	std::vector<ReplaceableListEntry>::const_iterator iter;
+
+	assert(container_type);
+
+	for(iter=list.begin();iter!=list.end();++iter)
+		if((*iter)->get_type()==container_type)
+			ret_list.push_back((**iter)(t));
+		else
+			synfig::warning(string("ValueNode_StaticList::operator()():")+_("List type/item type mismatch, throwing away mismatch"));
+
+	if(list.empty())
+		synfig::warning(string("ValueNode_StaticList::operator()():")+_("No entries in list"));
+	else
+	if(ret_list.empty())
+		synfig::warning(string("ValueNode_StaticList::operator()():")+_("No entries in ret_list"));
+
+	return ret_list;
+}
+
+bool
+ValueNode_StaticList::set_link_vfunc(int i,ValueNode::Handle x) // line 628
+{
+	assert(i>=0);
+
+	if((unsigned)i>=list.size())
+		return false;
+	if(x->get_type()!=container_type)
+		return false;
+	list[i]=x;
+	return true;
+}
+
+ValueNode::LooseHandle
+ValueNode_StaticList::get_link_vfunc(int i)const // line 641
+{
+	assert(i>=0);
+
+	if((unsigned)i>=list.size())
+		return 0;
+	return list[i];
+}
+
+int
+ValueNode_StaticList::link_count()const // line 651
+{
+	return list.size();
+}
+
+String
+ValueNode_StaticList::link_local_name(int i)const // line 657
+{
+	assert(i>=0 && i<link_count());
+
+	return etl::strprintf(_("Item %03d"),i+1);
+}
+
+ValueNode*
+ValueNode_StaticList::clone(Canvas::LooseHandle canvas, const GUID& deriv_guid)const
+{
+	ValueNode_Bone::show_bone_map(get_root_canvas(), __FILE__, __LINE__, "before cloning staticlist");
+
+	{ ValueNode* x(find_value_node(get_guid()^deriv_guid).get()); if(x)return x; }
+
+	ValueNode_StaticList* ret=dynamic_cast<ValueNode_StaticList*>(create_new());
+	ret->set_guid(get_guid()^deriv_guid);
+
+	for(std::vector<ReplaceableListEntry>::const_iterator iter=list.begin();iter!=list.end();++iter)
+		if((*iter)->is_exported())
+			ret->add(*iter);
+		else
+			ret->add((*iter)->clone(canvas, deriv_guid));
+	ret->set_loop(get_loop());
+	ret->set_parent_canvas(canvas);
+
+	ValueNode_Bone::show_bone_map(get_root_canvas(), __FILE__, __LINE__, "after cloning staticlist");
+
+	return ret;
+}
+
+String
+ValueNode_StaticList::link_name(int i)const // line 693
+{
+	return strprintf("item%04d",i);
+}
+
+int
+ValueNode_StaticList::get_link_index_from_name(const String &name)const // line 699
+{
+	throw Exception::BadLinkName(name);
+}
+
+String
+ValueNode_StaticList::get_name()const // line 705
+{
+	return "static_list";
+}
+
+String
+ValueNode_StaticList::get_local_name()const // line 711
+{
+	return _("Static List");
+}
+
+bool
+ValueNode_StaticList::check_type(ValueBase::Type type) // line 717
+{
+	return type==ValueBase::TYPE_LIST;
+}
+
+LinkableValueNode::Vocab
+ValueNode_StaticList::get_children_vocab_vfunc() const
+{
+	LinkableValueNode::Vocab ret;
+	for(unsigned int i=0; i<list.size();i++)
+	{
+		ret.push_back(ParamDesc(ValueBase(),strprintf("item%04d",i))
+			.set_local_name(etl::strprintf(_("Item %03d"),i+1))
+		);
+	}
+
+	return ret;
+}
+
+void
+ValueNode_StaticList::set_member_canvas(etl::loose_handle<Canvas> canvas) // line 723
+{
+	for (vector<ReplaceableListEntry>::iterator iter = list.begin(); iter != list.end(); iter++)
+	{
+		if (getenv("SYNFIG_DEBUG_SET_PARENT_CANVAS"))
+			printf("%s:%d set parent canvas of member (%lx) to (%lx)\n", __FILE__, __LINE__, uintptr_t((*iter).get()), uintptr_t(canvas.get()));
+		(*iter)->set_parent_canvas(canvas);
+	}
+}
+
+ValueBase::Type
+ValueNode_StaticList::get_contained_type()const // line 730
+{
+	return container_type;
+}
+
+LinkableValueNode*
+ValueNode_StaticList::create_new()const // line 736
+{
+	return new ValueNode_StaticList(container_type);
+}
+
+#ifdef _DEBUG
+void
+ValueNode_StaticList::ref()const
+{
+	if (getenv("SYNFIG_DEBUG_STATICLIST_REFCOUNT"))
+		printf("%s:%d %lx   ref staticlist %*s -> %2d\n", __FILE__, __LINE__, uintptr_t(this), (count()*2), "", count()+1);
+
+	LinkableValueNode::ref();
+}
+
+bool
+ValueNode_StaticList::unref()const
+{
+	if (getenv("SYNFIG_DEBUG_STATICLIST_REFCOUNT"))
+		printf("%s:%d %lx unref staticlist %*s%2d <-\n", __FILE__, __LINE__, uintptr_t(this), ((count()-1)*2), "", count()-1);
+
+	return LinkableValueNode::unref();
+}
+#endif
diff --git a/src/synfig/valuenode_staticlist.h b/src/synfig/valuenode_staticlist.h
new file mode 100644
index 0000000..fe286a8
--- /dev/null
+++ b/src/synfig/valuenode_staticlist.h
@@ -0,0 +1,144 @@
+/* === S Y N F I G ========================================================= */
+/*!	\file valuenode_staticlist.h
+**	\brief Header file for implementation of the "StaticList" valuenode conversion.
+**
+**	$Id$
+**
+**	\legal
+**	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**
+**	This package is free software; you can redistribute it and/or
+**	modify it under the terms of the GNU General Public License as
+**	published by the Free Software Foundation; either version 2 of
+**	the License, or (at your option) any later version.
+**
+**	This package is distributed in the hope that it will be useful,
+**	but WITHOUT ANY WARRANTY; without even the implied warranty of
+**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**	General Public License for more details.
+**	\endlegal
+*/
+/* ========================================================================= */
+
+/* === S T A R T =========================================================== */
+
+#ifndef __SYNFIG_VALUENODE_STATICLIST_H
+#define __SYNFIG_VALUENODE_STATICLIST_H
+
+/* === H E A D E R S ======================================================= */
+
+#include <vector>
+#include <list>
+
+#include "valuenode.h"
+#include "time.h"
+#include "uniqueid.h"
+
+/* === M A C R O S ========================================================= */
+
+/* === C L A S S E S & S T R U C T S ======================================= */
+
+namespace synfig {
+class ValueNode_BLine;
+class Canvas;
+
+/*! \class ValueNode_StaticList
+**	\brief StaticList ValueNode
+**
+**	This ValueNode is set up to have a list of ValueNodes.
+*/
+class ValueNode_StaticList : public LinkableValueNode
+{
+public:
+	typedef etl::handle<ValueNode_StaticList> Handle;
+	typedef etl::handle<const ValueNode_StaticList> ConstHandle;
+	typedef ValueNode::Handle ListEntry;
+	typedef ValueNode::RHandle ReplaceableListEntry;
+
+protected:
+	ValueNode_StaticList(ValueBase::Type container_type=ValueBase::TYPE_NIL, etl::loose_handle<Canvas> canvas = 0);
+
+	virtual ~ValueNode_StaticList();
+
+	ValueBase::Type container_type;
+
+	bool loop_;
+
+public:
+	std::vector<ReplaceableListEntry> list;
+
+public:
+
+	void add(const ValueNode::Handle &value_node, int index=-1);
+	void erase(const ListEntry &value_node);
+//	void reindex();
+
+	virtual ValueNode::LooseHandle get_link_vfunc(int i)const;
+
+	virtual int link_count()const;
+
+	virtual String link_name(int i)const;
+
+	virtual ValueBase operator()(Time t)const;
+
+	virtual String link_local_name(int i)const;
+	virtual int get_link_index_from_name(const String &name)const;
+
+	virtual String get_name()const;
+	virtual String get_local_name()const;
+
+	bool get_loop()const { return loop_; }
+	void set_loop(bool x) { loop_=x; }
+
+	void set_member_canvas(etl::loose_handle<Canvas>);
+
+	ValueBase::Type get_contained_type()const;
+
+
+	template <typename iterator> static Handle
+	create(iterator begin, iterator end)
+	{
+		Handle ret=create((*begin)->get_type());
+		for(;begin!=end;++begin)
+			ret->add(*begin);
+		return ret;
+	}
+
+//	void insert_time(const Time& location, const Time& delta);
+	//void manipulate_time(const Time& old_begin,const Time& old_end,const Time& new_begin,const Time& new_end);
+
+	virtual ValueNode* clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid=GUID())const;
+
+	virtual ListEntry create_list_entry(int index, Time time=0, Real origin=0.5);
+
+protected:
+
+	virtual bool set_link_vfunc(int i,ValueNode::Handle x);
+	LinkableValueNode* create_new()const;
+
+//	virtual void get_times_vfunc(Node::time_set &set) const;
+
+public:
+	/*! \note The construction parameter (\a id) is the type that the list
+	**	contains, rather than the type that it will yield
+	**	(which is ValueBase::TYPE_LIST)
+	*/
+	static Handle create(ValueBase::Type id=ValueBase::TYPE_NIL, etl::loose_handle<Canvas> canvas = 0);
+	using synfig::LinkableValueNode::get_link_vfunc;
+	using synfig::LinkableValueNode::set_link_vfunc;
+	static bool check_type(ValueBase::Type type);
+	static ValueNode_StaticList* create_from(const ValueBase &x=ValueBase::TYPE_GRADIENT);
+	virtual Vocab get_children_vocab_vfunc()const;
+
+#ifdef _DEBUG
+	virtual void ref()const;
+	virtual bool unref()const;
+#endif
+
+}; // END of class ValueNode_StaticList
+
+}; // END of namespace synfig
+
+/* === E N D =============================================================== */
+
+#endif
diff --git a/src/synfig/valuenode_step.cpp b/src/synfig/valuenode_step.cpp
index 4334b3e..f02ed01 100644
--- a/src/synfig/valuenode_step.cpp
+++ b/src/synfig/valuenode_step.cpp
@@ -210,7 +210,7 @@ ValueNode_Step::get_children_vocab_vfunc()const
 
 		ret.push_back(ParamDesc(ValueBase(),"intersection")
 		.set_local_name(_("Intersection"))
-		.set_description(_("Value that define whether the step is centerd on the value [0,1]"))
+		.set_description(_("Value that define whether the step is centered on the value [0,1]"))
 	);
 
 	return ret;
diff --git a/src/synfig/vector.h b/src/synfig/vector.h
index 5353e1d..8764b13 100644
--- a/src/synfig/vector.h
+++ b/src/synfig/vector.h
@@ -30,7 +30,7 @@
 
 #include "angle.h"
 #include "real.h"
-#include <math.h>
+#include <cmath>
 
 /* === M A C R O S ========================================================= */
 
@@ -53,7 +53,9 @@ inline bool isnan(double x) { return x != x; }
 inline bool isnan(float x) { return x != x; }
 #define SYNFIG_ISNAN_FIX 1
 #else
-#define isnan std::isnan
+#ifndef isnan
+#define isnan(x) (std::isnan)(x)
+#endif
 #endif
 
 
diff --git a/src/synfig/waypoint.cpp b/src/synfig/waypoint.cpp
index e716dc3..9232f81 100644
--- a/src/synfig/waypoint.cpp
+++ b/src/synfig/waypoint.cpp
@@ -31,6 +31,7 @@
 
 #include "waypoint.h"
 #include "valuenode_const.h"
+#include "valuenode_animated.h"
 
 #endif
 
@@ -104,12 +105,59 @@ Waypoint::set_value(const ValueBase &x)
 void
 Waypoint::set_value_node(const etl::handle<ValueNode> &x)
 {
+
+	// printf("%s:%d Waypoint::set_value_node(%lx) = %lx (%s)\n", __FILE__, __LINE__, uintptr_t(this), uintptr_t(x), x->get_string().c_str());
+
 	//! If the value node is not set and we are seting the value
 	//! of an angle, then set both interpolation to linear... why?
+
 	if(!value_node && x->get_type()==ValueBase::TYPE_ANGLE)
 		after=before=INTERPOLATION_LINEAR;
 
+	if (value_node == x)
+		return;
+
+	ValueNode::Handle vn_parent(get_parent_value_node());
+	if (!vn_parent)
+	{
+		value_node=x;
+		return;
+	}
+
+	ValueNode_Animated::Handle parent(ValueNode_Animated::Handle::cast_dynamic(vn_parent));
+	if (!parent)
+	{
+		value_node=x;
+		return;
+	}
+
+	if (parent->waypoint_is_only_use_of_valuenode(*this))
+		parent->remove_child(value_node.get());
+
 	value_node=x;
+	parent->add_child(value_node.get());
+	parent->changed();
+}
+
+void
+Waypoint::set_parent_value_node(const etl::loose_handle<ValueNode> &x)
+{
+	// printf("%s:%d Waypoint::set_parent_value_node(%lx) = %lx (%s)\n", __FILE__, __LINE__, uintptr_t(this), uintptr_t(x.get()), x->get_string().c_str());
+	assert(get_value_node());
+
+	if (parent_ == x)
+		return;
+
+	// it seems that the parent is never previously set (unless it was
+	// already set to the same value, in which case the previous test
+	// will have caused this function to return already).  if the
+	// parent was previously set, we may need to call
+	// parent_->remove_child() so assert that it isn't, and fix if it
+	// is...
+	assert(!parent_);
+
+	parent_=x;
+	parent_->add_child(get_value_node().get());
 }
 
 bool
@@ -137,12 +185,12 @@ Waypoint::apply_model(const Model &x)
 }
 
 Waypoint
-Waypoint::clone(const GUID& deriv_guid)const
+Waypoint::clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid)const
 {
 	Waypoint ret(*this);
 	ret.make_unique();
 	if(!ret.value_node->is_exported())
-		ret.value_node=value_node->clone(deriv_guid);
+		ret.value_node=value_node->clone(canvas, deriv_guid);
 	ret.parent_=0;
 	return ret;
 }
@@ -151,7 +199,9 @@ ValueBase
 Waypoint::get_value()const { return (*value_node)(0); }
 
 ValueBase
-Waypoint::get_value(const Time &t)const { return (*value_node)(t); }
+Waypoint::get_value(const Time &t)const {
+	return (*value_node)(t);
+}
 
 synfig::GUID
 Waypoint::get_guid()const
diff --git a/src/synfig/waypoint.h b/src/synfig/waypoint.h
index 1fbc91c..050ee78 100644
--- a/src/synfig/waypoint.h
+++ b/src/synfig/waypoint.h
@@ -275,8 +275,9 @@ public:
 
 	//! Gets parent Value Node
 	const etl::loose_handle<ValueNode> &get_parent_value_node()const { return parent_; }
+
 	//! Sets parent Value Node
-	void set_parent_value_node(const etl::loose_handle<ValueNode> &x) { parent_=x; }
+	void set_parent_value_node(const etl::loose_handle<ValueNode> &x);
 
 	//! \true if the Value Node is constant, not null and not exported
 	bool is_static()const;
@@ -309,9 +310,10 @@ public:
 	bool operator!=(const UniqueID &rhs)const
 	{ return get_uid()!=rhs.get_uid(); }
 
+
 	//! Clones the Value Node if it is not exported and returns a Waypoint
 	//! with no parent.
-	Waypoint clone(const GUID& deriv_guid=GUID())const;
+	Waypoint clone(etl::loose_handle<Canvas> canvas, const GUID& deriv_guid=GUID())const;
 
 	//! Returns a hack GUID using the UniqueID's value
 	GUID get_guid()const;
diff --git a/src/tool/Makefile.am b/src/tool/Makefile.am
index 4160569..6b353fb 100644
--- a/src/tool/Makefile.am
+++ b/src/tool/Makefile.am
@@ -6,7 +6,7 @@ MAINTAINERCLEANFILES = \
 EXTRA_DIST = \
 	tool.nsh
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src \
 	@BOOST_CPPFLAGS@
diff --git a/src/tool/Makefile.in b/src/tool/Makefile.in
index 72ec94f..fb1cbab 100644
--- a/src/tool/Makefile.in
+++ b/src/tool/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -55,7 +54,8 @@ build_triplet = @build@
 host_triplet = @host@
 bin_PROGRAMS = synfig$(EXEEXT)
 subdir = src/tool
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(top_srcdir)/config/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
@@ -209,6 +209,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -317,7 +318,7 @@ MAINTAINERCLEANFILES = \
 EXTRA_DIST = \
 	tool.nsh
 
-INCLUDES = \
+AM_CPPFLAGS = \
 	-I$(top_builddir) \
 	-I$(top_srcdir)/src \
 	@BOOST_CPPFLAGS@
@@ -574,6 +575,20 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
@@ -718,18 +733,18 @@ uninstall-am: uninstall-binPROGRAMS
 .MAKE: install-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
-	clean-generic clean-libtool ctags distclean distclean-compile \
-	distclean-generic distclean-libtool distclean-tags distdir dvi \
-	dvi-am html html-am info info-am install install-am \
-	install-binPROGRAMS install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-ps install-ps-am \
-	install-strip installcheck installcheck-am installdirs \
-	maintainer-clean maintainer-clean-generic mostlyclean \
-	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
-	pdf pdf-am ps ps-am tags uninstall uninstall-am \
-	uninstall-binPROGRAMS
+	clean-generic clean-libtool cscopelist ctags distclean \
+	distclean-compile distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-binPROGRAMS install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am uninstall-binPROGRAMS
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/src/tool/definitions.h b/src/tool/definitions.h
index d7299d7..d69bfd7 100644
--- a/src/tool/definitions.h
+++ b/src/tool/definitions.h
@@ -74,7 +74,7 @@ enum exit_code
 
 /* === G L O B A L S ======================================================= */
 
-extern const char *progname;
+extern std::string binary_path;
 extern int verbosity;
 extern int threads;
 extern bool be_quiet;
diff --git a/src/tool/main.cpp b/src/tool/main.cpp
index 412e6a9..31781e7 100644
--- a/src/tool/main.cpp
+++ b/src/tool/main.cpp
@@ -42,6 +42,8 @@
 #include <boost/tokenizer.hpp>
 #include <boost/token_functions.hpp>
 
+#include <glibmm.h>
+
 #include <synfig/module.h>
 #include <synfig/importer.h>
 #include <synfig/cairoimporter.h>
@@ -72,7 +74,7 @@ namespace po=boost::program_options;
 
 /* === G L O B A L S ================================================ */
 
-const char *progname;
+String binary_path;
 int verbosity = 0;
 bool be_quiet = false;
 bool print_benchmarks = false;
@@ -119,15 +121,20 @@ const char* allowed_video_codecs_description[] =
 int main(int ac, char* av[])
 {
 	setlocale(LC_ALL, "");
+	
+	binary_path = synfig::get_binary_path(String(av[0]));
 
 #ifdef ENABLE_NLS
-	bindtextdomain("synfig", LOCALEDIR);
+	String locale_dir;
+	locale_dir = etl::dirname(etl::dirname(binary_path))+ETL_DIRECTORY_SEPARATOR+"share"+ETL_DIRECTORY_SEPARATOR+"locale";
+#ifdef WIN32
+	locale_dir = Glib::locale_from_utf8(locale_dir);
+#endif
+	bindtextdomain("synfig", locale_dir.c_str() );
 	bind_textdomain_codeset("synfig", "UTF-8");
 	textdomain("synfig");
 #endif
 
-	progname=av[0];
-
 	if(!SYNFIG_CHECK_VERSION())
 	{
 		cerr << _("FATAL: Synfig Version Mismatch") << endl;
@@ -279,8 +286,8 @@ int main(int ac, char* av[])
 		// TODO: Optional load of main only if needed. i.e. not needed to display help
 		// Synfig Main initialization needs to be after verbose and
 		// before any other where it's used
-		Progress p(progname);
-		synfig::Main synfig_main(dirname(progname), &p);
+		Progress p(binary_path.c_str());
+		synfig::Main synfig_main(etl::dirname(binary_path), &p);
 
         // Info options -----------------------------------------------
         op.process_info_options();
diff --git a/src/tool/optionsprocessor.cpp b/src/tool/optionsprocessor.cpp
index 27a6dd9..5f72f2d 100644
--- a/src/tool/optionsprocessor.cpp
+++ b/src/tool/optionsprocessor.cpp
@@ -38,6 +38,7 @@
 #include <autorevision.h>
 #include <synfig/general.h>
 #include <synfig/canvas.h>
+#include <synfig/context.h>
 #include <synfig/target.h>
 #include <synfig/layer.h>
 #include <synfig/module.h>
@@ -563,14 +564,42 @@ Job OptionsProcessor::extract_job() throw (SynfigToolException&)
 			for(iter=composite->rbegin(); iter!=composite->rend(); ++iter)
 			{
 				Layer::Handle layer(*iter);
-				if(layer->active())
-					job.canvas->push_front(layer->clone());
+				//if(layer->active())
+					job.canvas->push_front(layer->clone(composite));
 			}
 		}
 
 		VERBOSE_OUT(2) << _("Appended contents of ") << composite_file.c_str() << endl;
 	}
-
+	/*=== This is a code that comes from bones branch 
+	      possibly it is the solution for multi-appending mentioned before ====	
+	// Extract composite
+	do{
+		string composite_file;
+		extract_append(imageargs,composite_file);
+		if(!composite_file.empty())
+		{
+			String errors, warnings;
+			Canvas::Handle composite(open_canvas(composite_file, errors, warnings));
+			if(!composite)
+			{
+				cerr<<_("Unable to append '")<<composite_file<<"'."<<endl;
+				break;
+			}
+			Canvas::reverse_iterator iter;
+			for(iter=composite->rbegin();iter!=composite->rend();++iter)
+			{
+				Layer::Handle layer(*iter);
+				//if(layer->active())
+					job_list.front().canvas->push_front(layer->clone(composite));
+			}
+			VERBOSE_OUT(2)<<_("Appended contents of ")<<composite_file<<endl;
+		}
+	} while(false);
+	
+	VERBOSE_OUT(4)<<_("Attempting to determine target/outfile...")<<endl;
+	>>>>>>> genete_bones
+	 */
 	if (_vm.count("list-canvases") || _vm.count("canvases"))
 	{
 		print_child_canvases(job.filename + "#", job.root);
diff --git a/src/tool/printing_functions.cpp b/src/tool/printing_functions.cpp
index b09bc7e..8544a59 100644
--- a/src/tool/printing_functions.cpp
+++ b/src/tool/printing_functions.cpp
@@ -44,7 +44,7 @@ using namespace synfig;
 void print_usage ()
 {
 	cout << "Synfig " << VERSION << endl
-		 << "Usage: " << progname
+		 << "Usage: " << binary_path.c_str()
 		 << " [options] ([sif file] [specific options])" << endl;
 }
 
diff --git a/test/Makefile.am b/test/Makefile.am
new file mode 100644
index 0000000..e0cb2b2
--- /dev/null
+++ b/test/Makefile.am
@@ -0,0 +1,9 @@
+# $Id$
+
+MAINTAINERCLEANFILES=Makefile.in
+AM_CXXFLAGS=@CXXFLAGS@ @ETL_CFLAGS@ -I$(top_builddir) -I$(top_srcdir)/src
+check_PROGRAMS=$(TESTS)
+
+TESTS=bone
+
+bone_SOURCES=bone.cpp
diff --git a/src/modules/mod_gif/Makefile.in b/test/Makefile.in
similarity index 67%
copy from src/modules/mod_gif/Makefile.in
copy to test/Makefile.in
index cd1d7b9..1cbe3a0 100644
--- a/src/modules/mod_gif/Makefile.in
+++ b/test/Makefile.in
@@ -1,9 +1,8 @@
-# Makefile.in generated by automake 1.11.6 from Makefile.am.
+# Makefile.in generated by automake 1.12.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -16,7 +15,6 @@
 @SET_MAKE@
 
 # $Id$
-
 VPATH = @srcdir@
 am__make_dryrun = \
   { \
@@ -53,8 +51,11 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-subdir = src/modules/mod_gif
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+check_PROGRAMS = $(am__EXEEXT_1)
+TESTS = bone$(EXEEXT)
+subdir = test
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(top_srcdir)/config/depcomp
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/argz.m4 \
 	$(top_srcdir)/m4/ax_boost_base.m4 \
@@ -74,42 +75,10 @@ mkinstalldirs = $(install_sh) -d
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
-  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
-  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
-  for p in $$list; do echo "$$p $$p"; done | \
-  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-    if (++n[$$2] == $(am__install_max)) \
-      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-    END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
-  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
-  test -z "$$files" \
-    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
-    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
-         $(am__cd) "$$dir" && rm -f $$files; }; \
-  }
-am__installdirs = "$(DESTDIR)$(moduledir)"
-LTLIBRARIES = $(module_LTLIBRARIES)
-libmod_gif_la_DEPENDENCIES = ../../synfig/libsynfig.la
-am_libmod_gif_la_OBJECTS = libmod_gif_la-main.lo \
-	libmod_gif_la-trgt_gif.lo
-libmod_gif_la_OBJECTS = $(am_libmod_gif_la_OBJECTS)
-libmod_gif_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(libmod_gif_la_CXXFLAGS) \
-	$(CXXFLAGS) $(libmod_gif_la_LDFLAGS) $(LDFLAGS) -o $@
+am__EXEEXT_1 = bone$(EXEEXT)
+am_bone_OBJECTS = bone.$(OBJEXT)
+bone_OBJECTS = $(am_bone_OBJECTS)
+bone_LDADD = $(LDADD)
 DEFAULT_INCLUDES = 
 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
 am__depfiles_maybe = depfiles
@@ -123,17 +92,8 @@ CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
-SOURCES = $(libmod_gif_la_SOURCES)
-DIST_SOURCES = $(libmod_gif_la_SOURCES)
+SOURCES = $(bone_SOURCES)
+DIST_SOURCES = $(bone_SOURCES)
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -141,6 +101,10 @@ am__can_run_installinfo = \
   esac
 ETAGS = etags
 CTAGS = ctags
+am__tty_colors_dummy = \
+  mgn= red= grn= lgn= blu= brg= std=; \
+  am__color_tests=no
+am__tty_colors = $(am__tty_colors_dummy)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -234,6 +198,7 @@ LTLIBOBJS = @LTLIBOBJS@
 LT_CONFIG_H = @LT_CONFIG_H@
 LT_DLLOADERS = @LT_DLLOADERS@
 LT_DLPREOPEN = @LT_DLPREOPEN@
+MAGICKPP_CFLAGS = @MAGICKPP_CFLAGS@
 MAGICKPP_LIBS = @MAGICKPP_LIBS@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
@@ -336,36 +301,9 @@ target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-MAINTAINERCLEANFILES = \
-	Makefile.in
-
-INCLUDES = \
-	-I$(top_builddir) \
-	-I$(top_srcdir)/src
-
-moduledir = @MODULE_DIR@
-module_LTLIBRARIES = libmod_gif.la
-libmod_gif_la_SOURCES = \
-	main.cpp \
-	trgt_gif.cpp \
-	trgt_gif.h
-
-libmod_gif_la_LDFLAGS = \
-	-module \
-	-no-undefined \
-	-avoid-version
-
-libmod_gif_la_CXXFLAGS = \
-	@SYNFIG_CFLAGS@
-
-libmod_gif_la_LIBADD = \
-	../../synfig/libsynfig.la \
-	@SYNFIG_LIBS@
-
-EXTRA_DIST = \
-	mod_gif.nsh \
-	unmod_gif.nsh
-
+MAINTAINERCLEANFILES = Makefile.in
+AM_CXXFLAGS = @CXXFLAGS@ @ETL_CFLAGS@ -I$(top_builddir) -I$(top_srcdir)/src
+bone_SOURCES = bone.cpp
 all: all-am
 
 .SUFFIXES:
@@ -379,9 +317,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__confi
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/modules/mod_gif/Makefile'; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu src/modules/mod_gif/Makefile
+	  $(AUTOMAKE) --gnu test/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -400,40 +338,18 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(am__aclocal_m4_deps):
-install-moduleLTLIBRARIES: $(module_LTLIBRARIES)
-	@$(NORMAL_INSTALL)
-	@list='$(module_LTLIBRARIES)'; test -n "$(moduledir)" || list=; \
-	list2=; for p in $$list; do \
-	  if test -f $$p; then \
-	    list2="$$list2 $$p"; \
-	  else :; fi; \
-	done; \
-	test -z "$$list2" || { \
-	  echo " $(MKDIR_P) '$(DESTDIR)$(moduledir)'"; \
-	  $(MKDIR_P) "$(DESTDIR)$(moduledir)" || exit 1; \
-	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(moduledir)'"; \
-	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(moduledir)"; \
-	}
-
-uninstall-moduleLTLIBRARIES:
-	@$(NORMAL_UNINSTALL)
-	@list='$(module_LTLIBRARIES)'; test -n "$(moduledir)" || list=; \
-	for p in $$list; do \
-	  $(am__strip_dir) \
-	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(moduledir)/$$f'"; \
-	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(moduledir)/$$f"; \
-	done
 
-clean-moduleLTLIBRARIES:
-	-test -z "$(module_LTLIBRARIES)" || rm -f $(module_LTLIBRARIES)
-	@list='$(module_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
-libmod_gif.la: $(libmod_gif_la_OBJECTS) $(libmod_gif_la_DEPENDENCIES) $(EXTRA_libmod_gif_la_DEPENDENCIES) 
-	$(libmod_gif_la_LINK) -rpath $(moduledir) $(libmod_gif_la_OBJECTS) $(libmod_gif_la_LIBADD) $(LIBS)
+clean-checkPROGRAMS:
+	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
+bone$(EXEEXT): $(bone_OBJECTS) $(bone_DEPENDENCIES) $(EXTRA_bone_DEPENDENCIES) 
+	@rm -f bone$(EXEEXT)
+	$(CXXLINK) $(bone_OBJECTS) $(bone_LDADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -441,8 +357,7 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmod_gif_la-main.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libmod_gif_la-trgt_gif.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/bone.Po at am__quote@
 
 .cpp.o:
 @am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -465,20 +380,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
 
-libmod_gif_la-main.lo: main.cpp
- at am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmod_gif_la_CXXFLAGS) $(CXXFLAGS) -MT libmod_gif_la-main.lo -MD -MP -MF $(DEPDIR)/libmod_gif_la-main.Tpo -c -o libmod_gif_la-main.lo `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp
- at am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/libmod_gif_la-main.Tpo $(DEPDIR)/libmod_gif_la-main.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='main.cpp' object='libmod_gif_la-main.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmod_gif_la_CXXFLAGS) $(CXXFLAGS) -c -o libmod_gif_la-main.lo `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp
-
-libmod_gif_la-trgt_gif.lo: trgt_gif.cpp
- at am__fastdepCXX_TRUE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmod_gif_la_CXXFLAGS) $(CXXFLAGS) -MT libmod_gif_la-trgt_gif.lo -MD -MP -MF $(DEPDIR)/libmod_gif_la-trgt_gif.Tpo -c -o libmod_gif_la-trgt_gif.lo `test -f 'trgt_gif.cpp' || echo '$(srcdir)/'`trgt_gif.cpp
- at am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/libmod_gif_la-trgt_gif.Tpo $(DEPDIR)/libmod_gif_la-trgt_gif.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='trgt_gif.cpp' object='libmod_gif_la-trgt_gif.lo' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL)  --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmod_gif_la_CXXFLAGS) $(CXXFLAGS) -c -o libmod_gif_la-trgt_gif.lo `test -f 'trgt_gif.cpp' || echo '$(srcdir)/'`trgt_gif.cpp
-
 mostlyclean-libtool:
 	-rm -f *.lo
 
@@ -534,9 +435,116 @@ GTAGS:
 	  && $(am__cd) $(top_srcdir) \
 	  && gtags -i $(GTAGS_ARGS) "$$here"
 
+cscopelist:  $(HEADERS) $(SOURCES) $(LISP)
+	list='$(SOURCES) $(HEADERS) $(LISP)'; \
+	case "$(srcdir)" in \
+	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+	  *) sdir=$(subdir)/$(srcdir) ;; \
+	esac; \
+	for i in $$list; do \
+	  if test -f "$$i"; then \
+	    echo "$(subdir)/$$i"; \
+	  else \
+	    echo "$$sdir/$$i"; \
+	  fi; \
+	done >> $(top_builddir)/cscope.files
+
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
+check-TESTS: $(TESTS)
+	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
+	srcdir=$(srcdir); export srcdir; \
+	list=' $(TESTS) '; \
+	$(am__tty_colors); \
+	if test -n "$$list"; then \
+	  for tst in $$list; do \
+	    if test -f ./$$tst; then dir=./; \
+	    elif test -f $$tst; then dir=; \
+	    else dir="$(srcdir)/"; fi; \
+	    if $(TESTS_ENVIRONMENT) $${dir}$$tst $(AM_TESTS_FD_REDIRECT); then \
+	      all=`expr $$all + 1`; \
+	      case " $(XFAIL_TESTS) " in \
+	      *[\ \	]$$tst[\ \	]*) \
+		xpass=`expr $$xpass + 1`; \
+		failed=`expr $$failed + 1`; \
+		col=$$red; res=XPASS; \
+	      ;; \
+	      *) \
+		col=$$grn; res=PASS; \
+	      ;; \
+	      esac; \
+	    elif test $$? -ne 77; then \
+	      all=`expr $$all + 1`; \
+	      case " $(XFAIL_TESTS) " in \
+	      *[\ \	]$$tst[\ \	]*) \
+		xfail=`expr $$xfail + 1`; \
+		col=$$lgn; res=XFAIL; \
+	      ;; \
+	      *) \
+		failed=`expr $$failed + 1`; \
+		col=$$red; res=FAIL; \
+	      ;; \
+	      esac; \
+	    else \
+	      skip=`expr $$skip + 1`; \
+	      col=$$blu; res=SKIP; \
+	    fi; \
+	    echo "$${col}$$res$${std}: $$tst"; \
+	  done; \
+	  if test "$$all" -eq 1; then \
+	    tests="test"; \
+	    All=""; \
+	  else \
+	    tests="tests"; \
+	    All="All "; \
+	  fi; \
+	  if test "$$failed" -eq 0; then \
+	    if test "$$xfail" -eq 0; then \
+	      banner="$$All$$all $$tests passed"; \
+	    else \
+	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+	    fi; \
+	  else \
+	    if test "$$xpass" -eq 0; then \
+	      banner="$$failed of $$all $$tests failed"; \
+	    else \
+	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+	    fi; \
+	  fi; \
+	  dashes="$$banner"; \
+	  skipped=""; \
+	  if test "$$skip" -ne 0; then \
+	    if test "$$skip" -eq 1; then \
+	      skipped="($$skip test was not run)"; \
+	    else \
+	      skipped="($$skip tests were not run)"; \
+	    fi; \
+	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+	      dashes="$$skipped"; \
+	  fi; \
+	  report=""; \
+	  if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+	    report="Please report to $(PACKAGE_BUGREPORT)"; \
+	    test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+	      dashes="$$report"; \
+	  fi; \
+	  dashes=`echo "$$dashes" | sed s/./=/g`; \
+	  if test "$$failed" -eq 0; then \
+	    col="$$grn"; \
+	  else \
+	    col="$$red"; \
+	  fi; \
+	  echo "$${col}$$dashes$${std}"; \
+	  echo "$${col}$$banner$${std}"; \
+	  test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+	  test -z "$$report" || echo "$${col}$$report$${std}"; \
+	  echo "$${col}$$dashes$${std}"; \
+	  test "$$failed" -eq 0; \
+	else :; fi
+
 distdir: $(DISTFILES)
 	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
 	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -568,12 +576,11 @@ distdir: $(DISTFILES)
 	  fi; \
 	done
 check-am: all-am
+	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
+	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
 check: check-am
-all-am: Makefile $(LTLIBRARIES)
+all-am: Makefile
 installdirs:
-	for dir in "$(DESTDIR)$(moduledir)"; do \
-	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-	done
 install: install-am
 install-exec: install-exec-am
 install-data: install-data-am
@@ -607,7 +614,7 @@ maintainer-clean-generic:
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-am
 
-clean-am: clean-generic clean-libtool clean-moduleLTLIBRARIES \
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
 	mostlyclean-am
 
 distclean: distclean-am
@@ -628,7 +635,7 @@ info: info-am
 
 info-am:
 
-install-data-am: install-moduleLTLIBRARIES
+install-data-am:
 
 install-dvi: install-dvi-am
 
@@ -674,23 +681,23 @@ ps: ps-am
 
 ps-am:
 
-uninstall-am: uninstall-moduleLTLIBRARIES
+uninstall-am:
 
-.MAKE: install-am install-strip
+.MAKE: check-am install-am install-strip
 
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libtool clean-moduleLTLIBRARIES ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-moduleLTLIBRARIES install-pdf install-pdf-am \
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+	clean-checkPROGRAMS clean-generic clean-libtool cscopelist \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
 	install-ps install-ps-am install-strip installcheck \
 	installcheck-am installdirs maintainer-clean \
 	maintainer-clean-generic mostlyclean mostlyclean-compile \
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am uninstall-moduleLTLIBRARIES
+	tags uninstall uninstall-am
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/src/template.cpp b/test/bone.cpp
similarity index 82%
copy from src/template.cpp
copy to test/bone.cpp
index 0adf303..9709124 100644
--- a/src/template.cpp
+++ b/test/bone.cpp
@@ -1,11 +1,11 @@
 /* === S Y N F I G ========================================================= */
-/*!	\file template.cpp
-**	\brief Template File
+/*!	\file bone.cpp
+**	\brief Bone Test File
 **
 **	$Id$
 **
 **	\legal
-**	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**	Copyright (c) 2008 Chris Moore
 **
 **	This package is free software; you can redistribute it and/or
 **	modify it under the terms of the GNU General Public License as
@@ -29,9 +29,8 @@
 #	include <config.h>
 #endif
 
-/*
-** Insert headers here
-*/
+#include <iostream>
+#include <synfig/bone.h>
 
 #endif
 
@@ -47,8 +46,24 @@ using namespace synfig;
 
 /* === P R O C E D U R E S ================================================= */
 
-/* === M E T H O D S ======================================================= */
+int bone_test1()
+{
+	return 0;
+}
+
+int bone_test2()
+{
+	return 0;
+}
 
 /* === E N T R Y P O I N T ================================================= */
 
+int main()
+{
+	int failures = 0;
+
+	failures += bone_test1();
+	failures += bone_test2();
 
+	return failures;
+}
diff --git a/win32build.sh b/win32build.sh
deleted file mode 100755
index 921c32c..0000000
--- a/win32build.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-
-#OPTIONS="--disable-optimization --enable-debug"
-
-OPTIONS="--enable-optimization=1 --disable-debug"
-
-[ -e configure ] || ( libtoolize --ltdl --copy --force && autoreconf --force --install ) || exit 0
-
-[ -d win32build ] && rm -fr win32build
-
-mkdir win32build
-
-cd win32build
-
-../configure --host=mingw32 --prefix=C:/PROGRA~1/Synfig $OPTIONS || exit 0
-
-make package
-
-
diff --git a/win32inst.nsi.in b/win32inst.nsi.in
deleted file mode 100644
index e22ae0b..0000000
--- a/win32inst.nsi.in
+++ /dev/null
@@ -1,240 +0,0 @@
-; example2.nsi
-;
-; This script is based on example1.nsi, but it remember the directory, 
-; has uninstall support and (optionally) installs start menu shortcuts.
-;
-; It will install makensisw.exe into a directory that the user selects,
-
-!include "MUI.nsh"
-
-;--------------------------------
-
-; The name of the installer
-Name "@PACKAGE_NAME@ @PACKAGE_VERSION@"
-
-!define PRODUCT_WEB_SITE "http://synfig.org/"
-
-; The file to write
-OutFile "@PACKAGE_TARNAME at -@PACKAGE_VERSION at .exe"
-
-; The default installation directory
-InstallDir $PROGRAMFILES\@PACKAGE_TARNAME@
-
-!define VERSION_MAJ "@VERSION_MAJ@"
-!define VERSION_MIN "@VERSION_MIN@"
-!define VERSION_REV "@VERSION_REV@"
-
-!define SYNFIG_REG_KEY "Software\@PACKAGE_TARNAME@\@API_VERSION@"
-!define SYNFIG_UNINSTALL_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\@PACKAGE_TARNAME@"
-!define SYNFIG_UNINSTALL_EXE "uninstall- at PACKAGE_TARNAME@.exe"
-
-!define MUI_ABORTWARNING
-
-;--------------------------------
-
-; Pages
-
-#Page components
-#Page directory
-#Page instfiles
-
-#UninstPage uninstConfirm
-#UninstPage instfiles
-
-;CustomGuiInit
-
-!insertmacro MUI_PAGE_WELCOME
-!insertmacro MUI_PAGE_LICENSE "@srcdir@\COPYING"
-#!insertmacro MUI_PAGE_LICENSE "@srcdir@\alphalicense.txt"
-;Page custom PageReinstall ; PageLeaveReinstall
-!insertmacro MUI_PAGE_COMPONENTS
-!insertmacro MUI_PAGE_DIRECTORY
-!insertmacro MUI_PAGE_INSTFILES
-
-!insertmacro MUI_UNPAGE_CONFIRM
-!insertmacro MUI_UNPAGE_COMPONENTS
-!insertmacro MUI_UNPAGE_INSTFILES
-
-!insertmacro MUI_LANGUAGE "English"
-
-;--------------------------------
-
-; The stuff to install
-Section ""
-
-  SectionIn RO
-  
-  ; Set output path to the installation directory.
-  SetOutPath $INSTDIR\bin
-
-  ; Put file there
-  
-  CreateDirectory "$INSTDIR\etc"
-  Delete $INSTDIR\etc\synfig_modules.cfg
-	
-  ; Write the installation path into the registry
-  WriteRegStr HKLM "${SYNFIG_REG_KEY}" "Path" "$INSTDIR"
-  WriteRegStr HKLM "${SYNFIG_REG_KEY}" "Version" "@PACKAGE_VERSION@"
-  
-  ; Write the uninstall keys for Windows
-  WriteRegStr HKLM "${SYNFIG_UNINSTALL_KEY}" "DisplayName" "@PACKAGE_NAME@"
-  WriteRegStr HKLM "${SYNFIG_UNINSTALL_KEY}" "DisplayVersion" "@PACKAGE_VERSION@"
-  WriteRegStr HKLM "${SYNFIG_UNINSTALL_KEY}" "UninstallString" '"$INSTDIR\${SYNFIG_UNINSTALL_EXE}"'
-  WriteRegDWORD HKLM "${SYNFIG_UNINSTALL_KEY}" "NoModify" 1
-  WriteRegDWORD HKLM "${SYNFIG_UNINSTALL_KEY}" "NoRepair" 1
-  WriteUninstaller "${SYNFIG_UNINSTALL_EXE}"
-  
-SectionEnd
-
-; Optional section (can be disabled by the user)
-Section "Start Menu Shortcuts"
-
-  SetShellVarContext All
-  CreateDirectory "$SMPROGRAMS\Synfig"
-  CreateShortCut "$SMPROGRAMS\Synfig\Uninstall Synfig Core.lnk" "$INSTDIR\uninstall- at PACKAGE_TARNAME@.exe" "" "$INSTDIR\uninstall- at PACKAGE_TARNAME@.exe" 0
-  
-SectionEnd
-
-
-;--------------------------------
-
-; Uninstaller
-
-Section "Uninstall"
-  
-  ; Remove registry keys
-  DeleteRegKey HKLM "${SYNFIG_REG_KEY}"
-  DeleteRegKey HKLM "${SYNFIG_UNINSTALL_KEY}"
-
-  ; Remove files and uninstaller
-  Delete $INSTDIR\uninstall- at PACKAGE_TARNAME@.exe
-  Delete $INSTDIR\etc\synfig_modules.cfg
-  RMDir "$INSTDIR\bin"
-  RMDir "$INSTDIR\etc"
-  RMDir "$INSTDIR"
-
-SectionEnd
-
-Section "un.Start Menu Shortcuts"
-
-  ; Remove shortcuts, if any
-  SetShellVarContext All
-  Delete "$SMPROGRAMS\Synfig\Uninstall Synfig Core.lnk"
-  RMDir "$SMPROGRAMS\Synfig"
-
-SectionEnd
-
-!include @srcdir@\src\synfig\synfig.nsh
-!include @srcdir@\src\tool\tool.nsh
-
-Section "Examples"
-	SetOutPath $INSTDIR\examples
-	File "@srcdir@\examples\*.sifz"
-
-	SetShellVarContext All
-	CreateDirectory "$SMPROGRAMS\Synfig"
-	CreateShortCut "$SMPROGRAMS\Synfig\Examples.lnk" "$INSTDIR\examples" "" "$INSTDIR\examples" 0
-SectionEnd
-
-Section "un.Examples"
-	Delete "$INSTDIR\examples\*.sifz"
-	RMDir "$INSTDIR\examples"
-
-	SetShellVarContext All
-	Delete "$SMPROGRAMS\Synfig\Examples.lnk"
-	RMDir "$SMPROGRAMS\Synfig"
-SectionEnd
-
-SectionGroup "PlugIns"
-SectionGroup "Layers"
-!include "@srcdir@\src\modules\lyr_std\lyr_std.nsh"
-!include "@srcdir@\src\modules\mod_filter\mod_filter.nsh"
-!include "@srcdir@\src\modules\mod_gradient\mod_gradient.nsh"
-!include "@srcdir@\src\modules\mod_noise\mod_noise.nsh"
-!include "@srcdir@\src\modules\mod_particle\mod_particle.nsh"
-!include "@srcdir@\src\modules\mod_geometry\mod_geometry.nsh"
-!include "@srcdir@\src\modules\mod_svg\mod_svg.nsh"
-!include "@srcdir@\src\modules\lyr_freetype\lyr_freetype.nsh"
-SectionGroupEnd
-SectionGroup "Render Targets"
-!include "@srcdir@\src\modules\mod_bmp\mod_bmp.nsh"
-!include "@srcdir@\src\modules\mod_dv\mod_dv.nsh"
-!include "@srcdir@\src\modules\mod_ffmpeg\mod_ffmpeg.nsh"
-!include "@srcdir@\src\modules\mod_gif\mod_gif.nsh"
-!include "@srcdir@\src\modules\mod_imagemagick\mod_imagemagick.nsh"
-!include "@srcdir@\src\modules\mod_jpeg\mod_jpeg.nsh"
-!include "@srcdir@\src\modules\mod_openexr\mod_openexr.nsh"
-!include "@srcdir@\src\modules\mod_png\mod_png.nsh"
-!include "@srcdir@\src\modules\mod_ppm\mod_ppm.nsh"
-!include "@srcdir@\src\modules\mod_yuv420p\mod_yuv420p.nsh"
-SectionGroupEnd
-SectionGroupEnd
-
-SectionGroup "un.PlugIns"
-SectionGroup "un.Layers"
-!include "@srcdir@\src\modules\lyr_std\unlyr_std.nsh"
-!include "@srcdir@\src\modules\lyr_freetype\unlyr_freetype.nsh"
-!include "@srcdir@\src\modules\mod_filter\unmod_filter.nsh"
-!include "@srcdir@\src\modules\mod_gradient\unmod_gradient.nsh"
-!include "@srcdir@\src\modules\mod_noise\unmod_noise.nsh"
-!include "@srcdir@\src\modules\mod_particle\unmod_particle.nsh"
-!include "@srcdir@\src\modules\mod_geometry\unmod_geometry.nsh"
-!include "@srcdir@\src\modules\mod_svg\unmod_svg.nsh"
-SectionGroupEnd
-SectionGroup "un.Render Targets"
-!include "@srcdir@\src\modules\mod_bmp\unmod_bmp.nsh"
-!include "@srcdir@\src\modules\mod_dv\unmod_dv.nsh"
-!include "@srcdir@\src\modules\mod_ffmpeg\unmod_ffmpeg.nsh"
-!include "@srcdir@\src\modules\mod_gif\unmod_gif.nsh"
-!include "@srcdir@\src\modules\mod_imagemagick\unmod_imagemagick.nsh"
-!include "@srcdir@\src\modules\mod_jpeg\unmod_jpeg.nsh"
-!include "@srcdir@\src\modules\mod_openexr\unmod_openexr.nsh"
-!include "@srcdir@\src\modules\mod_png\unmod_png.nsh"
-!include "@srcdir@\src\modules\mod_ppm\unmod_ppm.nsh"
-!include "@srcdir@\src\modules\mod_yuv420p\unmod_yuv420p.nsh"
-SectionGroupEnd
-SectionGroupEnd
-
-Function .onInit
-	; Get installer location
-	ReadRegStr $R0 HKLM "${SYNFIG_UNINSTALL_KEY}" "UninstallString"
-;	IfErrors 0 +2
-;	ReadRegStr $R0 HKCU "${SYNFIG_UNINSTALL_KEY}" "UninstallString"
-	
-	StrCmp $R0 "" done
-
-	; Get current installed version
-	ReadRegStr $R1 HKLM "${SYNFIG_UNINSTALL_KEY}" "DisplayVersion"
-;	IfErrors 0 +2
-;	ReadRegStr $R1 HKCU "${SYNFIG_UNINSTALL_KEY}" "DisplayVersion"
-
-;  StrCmp $R1 ${PRODUCT_VERSION} done
-
-	MessageBox MB_YESNOCANCEL|MB_ICONEXCLAMATION "A previous version of @PACKAGE_NAME@ appears to be installed. Would you like to uninstall it first?" IDNO done IDCANCEL abortInstall
-
-	; Run the uninstaller
-	
-	ClearErrors
-	; CopyFiles "$R0" $TEMP
-	ExecWait '$R0 _?=$INSTDIR'
-	IfErrors no_remove_uninstaller
-	Delete $R0
-	RMDir $INSTDIR
-
-no_remove_uninstaller:
-;    Delete "$TEMP\$R0"
-	
-    ; Check that the user completed the uninstallation by examining the registry
-    ReadRegStr $R0 HKLM "${SYNFIG_UNINSTALL_KEY}" "UninstallString"
-	StrCmp $R0 "" done abortInstall
-	ReadRegStr $R0 HKCU "${SYNFIG_UNINSTALL_KEY}" "UninstallString"
-	StrCmp $R0 "" done abortInstall
-
-abortInstall:
-    MessageBox MB_OK|MB_ICONEXCLAMATION "Unable to uninstall previous version of @PACKAGE_NAME@"
-    Abort
-
-done:
-    BringToFront
-
-FunctionEnd

-- 
synfig-synfig packaging



More information about the pkg-multimedia-commits mailing list