-
Notifications
You must be signed in to change notification settings - Fork 27
Script-Fu: update to GIMP3-compatible implementation #96
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
Script-Fu: update to GIMP3-compatible implementation #96
Conversation
* Remove implicit SIOD array accesses[1] * Migrate removed `drawable` API calls to `item` equivalents * Introduce TinyScheme `vector-ref` and `vector-length` calls * Migrate[2] from `get-active-layer` to `get-selected-layers` * Call `file-png-export` (instead of `save`) with named arguments Refs: - [1] https://www.gimp.org/docs/script-fu-update.html#carempty - [2] https://samjcreations.blogspot.com/2022/08/api-gimp-29912-script-fu.html
|
I've tested a build of this branch plus #95 against the existing Debian v7.1 OpenGFX package --and the results are almost identical, and all seems fine in-game with the OpenGFX base set enabled. The only difference is in the |
frosch123
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @jayaddison.
I checked the nfo files, they just differ in the version/git-revision, which is included in them.
|
I'm very glad to learn that that's the difference! - thank you @frosch123 (and also for the PR approval). |
|
Many thanks for picking this up and diving in so deep! I looked through the diff and it looks ok to me (but I'm not familiar enough with lisp and script-fu to really tell if it is ok, at least the changes do not look wrong to me). Only remark I have is that I think the |
|
I've also tested these changes (this PR rebased on top of master/#95) in the Debian build on a clean sid chroot, and that also seems to work well (with gimp3-rcsomething). I did see a lot of these warnings: Which could be fixed by installing
@jayaddison you mentioned additional dependencies, which did you mean by that? |
Thanks @matthijskooijman for reviewing this - yep, I also think we can remove the
Hm, good question - that wasn't very clear, in retrospect. I'm fairly sure I meant the regular build dependencies (e.g. |
|
I also tried to see if I could make these changes backward-compatible, but could not figure this out. I got stuck on the line (the first one I tried): This seems to use "uninterned symbols" (in lisp) or keywords (scheme) created by the This happens even when I use an if to not evaluate these things, so it just fails to parse. I tried replacing them with ordinary symbols ( What we could of course do is keep two versions of Would that make sense? |
Although it's slightly less neat, that seems like a good idea to me; allowing other systems/distros to upgrade at their own pace. |
|
@matthijskooijman should I submit #95 and/or the changes here up-to-and-including 0e0bf94 as patches for the Debian package in (I'm usually a bit reluctant to send patches downstream until code is merged; in this case I hope we're relatively confident now that the result is a no-op... and also I get the sense it might take me a while to get around to the backcompat code, even if it seems like it should be a small thing) |
|
(and when I say backcompat code.. -- I mean possibly the tweaks to the |
|
@jayaddison @matthijskooijman |
|
Hm, that is interesting. I get: Are you sure you're testing the right code and the right gimp-console version?
Maybe I'll try to whip up something sooner then - I'd rather backport merged code, or even get a new release if possible in the next couple of weeks (Debian freeze deadline is April 15th or so). |
|
@matthijskooijman |
No, it does not generate any pngs, but just uses the ones in the repo. Try |
|
I've implemented the Makefile-based gimp2 compatibility, seems to work fine. I've created #98 with this to replace this PR. |
|
Thanks @matthijskooijman; closing this pull request as superseded by #98. |
drawableAPI calls toitemequivalentsvector-refandvector-lengthcallsget-active-layertoget-selected-layersfile-png-export(instead ofsave) with named argumentsvisibleStuffvariableThese changes, in combination with #95 and some additional prerequisite install dependencies, allow me to use Debian
testing(trixie) to rebuild what appear naively to be very similar (but not identical) PNG output images to those shipped in Debianstable(bookworm).Resolves #94