resynthesizer icon indicating copy to clipboard operation
resynthesizer copied to clipboard

Control panel plugin uses Gtk2, obsolete. Implement it as a Python plugin instead.

Open bootchk opened this issue 3 years ago • 1 comments

This issue documents a planned change to resynthesizer.

The control panel plugin appears in the menus as "Map>Resynthesize"

It has a control widget for each parameter of the engine plugin (which registers in the PDB separate from all the other plugins that are part of resynthesizer set of plugins.)

It is written in C and implements a user-friendly GUI using the Gtk-2 library.

The Gtk-2 library is ancient. Most apps use Gtk3 now. Gtk4 is being developed already. It is increasingly hard to build Gtk-2 apps.

The control panel plugin can be implemented as a GimpFu plugin. GimpFu has the ability to present a GUI dialog for the parameters of a plugin. In this case, the control panel plugin will have parameters that correspond to the parameters of the engine plugin. The control panel plugin will just take the values the user has the opportunity to change, and invoke the engine with those values.

Since GimpFu is limited re the look-and-feel of the GUI dialog, the dialog won't look as nice as the one implemented in Gtk2. Also, it might not have some user-friendly features, such as limiting the values that the user can enter, or helpful groupings of controls. It will still provide the ability to send chosen values to the engine plugin.

Since the future of GimpFu is in doubt, this might be a temporary measure. The control panel plugin if it remains a Python plugin might need to be rewritten to use GI. And the GUI that GIMP plugins can present is being revamped for GIMP 3.

bootchk avatar Feb 17 '21 17:02 bootchk

@bootchk It would be great if you could add labels so that contributors can have a rough idea of the difficulty of this task.

Ashvith10 avatar Jun 18 '23 21:06 Ashvith10