This is a thread for posting weekly reports about Synfig development. We are already posting such reports on Patreon for many months, but I guess not everyone subscribed to our updates there.
So, the idea is to post draft reports here for two purposes:
keep everyone updated on what’s going on.
community can suggest additions if something is missed in report.
Please let me know your opinion about this idea in comments.
This week we finally released Synfig 1.3.14! And again, right after release discovered one more critical issue, which is blocking stable release. So, when the issue will be fixed we will have one more development release - 1.3.15.
Other news:
Fixed functionality of “View" -> “Toolbar” command (issue #1394). Thanks to Arya Bhardwaj.
Now it is possible to close Spline while creating it by clicking on first vertex, even if the tangents ducks are at same place (issue #1281). Thanks to Rodolfo Ribeiro Gomes.
Don’t show multiple warning messages about old canvas (issue #1380). Thanks to Konstantin Dmitriev.
Several CMake related fixes that came up while creating a snap package (PR #1399). Thanks to Maximilian Federle.
Code cleanup in Text Layer (PR #1403). Thanks to Rodolfo Ribeiro Gomes.
In previous weekly report I forgot to mention that Google has approved 3 slots for us in Google Summer of Code. That means this summer we will have 3 students working on Synfig for full time! Their projects are:
Intuitive Skeleton tool (Aditya Abhiram).
Improvements for Lottie exporter plugin (Saurabh Chand Ramola).
Complete CMake Build System (Ayush Chamoli).
Congratulations to our accepted students!
And here’s what’s new in Synfig code:
Major improvement: Sound Panel now loads sound layers from canvas (see PR #1370). Thanks to Rodolfo Ribeiro Gomes.
Fixed ‘font not found’ error in Text Layer (issue #1407). Thanks to Rodolfo Ribeiro Gomes.
Minor code cleanup on color dialog (PR #1396). Thanks to Rodolfo Ribeiro Gomes.
Added option to Synfig Player, which allows playback animation in realtime (PR #1356). Thanks to Aditya Abhiram.
Lottie exporter: Added support for linear gradient (PR #1286). Thanks to Saurabh Chand Ramola.
Fixed time and delta values in tooltip while dragging in Graph Panel (issue #1405). Thanks to Rodolfo Ribeiro Gomes.
Removed unused item from menu - “Change Preview Quality” (PR #1094). Thanks to Rodolfo Ribeiro Gomes.
This week we’ve got Synfig packed for snap (snapcraft.io)! Big thanks to Maximilian Federle for making this possible! See details here.
Also, we got fixed bug with glitching widthpoints, which was blocking stable release (thanks to Konstantin Dmitriev). Unfortunately, in process of fixing we found another critical issue, which is a blocker now. We are working on resolving it!
Other news:
Fixed usability issue when choosing filename for parameter via file selection dialog (see screenshot attached above). Previously, the change was not taking effect until user press Enter in parameter’s textfield. Now this is not required anymore. For details see PR #1425. Thanks to Rodolfo Ribeiro Gomes for the fix!
Improvement for Lottie Exporter: Add support for aTan2 convert method (PR #1363). Thanks to Saurabh Chand Ramola.
Fix crashing when removing spline points too fast (PR #1434). Thanks to Rodolfo Ribeiro Gomes.
Fixed bug when no waypoints is selected in Timetrack and user presses Delete key (PR #1424). Thanks to Rodolfo Ribeiro Gomes.
Fixed issue when doing bounding-box selection from bottom-up in Timetrack fix in rectangle-selection from bottom to top (PR #1427). Thanks to Rodolfo Ribeiro Gomes.
Improved warning dialog UI. (PR#1450). Thanks to Keyikedalube Ndang;
“Animation Speed” parameter of Noise Distort layer now set to static by default (PR#1444). If you don’t know what static parameters are, you can read here. Thanks to Firas Hanife;
Git commit REVISION_ID extended to 7 characters instead of 6 characters (PR#1316). This will allows to avoid collisions, when you searching git by commit id (in some rare cases). Thanks to Firas Hanife;
Fixed a bug in which the DashItem Offset and Length fields displayed different values in the window and when editing them (PR#1270). Thanks to Firas Hanife;
A new feature has been added allowing to detect duplicate frames when importing a sequence of images (PR#1330). Thanks to Aditya Abhiram;
Added workaround for Synfig crash, which occurs when switching tabs from one document to another. This bug affects only those who builds Synfig from master branch and uses new timetrack (PR#1439). Thanks to Rodolfo Ribeiro Gomes;
[Lottie Exporter] Added support for Vector Angle convert method (PR#1409). Thanks to Saurabh Chand Ramola;
[Lottie exporter] Cleaned up Radial Composite convert method (PR#1447). Thanks to Saurabh Chand Ramola;
[Lottie Exporter] Added support for Radial Gradient layer (PR#1446). Thanks to Saurabh Chand Ramola;
Thanks to everyone who helps make Synfig better. You are awesome! See you next week!
Fixed critical issue with incorrect position of Widthpoints on Homogenous Advanced Outline (issue #1431). This issue was blocking release of version 1.4.0 and now it is solved. Much thanks to Rodolfo Ribeiro Gomes.
Fixed one more issue with outlines: “Link to Spline” was placing vertex into wrong position when Spline is looped (issue #1467). Thanks to Konstantin Dmitriev.
Lottie Exporter: Refactor modules, added named constants (#1456). Thanks to Anish Gulati.
Fixed missing files for translation in POTFILES.in file (PR #1466). Thanks to Rodolfo Ribeiro Gomes.
That’s all for today! Thanks to everyone who helps make Synfig better. You are awesome! See you next week!
As result, Rodolfo Ribeiro Gomes added an improvement, which allows to change UI icon theme (PR #1483). Icon themes can be placed in “share/synfig/icons/” (i.e. “share/synfig/icons/new-theme-folder). Theme can be changed by setting environment variable “SYNFIG_ICON_THEME” (eg. SYNFIG_ICON_THEME=new-theme-folder).
Other changes:
Fixed critical (and very annoying) issue with copying Skeleton layers, which was resulting in damaged files (PR #1438). Much thanks to Rodolfo Ribeiro Gomes.
Synfig now asks for confirmation before overwriting exported files (issue #1360). Thanks to Firas Hanife.
Improved UI layout for Info Panel (PR #1487). Thanks to Rodolfo Ribeiro Gomes.
Technical improvements:
Improvements to Lottie test script - now there is a way to indicate which tests are allowed to fail (PR #1448). Thanks to Anish Gulati.
Add test file for conversion between homogeneous and standard width points (PR #1471). Thanks to Rodolfo Ribeiro Gomes.
Try to catch all exceptions thrown in GTK event callback/handlers (PR #1475). Thanks to Rodolfo Ribeiro Gomes.
Code cleanup: Simplify access to data directories (PR #1477). Thanks to Rodolfo Ribeiro Gomes.
Fixed critical bug with rendering of cusps in Advanced Outlines. See issues #1329 and #1480 for details. Much thanks to Rodolfo Ribeiro Gomes.
Fixed loading files with Arabic characters (and other UTF-16 symbols) in their names (PR #1532). Thanks to Konstantin Dmitriev.
All new Advanced Outlines now created with Homogenous parameter enabled and this parameter is set to static by default (PR #1533). Thanks to Konstantin Dmitriev.
Fixed bug with first brush path displayed twice (PR #1529). Thanks to Rodolfo Ribeiro Gomes.
Fixed MacOS build. Also, now it is possible to use CMake to easily generate configuration file for developing with XCode - see PR #1534 for details. Thanks to Artem Konoplin.
Lottie Exporter project (Saurabh Chand Ramola): Added support for Power Convert method (PR #1515).
CMake project (Ayush Chamoli): Added ability to generate .deb package using CPack. See instructions in PR #1519.
Skeleton Tool project (Aditya Abhiram): The tool has its basic functionality now - it is possible to create bones in arbitrary locations, define which existing bone will be a parent for next bone and undo actions made with bone tool.
Synfig Studio does not crash anymore if workarea rendering hits an exception (PR #1561). This helps to avoid many crashes, like this one - now application continues to work even if render engine hits an error. Thanks to Rodolfo Ribeiro Gomes.
Fixed crash when undoing creation of a moved/changed vertex of spline (PR #1551). Thanks to Rodolfo Ribeiro Gomes.
For Text Layer now it is possible to select font family from drop-down menu (PR #1432). Thanks to Rodolfo Ribeiro Gomes.
Added a preference option to disable thumbnail preview, which appears when mouse cursor is hovered over timeline (PR #1413). Disabling this option is a workaround to fix issues with preview on Wayland session (Linux). See issue #1144 for details. Thanks to Keyikedalube Ndang.
Fixed corrupted filenames when rendering to files with non-latin symbols via ffmpeg on Windows (PR #1568). Thanks to Konstantin Dmitriev.
Fixed uncaught exceptions in destructors (PR #1571). Thanks to Rodolfo Ribeiro Gomes.
Improved documentation of “exception_guard.h” (PR #1578). Thanks to Rodolfo Ribeiro Gomes.
News from our GSoC students:
Lottie exporter (Saurabh Chand Ramola): Now it is possible to export bones animation (at the moment not all features are supported, but this is dictated by Lottie format limitations), added support for “Not” convert method, added support for “Logarithm” convert method.
Skeleton Tool project (Aditya Abhiram): Added possibility to interactively re-parent bones, the tool now displays control points when user constructs bone, fixed issue with building Skeleton inside of transformed group.
CMake build system (Ayush Chamoli): Now it is possible to generate NSIS installer. Also, fixed issue with missing icon in Synfig Studio binary.
Hi guys! This week we have released new development version - Synfig 1.3.15. Please download and test it - we worked hard to improve its stability and need your feedback on it.
It’s summer and our weekly reports are getting really hot. Check out changes for the last week:
Synfig now capable to export videos with sound (PR #1623). This is enabled automatically if your animation has sound layers. Thanks to Konstantin Dmitriev and Rafed Communication Tech L.L.C for sponsoring this issue.
Added button to stop rendering process (#1585). Thanks to Firas Hanife.
Fixed issue with canvas end-time could be set by wrong reason (PR #1614). Thanks to Rodolfo Ribeiro Gomes.
Code optimization in Text Layer: Avoid unneeded font search (PR #1622). Thanks to Rodolfo Ribeiro Gomes.
[Lottie Exporter] Add support for blur layers (PR #1505). Thanks to Saurabh Chand Ramola.
[Lottie Exporter] Add support for Logarithm convert method (PR #1586). Thanks to Saurabh Chand Ramola.
[Skeleton Tool] Fixed highlighting of active bone in Skeleton Deformation layer (PR #1628). Thanks to Aditya Abhiram.
[Skeleton Tool] Trigger visibility of Width Points depending on conditions (issue #1556). Thanks to Aditya Abhiram.
[Skeleton Tool] Trigger visibility of Deformation layer when Skeleton Tool switched (issue #1624). Thanks to Aditya Abhiram.
[Skeleton Tool] New Skeleton layer now created empty, without default bone (PR #1620). Thanks to Aditya Abhiram.
Source code now includes preconfigured files for developing with Visual Studio Code IDE on Windows (PR #1639). Thanks to Konstantin Dmitriev.
That’s all for today! Thanks to everyone who helps to make Synfig better. You are incredible!
Rodolfo Ribeiro Gomez is working on RTL support for Text Layer. You can see the first results in this thread.
Dialog windows now return true only if the button with id=1 (accept) is clicked. Previously, there could be a situation where files were overwritten when the dialog was closed. (PR #1573). Thanks to Firas Hanife.
Improved Layer Freetype speed: now font face file does not reload on every rendering (PR #1655). Thanks to Rodolfo Ribeiro Gomes.
Fixed memory leak with Widget_Timetrack (PR #1652). Thanks to Rodolfo Ribeiro Gomes.
Fixed memory leak when destroying ThreadPool (PR #1651). Thanks to Rodolfo Ribeiro Gomes.
[Lottie Exporter] Added support for reciprocal convert method (PR #1619). Thanks to Saurabh Chand Ramola.
[VS Code] Added Visual Studio Code configuration for debugging on Linux (PR #1682). Thanks to Konstantin Dmitriev.
[CMake] Added basic support for MS Visual Studio 2019 and vcpkg (PR #1646). Thanks to Ayush Chamoli.
[CMake] All enabled modules added as a dependency for synfig_bin. This fixed the problem where some of the Synfig Studio icons could not be generated. (PR #1677). Thanks to Ayush Chamoli.
[CMake] Fixed FontConfig detection (PR #1664). Thanks to Artem Konoplin.
[Skeleton Tool] Fixed active bone setting while pressed on control point (PR #1662). Thanks to Aditya Abhiram.
[Skeleton Tool] Removed “Create Child Bone” action menu (PR #1663). Thanks to Aditya Abhiram.
[Skeleton Tool] Fixed ‘Make parent to active bone’ crash (PR #1671). Thanks to Aditya Abhiram.
[Skeleton Tool] Rename ‘Make parent to active bone’ (PR #1676). Thanks to Aditya Abhiram.
[Skeleton Tool] Synfig crashes when we try to edit any control point other than a bone’s (PR #1679). Thanks to Aditya Abhiram.
Fixed ‘Error: Broken pipe’ message, when installing brew packages on MacOS (PR #1659). Thanks to Artem Konoplin.
Fixed warnings ‘format ‘%lx’ expects argument of type…’ (PR #1668). Thanks to Artem Konoplin.
Fixed unused/redefined variables warnings (PR #1672). Thanks to Artem Konoplin.
[MacOS] Added proper Clang info to About dialog (PR #1675). Thanks to Artem Konoplin.
That’s all for today! Thanks to everyone who helps to make Synfig better.!
Also, Lottie Exporter now has new mode, which exports outlines without variable widths (PR #1647) - see illustration attached to this post. This greatly reduces the size of exported files and we advise to use it if your animation does not have outlines with variable widths.
Skeleton Tool got several critical fixes (thanks to Aditya Abhiram):
Fixed crash when switching to Skeleton Tool (see issue #1683)…
Fixed issue with loading file, which has layers created with Skeleton Tool (see issue #1680),
Other changes:
CMake build system: Fixed path for splash screen image and added Adwaita icons for MSYS2 builds (PR #1689). Thanks to Ayush Chamoli.
Fix for Autotools build system: Pango and Imagemagick-c++ flags moved to their respective modules (PR #1688). Thanks to Rodolfo Ribeiro Gomes.
Fix for Windows build (MSYS2): Removed “set_env.sh” script. All variables replaced by native MSYS2 environment variables. Thanks to Artem Konoplin.
That’s all for today! Thanks to everyone who helps to make Synfig better! Stay tuned till the next report.
Hi guys! Last week was quiet - we’ve got GSoC 2020 finished and everyone is having some rest. You can read detailed reports on what’s has been done by our students:
Also, last week we’ve got one fix from Firas Hanife - fixed “order by name” functionality in Parameters Panel (issue #1702).
That’s all for today! Congrats to everyone with completion of GSoC and thanks so much to everyone who contributes!
P.S. I’ve got some slight health issues last week, so don’t be surprised if I am silent or responding slow. Nothing serious, I’ll be back on track soon.