Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can you please update for GIMP-3.0 RC1 #135

Open
neildarlow opened this issue Nov 6, 2024 · 15 comments
Open

Can you please update for GIMP-3.0 RC1 #135

neildarlow opened this issue Nov 6, 2024 · 15 comments

Comments

@neildarlow
Copy link

Hi,

I've been directed here by Bruno following a report I made to the https://github.com/flathub/org.gimp.GIMP reposiitory relating to Resynthesizer not loading under GIMP 3.0-RC1.

The problem is that the flathub.org page for GIMP lists the same plugins for stable and beta versions so users are likely to install a non-working version of the plugin and report any issues to the wrong repository (because website and issue reporting links are not shown for plugins).

The best solution would be if you could provide a working Resynthesizer for GIMP 3.0 now that API has settled.

Thanks and regards,
Neil Darlow

@bootchk
Copy link
Owner

bootchk commented Nov 7, 2024

OK.

Actually someone else packages the flatpak of resynthesizer.
I am not sure if they package a 3.0 version yet, but I will look into it.

Also, I and others have contributed to a branch of the resynthesizer for 3.0, as gimp 2.99 was developed.
Not sure the state of that branch, whether there is any more work to do.
It involved porting the Python scripts to ScriptFu, but that shouldn't matter.

@neildarlow
Copy link
Author

I think I was directed here as the determination was that it's not a flatpak-specific issue. More of a late-breaking API change. The reported error at startup is as follows:

neil@vivobook:~$ flatpak run org.gimp.GIMP

gimp_font_factory_load_names: 99 unsupported fonts were ignored. Set the GIMP_DEBUG_FONTS environment variable for a listing.
set device 'Wayland Pointer' to mode: disabled
/app/extensions/plug-ins/Resynthesizer/Resynthesizer: symbol lookup error: /app/extensions/plug-ins/Resynthesizer/Resynthesizer: undefined symbol: gimp_procedure_add_argument
gimp-3.0: LibGimpBase-WARNING: gimp-3.0: gimp_wire_read(): unexpected EOF

@WarpspeedSCP
Copy link

WarpspeedSCP commented Nov 14, 2024

#136 tries to do this, but cant build with the latest 3.0 rc at the moment. I'm running into errors building the latest gimp master so I cant debug it well enough.

EDIT

I've got it working on my branch. Not sure about flatpak compatibility, though.

@arrenwu
Copy link

arrenwu commented Dec 13, 2024

Bump up~

I really hope this fantastic feature can work in Gimp 3.0 :D

@WarpspeedSCP
Copy link

WarpspeedSCP commented Dec 13, 2024 via email

classabbyamp added a commit to classabbyamp/void-packages that referenced this issue Dec 14, 2024
@neildarlow
Copy link
Author

Hubert Figuière [email protected] updated the flatpak packaging of Resynthesizer using commit 12a967d from the resynthesizer3 branch of this repository.

Running the flatpak in a terminal produces the following output:

neil@vivobook:~$ flatpak run org.gimp.GIMP
gimp_font_factory_load_names: 99 unsupported fonts were ignored. Set the GIMP_DEBUG_FONTS environment variable for a listing.
set device 'Wayland Pointer' to mode: disabled

It appears that the previous symbol lookup error has been fixed but none of the plugin features appear in the GIMP menus. So, Resynthesizer still appears to be non-functional with flatpak-packaged GIMP-3.0-RC1

Regards,
Neil Darlow

@Neustradamus
Copy link

Gimp 3.0 RC2 has been released:

@bootchk
Copy link
Owner

bootchk commented Jan 23, 2025

In progress.

See the readme of the master branch, "News".

@Martinson1252
Copy link

Wait, @bootchk, in the issues: #143, #140, it seems that it's possible to compile the extension, and make it work.
So my question is: if Resynthesizer is already in a dev/beta-compile-ready version for GIMP 3, why hasn’t anyone compiled it and shared it here on the GitHub page for others to test it out?

@bootchk
Copy link
Owner

bootchk commented Jan 26, 2025

why hasn’t anyone compiled it and shared it here on the GitHub page for others to test it out?

Specialized knowledge missing, and slowly grinding wheels, and other commitments, and other interests.

I don't know how to use Github Actions and host the built binaries from the repo.
Especially for platforms other than Linux.
I only have a passing familiarity with CI on GitLab, but GitHub is different.
GIMP repo is hosted on GitLab maybe GIMP should move there.

I don't know how to build the flatpack, and Hubert generously takes responsibility for that.
The flatpack is the main vehicle for distribution, of both GIMP and resynthesizer.
But it takes time.

This repo has never built and hosted binaries, only linked to binaries built by others.

I contribute to the GIMP project also, and I should be working on that (3.0rc3) rather than resynthesizer.

Resynthesizer builds and works on GIMP 3rc2, but only minimally, only 3 of the plugins, and without translations.
And it needs more testing, not sure it is working like it did before.

I have been working on getting i18n to work.

Then I need to port the rest of the outer plugins. See plugin-heal-selection.scm for comments
about what that entails.

I am more interested in getting resynthesizer ported to a GEGL plugin (or a Krita plugin) than the drudgery of making a new release of resynthesizer.
Learning new stuff is more fun than working on the same old stuff for decades.

@Martinson1252
Copy link

Martinson1252 commented Jan 26, 2025

Ok, what about building it for Windows? At least 3 working plugins.
#137
Image

@bootchk
Copy link
Owner

bootchk commented Jan 26, 2025

I need help with that. I use Linux. Rarely MS Windows.

I do us VSCode on Linux, if that helps.
I have often thought about setting up a build for Windows in VSCode.

One main problem is that I don't know where to get libgimp-3.0 for Windows.
And libglib-2.0.
Resynthesizer links with those.
(I don't want to learn how to build GIMP on Windows.)
One needs what is called the -dev package on Linux, with the C headers for the library.

Assuming one had a VSCode project, and the libgimp-3.0.dll and headers.
I suppose that VSCode might be able to use the meson build system,
and install to the right place.
Not sure about that, and if not, then more work required to do a custom install on Windows.

That's just to allow a developer on Windows to build for themselves.
Not to mention the work of creating an installer.
Not to mention packaging and putting it in this repo for download an installer by ordinary users.

Even in the GIMP project, the build on Windows is complicated, and changed recently.
I can build GIMP and resynthesizer for myself on Linux, but I leave packaging on other platforms to others.

@neildarlow
Copy link
Author

Hi,

@bootchk I don't know the inner workings of GEGL plugins but would that be the way forward. Would a GEGL implementation of Resynthesizer be cross-platform and easier for you to maintain?

Regards,
Neil

@bootchk
Copy link
Owner

bootchk commented Jan 26, 2025

I don't think as a GEGL plugin, it would be any more cross platform.

Unless gegl.org would then take over the source. Then it does become cross platform.

There are two aspects of making it a GEGL plugin:

  - giving it the GEGL outer API i.e. facade, but still using the same implementation
  - using the GEGL and BABL as the implementation of pixmaps and pixel formats within the resynthesizer implementation

As a GEGL plugin as a GEGL node, might be breaking new untested ground.
The resynthesizer engine has many inputs, and could have many outputs.
Most GEGL filters are simpler nodes having one in and one out.
The outer resynthesizer plugins could remain as Scheme language GIMP plugins.

The reason that resynthesizer has not been absorbed long ago is coding standards and readability,
and a commitment from someone to continue to maintain.
The resynthesizer code is ad hoc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants