My 2022(/2) resolutions

I’m writing here just to not forget my coding goals:

Code cleanup: easier maintenance for the future

  1. move ETL to synfig-core (WIP #2686 #2699 #2704 #2705 #2706 #2707 #2709 #2708 #2711 #2713#2715 #2718 #2733 #2735 #2773 #2710 #2791 -more to be done-)
  2. create os::pipe (WIP #2491 ← waiting for testing on Windows and MacOS and code review)
  3. port synfig studio to Gtk 3.18 without deprecated API (WIP)
  4. port remaining layers to Cobra Renderer engine (WIP 2362 #2551 #2562 -more to be done-)

Precious features: do not curse Synfig that much when starting to learning it

  1. create Tool Selection
  2. create dialog to let user fix missing files (WIP #2472 ← missing review -more to be done-)

Add-ons: making it easier for new contributors

  1. provide support for (real) Synfig Studio modules
  2. provide Python & Lua API for modules/plugins scripting

Why not?

  1. copy and paste not only layers, but also value nodes and values; and not only in-app

Dreams: because we don’t have enough time or patience

  1. fix or change skeleton code…
  2. bring OpenGL back (Vulkan would be more than a dream…)
  3. Make Brush tool work
  4. Make it available on Android

Never: because I don’t have any idea how to do it

  1. Allow canvas instancing that would allow to override parameters, current time and include more layers, without affecting other instances
  2. Boolean operation on (any) shapes

I have to say this sounds really interesting :), would probably be difficult in the sense that it would take a long time, but if that’s ever started I’d be totally down to help with it.

Directly on Android it seems difficult, unless…

It would be easier to develop directly a specific app which would handle .sif files instead.
And better on a tablet than on a phone, with a Bluetooth mouse, because of usability, ouch…

This is more realistic and would make miracles!
I did some tests on my side with pybind11, starting from studio::App class but no matter what I tried it failed.
The type of the singleton returned by the Instance() is not the same type as the private App() constructor… :crazy_face:
We definitely need scripting features…

1 Like

Yes. My (future) intention is to use libsynfig and libsynfigapp with a new Android GUI app.
Tablets, of course. Phone would be too much limited IMO.

I already did some successful tests a year ago, with SWIG, that allow us to provide multiple languages, if wanted. But I prefer to cleanup some stuff before doing it, in order to provide an API relatively stable.


So maybe we could use Qt for the Android version.

Something else that could be nice is to provide an OSC compability once the api would be available.
This could permit to use a phone or a tablet as a provider of touch control for the parameters in Synfig.
There are configurable GUI possibilities with OpenStageControl for example or even with external input with PureData.
One click on a layer/parameter and a slider, color selector, switch appearing on the companion phone/tablet.

Also instead of using right-click and a cascade of sub-menus, a circular menu in the style of Fly-Pie could be more intuitive for productivity.

Yes, I am a dreamer :stuck_out_tongue:

1 Like

I’m not a fan of Qt. It’s a Java wanna be (in API/code style) aaand I always fear that happens what recently happened with Java.
Anyway, if someone wants to, good for Synfig users :slight_smile:

If we have a UI/UX designer… That’s not difficult to implement.

Reporting current status:

Code cleanup: easier maintenance for the future

  1. move ETL to synfig-core (WIP #2686 #2699 #2704 #2705 #2706 #2707 #2709 #2708 #2711 #2713#2715 #2718 #2733 #2735 #2773 #2791 #2808 #2840 #2848 #2854 #2870 #2871 #2873 #2874 #2881 #2888 #2889 #2890 #2910 #2922 #2924 #2925 #2949 #2710 ← missing review -a few more to be done-)
  2. create os::pipe (DONE #2491)
  3. port synfig studio to Gtk 3.18 without deprecated API (WIP #2935 #2942 #2947 #2948 #2975 #2978 #2979 #2982 #2983 #2985← missing review -more being doing-)
  4. port remaining layers to Cobra Renderer engine (WIP 2362 #2551 #2562 ← missing review -more to be done-)

Precious features: do not curse Synfig that much when starting to learning it

  1. create Tool Selection (I’ll propose it as a GSoC project for 2023)
  2. create dialog to let user fix missing files (WIP #2472 #2904 #2905 #2936 -more being doing-)

(edited on 2023-01-16)


Fantastic work you accomplished this year! Hooray!!!

Cheering you on for the coming year 2023 :slight_smile:


After a long break due to real life, here I am with a doubt (somehow related to item #6) :

What is the best way to show an external resource file is missing? And how to allow a replacement to all references?

Here below is what I am currently testing. The bottom half (labeled as “External Resources”) has two different ways. The first one is a small adaptation of the current appearance of Canvas Dependencies dialog: I added an Open button and a Status icon.
Below is another proposal.

Any comments are welcome (but may be be ignored XD)


IMO I think the bottom one looks easier/more Intuitive to use.

Yes, the last one looks more natural to me as well.

1 Like

Hey @rodolforg, an Idea just came into my mind. Would you think it may be a good idea to turn this into a gsoc project for this year ?

Of course the gsoc time-span wouldn’t be enough for a fully fledged Synfig mobile app. But maybe we could try to decide on the features needed in the app and how it would be imagined to be. If we start soon we could also possibly try to get some basic UI/UX designs done. Then when the gsoc period gets closer we can finally decide what the project would include exactly. I think this way we could probably at least set the foundations for the Synfig mobile version.

I have been working in android development for a while now and I personally would love helping in mentoring for such a project.

Maybe we can make a thread about it here and that way we’d get various input from the small community here.

Also apart from it being a very interesting project. I think if eventually it is done right and released it would be a great boost for synfig.

Hey @mohamed.Adhamc, I am Ayush Koli, and I came across your idea regarding the development of an Android app for Synfig. I would love to explore this idea further and offer my skills and expertise to contribute to this endeavor if it’s something the community is considering. Could you please provide more insights into the current status of this project or any steps already taken in this direction? Additionally, I’m eager to know how I might get involved or contribute effectively to the Synfig. Thank you :slight_smile:

Hello @ayush72, it’s great that you’re excited about participating in the development of such an idea. However, actually it was originally mentioned by @rodolforg. As far as I know we haven’t started anything in regards to the Synfig android version but hopefully we could do so soon.

Thank you, @mohamed.Adhamc, for your response and for clarifying that the idea originated from @rodolforg. I’m excited to know that there’s potential for this project to move forward in the future. I remain genuinely enthusiastic about contributing to the development of an Android app for Synfig. Should there be any progress or developments regarding the Synfig Android version, I’d be highly interested in being a part of it and contributing in any way possible. Please keep me updated on any advancements or discussions related to this. I’m eagerly looking forward to contributing to the growth of Synfig in this direction. Thank you once again for considering my interest.

1 Like

Hello @mohamed.Adhamc, I hope this message finds you well!

Any updates about the Synfig mobile app?

Thank you for your time :slight_smile:

Hello @ayush72 , so far unfortunately I haven’t heard anything. I will try to propose it as an idea for GSoC, so I guess we can only wait and see what happens.

1 Like

Got it. I hope it will be among the potential project ideas.

Do you know when will the project ideas for GSoC '24 be published?

Thank you for your time and consideration :slight_smile:

I think @rodolforg and @ice0 can better help you with that.

1 Like

Got it. Thank you :slight_smile: