Commit Graph

48560 Commits

Author SHA1 Message Date
Niels De Graef 3473883edb po-tips: Fix gettext translation 2022-06-27 15:48:26 +00:00
Nathan Follens 1e8f2d0a4f Update Dutch translation 2022-06-27 13:44:54 +00:00
lloyd konneker 15ed7157dc devel-docs: document how to add interpreter and .interp file
From my experience with gimp-script-fu-interpreter on Windows.
Feel free to correct mistakes.
2022-06-26 10:37:12 -04:00
lloyd konneker 8d75b752c0 ScriptFu: oops missing file in POTFILE.in for !658 2022-06-26 09:06:59 +00:00
Niels De Graef a3c5072a1c data: Adapt tips.dtd for gettext changes 2022-06-26 10:54:41 +02:00
Martin c9819ea4c7 Update Slovenian translation 2022-06-26 08:22:50 +00:00
Martin 4e06e0d70f Update Slovenian translation 2022-06-26 08:18:42 +00:00
Martin 50c7c929ee Update Slovenian translation 2022-06-26 08:16:51 +00:00
Yuri Chornoivan cac8f7f53e Update Ukrainian translation 2022-06-25 20:05:43 +00:00
Yuri Chornoivan ca4e6d0d24 Update Ukrainian translation 2022-06-25 20:03:19 +00:00
Yuri Chornoivan 4eb29abfcd Update Ukrainian translation 2022-06-25 19:52:58 +00:00
Lukas Oberhuber 877520896f app, macOS: Remove crash handling conflict 2022-06-25 17:46:19 +00:00
Jehan dfa1f0fc93 build: intltool is still needed by libmypaint. 2022-06-25 17:06:30 +02:00
Jehan 66812c8862 build: fix the distcheck.
MR !653 was merged too early as Gitlab bugged on us! Anyway this fixes
the distribution contents.
2022-06-25 17:06:21 +02:00
Jehan 8122e8cf36 extensions: fix builds after MR !653 (migrating to gettext).
(1) On recent meson versions, it fixes this error:

> extensions/goat-exercises/meson.build:108:0: ERROR: i18n.merge_file keyword argument 'output' was of type array[str] but should have been str

As docs explains, 'output' only accepts one item in i18n.merge_file().

This bug also happens on older meson (but there the reported error is a
lot less useful as it doesn't mention local meson build code).

(2) `setup.isl.xml` is a temporary intermediary file used to create the
    Windows installer. It must not be installed.

(3) `gimp30-windows-installer.mo` itself is only used to create
    `setup.isl.xml`. It must not be installed as well.

(4) gimp-tips.(its|loc) files (same for gimp-tags ones) should not be
    installed. They are only temporary data.

(5) Fix environment variable: s/GETTEXT_DATA_DIRS/GETTEXTDATADIRS/

Fixes:

> /usr/bin/msgfmt: cannot locate ITS rules for ../../../data/tips/gimp-tips.xml.in

(6) Fix various bugs in the *.setup.isl files creation in autotools
    build (typo, wrong files used, order of options in `xsltproc`
    apparently meaningful, and so on. I guess the autotools build was
    not as well tested as the meson one :P).

(7) Fixing the unit test verifying language lists consistency.

(8) `setup.isl.xml.in` must be added to the distribution.
2022-06-25 12:41:21 +02:00
Niels De Graef f663d26ab5 Migrate from intltool to gettext
intltool has long been dead upstream. Let's not poke the dead corpse,
please.

This commit is quite large, but that's mostly since trying to support a
hybrid of both gettext and intltool with both Meson and Autotools was
really hard, so I stopped trying.

Due to gettext relying on quite some things being at the exactly right
place in the autotools build (like `ABOUT-NLS` and `config.rpath`) we
really needed to cleanup the `autogen.sh` to only call `aclocal` and
`autoreconf`. No more strange magic; I tried to do it without changing
too much in the file, and things just broke. If people want to do
something more custom, they can just change the script directly. This
change also uncovered some problems in our `configure.ac`, like using
deprecated macros.

The following major changes happened:

* meson: Changed `custom_target()` to `i18n.merge_file()` for all
  supported file types
* Added `.its` and `.loc`  files for the GIMP-specific XML formats, so
  that gettext understands them
* For the `.isl` (Window installer stuff) file, there's no easy way to
  do this in gettext, so instead we start from an XML file (again with
  its own ITS rules etc), translate that with gettext, and then use
  `xsltproc` with a bit of magic to output the .isl file for each
  language
* the `po*/Makefile.in.in` files are migrated to `Makevars` files,
  which gettext natively understands.

Fixes: https://gitlab.gnome.org/GNOME/gimp/-/issues/8028
2022-06-25 10:25:49 +02:00
Zurab Kargareteli a9f7feabd0 Update Georgian translation 2022-06-25 07:06:46 +00:00
lloyd konneker 1c50e60e9c build:windows: migrate to Python3.10 on MSYS
Evidently MSYS no longer has 3.9, see recent pipeline failures.

Note reports of issues with meson on 3.10, but it might not impact this build.
2022-06-24 14:52:02 +00:00
Nathan Follens 62464563ac Update Dutch translation 2022-06-24 11:10:42 +00:00
Yuri Chornoivan c813779ff8 Update Ukrainian translation 2022-06-24 06:30:13 +00:00
Hugo Carvalho 9b1cbcf85d Update Portuguese translation 2022-06-23 22:00:06 +00:00
Martin 29790b234f Update Slovenian translation 2022-06-23 05:12:03 +00:00
Jehan 3e6822b49d po-plug-ins: adding js and lua demo plug-ins to the POTFILES.
As noticed by Piotr Drąg.
2022-06-22 22:56:24 +02:00
Jehan e3cc34fc6d plug-ins: add "planar-configuration" argument to "file-raw-load".
Instead of having a single "Planar RGB" format in the list, let's add
this as a generic parameter. Not only does it make the feature
symmetrical to "file-raw-save", but it also bring the ability to all
multi-channel formats. So now, we can load RGB, RGBA, GRAYA, whatever
the bit depth and the data type stored in planar configuration.
2022-06-22 22:25:18 +02:00
Yuri Chornoivan 70944af024 Update Ukrainian translation 2022-06-22 19:13:09 +00:00
Jehan 559d686d07 plug-ins: break "pixel-format" arg with 2 new args: "data-type" and…
… "endianness".

The list of formats being a single list was actually interesting
UI-wise, in the case where you aren't sure of the data layout (but say
you know at least the dimensions), you can easily and quickly scroll
through the combo list (e.g. with keyboard arrows).

But when you knew your data, it was a pain to use. And as a general
rule, so many choices in a list is not the best interface.

I broke the option into 3 options, and in particular adding a
"data-type" which would tell what type of values are stored (integer,
signed or unsigned, or float) and an "endianness" to tell the byte
order. The idea behind is that these don't change the layout of
components and their size. It means that we can still do the
scrolling-randomly-through-formats trick in some fashion because we
might likely be able to detect shapes when we get at the right layout,
even though we are still set to use the wrong data type and/or the wrong
endianness.
2022-06-22 20:09:10 +02:00
Jehan 657d37a8fe plug-ins: adding RGBA and grayscale float variants + grayscale-alpha…
… loading support as raw data.

Barely any new code (and actually a bit chunk of removed code) as we are
using generic code paths now.

"file-raw-load" procedure now supports all possible formats which can be
exported by the "file-raw-save" procedure (and more).

Only thing remaining now is looking how to simplify the GUI because this
overlong Pixel format combo box is quite a pain.
2022-06-22 19:05:34 +02:00
Hugo Carvalho b710115759 Update Portuguese translation 2022-06-22 12:59:56 +00:00
Hugo Carvalho 9deb4edcef Update Portuguese translation 2022-06-22 12:14:26 +00:00
Hugo Carvalho dd6db2eb7c Update Portuguese translation 2022-06-22 12:08:00 +00:00
Hugo Carvalho cbe879c5b1 Update Portuguese translation 2022-06-22 12:03:59 +00:00
Hugo Carvalho 7408516cd5 Update Portuguese translation 2022-06-22 11:59:35 +00:00
Hugo Carvalho 7181a776ad Update Portuguese translation 2022-06-22 11:17:23 +00:00
Yuri Chornoivan ed02d91872 Update Ukrainian translation 2022-06-22 05:59:15 +00:00
Zurab Kargareteli 9030443d31 Update Georgian translation 2022-06-22 01:48:32 +00:00
Luming Zh 3ee851c0d1 Update Chinese (China) translation 2022-06-22 01:08:25 +00:00
Jehan b79d26f097 app: make update detection more robust to string revision field.
The "revision" field in the json file is supposed to be int. But I just
realized that it was set as string a few times, e.g. in Windows
installer revision 1 of GIMP 2.10.32. As a consequence, the revision 0
build was not able to detect the new revision.

I have now fixed the data in gimp-web repo (commit e7690e36), yet just
in case this ever happens again, I make the parsing code more robust by
accepting string revision, then properly converted to int.
2022-06-21 22:31:36 +02:00
Jehan e3c7791acc plug-ins: adding support for RGB 16 and 32-bit float raw data.
Since we can now export these, let's add import support.

I copied the function halfp2singles() from babl code (as-is, without
formatting according to our coding style on purpose as we might just
want to switch this again later on).
2022-06-21 19:07:17 +02:00
Alexandre Franke 722143835e Update French translation 2022-06-21 15:34:34 +00:00
Yuri Chornoivan 61d79861ae Update Ukrainian translation 2022-06-21 06:33:25 +00:00
Jehan 2ffb7c12d1 plug-ins: now adding support for 16 and 32-bit RGBA raw data.
Quite easy now that we have generic code paths.
2022-06-21 01:49:09 +02:00
Jehan b953acd2b9 plug-ins: add support for RGB 16 and 32-bit raw data.
I add the Little and Big Endian variants, but not the signed one for
now, because I am unsure how common it is. We have signed grayscale
variants, but it might be specific use cases there.

While adding these new loading support, I factorize the code when
possible by making all full-bytes RGB/Grayscale code more generic and
using the same code paths. In particular, raw_load_gray_8_plus() is now
removed as raw_load_standard() will handle all full-bytes use cases
where the input and output formats have the same components in same
order.

Also RAW_RGB and RAW_RGBA are renamed to RAW_RGB_8BPP and RAW_RGBA_8BPP
respectively.
2022-06-21 01:37:39 +02:00
Zurab Kargareteli 5ea200f67a Update Georgian translation 2022-06-20 21:03:14 +00:00
Jehan 0b1378f235 devel-docs: add an addition release step to test the package.
We regularly have package issues which are discovered soon after
release. Let's try a new step in the release process where we would
build packages in advance just for testing.
2022-06-20 21:54:13 +02:00
Jehan 55790d7bb2 plug-ins: support more cases of grayscale raw data.
- rename raw_load_gray16() into raw_load_gray_8_plus() and make it
  handle all full-byte grayscale data. Move 8-bit grayscale data to use
  this function as well.
- As a consequence of the previous point, we can also easily support
  32-bit grayscale images (little/big endian, signed/unsigned).
- Make preview image code more generic as well.

Also I improve a bit code from previous commit in raw_load_rgb565(). The
allocated and read code didn't need to be the size of the full line
stride. Just the tile rectangle width was enough.
2022-06-20 21:53:19 +02:00
Jehan ba582253df plug-ins: raw_load_rgb565() ported to GEGL iterators.
Rather than allocating 2 huge data buffers of the whole image size (one
in RGB565 and one in RGB-u8), just iterate through the file only
creating one single small temporary data buffer for single input line in
tiles returned by the iterator. This will be much better,
memory-efficiency wise.
2022-06-20 14:39:09 +02:00
Jehan e9876a8b7f plug-ins: rename "color-representation" to "pixel-format".
This initial name was really ugly. I think talking of pixel format or
color format is much more common, at least around GIMP codebase.
2022-06-20 14:39:09 +02:00
lloyd konneker 07ceb5a086 ScriptFu: extract PDB proc script-fu-server from plugin script-fu
Create new plugin file script-fu-server-plugin.c
with code extracted from script-fu.c, which is an omnibus plugin
implementing PDB proc extension-script-fu and other PDB procs.

Why:

1. extension-script-fu is smaller and doesn't doesn't link to socket libraries.
   (GIMP always starts extension-script-fu and it stays running.)

2. packagers/admins can omit script-fu-server executable from an installation,
   if they think letting users serve net ports is not secure.

3. crashing script-fu-server does not crash extension-script-fu,
   which requires restart of GIMP

The changes are mostly a simple refactor, extracting code.
No functional change apparent to users.
Low risk of introduced bugs.
Extremely few users use script-fu-server anyway.
Added some logging.
While at it, use G_DECLARE_FINAL_TYPE
2022-06-19 19:18:39 +00:00
Jehan 4e3edb5121 plug-ins: fix some warnings.
Should have paid more attention. I left 2 warnings in the file:

> plug-ins/common/file-raw-data.c:1949:22: warning: variable ‘procedure’ set but not used [-Wunused-but-set-variable]

> plug-ins/common/file-raw-data.c:1970:48: warning: ‘bpp’ may be used uninitialized in this function [-Wmaybe-uninitialized]
2022-06-19 20:26:45 +02:00
Tim Sabsch 538915c48e Update German translation 2022-06-19 15:26:42 +00:00