Giter Club home page Giter Club logo

synfig / synfig Goto Github PK

View Code? Open in Web Editor NEW
1.7K 59.0 312.0 61.72 MB

This is the Official source code repository of the Synfig project

Home Page: https://synfig.org

License: GNU General Public License v3.0

Shell 2.23% C++ 84.33% C 4.34% Makefile 0.64% Nix 0.03% Perl 0.08% Tcl 0.12% NSIS 0.17% PostScript 0.99% Objective-C 0.38% AppleScript 0.01% Python 3.66% Batchfile 0.01% GLSL 0.12% M4 1.24% CMake 1.29% Roff 0.31% Ruby 0.02% Rich Text Format 0.01% CSS 0.02%
synfig vector animation vector-graphics c-plus-plus 2d gtkmm hacktoberfest

synfig's Introduction

Synfig Studio

About

Synfig Studio is a free and open-source 2D animation software, designed as powerful industrial-strength solution for creating film-quality animation using a vector and bitmap artwork. It eliminates the need to create animation frame-by frame, allowing you to produce 2D animation of a higher quality with fewer people and resources. Synfig Studio is available for Windows, Linux and MacOS.

https://synfig.org/

Build Status GitHub Actions Windows Build status

Installing

Credits

Code Contributors

This project exists thanks to all the people who contribute. [Contribute].

Financial Contributors

Become a financial contributor and help us sustain our community.

Individuals

Organizations

Support this project with your organization. Your logo will show up here with a link to your website.

SAST Tools

PVS-Studio - static analyzer for C, C++, C#, and Java code.

License

This project is licensed under the GNU General Public License v3.0.

synfig's People

Contributors

aa20475 avatar anishgg avatar ankit-kumar-dwivedi avatar ayesdie avatar bharatsahlot avatar blackwarthog avatar bobsynfig avatar caryoscelus avatar chillycider avatar d-j-a-y avatar dhairyabahl avatar eldruin avatar firash avatar genete avatar ice0 avatar jcome avatar jottoprimo avatar keyikedalube avatar lemmabit avatar luzpaz avatar mbasaglia avatar mohamedadhamc avatar morevnaproject avatar mrtrizer avatar nikitakit avatar pgilfernandez avatar rodolforg avatar saurabh-ramola avatar thafiredragonofdeath avatar theartful avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

synfig's Issues

Editable curves in Graph Panel

Alternative timetrack dock/mode, which would present parameter values as a graph (as graphs dock currently does) and allow to edit waypoints, including their parameters (e.g. curve handles for curve interpolation)


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Gif rendering issues

Hi!
While writing a tutorial for Synfig I noticed that rendering to Gif in Synfig dev build (synfigstudio-1.1.11-20160727-64bit.exe) on Windows 10 produces anomalies.
Greetz!

bouncingball

Layer order does not work when used a skeleton deformation layer [$20 awarded]

The character is an exploded bitmap, which I imported into layers, each piece in a layer, I added a layer with a Skeleton deformation and have set up all bones.

simoncapas02

Apparently everything works well with regard to the areas of influence of the bones, but when I start to put the pieces in the correct place, do not appear in the order they should, this should be from the bottom up: left arm, left leg, trunk, right leg, right arm and head and in the layers panel, appears keeping the left arm ZOrder value 6 and the head ZOrder with value 1.

But when I place the pieces to animate them, the trunk appears in first plane

simoncapas01

Anyway, I can not get an arm and a leg on each side.


The $20 bounty on this issue has been claimed at Bountysource.

Display Zoom state

Currently I don't see any way to easily know what my zoom level is.
I can press "1" to be sure it is 100% again, but without pressing I don't know what the zoom level is, not even if it is 100%.

Here is what comes to my mind to fix the issue:

screenshot from 2016-10-21 20-21-52_

Generic waypoint editing operations

  • Allow to select multiple waypoints with CTRL - #762
  • Box selection - #761
  • Copy-paste (there is duplication already, but c&p can be more usable when copying into far destination)
  • Scaling multiple waypoints (can be achieved through keyframes, but creating them for that purpose only is not nice)


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Can't build latest master on Ubuntu 16.04

Building commit id 01de3c5 results in:

