resynthesizer
resynthesizer copied to clipboard
Incompatibility with GTK 3.0
According to gimp release roadmap, migrating to GTK 3.0 will happen with gimp 3.0.
Right now, the resynthesizer plugin cannot be compiled against gimp at head, because it isn't compatible with GTK 3.0
I notice resynthesizer will need to update the code to gimp 2.10 as the compiler showed
I believe the only component that depends on GTK is resynthesizer-gui.c, the control panel plugin that presents as Filter>Map>Resynthesize. In the other branch (name?) I have already rewritten that plugin in Python. I speculate that gimp.org will rewrite PyGimp for GTK 3 (but I have no evidence.) Hence the task is completed.
@luyatshimbalanga : please help me find the error in that log. I believe that resynthesizer builds correctly for gimp2.10. I have tested a build using the vagga.yaml script in the /vagga directory. I am not familiar with the tool that you are using, and can't find the error message.
@bootchk That is a Fedora build system. The focus is on BUILDSTDERR lines from compilation in order to reduce warnings and makin future proof as possible:
BUILDSTDERR: In file included from imageSynth.c:56:
BUILDSTDERR: adaptSimple.h:183:1: warning: 'initBufferAndAntiAdapt' defined but not used [-Wunused-function]
BUILDSTDERR: 183 | initBufferAndAntiAdapt(
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~~~~~~
make[2]: Leaving directory '/builddir/build/BUILD/resynthesizer-adfa25ab0d11ed27ff301cb7db4b144c4c2fa112/lib'
make[2]: Entering directory '/builddir/build/BUILD/resynthesizer-adfa25ab0d11ed27ff301cb7db4b144c4c2fa112/lib'
gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I/usr/include/gimp-2.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/uuid -I/usr/include/gegl-0.4 -I/usr/include/json-glib-1.0 -I/usr/include/gio-unix-2.0 -I/usr/include/babl-0.1 -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -pthread -I/usr/include -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o libresynthesizer_a-progress.o `test -f 'progress.c' || echo './'`progress.c
BUILDSTDERR: In file included from progress.h:6,
BUILDSTDERR: from progress.c:16:
BUILDSTDERR: passes.h:68:1: warning: 'prepare_repetition_parameters' defined but not used [-Wunused-function]
BUILDSTDERR: 68 | prepare_repetition_parameters(
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: Leaving directory '/builddir/build/BUILD/resynthesizer-adfa25ab0d11ed27ff301cb7db4b144c4c2fa112/lib'
make[2]: Entering directory '/builddir/build/BUILD/resynthesizer-adfa25ab0d11ed27ff301cb7db4b144c4c2fa112/lib'
gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I/usr/include/gimp-2.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/uuid -I/usr/include/gegl-0.4 -I/usr/include/json-glib-1.0 -I/usr/include/gio-unix-2.0 -I/usr/include/babl-0.1 -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -pthread -I/usr/include -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o libresynthesizer_a-imageFormat.o `test -f 'imageFormat.c' || echo './'`imageFormat.c
make[2]: Leaving directory '/builddir/build/BUILD/resynthesizer-adfa25ab0d11ed27ff301cb7db4b144c4c2fa112/lib'
make[2]: Entering directory '/builddir/build/BUILD/resynthesizer-adfa25ab0d11ed27ff301cb7db4b144c4c2fa112/lib'
gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I/usr/include/gimp-2.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/uuid -I/usr/include/gegl-0.4 -I/usr/include/json-glib-1.0 -I/usr/include/gio-unix-2.0 -I/usr/include/babl-0.1 -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -pthread -I/usr/include -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o libresynthesizer_a-engine.o `test -f 'engine.c' || echo './'`engine.c
BUILDSTDERR: In file included from engine.c:525:
BUILDSTDERR: synthesize.h:274:19: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier]
BUILDSTDERR: 274 | const TNeighbor const neighbors[],
BUILDSTDERR: | ^~~~~
BUILDSTDERR: In file included from engine.c:523:
BUILDSTDERR: passes.h:55:1: warning: 'estimatePixelsToSynth' defined but not used [-Wunused-function]
BUILDSTDERR: 55 | estimatePixelsToSynth(TRepetionParameters repetition_params)
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~~~~~
make[2]: Leaving directory '/builddir/build/BUILD/resynthesizer-adfa25ab0d11ed27ff301cb7db4b144c4c2fa112/lib'
make[2]: Entering directory '/builddir/build/BUILD/resynthesizer-adfa25ab0d11ed27ff301cb7db4b144c4c2fa112/lib'
rm -f libresynthesizer.a
ar cru libresynthesizer.a libresynthesizer_a-imageSynth.o libresynthesizer_a-engine.o libresynthesizer_a-engineParams.o libresynthesizer_a-imageFormat.o libresynthesizer_a-progress.o
ranlib libresynthesizer.a
make[2]: Leaving directory '/builddir/build/BUILD/resynthesizer-adfa25ab0d11ed27ff301cb7db4b144c4c2fa112/lib'
Making all in src
Making all in resynthesizer
make[3]: Entering directory '/builddir/build/BUILD/resynthesizer-adfa25ab0d11ed27ff301cb7db4b144c4c2fa112/src/resynthesizer'
gcc -DHAVE_CONFIG_H -I. -I../.. -DLOCALEDIR=\""/usr/share/locale"\" -DDATADIR=\""/usr/share/resynthesizer"\" -I../.. -I/usr/include/gimp-2.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/uuid -I/usr/include/gegl-0.4 -I/usr/include/json-glib-1.0 -I/usr/include/gio-unix-2.0 -I/usr/include/babl-0.1 -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -pthread -I/usr/include -I./../../lib -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c -o resynthesizer-resynthesizer.o `test -f 'resynthesizer.c' || echo './'`resynthesizer.c
BUILDSTDERR: In file included from resynthesizer.c:106:
BUILDSTDERR: adaptGimp.h: In function 'pixmap_to_drawable':
BUILDSTDERR: adaptGimp.h:88:3: warning: 'gimp_pixel_rgn_init' is deprecated: Use 'gimp_drawable_get_buffer' instead [-Wdeprecated-declarations]
BUILDSTDERR: 88 | gimp_pixel_rgn_init(®ion, drawable, 0,0, width, height, TRUE, TRUE);
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~~~
BUILDSTDERR: In file included from /usr/include/gimp-2.0/libgimp/gimp.h:57,
BUILDSTDERR: from resynthesizer.c:77:
BUILDSTDERR: /usr/include/gimp-2.0/libgimp/gimppixelrgn.h:48:11: note: declared here
BUILDSTDERR: 48 | void gimp_pixel_rgn_init (GimpPixelRgn *pr,
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~~~
BUILDSTDERR: In file included from resynthesizer.c:106:
BUILDSTDERR: adaptGimp.h:102:3: warning: 'gimp_pixel_rgn_set_rect' is deprecated: Use 'gegl_buffer_set' instead [-Wdeprecated-declarations]
BUILDSTDERR: 102 | gimp_pixel_rgn_set_rect(®ion, img, 0,0, width, height);
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~~~~~~~
BUILDSTDERR: In file included from /usr/include/gimp-2.0/libgimp/gimp.h:57,
BUILDSTDERR: from resynthesizer.c:77:
BUILDSTDERR: /usr/include/gimp-2.0/libgimp/gimppixelrgn.h:104:11: note: declared here
BUILDSTDERR: 104 | void gimp_pixel_rgn_set_rect (GimpPixelRgn *pr,
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~~~~~~~
BUILDSTDERR: In file included from resynthesizer.c:106:
BUILDSTDERR: adaptGimp.h: In function 'pixmap_from_drawable':
BUILDSTDERR: adaptGimp.h:137:3: warning: 'gimp_pixel_rgn_init' is deprecated: Use 'gimp_drawable_get_buffer' instead [-Wdeprecated-declarations]
BUILDSTDERR: 137 | gimp_pixel_rgn_init(®ion, drawable, x,y, map.width, map.height, FALSE,FALSE);
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~~~
BUILDSTDERR: In file included from /usr/include/gimp-2.0/libgimp/gimp.h:57,
BUILDSTDERR: from resynthesizer.c:77:
BUILDSTDERR: /usr/include/gimp-2.0/libgimp/gimppixelrgn.h:48:11: note: declared here
BUILDSTDERR: 48 | void gimp_pixel_rgn_init (GimpPixelRgn *pr,
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~~~
BUILDSTDERR: In file included from resynthesizer.c:106:
BUILDSTDERR: adaptGimp.h:146:3: warning: 'gimp_pixel_rgn_get_rect' is deprecated: Use 'gegl_buffer_get' instead [-Wdeprecated-declarations]
BUILDSTDERR: 146 | gimp_pixel_rgn_get_rect(®ion, img, x,y, width,height);
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~~~~~~~
BUILDSTDERR: In file included from /usr/include/gimp-2.0/libgimp/gimp.h:57,
BUILDSTDERR: from resynthesizer.c:77:
BUILDSTDERR: /usr/include/gimp-2.0/libgimp/gimppixelrgn.h:80:11: note: declared here
BUILDSTDERR: 80 | void gimp_pixel_rgn_get_rect (GimpPixelRgn *pr,
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~~~~~~~
BUILDSTDERR: In file included from resynthesizer.c:106:
BUILDSTDERR: adaptGimp.h: In function 'fetch_mask':
BUILDSTDERR: adaptGimp.h:234:5: warning: 'gimp_drawable_get' is deprecated: Use 'gimp_drawable_get_buffer' instead [-Wdeprecated-declarations]
BUILDSTDERR: 234 | mask_drawable = gimp_drawable_get(gimp_image_get_selection(gimp_drawable_get_image(drawable->drawable_id)));
BUILDSTDERR: | ^~~~~~~~~~~~~
BUILDSTDERR: In file included from /usr/include/gimp-2.0/libgimp/gimp.h:41,
BUILDSTDERR: from resynthesizer.c:77:
BUILDSTDERR: /usr/include/gimp-2.0/libgimp/gimpdrawable.h:51:16: note: declared here
BUILDSTDERR: 51 | GimpDrawable * gimp_drawable_get (gint32 drawable_ID);
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~
BUILDSTDERR: In file included from resynthesizer.c:106:
BUILDSTDERR: adaptGimp.h:234:5: warning: 'gimp_drawable_get_image' is deprecated: Use 'gimp_item_get_image' instead [-Wdeprecated-declarations]
BUILDSTDERR: 234 | mask_drawable = gimp_drawable_get(gimp_image_get_selection(gimp_drawable_get_image(drawable->drawable_id)));
BUILDSTDERR: | ^~~~~~~~~~~~~
BUILDSTDERR: In file included from /usr/include/gimp-2.0/libgimp/gimp.h:41,
BUILDSTDERR: from resynthesizer.c:77:
BUILDSTDERR: /usr/include/gimp-2.0/libgimp/gimpdrawable.h:98:16: note: declared here
BUILDSTDERR: 98 | gint32 gimp_drawable_get_image (gint32 drawable_ID);
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~~~~~~~
BUILDSTDERR: In file included from resynthesizer.c:106:
BUILDSTDERR: adaptGimp.h:249:5: warning: 'gimp_drawable_detach' is deprecated [-Wdeprecated-declarations]
BUILDSTDERR: 249 | gimp_drawable_detach(mask_drawable);
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~~~~
BUILDSTDERR: In file included from /usr/include/gimp-2.0/libgimp/gimp.h:41,
BUILDSTDERR: from resynthesizer.c:77:
BUILDSTDERR: /usr/include/gimp-2.0/libgimp/gimpdrawable.h:53:16: note: declared here
BUILDSTDERR: 53 | void gimp_drawable_detach (GimpDrawable *drawable);
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~~~~
BUILDSTDERR: resynthesizer.c: In function 'post_results_to_gimp':
BUILDSTDERR: resynthesizer.c:249:3: warning: 'gimp_drawable_flush' is deprecated: Use 'gegl_buffer_flush' instead [-Wdeprecated-declarations]
BUILDSTDERR: 249 | gimp_drawable_flush(drawable); // regions back to core
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~~~
BUILDSTDERR: In file included from /usr/include/gimp-2.0/libgimp/gimp.h:41,
BUILDSTDERR: from resynthesizer.c:77:
BUILDSTDERR: /usr/include/gimp-2.0/libgimp/gimpdrawable.h:55:16: note: declared here
BUILDSTDERR: 55 | void gimp_drawable_flush (GimpDrawable *drawable);
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~~~
BUILDSTDERR: resynthesizer.c: In function 'detach_drawables':
BUILDSTDERR: resynthesizer.c:266:5: warning: 'gimp_drawable_detach' is deprecated [-Wdeprecated-declarations]
BUILDSTDERR: 266 | gimp_drawable_detach(out);
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~~~~
BUILDSTDERR: In file included from /usr/include/gimp-2.0/libgimp/gimp.h:41,
BUILDSTDERR: from resynthesizer.c:77:
BUILDSTDERR: /usr/include/gimp-2.0/libgimp/gimpdrawable.h:53:16: note: declared here
BUILDSTDERR: 53 | void gimp_drawable_detach (GimpDrawable *drawable);
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~~~~
BUILDSTDERR: resynthesizer.c:268:5: warning: 'gimp_drawable_detach' is deprecated [-Wdeprecated-declarations]
BUILDSTDERR: 268 | gimp_drawable_detach(in);
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~~~~
BUILDSTDERR: In file included from /usr/include/gimp-2.0/libgimp/gimp.h:41,
BUILDSTDERR: from resynthesizer.c:77:
BUILDSTDERR: /usr/include/gimp-2.0/libgimp/gimpdrawable.h:53:16: note: declared here
BUILDSTDERR: 53 | void gimp_drawable_detach (GimpDrawable *drawable);
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~~~~
BUILDSTDERR: resynthesizer.c:270:5: warning: 'gimp_drawable_detach' is deprecated [-Wdeprecated-declarations]
BUILDSTDERR: 270 | gimp_drawable_detach(out_map);
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~~~~
BUILDSTDERR: In file included from /usr/include/gimp-2.0/libgimp/gimp.h:41,
BUILDSTDERR: from resynthesizer.c:77:
BUILDSTDERR: /usr/include/gimp-2.0/libgimp/gimpdrawable.h:53:16: note: declared here
BUILDSTDERR: 53 | void gimp_drawable_detach (GimpDrawable *drawable);
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~~~~
BUILDSTDERR: resynthesizer.c:272:5: warning: 'gimp_drawable_detach' is deprecated [-Wdeprecated-declarations]
BUILDSTDERR: 272 | gimp_drawable_detach(in_map);
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~~~~
BUILDSTDERR: In file included from /usr/include/gimp-2.0/libgimp/gimp.h:41,
BUILDSTDERR: from resynthesizer.c:77:
BUILDSTDERR: /usr/include/gimp-2.0/libgimp/gimpdrawable.h:53:16: note: declared here
BUILDSTDERR: 53 | void gimp_drawable_detach (GimpDrawable *drawable);
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~~~~
BUILDSTDERR: resynthesizer.c: In function 'run':
BUILDSTDERR: resynthesizer.c:344:3: warning: 'gimp_drawable_get' is deprecated: Use 'gimp_drawable_get_buffer' instead [-Wdeprecated-declarations]
BUILDSTDERR: 344 | drawable = gimp_drawable_get(param[2].data.d_drawable);
BUILDSTDERR: | ^~~~~~~~
BUILDSTDERR: In file included from /usr/include/gimp-2.0/libgimp/gimp.h:41,
BUILDSTDERR: from resynthesizer.c:77:
BUILDSTDERR: /usr/include/gimp-2.0/libgimp/gimpdrawable.h:51:16: note: declared here
BUILDSTDERR: 51 | GimpDrawable * gimp_drawable_get (gint32 drawable_ID);
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~
BUILDSTDERR: resynthesizer.c:380:3: warning: 'gimp_drawable_get' is deprecated: Use 'gimp_drawable_get_buffer' instead [-Wdeprecated-declarations]
BUILDSTDERR: 380 | corpus_drawable = gimp_drawable_get(pluginParameters.corpus_id);
BUILDSTDERR: | ^~~~~~~~~~~~~~~
BUILDSTDERR: In file included from /usr/include/gimp-2.0/libgimp/gimp.h:41,
BUILDSTDERR: from resynthesizer.c:77:
BUILDSTDERR: /usr/include/gimp-2.0/libgimp/gimpdrawable.h:51:16: note: declared here
BUILDSTDERR: 51 | GimpDrawable * gimp_drawable_get (gint32 drawable_ID);
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~
BUILDSTDERR: resynthesizer.c:399:5: warning: 'gimp_drawable_get' is deprecated: Use 'gimp_drawable_get_buffer' instead [-Wdeprecated-declarations]
BUILDSTDERR: 399 | map_in_drawable = gimp_drawable_get(pluginParameters.input_map_id);
BUILDSTDERR: | ^~~~~~~~~~~~~~~
BUILDSTDERR: In file included from /usr/include/gimp-2.0/libgimp/gimp.h:41,
BUILDSTDERR: from resynthesizer.c:77:
/usr/incmake[3]: Leaving directory '/builddir/build/BUILD/resynthesizer-adfa25ab0d11ed27ff301cb7db4b144c4c2fa112/src/resynthesizer'
BUILDSTDERR: lude/gimp-2.0/libgimp/gimpdrawable.h:51:16: note: declared here
BUILDSTDERR: 51 | GimpDrawable * gimp_drawable_get (gint32 drawable_ID);
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~
BUILDSTDERR: resynthesizer.c:400:5: warning: 'gimp_drawable_get' is deprecated: Use 'gimp_drawable_get_buffer' instead [-Wdeprecated-declarations]
BUILDSTDERR: 400 | map_out_drawable = gimp_drawable_get(pluginParameters.output_map_id);
BUILDSTDERR: | ^~~~~~~~~~~~~~~~
BUILDSTDERR: In file included from /usr/include/gimp-2.0/libgimp/gimp.h:41,
BUILDSTDERR: from resynthesizer.c:77:
BUILDSTDERR: /usr/include/gimp-2.0/libgimp/gimpdrawable.h:51:16: note: declared here
BUILDSTDERR: 51 | GimpDrawable * gimp_drawable_get (gint32 drawable_ID);
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~
BUILDSTDERR: In file included from /usr/lib64/glib-2.0/include/glibconfig.h:9,
BUILDSTDERR: from /usr/include/glib-2.0/glib/gtypes.h:32,
BUILDSTDERR: from /usr/include/glib-2.0/glib/galloca.h:32,
BUILDSTDERR: from /usr/include/glib-2.0/glib.h:30,
BUILDSTDERR: from /usr/include/glib-2.0/gobject/gbinding.h:28,
BUILDSTDERR: from /usr/include/glib-2.0/glib-object.h:23,
BUILDSTDERR: from /usr/include/gegl-0.4/gegl.h:22,
BUILDSTDERR: from /usr/include/gimp-2.0/libgimp/gimp.h:25,
BUILDSTDERR: from resynthesizer.c:77:
BUILDSTDERR: resynthesizer.c:498:28: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
BUILDSTDERR: 498 | g_assert(targetMap.width * targetMap.height); // Image is not empty
BUILDSTDERR: | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
BUILDSTDERR: /usr/include/glib-2.0/glib/gmacros.h:891:8: note: in definition of macro '_G_BOOLEAN_EXPR'
BUILDSTDERR: 891 | if (expr) \
BUILDSTDERR: | ^~~~
BUILDSTDERR: /usr/include/glib-2.0/glib/gtestutils.h:164:49: note: in expansion of macro 'G_LIKELY'
BUILDSTDERR: 164 | if G_LIKELY (expr) ; else \
BUILDSTDERR: | ^~~~~~~~
BUILDSTDERR: resynthesizer.c:498:3: note: in expansion of macro 'g_assert'
BUILDSTDERR: 498 | g_assert(targetMap.width * targetMap.height); // Image is not empty
BUILDSTDERR: | ^~~~~~~~
BUILDSTDERR: resynthesizer.c:499:28: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
BUILDSTDERR: 499 | g_assert(corpusMap.width * corpusMap.height); // Corpus is not empty
BUILDSTDERR: | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
BUILDSTDERR: /usr/include/glib-2.0/glib/gmacros.h:891:8: note: in definition of macro '_G_BOOLEAN_EXPR'
BUILDSTDERR: 891 | if (expr) \
BUILDSTDERR: | ^~~~
BUILDSTDERR: /usr/include/glib-2.0/glib/gtestutils.h:164:49: note: in expansion of macro 'G_LIKELY'
BUILDSTDERR: 164 | if G_LIKELY (expr) ; else \
BUILDSTDERR: | ^~~~~~~~
BUILDSTDERR: resynthesizer.c:499:3: note: in expansion of macro 'g_assert'
BUILDSTDERR: 499 | g_assert(corpusMap.width * corpusMap.height); // Corpus is not empty
BUILDSTDERR: | ^~~~~~~~
BUILDSTDERR: In file included from resynthesizer.c:107:
BUILDSTDERR: At top level:
BUILDSTDERR: ../resynth-parameters.h:190:1: warning: 'set_parameters_to_list' defined but not used [-Wunused-function]
BUILDSTDERR: 190 | set_parameters_to_list(
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~~~~~~
BUILDSTDERR: ../resynth-parameters.h:132:1: warning: 'set_last_parameters' defined but not used [-Wunused-function]
BUILDSTDERR: 132 | set_last_parameters(
BUILDSTDERR: | ^~~~~~~~~~~~~~~~~~~
Thanks for clarifying. To summarize, resynthesizer still compiles and works for GIMP 2.10, but compiler warns of deprecated functions (that probably will not work with GIMP 3.0.)
There are two issues here:
-
GTK functions, for the GUI of resynthesizer-gui.c. As explained above, I have already ported resynthesizer-gui.c to Python (using PyGimp to implement the GUI.)
-
deprecated libgimp functions. I think that will be straightforward. The resynthesizer does not use tiles. It reads the whole image into its own data structure. So it can simply iterate over the entire GEGL_buffer. An example I will draw from is gimp/plug-ins/common/file_aa.c
A discussion about what deprecated functions means to plugins: https://www.reddit.com/r/GIMP/comments/40y38b/is_gimp_210_same_thing_as_gimp_3/ It does not absolutely say that deprecated functions will not work in GIMP 3.0.
It does say that plugins that can work with more bit depth (32 bit instead of 8 bit) should migrate away from deprecated functions. I don't think Resynthesizer will benefit from using more bit depth.
I don't think resynthesizer will benefit from using tiles. My understanding is that tiles benefit the "filter" kind of plugin, e.g. where some convolution operates on small areas of the image. Most of that kind of plugins have been migrated into the GEGL project (not in the GIMP project anymore.) Fundamentally, resynthesizer is a search algorithm over the whole image. Thats why it reads the whole image into its own pixmap. I could be wrong, but to explore that question is a major undertaking.
Bottom line: resynthesizer will still work in GIMP 3.0 as far as I know, with just a little work. There is no crisis, since there is no firm date for GIMP 3.0. The work can be done now, since GIMP 2.10 seems to provide stable replacements for the deprecated functions.
Thank you for the details. Lets keep eye on GIMP 3.0 progress.