Branch: refs/heads/testing
  Home:   https://github.com/synfig/synfig
  Commit: fc38d7c0daf676760ca06523a644ebdc386fd77e
      
https://github.com/synfig/synfig/commit/fc38d7c0daf676760ca06523a644ebdc386fd77e
  Author: rodolforg <rodolf...@users.noreply.github.com>
  Date:   2022-08-09 (Tue, 09 Aug 2022)

  Changed paths:
    M synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp

  Log Message:
  -----------
  refactor: prefer FileSystemNative rather GLib (#2780)

less (direct) external dependency


  Commit: 19e3e5f51d718dd59d2b65a1104925416380c954
      
https://github.com/synfig/synfig/commit/19e3e5f51d718dd59d2b65a1104925416380c954
  Author: rodolforg <rodolf...@users.noreply.github.com>
  Date:   2022-08-09 (Tue, 09 Aug 2022)

  Changed paths:
    M synfig-studio/src/gui/canvasview.cpp
    M synfig-studio/src/gui/resources/css/synfig.css
    M synfig-studio/src/gui/workarea.cpp

  Log Message:
  -----------
  fix: Interface background became white after clicking OK in Preferences 
dialog (#2732)

The canvas area is actually a Gtk::DrawingArea, and its default background
color is white (on light themes).
However, at start, it's not properly draw, and only the central area is
drawn by Synfig software (via workarea renderers). When Work Area itself
gains focus, it shows its white background defined by Gtk theme.

Fix #2636


  Commit: 54e49872deb52b39457ac2406812e4280531c7ca
      
https://github.com/synfig/synfig/commit/54e49872deb52b39457ac2406812e4280531c7ca
  Author: Konstantin Dmitriev <ksee.zelga...@gmail.com>
  Date:   2022-08-10 (Wed, 10 Aug 2022)

  Changed paths:
    M ChangeLog-generate.sh

  Log Message:
  -----------
  ci: Updated ChangeLog generator script (#2782)

* ChangeLog generator now parses merge commits only (the ones with #NUMBER 
strings in commit message)


  Commit: c7b3bf03b5e1b6cbcf02cb5660bb86388309dc14
      
https://github.com/synfig/synfig/commit/c7b3bf03b5e1b6cbcf02cb5660bb86388309dc14
  Author: rodolforg <rodolf...@users.noreply.github.com>
  Date:   2022-08-10 (Wed, 10 Aug 2022)

  Changed paths:
    M synfig-core/src/modules/mod_imagemagick/mptr_imagemagick.cpp

  Log Message:
  -----------
  refactor: removed code from ImageMagick module commented out from 2005 (#2783)


  Commit: 671407c3e6e073a8127e82172206f5b88275af40
      
https://github.com/synfig/synfig/commit/671407c3e6e073a8127e82172206f5b88275af40
  Author: rodolforg <rodolf...@users.noreply.github.com>
  Date:   2022-08-10 (Wed, 10 Aug 2022)

  Changed paths:
    M synfig-core/test/CMakeLists.txt

  Log Message:
  -----------
  test: missing keyframe test in CMake (#2784)


  Commit: 38cc869732922a2f2e61fb986626fb4fb513c952
      
https://github.com/synfig/synfig/commit/38cc869732922a2f2e61fb986626fb4fb513c952
  Author: rodolforg <rodolf...@users.noreply.github.com>
  Date:   2022-08-10 (Wed, 10 Aug 2022)

  Changed paths:
    M synfig-core/src/synfig/layers/layer_composite.cpp

  Log Message:
  -----------
  chore: typo in comment (#2785)


  Commit: 12252fefb172c4b6d4d78a4f5cf8b6351b83961f
      
https://github.com/synfig/synfig/commit/12252fefb172c4b6d4d78a4f5cf8b6351b83961f
  Author: ice0 <konop...@gmail.com>
  Date:   2022-08-11 (Thu, 11 Aug 2022)

  Changed paths:
    M .github/workflows/synfig-ci.yml

  Log Message:
  -----------
  ci: disabled `mod_magickpp` in macOS builds (#2790)

fix #2787


  Commit: bb361718bc6d061d010e5d6ab5bebeeaae59ad71
      
https://github.com/synfig/synfig/commit/bb361718bc6d061d010e5d6ab5bebeeaae59ad71
  Author: ice0 <konop...@gmail.com>
  Date:   2022-08-11 (Thu, 11 Aug 2022)

  Changed paths:
    M synfig-studio/src/gui/canvasview.cpp

  Log Message:
  -----------
  fix: Right-clicking a layer on a just opened file shows empty menu (#2781)

The issue was introduced by this commit (87cc5d2)

When the list of selected layers was empty, then
clicking on the layer opened an empty menu.

Now the logic has changed:
If the layer is in the list of selected layers, then
actions are applied to them, if not, then the selection
is removed from them and the layer that was clicked
becomes selected (and actions applied to it).


  Commit: 0a545ccbbdf1dd255de1c45a23797b428d9c4e75
      
https://github.com/synfig/synfig/commit/0a545ccbbdf1dd255de1c45a23797b428d9c4e75
  Author: rodolforg <rodolf...@users.noreply.github.com>
  Date:   2022-08-12 (Fri, 12 Aug 2022)

  Changed paths:
    M synfig-studio/src/gui/resources/ui/Makefile.am

  Log Message:
  -----------
  build(autotools): include UI files created via PR #2638 (#2786)

Commit: 0b455f370fc7fcf3d640eecd4c988729af0d25d8


  Commit: 25f28b14214bcc98d736ce88138e79f087d56510
      
https://github.com/synfig/synfig/commit/25f28b14214bcc98d736ce88138e79f087d56510
  Author: rodolforg <rodolf...@users.noreply.github.com>
  Date:   2022-08-13 (Sat, 13 Aug 2022)

  Changed paths:
    M synfig-core/src/modules/mod_imagemagick/mptr_imagemagick.cpp
    M synfig-core/src/synfig/filesystemtemporary.cpp
    M synfig-core/src/synfig/filesystemtemporary.h

  Log Message:
  -----------
  fix!: imagemagick didn't import anything (#2789)

it uses application name "convert" to convert the desired image
into another temporary one with a well-known format (PNG).
This temporary image would then be really imported
(via another module - not very clever; what if it is not loaded?)

The problem is the temporary file is automatically named without any
extension.
In the end, Synfig can't load it, as it depends on the extension to select
the Importer.

Tested with a XPM file because XPM seems to be only loaded by imagemagick
https://filesamples.com/formats/xpm

BREAKING CHANGE: Synfig library API changed:
- Two methods of FileSystemTemporary has a new optional parameter: extension:
 - generate_system_temporary_filename
 - generate_system_temporary_filename_base


  Commit: 6bf36b96769badbc4aa66976f6df928cac3acc78
      
https://github.com/synfig/synfig/commit/6bf36b96769badbc4aa66976f6df928cac3acc78
  Author: rodolforg <rodolf...@users.noreply.github.com>
  Date:   2022-08-13 (Sat, 13 Aug 2022)

  Changed paths:
    M synfig-core/src/synfig/valuenodes/valuenode_bone.cpp

  Log Message:
  -----------
  fix: using invalid iterator in ValueNode_Bone (#2793)

Fix CID 379195


  Commit: 226b22dfc12b94bb064ab6fc9676c0f3ddd0ada1
      
https://github.com/synfig/synfig/commit/226b22dfc12b94bb064ab6fc9676c0f3ddd0ada1
  Author: rodolforg <rodolf...@users.noreply.github.com>
  Date:   2022-08-14 (Sun, 14 Aug 2022)

  Changed paths:
    M synfig-core/po/POTFILES.in

  Log Message:
  -----------
  build: remove nonexistent files listed in synfig-core/po/POTFILES.in (#2794)

they were removed in c67b5d3f34eb8413dc9d2fcb0f657a2f743174a0
(PR #2775)


  Commit: e049441d38a714e142a586d73086847c5330aba0
      
https://github.com/synfig/synfig/commit/e049441d38a714e142a586d73086847c5330aba0
  Author: luzpaz <luz...@users.noreply.github.com>
  Date:   2022-08-15 (Mon, 15 Aug 2022)

  Changed paths:
    M ETL/ChangeLog.old
    M ETL/NEWS
    M perf/scripts/view_comparison_graph.py
    M synfig-core/src/modules/mod_svg/svg_parser.cpp
    M synfig-core/src/modules/mod_svg/svg_parser.h
    M synfig-core/src/synfig/node.h
    M synfig-core/src/synfig/valuenodes/valuenode_derivative.h
    M synfig-osx/launcher/utils/dumpkeymap.man
    M synfig-studio/AUTHORS
    M synfig-studio/docs/bones_gui.txt
    M synfig-studio/src/gui/docks/dockable.cpp
    M synfig-studio/src/gui/docks/dockbook.cpp
    M synfig-studio/src/gui/duckmatic.cpp
    M synfig-studio/src/gui/states/state_normal.cpp
    M synfig-studio/src/synfigapp/vectorizer/centerlineskeletonizer.cpp

  Log Message:
  -----------
  chore: fix various typos (#2799)

Found via `codespell -q 3 -L 
aline,ang,ba,childs,dout,eiter,forse,objext,pard,parms,pevent,propertyst,ro,shouldbe,thru,uint,unselect,vertexes
 -S 
./synfig-studio/po,./synfig-core/po,/synfig-core/m4,./synfig-osx/,./gtkmm-osx,./bugs,.*.eps,*.sif,./synfig-studio/plugins/lottie-exporter`


  Commit: 2d13c78149795212602d54272a3efaec6e2a2eb2
      
https://github.com/synfig/synfig/commit/2d13c78149795212602d54272a3efaec6e2a2eb2
  Author: rodolforg <rodolf...@users.noreply.github.com>
  Date:   2022-08-15 (Mon, 15 Aug 2022)

  Changed paths:
    M synfig-studio/src/synfigapp/actions/layermove.cpp

  Log Message:
  -----------
  fix: check whether iterator is valid before dereferencing (#2798)


  Commit: fc78ce7992df6171e24ebd57292c19a5dfc3a45c
      
https://github.com/synfig/synfig/commit/fc78ce7992df6171e24ebd57292c19a5dfc3a45c
  Author: luzpaz <luz...@users.noreply.github.com>
  Date:   2022-08-15 (Mon, 15 Aug 2022)

  Changed paths:
    M synfig-studio/src/gui/app.cpp
    M synfig-studio/src/gui/app.h

  Log Message:
  -----------
  chore: fix source typos (#2803)

s/detials/details/


  Commit: e289d69bbccffe77158d7d2b65d932896c0fac04
      
https://github.com/synfig/synfig/commit/e289d69bbccffe77158d7d2b65d932896c0fac04
  Author: rodolforg <rodolf...@users.noreply.github.com>
  Date:   2022-08-15 (Mon, 15 Aug 2022)

  Changed paths:
    M synfig-core/src/synfig/listimporter.cpp

  Log Message:
  -----------
  feat: added support for SVG image sequence with lst files (#2795)

with the fix provided by PR #2789 (commit 
25f28b14214bcc98d736ce88138e79f087d56510),
it was finally viable to implement this (simple) feature :)

fix #965


  Commit: ac8214e47fd71dbec1066f475e98bd9dda5859e7
      
https://github.com/synfig/synfig/commit/ac8214e47fd71dbec1066f475e98bd9dda5859e7
  Author: ice0 <konop...@gmail.com>
  Date:   2022-08-16 (Tue, 16 Aug 2022)

  Changed paths:
    M synfig-core/src/modules/mod_ffmpeg/trgt_ffmpeg.cpp

  Log Message:
  -----------
  fix: Fixed issue with incorrect ffmpeg search on Windows (#2797)

introduced in fc38d7c


  Commit: 4c997135228c7b2f3767bb2f6420bb9acdd93f59
      
https://github.com/synfig/synfig/commit/4c997135228c7b2f3767bb2f6420bb9acdd93f59
  Author: rodolforg <rodolf...@users.noreply.github.com>
  Date:   2022-08-17 (Wed, 17 Aug 2022)

  Changed paths:
    M synfig-core/src/modules/mod_gradient/conicalgradient.cpp
    M synfig-core/src/modules/mod_gradient/curvegradient.cpp
    M synfig-core/src/modules/mod_gradient/lineargradient.cpp
    M synfig-core/src/modules/mod_gradient/radialgradient.cpp
    M synfig-core/src/modules/mod_gradient/spiralgradient.cpp
    M synfig-core/src/modules/mod_noise/noise.cpp
    M synfig-core/src/synfig/layers/layer_pastecanvas.cpp

  Log Message:
  -----------
  fix: hit_check for gradient & paste_canvas layers with BEHIND and ONTO blends 
(#2804)


  Commit: 9cc796e08727bf478c87dc93a74e46822398a16b
      
https://github.com/synfig/synfig/commit/9cc796e08727bf478c87dc93a74e46822398a16b
  Author: rodolforg <rodolf...@users.noreply.github.com>
  Date:   2022-08-17 (Wed, 17 Aug 2022)

  Changed paths:
    M ETL/ETL/CMakeLists.txt
    M ETL/ETL/Makefile.am
    R ETL/ETL/_calculus.h
    M ETL/ETL/_hermite.h
    R ETL/ETL/calculus
    M ETL/test/hermite.cpp
    M synfig-core/src/modules/lyr_std/curvewarp.cpp
    M synfig-core/src/modules/mod_geometry/outline.cpp
    M synfig-core/src/modules/mod_gradient/curvegradient.cpp
    M synfig-core/src/modules/mod_particle/plant.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_bline.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_blinecalctangent.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_blinereversetangent.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_segcalctangent.cpp
    M synfig-core/test/benchmark.cpp
    M synfig-studio/src/gui/states/state_bline.cpp

  Log Message:
  -----------
  refactor!: add etl::hermite::derivative() and remove ETL/calculus (#2791)

BREAKING CHANGE: ETL API changed:
- add etl::hermite::derivative()
- remove etl::derivative() ; not used
- remove etl::derivative<hermite<>>() ; use etl::hermite::derivative()
- remove etl::integral() ; not used


  Commit: 361ffce745bbe2534ffdee5e05dca80b7cdb55e1
      
https://github.com/synfig/synfig/commit/361ffce745bbe2534ffdee5e05dca80b7cdb55e1
  Author: Konstantin Dmitriev <ksee.zelga...@gmail.com>
  Date:   2022-08-23 (Tue, 23 Aug 2022)

  Changed paths:
    M ChangeLog-development.md
    M ChangeLog.last_id
    M ChangeLog.md

  Log Message:
  -----------
  chore: updated changelog (#2774)

* ChangeLog: Mark previous commits as part of 1.5.1

* Update ChangeLog up to 2021-10-24

* Update ChangeLog up to 2021-10-31

* Fix commit message

* Update ChageLog for 1.5.1

* Update ChangeLog up to 2021-11-07

* Update ChangeLog up to 2021-11-15

* Update ChangeLog up to 2021-11-22

* Update ChangeLog up to 2021-11-28

* Update ChangeLog up to 2021-12-05

* Update ChangeLog up to 2021-12-12

* Update ChangeLog up to 2021-12-19

* Update ChangeLog up to 2021-12-26

* Update ChangeLog up to 2022-01-02

* Update ChangeLog up to 2022-01-09

* Update ChangeLog up to 2022-01-16

* Update ChangeLog up to 2022-01-23

* Update ChangeLog up to 2022-01-30

* Update ChangeLog up to 2022-02-06

* Update ChangeLog up to 2022-02-13

* Update ChangeLog up to 2022-02-20

* Update ChangeLog up to 2022-02-27

* Update ChangeLog up to 2022-03-06

* Update ChangeLog up to 2022-03-13

* Update ChangeLog up to 2022-03-20

* Update ChangeLog up to 2022-03-27

* Update ChangeLog up to 2022-04-05

* Update ChangeLog up to 2022-04-12

* Update ChangeLog up to 2022-04-19

* Update ChangeLog up to 2022-04-26

* Update ChangeLog up to 2022-05-03

* Update ChangeLog up to 2022-05-10

* Update ChangeLog up to 2022-05-17

* Update ChangeLog up to 2022-05-24

* Update ChangeLog up to 2022-05-31

* Update ChangeLog up to 2022-06-07

* Update ChangeLog up to 2022-06-14

* Update ChangeLog up to 2022-06-21

* Update ChangeLog up to 2022-06-28

* Update ChangeLog up to 2022-07-05

* Update ChangeLog up to 2022-07-12

* Update ChangeLog up to 2022-07-19

* Update ChangeLog up to 2022-07-26

* Update ChangeLog up to 2022-08-02

* Update ChangeLog up to 2022-08-09

* Update ChangeLog up to 2022-08-16


  Commit: 36896b9237a3a1e0e73a117b9775a738da6c7446
      
https://github.com/synfig/synfig/commit/36896b9237a3a1e0e73a117b9775a738da6c7446
  Author: rodolforg <rodolf...@users.noreply.github.com>
  Date:   2022-08-25 (Thu, 25 Aug 2022)

  Changed paths:
    M synfig-studio/src/gui/trees/layerparamtreestore.cpp

  Log Message:
  -----------
  fix: avoid rebuild ParamTreeStore when animating a parameter (#2729)

Calling rebuild() causes two bugs:
1. Parameters panel collapses items on edit (GH#386), when we
   we have Animation Mode enabled and are editing parameter that
   wasn't previously animated.
   'Solution' seems to be to call queue_refresh()
2. Crash (or emit Gtk warning) when we animate a parameter (like
   previous case) that uses a combobox for editing (GH#2390), as
   Active Layer Name of Switch Layer or Bone Parent in Bones list
   of Skeleton Layer.
   'Solution' seems to be to call queue_rebuild()

However, when a value node is replaced (via RHandle::replace()),
it already calls Node::signal_changed() so the row is refreshed
by other signal slot.

Fix #386
Fix #2390


  Commit: 5aee83b4f54d15f1b4b3b216e1122da064c69d63
      
https://github.com/synfig/synfig/commit/5aee83b4f54d15f1b4b3b216e1122da064c69d63
  Author: ice0 <konop...@gmail.com>
  Date:   2022-08-26 (Fri, 26 Aug 2022)

  Changed paths:
    M synfig-studio/src/gui/trees/layerparamtreestore.cpp

  Log Message:
  -----------
  fix: params panel doesn't update after layer switch (#2811)


  Commit: 9cecd2abe143e29cf0564e511183beebab7dfafb
      
https://github.com/synfig/synfig/commit/9cecd2abe143e29cf0564e511183beebab7dfafb
  Author: mohamedAdhamc <100296264+mohamedadh...@users.noreply.github.com>
  Date:   2022-08-27 (Sat, 27 Aug 2022)

  Changed paths:
    M synfig-studio/src/gui/app.cpp
    M synfig-studio/src/gui/canvasview.cpp
    M synfig-studio/src/gui/canvasview.h
    M synfig-studio/src/gui/workarea.cpp
    M synfig-studio/src/gui/workarea.h

  Log Message:
  -----------
  feat: added ability to show/hide rulers (#2634)


  Commit: 8a68e7872c70238ff791356e0d8f558b29b992d4
      
https://github.com/synfig/synfig/commit/8a68e7872c70238ff791356e0d8f558b29b992d4
  Author: Hesham Essam <hesham.essam.m...@gmail.com>
  Date:   2022-08-26 (Fri, 26 Aug 2022)

  Changed paths:
    M synfig-core/src/CMakeLists.txt
    M synfig-studio/CMakeLists.txt
    M synfig-studio/src/CMakeLists.txt
    A vcpkg-ports/cairomm/portfile.cmake
    A vcpkg-ports/cairomm/vcpkg.json
    A vcpkg-ports/glibmm/portfile.cmake
    A vcpkg-ports/glibmm/vcpkg.json
    A vcpkg-ports/gtk3/0001-build.patch
    A vcpkg-ports/gtk3/fix_ninja_build.py
    A vcpkg-ports/gtk3/portfile.cmake
    A vcpkg-ports/gtk3/vcpkg.json
    A vcpkg-ports/gtkmm3/portfile.cmake
    A vcpkg-ports/gtkmm3/vcpkg.json
    A vcpkg-ports/libsigcpp-2/portfile.cmake
    A vcpkg-ports/libsigcpp-2/vcpkg.json
    A vcpkg-ports/libxmlpp/portfile.cmake
    A vcpkg-ports/libxmlpp/vcpkg.json
    A vcpkg-ports/pangomm/portfile.cmake
    A vcpkg-ports/pangomm/vcpkg.json
    A vcpkg.json

  Log Message:
  -----------
  build: Use vcpkg to build synfig


  Commit: 1433a1e2a930ea9c6399a78559557a9bf10710b2
      
https://github.com/synfig/synfig/commit/1433a1e2a930ea9c6399a78559557a9bf10710b2
  Author: Hesham Essam <hesham.essam.m...@gmail.com>
  Date:   2022-08-26 (Fri, 26 Aug 2022)

  Changed paths:
    M vcpkg.json

  Log Message:
  -----------
  Add pkgconf as a dependency


  Commit: 3fdb244a5913306786e45256bf4575cf29f4e99c
      
https://github.com/synfig/synfig/commit/3fdb244a5913306786e45256bf4575cf29f4e99c
  Author: Hesham Essam <hesham.essam.m...@gmail.com>
  Date:   2022-08-26 (Fri, 26 Aug 2022)

  Changed paths:
    M synfig-studio/CMakeLists.txt

  Log Message:
  -----------
  Revert build_images MSVC check change


  Commit: 57bb84de0a26154dfda635ea0c956c0a858b035e
      
https://github.com/synfig/synfig/commit/57bb84de0a26154dfda635ea0c956c0a858b035e
  Author: Hesham Essam <hesham.essam.m...@gmail.com>
  Date:   2022-08-26 (Fri, 26 Aug 2022)

  Changed paths:
    A vcpkg-ports/libtool/dirent_fix.patch
    A vcpkg-ports/libtool/portfile.cmake
    A vcpkg-ports/libtool/vcpkg.json

  Log Message:
  -----------
  Add libtool port


  Commit: 6221d1a68ed292a97f2441644d06639caff58734
      
https://github.com/synfig/synfig/commit/6221d1a68ed292a97f2441644d06639caff58734
  Author: Hesham Essam <hesham.essam.m...@gmail.com>
  Date:   2022-08-26 (Fri, 26 Aug 2022)

  Changed paths:
    M synfig-core/CMakeLists.txt
    A synfig-core/fonts-msvc/fonts.conf
    M synfig-core/src/CMakeLists.txt
    M synfig-core/src/modules/CMakeLists.txt
    M synfig-core/src/modules/mod_magickpp/CMakeLists.txt
    M synfig-core/src/synfig/main.cpp
    M synfig-core/src/synfig/module.cpp
    M synfig-studio/CMakeLists.txt
    A vcpkg-ports/imagemagick/disable_complex_fftw.patch
    A vcpkg-ports/imagemagick/dont_include_win32config.patch
    A vcpkg-ports/imagemagick/portfile.cmake
    A vcpkg-ports/imagemagick/vcpkg.json
    M vcpkg.json

  Log Message:
  -----------
  Add ImageMagick recipe and add fontconfig config file


  Commit: 217c03ae9e5c66485ae8c577aa6a0dd906f353af
      
https://github.com/synfig/synfig/commit/217c03ae9e5c66485ae8c577aa6a0dd906f353af
  Author: Hesham Essam <hesham.essam.m...@gmail.com>
  Date:   2022-08-26 (Fri, 26 Aug 2022)

  Changed paths:
    M synfig-core/src/synfig/module.cpp

  Log Message:
  -----------
  Adjust the path when building with msvc only

This is done since some of the modules of synfig have their own
dependencies. When loading any of these modules, their dependencies
have to be in the path to be successfully loaded.
VCPKG has the great feature of copying all the dependencies dlls
right beside the built target so that the path doesn't have to be changed.
But the modules reside in "modules" dir, while they are loaded from
"bin" dir, so the "modules" dir has to be in the path.


  Commit: 76c6e1f76c2ee15dc23b2edfd8c5a88cffb4dc8a
      
https://github.com/synfig/synfig/commit/76c6e1f76c2ee15dc23b2edfd8c5a88cffb4dc8a
  Author: Hesham Essam <hesham.essam.m...@gmail.com>
  Date:   2022-08-26 (Fri, 26 Aug 2022)

  Changed paths:
    A vcpkg-ports/imagemagick/fix_make_dependency.patch
    A vcpkg-ports/imagemagick/fix_ssize_t_undefined.patch
    M vcpkg-ports/imagemagick/portfile.cmake

  Log Message:
  -----------
  Clean up imagemagick port


  Commit: d091a68baee1636d5a060f8fcc39384a28bc0ab3
      
https://github.com/synfig/synfig/commit/d091a68baee1636d5a060f8fcc39384a28bc0ab3
  Author: Hesham Essam <hesham.essam.m...@gmail.com>
  Date:   2022-08-26 (Fri, 26 Aug 2022)

  Changed paths:
    M synfig-studio/src/CMakeLists.txt

  Log Message:
  -----------
  Fix glib-schemas error and fix gdbus warning


  Commit: a7129809993a823380cbac8f67bc148e45422ef3
      
https://github.com/synfig/synfig/commit/a7129809993a823380cbac8f67bc148e45422ef3
  Author: Hesham Essam <hesham.essam.m...@gmail.com>
  Date:   2022-08-26 (Fri, 26 Aug 2022)

  Changed paths:
    M synfig-studio/src/CMakeLists.txt
    M synfig-studio/src/gui/CMakeLists.txt
    A vcpkg-ports/adwaita-icon-theme/portfile.cmake
    A vcpkg-ports/adwaita-icon-theme/vcpkg.json
    A vcpkg-ports/gdk-pixbuf/fix_build_error_windows.patch
    A vcpkg-ports/gdk-pixbuf/portfile.cmake
    A vcpkg-ports/gdk-pixbuf/vcpkg.json
    A vcpkg-ports/hicolor-icon-theme/portfile.cmake
    A vcpkg-ports/hicolor-icon-theme/vcpkg.json
    A vcpkg-ports/libcroco/portfile.cmake
    A vcpkg-ports/libcroco/vcpkg.json
    A vcpkg-ports/librsvg/portfile.cmake
    A vcpkg-ports/librsvg/remove_lm_from_pkgconfig.patch
    A vcpkg-ports/librsvg/use_unix_path.patch
    A vcpkg-ports/librsvg/vcpkg.json
    M vcpkg.json

  Log Message:
  -----------
  Package gdk-pixbuf loders (specifically svg loader) and package add icon 
themes


  Commit: 19bc68d208855f116c7da4b50c3636090bd1e1d0
      
https://github.com/synfig/synfig/commit/19bc68d208855f116c7da4b50c3636090bd1e1d0
  Author: Hesham <hesham.essam.m...@gmail.com>
  Date:   2022-08-26 (Fri, 26 Aug 2022)

  Changed paths:
    M vcpkg.json

  Log Message:
  -----------
  Stylistic change


  Commit: e8a6acbbdf6eece24b879874bd5915bc3dce20c9
      
https://github.com/synfig/synfig/commit/e8a6acbbdf6eece24b879874bd5915bc3dce20c9
  Author: Hesham Essam <hesham.essam.m...@gmail.com>
  Date:   2022-08-26 (Fri, 26 Aug 2022)

  Changed paths:
    A vcpkg-ports/imath/portfile.cmake
    A vcpkg-ports/imath/vcpkg.json
    A vcpkg-ports/openexr/portfile.cmake
    A vcpkg-ports/openexr/vcpkg.json

  Log Message:
  -----------
  Add OpenEXR port


  Commit: 832c39dc153aaa2224345f8ef4947c527053889f
      
https://github.com/synfig/synfig/commit/832c39dc153aaa2224345f8ef4947c527053889f
  Author: Hesham Essam <hesham.essam.m...@gmail.com>
  Date:   2022-08-26 (Fri, 26 Aug 2022)

  Changed paths:
    M synfig-core/src/modules/CMakeLists.txt

  Log Message:
  -----------
  some cmake cleanup


  Commit: 9ec1979b9dfc4788bb054af76e1b895115d4e991
      
https://github.com/synfig/synfig/commit/9ec1979b9dfc4788bb054af76e1b895115d4e991
  Author: Hesham Essam <hesham.essam.m...@gmail.com>
  Date:   2022-08-26 (Fri, 26 Aug 2022)

  Changed paths:
    M synfig-core/src/modules/mod_libavcodec/trgt_av.cpp
    M vcpkg.json

  Log Message:
  -----------
  Add ffmpeg as a dependency to enable mod_libavcodec


  Commit: 672a05cbd8f44b954a6ee58c3bbdcf82a891a725
      
https://github.com/synfig/synfig/commit/672a05cbd8f44b954a6ee58c3bbdcf82a891a725
  Author: Hesham Essam <hesham.essam.m...@gmail.com>
  Date:   2022-08-26 (Fri, 26 Aug 2022)

  Changed paths:
    M vcpkg-ports/imagemagick/portfile.cmake
    M vcpkg-ports/imagemagick/vcpkg.json
    A vcpkg-ports/imath/define_dll.patch
    M vcpkg-ports/imath/portfile.cmake
    M vcpkg-ports/openexr/portfile.cmake

  Log Message:
  -----------
  Fixes to imath, openexr, and imagemagick ports


  Commit: c6933ce908f66a4e98c469fcbaaa9b3202f5bfd2
      
https://github.com/synfig/synfig/commit/c6933ce908f66a4e98c469fcbaaa9b3202f5bfd2
  Author: Hesham Essam <hesham.essam.m...@gmail.com>
  Date:   2022-08-26 (Fri, 26 Aug 2022)

  Changed paths:
    A cmake/FindPkgConfig.cmake
    M synfig-core/src/CMakeLists.txt
    M synfig-core/src/synfig/CMakeLists.txt
    M synfig-core/src/synfig/main.cpp
    M synfig-core/src/synfig/string_helper.cpp
    M synfig-studio/src/gui/CMakeLists.txt
    M synfig-studio/src/gui/canvasview.cpp

  Log Message:
  -----------
  Make synfig Visual Studio 2017 friendly

Changes include:
1. Check if cmake version < 3.22, if so use custom FindPkgConfig
2. Explicitly depend on Intl (it's part of glibc but not part of msvc)
3. Some source code fixes


  Commit: aa5ee54e0d8439fda73b42a3f1a49d63c81e3e1d
      
https://github.com/synfig/synfig/commit/aa5ee54e0d8439fda73b42a3f1a49d63c81e3e1d
  Author: Hesham Essam <hesham.essam.m...@gmail.com>
  Date:   2022-08-26 (Fri, 26 Aug 2022)

  Changed paths:
    M synfig-core/src/synfig/CMakeLists.txt

  Log Message:
  -----------
  Fix spacing


  Commit: c6eb41d71876092484cf2a814c6a294beb78ac1e
      
https://github.com/synfig/synfig/commit/c6eb41d71876092484cf2a814c6a294beb78ac1e
  Author: ice0 <konop...@gmail.com>
  Date:   2022-08-27 (Sat, 27 Aug 2022)

  Changed paths:
    A cmake/FindPkgConfig.cmake
    M synfig-core/CMakeLists.txt
    A synfig-core/fonts-msvc/fonts.conf
    M synfig-core/src/CMakeLists.txt
    M synfig-core/src/modules/CMakeLists.txt
    M synfig-core/src/modules/mod_libavcodec/trgt_av.cpp
    M synfig-core/src/modules/mod_magickpp/CMakeLists.txt
    M synfig-core/src/synfig/CMakeLists.txt
    M synfig-core/src/synfig/main.cpp
    M synfig-core/src/synfig/module.cpp
    M synfig-core/src/synfig/string_helper.cpp
    M synfig-studio/CMakeLists.txt
    M synfig-studio/src/CMakeLists.txt
    M synfig-studio/src/gui/CMakeLists.txt
    M synfig-studio/src/gui/canvasview.cpp
    A vcpkg-ports/adwaita-icon-theme/portfile.cmake
    A vcpkg-ports/adwaita-icon-theme/vcpkg.json
    A vcpkg-ports/cairomm/portfile.cmake
    A vcpkg-ports/cairomm/vcpkg.json
    A vcpkg-ports/gdk-pixbuf/fix_build_error_windows.patch
    A vcpkg-ports/gdk-pixbuf/portfile.cmake
    A vcpkg-ports/gdk-pixbuf/vcpkg.json
    A vcpkg-ports/glibmm/portfile.cmake
    A vcpkg-ports/glibmm/vcpkg.json
    A vcpkg-ports/gtk3/0001-build.patch
    A vcpkg-ports/gtk3/fix_ninja_build.py
    A vcpkg-ports/gtk3/portfile.cmake
    A vcpkg-ports/gtk3/vcpkg.json
    A vcpkg-ports/gtkmm3/portfile.cmake
    A vcpkg-ports/gtkmm3/vcpkg.json
    A vcpkg-ports/hicolor-icon-theme/portfile.cmake
    A vcpkg-ports/hicolor-icon-theme/vcpkg.json
    A vcpkg-ports/imagemagick/disable_complex_fftw.patch
    A vcpkg-ports/imagemagick/dont_include_win32config.patch
    A vcpkg-ports/imagemagick/fix_make_dependency.patch
    A vcpkg-ports/imagemagick/fix_ssize_t_undefined.patch
    A vcpkg-ports/imagemagick/portfile.cmake
    A vcpkg-ports/imagemagick/vcpkg.json
    A vcpkg-ports/imath/define_dll.patch
    A vcpkg-ports/imath/portfile.cmake
    A vcpkg-ports/imath/vcpkg.json
    A vcpkg-ports/libcroco/portfile.cmake
    A vcpkg-ports/libcroco/vcpkg.json
    A vcpkg-ports/librsvg/portfile.cmake
    A vcpkg-ports/librsvg/remove_lm_from_pkgconfig.patch
    A vcpkg-ports/librsvg/use_unix_path.patch
    A vcpkg-ports/librsvg/vcpkg.json
    A vcpkg-ports/libsigcpp-2/portfile.cmake
    A vcpkg-ports/libsigcpp-2/vcpkg.json
    A vcpkg-ports/libtool/dirent_fix.patch
    A vcpkg-ports/libtool/portfile.cmake
    A vcpkg-ports/libtool/vcpkg.json
    A vcpkg-ports/libxmlpp/portfile.cmake
    A vcpkg-ports/libxmlpp/vcpkg.json
    A vcpkg-ports/openexr/portfile.cmake
    A vcpkg-ports/openexr/vcpkg.json
    A vcpkg-ports/pangomm/portfile.cmake
    A vcpkg-ports/pangomm/vcpkg.json
    A vcpkg.json

  Log Message:
  -----------
  build: Use vcpkg to build synfig (#2725)


  Commit: dd55c0f3f982d676696e58fafb9175e4cd388e13
      
https://github.com/synfig/synfig/commit/dd55c0f3f982d676696e58fafb9175e4cd388e13
  Author: ice0 <konop...@gmail.com>
  Date:   2022-08-28 (Sun, 28 Aug 2022)

  Changed paths:
    M synfig-core/src/synfig/gradient.cpp

  Log Message:
  -----------
  fix(msvc): fixed debug build in MSVC (#2812)

1 issue:
"can't decrement vector iterator before begin"

2 issue:
"vector iterators incompatible"


  Commit: 65e91ae8ae4b0ebc965b73318fcf72d14c99af8b
      
https://github.com/synfig/synfig/commit/65e91ae8ae4b0ebc965b73318fcf72d14c99af8b
  Author: Rodolfo Ribeiro Gomes <rodolf...@gmail.com>
  Date:   2022-08-30 (Tue, 30 Aug 2022)

  Changed paths:
    M 1-install-vcpkg.bat
    M 1-setup-linux-native.sh
    M 1-setup-osx-brew.sh
    M 1-setup-windows-msys2.sh
    M autobuild/build.sh
    M autobuild/default-nixpkgs.nix
    M autobuild/default.nix
    M autobuild/fedora-crosscompile-linux.sh
    M autobuild/fedora-crosscompile-win.sh
    M autobuild/snap-stable/snapcraft.yaml
    M autobuild/synfigstudio-cygwin-mingw-build.sh
    M autobuild/synfigstudio-cygwin-native-build.sh
    M autobuild/synfigstudio-osx-build.sh
    M autobuild/synfigstudio-release.sh
    M snap/snapcraft.yaml
    M synfig-core/configure.ac
    R synfig-core/m4/ax_boost_base.m4
    R synfig-core/m4/ax_boost_chrono.m4
    R synfig-core/m4/ax_boost_filesystem.m4
    R synfig-core/m4/ax_boost_program_options.m4
    R synfig-core/m4/ax_boost_system.m4
    M synfig-core/src/CMakeLists.txt
    M synfig-core/src/synfig/valuenodes/CMakeLists.txt
    M synfig-core/src/synfig/valuenodes/valuenode_dynamic.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_dynamic.h
    M synfig-core/src/tool/Makefile.am
    M vcpkg.json

  Log Message:
  -----------
  refactor: remove boost dependency

implement our own Runge-Kutta54 Cash-Karp, that boost::ode
uses in integrate() as claimed in documentation:
https://www.boost.org/doc/libs/1_66_0/libs/numeric/odeint/doc/html/boost_numeric_odeint/getting_started/short_example.html

Algorithm described here
http://www.elegio.it/mc2/rk/doc/p201-cash-karp.pdf

As far as I tested, it gives the same results.


  Commit: f25aafa2d6af58af64dcbf7e6bd779203b4ca2fa
      
https://github.com/synfig/synfig/commit/f25aafa2d6af58af64dcbf7e6bd779203b4ca2fa
  Author: Rodolfo Ribeiro Gomes <rodolf...@gmail.com>
  Date:   2022-08-30 (Tue, 30 Aug 2022)

  Changed paths:
    M synfig-core/src/synfig/valuenodes/valuenode_dynamic.cpp

  Log Message:
  -----------
  refactor: use runge kutta method as described in original paper

it seems the previous implementation sometimes enter in an infinite loop

In my tests, however, some parts of this new code are never reached.
That's the reason the code could be simplified to only this `if` branch
```c++
                if (e_4 > 1) {
                        // No order less than 5th order is possibly good, so 
abandon current step
                        Real esttol = e_4;
                        step_size *= std::max(0.2, VRKF_sf / esttol);
                        continue;
                } else {
                        // accept 5th order solution
                        ...
                }
```

And consequently some variables could vanish.


  Commit: 1298235e90562c20b056dbf5e9d50ef30a9d962e
      
https://github.com/synfig/synfig/commit/1298235e90562c20b056dbf5e9d50ef30a9d962e
  Author: Rodolfo Ribeiro Gomes <rodolf...@gmail.com>
  Date:   2022-08-30 (Tue, 30 Aug 2022)

  Changed paths:
    M synfig-core/src/synfig/valuenodes/valuenode_dynamic.cpp

  Log Message:
  -----------
  refactor: simplify runge kutta method

read previous commit message


  Commit: 18b9d2b58b1cd07e0c7fb6306711766950f5a906
      
https://github.com/synfig/synfig/commit/18b9d2b58b1cd07e0c7fb6306711766950f5a906
  Author: ice0 <konop...@gmail.com>
  Date:   2022-08-31 (Wed, 31 Aug 2022)

  Changed paths:
    M 1-install-vcpkg.bat
    M 1-setup-linux-native.sh
    M 1-setup-osx-brew.sh
    M 1-setup-windows-msys2.sh
    M autobuild/build.sh
    M autobuild/default-nixpkgs.nix
    M autobuild/default.nix
    M autobuild/fedora-crosscompile-linux.sh
    M autobuild/fedora-crosscompile-win.sh
    M autobuild/snap-stable/snapcraft.yaml
    M autobuild/synfigstudio-cygwin-mingw-build.sh
    M autobuild/synfigstudio-cygwin-native-build.sh
    M autobuild/synfigstudio-osx-build.sh
    M autobuild/synfigstudio-release.sh
    M snap/snapcraft.yaml
    M synfig-core/configure.ac
    R synfig-core/m4/ax_boost_base.m4
    R synfig-core/m4/ax_boost_chrono.m4
    R synfig-core/m4/ax_boost_filesystem.m4
    R synfig-core/m4/ax_boost_program_options.m4
    R synfig-core/m4/ax_boost_system.m4
    M synfig-core/src/CMakeLists.txt
    M synfig-core/src/synfig/valuenodes/CMakeLists.txt
    M synfig-core/src/synfig/valuenodes/valuenode_dynamic.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_dynamic.h
    M synfig-core/src/tool/Makefile.am
    M vcpkg.json

  Log Message:
  -----------
  refactor: removed boost dependency (#2792)


  Commit: da13b77425c833434723dc8d22ce5c25410105e1
      
https://github.com/synfig/synfig/commit/da13b77425c833434723dc8d22ce5c25410105e1
  Author: Hesham Essam <101147828+hesham-es...@users.noreply.github.com>
  Date:   2022-09-04 (Sun, 04 Sep 2022)

  Changed paths:
    M CMakeLists.txt
    A cmake/SynfigVcpkg.cmake
    M synfig-core/CMakeLists.txt
    R synfig-core/fonts-msvc/fonts.conf
    M synfig-studio/src/gui/CMakeLists.txt

  Log Message:
  -----------
  build(vcpkg): `cmake --install` now also installs required dependencies 
(#2816)


  Commit: 1ce65b6f96a210c56c45d309be7310bffac16507
      
https://github.com/synfig/synfig/commit/1ce65b6f96a210c56c45d309be7310bffac16507
  Author: ice0 <konop...@gmail.com>
  Date:   2022-09-08 (Thu, 08 Sep 2022)

  Changed paths:
    M synfig-studio/src/gui/states/state_text.cpp

  Log Message:
  -----------
  fix: pressing the cancel button still adds the text layer (#2814)

This happens when the "Multiline text" option is enabled


  Commit: aa5f06f45df59d7dce99d60036b6612e6d8840f4
      
https://github.com/synfig/synfig/commit/aa5f06f45df59d7dce99d60036b6612e6d8840f4
  Author: Rodolfo Ribeiro Gomes <rodolf...@gmail.com>
  Date:   2022-09-08 (Thu, 08 Sep 2022)

  Changed paths:
    M synfig-core/src/modules/mod_magickpp/trgt_magickpp.cpp
    M synfig-core/src/modules/mod_magickpp/trgt_magickpp.h

  Log Message:
  -----------
  refactor(trgt_magickpp): avoid direct allocation

prefer std::vector rather raw pointers


  Commit: cb9b89b1b371b39bbb6c7d9d98ec44e796d78f77
      
https://github.com/synfig/synfig/commit/cb9b89b1b371b39bbb6c7d9d98ec44e796d78f77
  Author: Rodolfo Ribeiro Gomes <rodolf...@gmail.com>
  Date:   2022-09-08 (Thu, 08 Sep 2022)

  Changed paths:
    M synfig-core/src/modules/mod_magickpp/trgt_magickpp.cpp
    M synfig-core/src/modules/mod_magickpp/trgt_magickpp.h

  Log Message:
  -----------
  refactor(trgt_magickpp): rename pointer variables


  Commit: 630762f291e60747817d6c5c13cf53c210a1e1e4
      
https://github.com/synfig/synfig/commit/630762f291e60747817d6c5c13cf53c210a1e1e4
  Author: Rodolfo Ribeiro Gomes <rodolf...@gmail.com>
  Date:   2022-09-08 (Thu, 08 Sep 2022)

  Changed paths:
    M synfig-core/src/modules/mod_magickpp/trgt_magickpp.cpp

  Log Message:
  -----------
  refactor(trgt_magickpp): no need to start loop if it is first frame


  Commit: 9784b2d67a102495f2d1b3bdb1ff918f39e7dafc
      
https://github.com/synfig/synfig/commit/9784b2d67a102495f2d1b3bdb1ff918f39e7dafc
  Author: Rodolfo Ribeiro Gomes <rodolf...@gmail.com>
  Date:   2022-09-08 (Thu, 08 Sep 2022)

  Changed paths:
    M synfig-core/src/modules/mod_magickpp/trgt_magickpp.cpp

  Log Message:
  -----------
  fix(trgt_magickpp): the previous row pointer was always the current one


  Commit: ee9d66f1255a20dedc42e6e45051b247e2b972e1
      
https://github.com/synfig/synfig/commit/ee9d66f1255a20dedc42e6e45051b247e2b972e1
  Author: Rodolfo Ribeiro Gomes <rodolf...@gmail.com>
  Date:   2022-09-08 (Thu, 08 Sep 2022)

  Changed paths:
    M synfig-core/src/modules/mod_magickpp/trgt_magickpp.cpp
    M synfig-core/src/modules/mod_magickpp/trgt_magickpp.h

  Log Message:
  -----------
  refactor(trgt_magickpp): check if it is rendering a GIF file

avoid unnecessary extra buffer if it isn't GIF
Is it really needed? Check later


  Commit: 2d4d77a5711646544b8c7b65a6d250e32fc2ad82
      
https://github.com/synfig/synfig/commit/2d4d77a5711646544b8c7b65a6d250e32fc2ad82
  Author: ice0 <konop...@gmail.com>
  Date:   2022-09-09 (Fri, 09 Sep 2022)

  Changed paths:
    M synfig-core/src/modules/mod_magickpp/trgt_magickpp.cpp
    M synfig-core/src/modules/mod_magickpp/trgt_magickpp.h

  Log Message:
  -----------
  refactor: clean up Magick++ target a bit (#2822)

refactor: clean up Magick++ target a bit


  Commit: 11387aa840051300a5c7866b0b8fe89bd9dd731e
      
https://github.com/synfig/synfig/commit/11387aa840051300a5c7866b0b8fe89bd9dd731e
  Author: rodolforg <rodolf...@users.noreply.github.com>
  Date:   2022-09-09 (Fri, 09 Sep 2022)

  Changed paths:
    M synfig-core/src/synfig/base_types.cpp
    M synfig-core/src/synfig/context.h
    M synfig-core/src/synfig/rect.h
    M synfig-studio/src/gui/_smach.h

  Log Message:
  -----------
  fix: "rule of two" : copy constructor and copy assignment operator (#2823)

And copy assignment operator returns reference, not a copy.


  Commit: c6ff86f0eb722189b7fd3f88afda8cffe0a9d698
      
https://github.com/synfig/synfig/commit/c6ff86f0eb722189b7fd3f88afda8cffe0a9d698
  Author: ice0 <konop...@gmail.com>
  Date:   2022-09-11 (Sun, 11 Sep 2022)

  Changed paths:
    M synfig-studio/src/gui/workarea.cpp
    M synfig-studio/src/gui/workarea.h

  Log Message:
  -----------
  refactor: replaced deprecated Gtk::Arrow with Gtk::Button with icon (#2824)


  Commit: 9625d20d90dc93cf98246a616a37eec5c6ace21a
      
https://github.com/synfig/synfig/commit/9625d20d90dc93cf98246a616a37eec5c6ace21a
  Author: ice0 <konop...@gmail.com>
  Date:   2022-09-12 (Mon, 12 Sep 2022)

  Changed paths:
    M synfig-core/src/modules/mod_imagemagick/main.cpp

  Log Message:
  -----------
  feat: ico format added to `mod_imagemagick` list of exported formats (#2820)


  Commit: 64b8aa0f98acc7486cc684cd78a3fa7ee191bba9
      
https://github.com/synfig/synfig/commit/64b8aa0f98acc7486cc684cd78a3fa7ee191bba9
  Author: ice0 <konop...@gmail.com>
  Date:   2022-09-12 (Mon, 12 Sep 2022)

  Changed paths:
    M synfig-core/configure.ac

  Log Message:
  -----------
  build(autotools): fix MSYS2 build (#2818)

A bit of history on this fix:
MSYS team removed removed shared libdl.dll and libdl.dll.a

commit: 
https://github.com/msys2/MINGW-packages/commit/c27ad107f7df624604c96f45d124b761b6fc0aa9
discussion: https://github.com/msys2/MINGW-packages/issues/7548

When compiling synfig it shows the warning:
```
*** Warning: linker path does not have real file for library -ldl.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because I did check the linker path looking for a file starting
*** with libdl and none of the candidates passed a file format test
*** using a file magic. Last file checked: C:/msys64/mingw64/lib/libdl.a
```

This happens because
(cite from here: 
https://github.com/msys2/MINGW-packages/issues/7548#issuecomment-753619221):
> "it is a known problem with libtool on windows, on unix libtool uses file 
> magic to get dependencies but this does not quite work on windows even though 
> the tool can be build with mingw* it uses windows paths which confuses 
> libtool so it is not normally included. The above is a workaround for cases 
> like that, if you prefer to newer see this warning you can simply yank it 
> into /mingw*/etc/config.site."

This leads to the impossibility of linking with libdl.dll and for this reason 
the
loading of modules do not work. This is why images can't be built.

AppVeyour CI build works because it uses CMake toolchain.

P.S. Debug build still doesn't work due to another issue.


  Commit: 93d8f4cb1b149dca8a6415f6f3cbfab0d22a4778
      
https://github.com/synfig/synfig/commit/93d8f4cb1b149dca8a6415f6f3cbfab0d22a4778
  Author: ice0 <konop...@gmail.com>
  Date:   2022-09-13 (Tue, 13 Sep 2022)

  Changed paths:
    M synfig-core/src/tool/optionsprocessor.cpp

  Log Message:
  -----------
  fix: Synfig CLI does not open file if path contains non-Latin characters 
(Windows) (#2819)

The problem was double conversion of command line options from local
codepage to UTF-8.


  Commit: e23b229208f2cc9e8b37c46857eeaf629b4d8e1a
      
https://github.com/synfig/synfig/commit/e23b229208f2cc9e8b37c46857eeaf629b4d8e1a
  Author: ice0 <konop...@gmail.com>
  Date:   2022-09-13 (Tue, 13 Sep 2022)

  Changed paths:
    M synfig-core/src/synfig/bone.cpp
    M synfig-core/src/synfig/canvas.cpp
    M synfig-core/src/synfig/general.h
    M synfig-core/src/synfig/layer.cpp
    M synfig-core/src/synfig/layers/layer_skeleton.cpp
    M synfig-core/src/synfig/loadcanvas.cpp
    M synfig-core/src/synfig/node.cpp
    M synfig-core/src/synfig/savecanvas.cpp
    M synfig-core/src/synfig/transform.cpp
    M synfig-core/src/synfig/valuenode.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_add.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_and.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_anglestring.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_animatedinterface.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_atan2.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_average.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_bline.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_blinecalctangent.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_blinecalcvertex.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_blinecalcwidth.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_blinereversetangent.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_bone.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_boneinfluence.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_bonelink.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_boneweightpair.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_compare.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_composite.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_const.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_cos.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_derivative.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_dilist.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_dotproduct.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_duplicate.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_dynamic.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_dynamiclist.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_exp.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_gradientcolor.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_gradientrotate.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_integer.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_intstring.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_join.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_linear.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_log.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_modulo.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_not.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_or.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_pow.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_radialcomposite.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_range.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_real.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_realstring.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_reciprocal.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_reference.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_repeat_gradient.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_reverse.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_scale.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_segcalctangent.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_segcalcvertex.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_sine.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_staticlist.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_step.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_stripes.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_subtract.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_switch.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_timedswap.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_timeloop.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_timestring.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_twotone.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_vectorangle.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_vectorlength.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_vectorx.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_vectory.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_weightedaverage.cpp
    M synfig-core/src/synfig/valuenodes/valuenode_wplist.cpp
    M synfig-studio/src/gui/canvasview.cpp
    M synfig-studio/src/gui/cellrenderer/cellrenderer_time.cpp
    M synfig-studio/src/gui/cellrenderer/cellrenderer_value.cpp
    M synfig-studio/src/gui/dialogs/dialog_gradient.cpp
    M synfig-studio/src/gui/docks/dockdialog.cpp
    M synfig-studio/src/gui/duckmatic.cpp
    M synfig-studio/src/gui/instance.cpp
    M synfig-studio/src/gui/trees/historytreestore.cpp
    M synfig-studio/src/gui/trees/keyframetree.cpp
    M synfig-studio/src/gui/trees/keyframetreestore.cpp
    M synfig-studio/src/gui/trees/layergrouptree.cpp
    M synfig-studio/src/gui/trees/layergrouptreestore.cpp
    M synfig-studio/src/gui/trees/layerparamtreestore.cpp
    M synfig-studio/src/gui/trees/layertree.cpp
    M synfig-studio/src/gui/trees/layertreestore.cpp
    M synfig-studio/src/gui/trees/metadatatreestore.cpp
    M synfig-studio/src/gui/workarea.cpp
    M synfig-studio/src/synfigapp/action.cpp
    M synfig-studio/src/synfigapp/action_system.cpp
    M synfig-studio/src/synfigapp/canvasinterface.cpp
    M synfig-studio/src/synfigapp/instance.cpp

  Log Message:
  -----------
  getenv is very slow on Windows, so I replaced most of the logging calls with 
a macro that is disabled by default. (#2826)

getenv is very slow on Windows, so I replaced most of the logging calls with a 
macro that is disabled by default.

Benchmark test (used a null target to exclude rendering impact):
```
./synfig synfig-core/examples/pirates.sif -o pirates.png -t null
```

All benchmarks made on Release builds.

Windows (MSVC) before:
```
Execution time: 28.352 s
Execution time: 28.345 s
Execution time: 28.391 s
```
Avg: 28362 ms

Windows (MSVC) after:
```
Execution time: 6.140 s
Execution time: 6.341 s
Execution time: 6.201 s
```
Avg: 6227 ms
Improvement: **4.55x faster** (455%)


Windows (MinGW) before:
```
real    0m19.757s
real    0m18.605s
real    0m18.697s
```
Avg: 19019 ms

Windows (MinGW) after:
```
real    0m6.842s
real    0m6.816s
real    0m6.772s
```
Avg: 6810 ms
Improvement: **2,79x faster** (279%)


Linux before:
```
./synfig  -o pirates.png -t null  3,72s user 0,39s system 109% cpu 3,756 total
./synfig  -o pirates.png -t null  3,83s user 0,37s system 109% cpu 3,834 total
./synfig  -o pirates.png -t null  3,71s user 0,42s system 109% cpu 3,778 total
```
Average: 3789 ms

Linux after:
```
./synfig  -o pirates.png -t null  3,62s user 0,38s system 111% cpu 3,583 total
./synfig  -o pirates.png -t null  3,50s user 0,40s system 110% cpu 3,523 total
./synfig  -o pirates.png -t null  3,52s user 0,39s system 108% cpu 3,593 total
```
Average: 3566 ms
Improvement: 0,06x (6%)

macOS before:
```
./synfig synfig-core/examples/pirates.sif -o  -  2,85s user 0,31s system 108% 
cpu 2,928 total
./synfig synfig-core/examples/pirates.sif -o  -  2,84s user 0,32s system 108% 
cpu 2,911 total
./synfig synfig-core/examples/pirates.sif -o  -  2,83s user 0,31s system 108% 
cpu 2,898 total
```
Average: 2912 ms

macOS after:
```
./synfig synfig-core/examples/pirates.sif -o  -  2,57s user 0,31s system 108% 
cpu 2,642 total
./synfig synfig-core/examples/pirates.sif -o  -  2,57s user 0,31s system 109% 
cpu 2,642 total
./synfig synfig-core/examples/pirates.sif -o  -  2,57s user 0,31s system 108% 
cpu 2,641 total
```
Average: 2642 ms
Improvement: 0,1x (10%)


Compare: https://github.com/synfig/synfig/compare/0ce508fcfcf3...e23b229208f2


_______________________________________________
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl

Reply via email to