Making all in synfigapp
make[1]: Entering directory '/home/konstantin/sources/synfig.single/synfig-studio/src/synfigapp'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/konstantin/sources/synfig.single/synfig-studio/src/synfigapp'
Making all in gui
make[1]: Entering directory '/home/konstantin/sources/synfig.single/synfig-studio/src/gui'
g++ -DHAVE_CONFIG_H -I. -I../..  -I../../src  -DWITH_OPENGL -pthread -D_REENTRANT -std=c++11 -I/home/konstantin/sources/synfig.single/synfig-core/src -I/home/konstantin/synfig//include -I/usr/include/giomm-2.4 -I/usr/lib/x86_64-linux-gnu/giomm-2.4/include -I/usr/include/libxml++-2.6 -I/usr/lib/x86_64-linux-gnu/libxml++-2.6/include -I/usr/include/libxml2 -I/usr/include/glibmm-2.4 -I/usr/lib/x86_64-linux-gnu/glibmm-2.4/include -I/usr/include/libdrm -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/mlt++ -I/usr/include/mlt -I/usr/include/sigc++-2.0 -I/usr/lib/x86_64-linux-gnu/sigc++-2.0/include -pthread -std=c++11 -pthread -I/usr/include/gtkmm-3.0 -I/usr/lib/x86_64-linux-gnu/gtkmm-3.0/include -I/usr/include/atkmm-1.6 -I/usr/include/gtk-3.0/unix-print -I/usr/include/gdkmm-3.0 -I/usr/lib/x86_64-linux-gnu/gdkmm-3.0/include -I/usr/include/giomm-2.4 -I/usr/lib/x86_64-linux-gnu/giomm-2.4/include -I/usr/include/pangomm-1.4 -I/usr/lib/x86_64-linux-gnu/pangomm-1.4/include -I/usr/include/glibmm-2.4 -I/usr/lib/x86_64-linux-gnu/glibmm-2.4/include -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/mirclient -I/usr/include/mircommon -I/usr/include/mircookie -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/cairomm-1.0 -I/usr/lib/x86_64-linux-gnu/cairomm-1.0/include -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/sigc++-2.0 -I/usr/lib/x86_64-linux-gnu/sigc++-2.0/include -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -DIMAGE_DIR=\"/home/konstantin/synfig/share/pixmaps/synfigstudio\" -DIMAGE_EXT=\"png\" -DPLUGIN_DIR=\"/home/konstantin/synfig/share/synfig/plugins\" -DLOCALEDIR=\"/home/konstantin/synfig//locale\" -g -std=c++11  -D_DEBUG -g -O0 -fno-inline -MT dials/synfigstudio-zoomdial.o -MD -MP -MF dials/.deps/synfigstudio-zoomdial.Tpo -c -o dials/synfigstudio-zoomdial.o `test -f 'dials/zoomdial.cpp' || echo './'`dials/zoomdial.cpp
dials/zoomdial.cpp: In constructor 'studio::ZoomDial::ZoomDial(Gtk::IconSize&)':
dials/zoomdial.cpp:76:52: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
  current_zoom->signal_event_after().connect([this](auto event) {
                                                    ^
dials/zoomdial.cpp: In lambda function:
dials/zoomdial.cpp:77:12: error: base operand of '->' is not a pointer
   if (event->type == Gdk::BUTTON_RELEASE)
            ^
In file included from /usr/include/sigc++-2.0/sigc++/functors/slot.h:7:0,
                 from /usr/include/sigc++-2.0/sigc++/signal_base.h:27,
                 from /usr/include/sigc++-2.0/sigc++/signal.h:8,
                 from /usr/include/sigc++-2.0/sigc++/sigc++.h:86,
                 from /usr/include/gtkmm-3.0/gtkmm/tooltip.h:8,
                 from dials/zoomdial.h:32,
                 from dials/zoomdial.cpp:35:
/usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h: In instantiation of 'typename sigc::adaptor_functor<T_functor>::deduce_result_type<T_arg1>::type sigc::adaptor_functor<T_functor>::operator()(T_arg1) const [with T_arg1 = _GdkEvent* const&; T_functor = studio::ZoomDial::ZoomDial(Gtk::IconSize&)::<lambda(int)>; typename sigc::adaptor_functor<T_functor>::deduce_result_type<T_arg1>::type = void]':
/usr/include/sigc++-2.0/sigc++/functors/slot.h:142:20:   required from 'static T_return sigc::internal::slot_call1<T_functor, T_return, T_arg1>::call_it(sigc::internal::slot_rep*, sigc::type_trait_take_t<T_arg3>) [with T_functor = studio::ZoomDial::ZoomDial(Gtk::IconSize&)::<lambda(int)>; T_return = void; T_arg1 = _GdkEvent*; sigc::type_trait_take_t<T_arg3> = _GdkEvent* const&]'
/usr/include/sigc++-2.0/sigc++/functors/slot.h:149:37:   required from 'static void* (* sigc::internal::slot_call1<T_functor, T_return, T_arg1>::address())(void*) [with T_functor = studio::ZoomDial::ZoomDial(Gtk::IconSize&)::<lambda(int)>; T_return = void; T_arg1 = _GdkEvent*; sigc::internal::hook = void* (*)(void*)]'
/usr/include/sigc++-2.0/sigc++/functors/slot.h:584:90:   required from 'sigc::slot1<T_return, T_arg1>::slot1(const T_functor&) [with T_functor = studio::ZoomDial::ZoomDial(Gtk::IconSize&)::<lambda(int)>; T_return = void; T_arg1 = _GdkEvent*]'
/usr/include/sigc++-2.0/sigc++/functors/slot.h:1731:26:   required from 'sigc::slot<T_return, T_arg1, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::slot(const T_functor&) [with T_functor = studio::ZoomDial::ZoomDial(Gtk::IconSize&)::<lambda(int)>; T_return = void; T_arg1 = _GdkEvent*]'
dials/zoomdial.cpp:79:3:   required from here
/usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:89:30: error: no match for call to '(studio::ZoomDial::ZoomDial(Gtk::IconSize&)::<lambda(int)>) (_GdkEvent* const&)'
     { return functor_(_A_arg1); }
                              ^
dials/zoomdial.cpp:76:62: note: candidate: studio::ZoomDial::ZoomDial(Gtk::IconSize&)::<lambda(int)> <near match>
  current_zoom->signal_event_after().connect([this](auto event) {
                                                              ^
dials/zoomdial.cpp:76:62: note:   conversion of argument 1 would be ill-formed:
In file included from /usr/include/sigc++-2.0/sigc++/functors/slot.h:7:0,
                 from /usr/include/sigc++-2.0/sigc++/signal_base.h:27,
                 from /usr/include/sigc++-2.0/sigc++/signal.h:8,
                 from /usr/include/sigc++-2.0/sigc++/sigc++.h:86,
                 from /usr/include/gtkmm-3.0/gtkmm/tooltip.h:8,
                 from dials/zoomdial.h:32,
                 from dials/zoomdial.cpp:35:
/usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:89:30: error: invalid conversion from '_GdkEvent*' to 'int' [-fpermissive]
     { return functor_(_A_arg1); }
                              ^
/usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:89:30: error: return-statement with a value, in function returning 'void' [-fpermissive]
Makefile:1878: recipe for target 'dials/synfigstudio-zoomdial.o' failed
make[1]: *** [dials/synfigstudio-zoomdial.o] Error 1
make[1]: Leaving directory '/home/konstantin/sources/synfig.single/synfig-studio/src/gui'
Makefile:453: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

Animation doesn´t appears correctly on canvas

Well, what happens is that I'm starting with the Step by Step Manual (http://wiki.synfig.org/Doc:Animation_Basics) and in the first practice I have a strange behavior when playing the animation on the canvas own.

This is the first animation of the manual where a circle moves to right and returns to the left. Well, when the animation reaches the end (2s) the animation sometimes does not reach your site. This occurs under Windows and Linux and on two different computers.

I uploaded a video on YouTube to better illustrate it:

https://youtu.be/ioDeQmfTN-k


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

issue with scale layer

See: http://www.synfig.org/forums/viewtopic.php?f=15&t=10317&p=32542#p32532
Setting the scale layer amount to 1.0 seems to scale by more than 200% (double) and and closer to 300%
-u

http://wiki.synfig.org/Scale_Layer states:
The parameters of the Scale Layers are:
The parameters of the Scale Layers are:
Name Value Type
Amount 1.000000 real
Origin 0.000000u,0.000000u vector
For Amount, a positive value will scale up and a negative value will scale down. A value of 1.0 will double the original size of the object. A value of 0.5 will increase the object by 50%. While a value of -1.0 will reduce an object to half its original size.
The Origin is the center of the scale.

Switch to cmake build system

I decided that porting to cmake is more worthwhile effort than mastering autotools, so i'm going to attempt that.

If you think that other modern build system is better, feel free to suggest it.

If you hate the idea of leaving autotools, in worst case scenario we may keep both systems.

Dev branch: https://github.com/caryoscelus/synfig/tree/cmake (currently merged into master)

Progress:

  • ETL
  • synfig-core builds
  • synfig-core works
  • build all modules
  • fix crashing
  • synfig-studio builds
  • synfig-studio works
  • support translations
  • configurability
  • get rid of various warnings
  • building guide
  • compatibility across linux distros
  • compatibility with other platforms

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Edit waypoint with double-click

Currently it seems you have to right-click and choose "edit" to edit any waypoint.
A double click on a waypoint could show the respecitve "edit" popup window for easier editing.
screenshot from 2016-10-22 01-02-58

Multiple timelines and non-destructive waypoint reusing

I am currently working on this feature.

Goal: Non-destructive pose (in a wide sense) & action reusing.

How it is supposed to work

  • template file contains "poses" and can have them stored on one or multiple timelines
  • when template file is imported from another (target) file, its original timelines are unaffected by editing main timeline in target
  • target file can link to waypoints in template and place them on main timeline
  • when linked waypoints are changed in template, these changes will be automatically available in all target files using those waypoints

From development point of view

  • Time is not linear; it stores additional "timeline" value
  • separate timelines are processed individually on load/save
  • waypoints can lack the value and only store uid to serve as link to actual waypoint with that uid

Development branch: https://github.com/caryoscelus/synfig/tree/hacking_timelines
Forum link: http://www.synfig.org/forums/viewtopic.php?f=14&t=10292

Progress:

  • migrate to new animated node API (almost ready)
  • bezier curve interpolation node (#295 - in progress)
  • timeline support in Time and animated valuenodes
  • linked waypoints
  • saving/loading when timelines are distributed across files/canvases
  • user interface

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

X-Sheet: frame list view

Hi!
I guess this falls under feature request. I use lst files on a regular basis to edit and compose complex animations. I render stuff as png and then use lst files as some sort of work around x-sheet to combine it all. When you import a lst file into Synfig you get a switch file that only shows the title of the lst file when you open it in The Layers Panel. Would it be possible to let it actually show the png files and their corresponding frames? And even maybe edit them? Let's call it The X-Sheet Layer...
Greetz!


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Can't compile latest master on Debian 7

Got the following error:

make[3]: Entering directory `/buildroot/2-src/synfig-linux64/synfig/synfig-core/src/synfig'
/bin/bash ../../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H   -I../.. -I../../src  -I/buildroot/4-build/synfig-linux64/include -I/buildroot/3-deps/synfig-linux64/include -I/buildroot/4-build/synfig-linux64//include -I/buildroot/4-build/synfig-linux64/include/glibmm-2.4 -I/buildroot/4-build/synfig-linux64/lib/glibmm-2.4/include -I/buildroot/4-build/synfig-linux64/include/sigc++-2.0 -I/buildroot/4-build/synfig-linux64/lib/sigc++-2.0/include -I/buildroot/4-build/synfig-linux64/include/glib-2.0 -I/buildroot/4-build/synfig-linux64/lib/glib-2.0/include -pthread -I/buildroot/4-build/synfig-linux64/include/giomm-2.4 -I/buildroot/4-build/synfig-linux64/lib/giomm-2.4/include -I/buildroot/4-build/synfig-linux64/include/glibmm-2.4 -I/buildroot/4-build/synfig-linux64/lib/glibmm-2.4/include -I/buildroot/4-build/synfig-linux64/include/glib-2.0 -I/buildroot/4-build/synfig-linux64/lib/glib-2.0/include -I/buildroot/4-build/synfig-linux64/include/sigc++-2.0 -I/buildroot/4-build/synfig-linux64/lib/sigc++-2.0/include -I/buildroot/4-build/synfig-linux64/include/libxml++-2.6 -I/buildroot/4-build/synfig-linux64/lib/libxml++-2.6/include -I/buildroot/4-build/synfig-linux64/include/glibmm-2.4 -I/buildroot/4-build/synfig-linux64/lib/glibmm-2.4/include -I/buildroot/4-build/synfig-linux64/include/sigc++-2.0 -I/buildroot/4-build/synfig-linux64/lib/sigc++-2.0/include -I/buildroot/4-build/synfig-linux64/include/glib-2.0 -I/buildroot/4-build/synfig-linux64/lib/glib-2.0/include -I/usr/include/libxml2 -fopenmp -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/buildroot/4-build/synfig-linux64/include/ImageMagick-6 -I/buildroot/4-build/synfig-linux64/include/cairo -I/buildroot/4-build/synfig-linux64/include/glib-2.0 -I/buildroot/4-build/synfig-linux64/lib/glib-2.0/include -I/buildroot/4-build/synfig-linux64/include/pixman-1 -I/buildroot/3-deps/synfig-linux64/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/buildroot/4-build/synfig-linux64/include -pthread -I/buildroot/4-build/synfig-linux64/include/pango-1.0 -I/buildroot/4-build/synfig-linux64/include/glib-2.0 -I/buildroot/4-build/synfig-linux64/lib/glib-2.0/include -I/buildroot/4-build/synfig-linux64/include/cairo -I/buildroot/4-build/synfig-linux64/include/pixman-1 -I/buildroot/3-deps/synfig-linux64/include -I/usr/include/freetype2 -I/usr/include/libpng12 -D_REENTRANT -I/buildroot/4-build/synfig-linux64/include -I/buildroot/4-build/synfig-linux64/include/mlt++ -I/buildroot/4-build/synfig-linux64/include/mlt -I/buildroot/4-build/synfig-linux64/include -I/buildroot/4-build/synfig-linux64/include/sigc++-2.0 -I/buildroot/4-build/synfig-linux64/lib/sigc++-2.0/include -DSYNFIG_NO_DEPRECATED -DLOCALEDIR=\"/buildroot/4-build/synfig-linux64/share/locale\" -DLIBDIR="\"/buildroot/4-build/synfig-linux64/lib\"" -DSYSCONFDIR="\"/buildroot/4-build/synfig-linux64/etc\"" -O3 -DNDEBUG -Wall -Wno-unused-parameter -MT libsynfig_la-target_multi.lo -MD -MP -MF .deps/libsynfig_la-target_multi.Tpo -c -o libsynfig_la-target_multi.lo `test -f 'target_multi.cpp' || echo './'`target_multi.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I../.. -I../../src -I/buildroot/4-build/synfig-linux64/include -I/buildroot/3-deps/synfig-linux64/include -I/buildroot/4-build/synfig-linux64//include -I/buildroot/4-build/synfig-linux64/include/glibmm-2.4 -I/buildroot/4-build/synfig-linux64/lib/glibmm-2.4/include -I/buildroot/4-build/synfig-linux64/include/sigc++-2.0 -I/buildroot/4-build/synfig-linux64/lib/sigc++-2.0/include -I/buildroot/4-build/synfig-linux64/include/glib-2.0 -I/buildroot/4-build/synfig-linux64/lib/glib-2.0/include -pthread -I/buildroot/4-build/synfig-linux64/include/giomm-2.4 -I/buildroot/4-build/synfig-linux64/lib/giomm-2.4/include -I/buildroot/4-build/synfig-linux64/include/glibmm-2.4 -I/buildroot/4-build/synfig-linux64/lib/glibmm-2.4/include -I/buildroot/4-build/synfig-linux64/include/glib-2.0 -I/buildroot/4-build/synfig-linux64/lib/glib-2.0/include -I/buildroot/4-build/synfig-linux64/include/sigc++-2.0 -I/buildroot/4-build/synfig-linux64/lib/sigc++-2.0/include -I/buildroot/4-build/synfig-linux64/include/libxml++-2.6 -I/buildroot/4-build/synfig-linux64/lib/libxml++-2.6/include -I/buildroot/4-build/synfig-linux64/include/glibmm-2.4 -I/buildroot/4-build/synfig-linux64/lib/glibmm-2.4/include -I/buildroot/4-build/synfig-linux64/include/sigc++-2.0 -I/buildroot/4-build/synfig-linux64/lib/sigc++-2.0/include -I/buildroot/4-build/synfig-linux64/include/glib-2.0 -I/buildroot/4-build/synfig-linux64/lib/glib-2.0/include -I/usr/include/libxml2 -fopenmp -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/buildroot/4-build/synfig-linux64/include/ImageMagick-6 -I/buildroot/4-build/synfig-linux64/include/cairo -I/buildroot/4-build/synfig-linux64/include/glib-2.0 -I/buildroot/4-build/synfig-linux64/lib/glib-2.0/include -I/buildroot/4-build/synfig-linux64/include/pixman-1 -I/buildroot/3-deps/synfig-linux64/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/buildroot/4-build/synfig-linux64/include -pthread -I/buildroot/4-build/synfig-linux64/include/pango-1.0 -I/buildroot/4-build/synfig-linux64/include/glib-2.0 -I/buildroot/4-build/synfig-linux64/lib/glib-2.0/include -I/buildroot/4-build/synfig-linux64/include/cairo -I/buildroot/4-build/synfig-linux64/include/pixman-1 -I/buildroot/3-deps/synfig-linux64/include -I/usr/include/freetype2 -I/usr/include/libpng12 -D_REENTRANT -I/buildroot/4-build/synfig-linux64/include -I/buildroot/4-build/synfig-linux64/include/mlt++ -I/buildroot/4-build/synfig-linux64/include/mlt -I/buildroot/4-build/synfig-linux64/include -I/buildroot/4-build/synfig-linux64/include/sigc++-2.0 -I/buildroot/4-build/synfig-linux64/lib/sigc++-2.0/include -DSYNFIG_NO_DEPRECATED -DLOCALEDIR=\"/buildroot/4-build/synfig-linux64/share/locale\" -DLIBDIR=\"/buildroot/4-build/synfig-linux64/lib\" -DSYSCONFDIR=\"/buildroot/4-build/synfig-linux64/etc\" -O3 -DNDEBUG -Wall -Wno-unused-parameter -MT libsynfig_la-target_multi.lo -MD -MP -MF .deps/libsynfig_la-target_multi.Tpo -c target_multi.cpp  -fPIC -DPIC -o .libs/libsynfig_la-target_multi.o
In file included from /buildroot/4-build/synfig-linux64/include/ETL/surface:32:0,
                 from surface.h:34,
                 from target_multi.cpp:34:
/buildroot/4-build/synfig-linux64/include/ETL/_surface.h: In instantiation of 'class etl::surface<synfig::Color, synfig::Color, synfig::ColorPrep>':
surface.h:98:29:   required from here
/buildroot/4-build/synfig-linux64/include/ETL/_surface.h:493:74: error: 'static etl::surface<T, AT, VP>::accumulator_type etl::surface<T, AT, VP>::reader_cook(const void*, int, int) [with T = synfig::Color; AT = synfig::Color; VP = synfig::ColorPrep; etl::surface<T, AT, VP>::accumulator_type = synfig::Color]' cannot appear in a constant-expression
/buildroot/4-build/synfig-linux64/include/ETL/_surface.h:494:63: error: 'static etl::surface<T, AT, VP>::value_type etl::surface<T, AT, VP>::reader(const void*, int, int) [with T = synfig::Color; AT = synfig::Color; VP = synfig::ColorPrep; etl::surface<T, AT, VP>::value_type = synfig::Color]' cannot appear in a constant-expression
/buildroot/4-build/synfig-linux64/include/ETL/_surface.h: In instantiation of 'class etl::surface<synfig::CairoColor, synfig::CairoColorAccumulator, synfig::CairoColorPrep>':
surface.h:136:34:   required from here
/buildroot/4-build/synfig-linux64/include/ETL/_surface.h:493:74: error: 'static etl::surface<T, AT, VP>::accumulator_type etl::surface<T, AT, VP>::reader_cook(const void*, int, int) [with T = synfig::CairoColor; AT = synfig::CairoColorAccumulator; VP = synfig::CairoColorPrep; etl::surface<T, AT, VP>::accumulator_type = synfig::CairoColorAccumulator]' cannot appear in a constant-expression
/buildroot/4-build/synfig-linux64/include/ETL/_surface.h:494:63: error: 'static etl::surface<T, AT, VP>::value_type etl::surface<T, AT, VP>::reader(const void*, int, int) [with T = synfig::CairoColor; AT = synfig::CairoColorAccumulator; VP = synfig::CairoColorPrep; etl::surface<T, AT, VP>::value_type = synfig::CairoColor]' cannot appear in a constant-expression
make[3]: *** [libsynfig_la-target_multi.lo] Error 1
make[3]: Leaving directory `/buildroot/2-src/synfig-linux64/synfig/synfig-core/src/synfig'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/buildroot/2-src/synfig-linux64/synfig/synfig-core/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/buildroot/2-src/synfig-linux64/synfig/synfig-core'
make: *** [all] Error 2

Adjust Ruler font color to dark theme

The ruler text color is way too bright for the dark theme and adds unwanted noise.
Reducing the brightness seems like a win.

negative part is how it should look like imho:

iyrjquqc7m

Key animation tab/window rewrite

Animating keyframes is very limited, things I miss are:

  • "Graphs", "Time Tack", "Parameters" time track column should all be one merged tab
  • selecting, editing, moving keys should be more versatile

This is probably on the development radar for quite some time.
I see this would be a major undertaking, what is the status on that?

Hide unanimated properties

There should be a way to toggle the visibility of animated properties in this section:

selection_006

I only plan to animate the position of this project so i'd like to put everything else out of the way while i'm working. Maybe there is a way to do this already? I could not find it.

Crash when changing the Text parameter of a Text Layer

Version 1.02 on Ubuntu Trusty.

Steps to reproduce:

  1. Create a new, blank animation.

  2. Use Text Tool to create a new Text layer on the canvas.

  3. Select the new layer in the layer list.

  4. In the Parameters panel, double-click the Text value to edit it.

  5. A dialog box comes up for editing the string.

  6. Mousing over either button in the dialog box causes a crash (OK or Cancel buttons). No mouse press is needed.

  7. Pressing ESC or clicking the (X) to close the dialog box does not cause a crash.

As far as I can tell, there's no way to edit a string without causing a crash (pressing Enter in the dialog box creates a newline in the string---thus, you must click the OK button to save the string, and you can't mouse over it without causing a crash).

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/39187435-crash-when-changing-the-text-parameter-of-a-text-layer?utm_campaign=plugin&utm_content=tracker%2F321991&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F321991&utm_medium=issues&utm_source=github).

Dock area drop buttons are huge

Just built a fresh synfig from master and dock area buttons are now this huge:
synfig-1
Version info:

Development version:
Revision: 20160902
Branch: master
Revision ID: b297b1

Built on Sep  7 2016

Built with:
ETL 0.04.20
Synfig API (010002)
Synfig library 49
GTK+ 3.21.5
GNU G++ 6.2.0

Using:
Synfig 1.1.11
GTK+ 3.21.5

GTK themes: i tried Adwaita and Numix - both have this issue. Some themes that don't support gtk-3.20+ seem to not draw this buttons at all. For now i solved this problem by disabling this buttons, since i couldn't find a way to fix their size. But i suppose they're the only way to make new dock layouts now..

Get rid of unrequired includes

Currently there are a lot of places where some header is included with no actual need for it (either it was added just in case or not removed when no longer in use), which sometimes drastically affects compile time.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Clicking on SynFig Icon in the OSX dock does not bring the previously minimized window out of hiding.

Hi,

After launching Synfig Studio and working on a project I minimize the window via the yellow minimize icon. This works fine. However when I click on the syncing icon in the dock to maximize/ bring the window out of hiding nothing happens. I would expect that by clicking on the icon in the dock that the window would maximize again back to where it was before I minimized it.

I have been able to maximize again by right clicking on the syncing icon in the dock, then selecting "Show all windows", then clicking on the minimized synfig window that appears.

This is tedious because it adds an extra three steps to what is usually a one step process.

Thanks for taking the time to make this awesome software. I'm a brand new animator and I owe it all to your software! Thanks!

Running SynFig studio 1.0.2 on OS X 10.12.1.

Mac issue - Can't click and drag things into groups

Hi all,

My friend and I are trying to make an animation and found that the newest build of Synfig allows the use of Papagayo. Which would be great if I could actually move our mouth drawings into the specified folders that the .pgo file created! For some reason I have never been able to click and drag groups/objects into one another so that a group encloses something. I have only ever been able to work backwards by importing things I wanted to group right next to each other and then selecting them all, then clicking 'group'. But now I really NEED to put things into these folders, and it won't let me. Clicking and dragging like I see everyone do on the tutorials just doesn't work for some reason. I found a good workaround where I replace the .pgo groups with my own groups, but this is slow and tedious and I would much rather be able to click and drag!

I use the Mac version of Synfig and from what I've been told this is a problem specific to Mac.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Convert to spline tangent

Right clic on a vertice > convert > spline tangent --> synfig crashes.
Environment : debian8, synfig 0.64.2

Amount is less than 1 when layer created with max opacity

Despite setting amount to max (1.0) when creating new layer (shape/outline/etc), the actual amount value is set to 0.999999990686774 (it's displayed as 1.0 in parameters due to rounding, of course). If changed to 1.0 it is saved properly.

Dynamically show tab placement crosses on mouse-over

Those "tab placement crosses";

selection_003

add much to the high noise of the UI but is only needed when tabs are dragged. I propose to only make them visible upon dragging something on them - or - make them all visible only when anything starts getting dragged.

Crash on unexporting value

Steps to reproduce:

  • export value
  • connect to that value from another node of same layer
  • unexport value while connected nodes are visible in parameters dock

There is a bit of variation on whether crash occurs or not. E.g. if file is saved & reloaded before unexporting, crash only happens when unexporting from library (i.e. not from parameters dock).

Error message doesn't seem to be very helpful, but anyway:

(synfigstudio:23776): glibmm-ERROR **: 
unhandled exception (type std::exception) in signal handler:
what: ValueNode in ValueNodeList: xx

Sample file: http://my-files.ru/Save/wfl2t7/test-11-unexport.sifz


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Random crash on moving time cursor

It happened on my development branch, but i can't reproduce it and so unsure whether the issue present in master... Searching for similar issues shows that it might be related to threads and signals.

*** Error in `synfigstudio': double free or corruption (fasttop): 0x0000000001f6f6c0 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x70bcb)[0x7f66f8981bcb]
/lib/x86_64-linux-gnu/libc.so.6(+0x76fa6)[0x7f66f8987fa6]
/lib/x86_64-linux-gnu/libc.so.6(+0x7779e)[0x7f66f898879e]
/usr/lib/x86_64-linux-gnu/libpixman-1.so.0(+0x5aa59)[0x7f66f15fba59]
/usr/lib/x86_64-linux-gnu/libpixman-1.so.0(pixman_region32_union+0xb2)[0x7f66f15fcf62]
/usr/lib/x86_64-linux-gnu/libcairo.so.2(cairo_region_union+0x27)[0x7f66fa1ac3f7]
/usr/lib/x86_64-linux-gnu/libgdk-3.so.0(+0x4f5dc)[0x7f66fb3085dc]
/usr/lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_widget_queue_draw_area+0xd2)[0x7f66fb92d502]
/usr/lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_widget_queue_draw+0xaf)[0x7f66fb934a1f]
synfigstudio(_ZN6studio14WorkAreaTarget8add_tileERKN6synfig7SurfaceEii+0x429)[0x88c639]
*** BUG ***
In pixman_region_append_non_o: The expression y1 < y2 was false
Set a breakpoint on '_pixman_log_error' to debug

/usr/local/lib/libsynfig.so.0(_ZN6synfig11Target_Tile17async_render_tileENS_7RectIntENS_7ContextENS_8RendDescEPNS_16ProgressCallbackE+0x26b)[0x7f66ff9870ab]
*** BUG ***
In pixman_region_append_non_o: The expression y1 < y2 was false
Set a breakpoint on '_pixman_log_error' to debug

synfigstudio(_ZN16AsyncTarget_Tile17async_render_tileEN6synfig7RectIntENS0_7ContextENS0_8RendDescEPNS0_16ProgressCallbackE+0xa43)[0x7b7783]
/usr/local/lib/libsynfig.so.0(_ZN6synfig11Target_Tile13render_frame_ENS_7ContextEPNS_16ProgressCallbackE+0xd4a)[0x7f66ff98825a]
/usr/local/lib/libsynfig.so.0(_ZN6synfig11Target_Tile6renderEPNS_16ProgressCallbackE+0x2a1)[0x7f66ff9888f1]
synfigstudio(_ZN6studio13AsyncRenderer13render_targetEv+0x4e)[0x7b20ee]
/usr/lib/x86_64-linux-gnu/libglibmm-2.4.so.1(+0x4fdfd)[0x7f66fbf10dfd]
/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x72305)[0x7f66f981b305]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x7464)[0x7f66fd360464]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x5f)[0x7f66f89f997f]

Full traceback is likely of no help, but it's here just in case:
https://gist.github.com/caryoscelus/86f82ce03ffa5fef6dba7a7ebcd35b73


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Linux: command line multithreaded rendering not working

I have a anim1.sifz file which is rendered just fine with the following command:
synfig anim1.sifz -t ffmpeg --fps 24 --video-codec libx264 --video-bitrate 2000 -o test.mp4

But if I try to use multithreaded rendering like so:

synfig anim1.sifz -t ffmpeg -T 2 --fps 24 --video-codec libx264 --video-bitrate 2000 -o test.mp4

I get this error:

boost::bad_any_cast: failed conversion using boost::any_cast

Looking this error up in google it seems it is related to a c++ library used for multithreading.

My system is:
Debian Jessie (8.6) 64bit, Kernel 3.16.0-4-amd64
Intel core i5 520M
GPU NVidia NVS3100M 512mb
4 gb RAM DDR3 1333 mhz
Synfig 1.0.2

Replace keyframes concept with better waypoint controls

I see fundamental flaws in the keyframes concept as Synfig uses them now:

  1. keyframes make waypoints always subject to move, placing a waypoint is never a guarantee that it stays there
  2. keyframes limit making use of different waypoint types in one frame
  3. keyframes can create unnecessary/unwanted extra waypoints
  4. keyframes are a complex concept with lots of potential of misunderstanding and misuse

I admit that I don't have experience, and maybe I'm just missing some information. Most benefits of keyframes could be achieved with better waypoint controls in my eyes. Right now I don't want to suggest a particular approach, but hope to get feedback on this issue to finally come up with a proposal.

I'm particularly interested in how people currently make use of keyframes, what the specific reason/benefit is of using them.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.