Commit Graph

7730 Commits

Author SHA1 Message Date
Juan Palacios f3d684b0fc plug-ins: in file-psd, fix missing some attributes loading empty layers 2017-08-27 15:16:19 -04:00
Jehan ad4564e527 plug-ins: do not use stock IDs.
They are to be deprecated in future GTK+ and we don't use them anymore
anywhere else in our code.
See also commit 7da7bab0.
2017-08-23 21:47:14 +02:00
Michael Natterer e16c8a2352 Move the new "default_new_layer_mode" APIs to the image...
...in both the core and libgimp.

Images now know what the default mode for new layers is:

- NORMAL for empty images
- NORMAL for images with any non-legacy layer
- NORMAL_LEGAVY for images with only legacy layers

This changes behavior when layers are created from the UI, but *also*
when created by plug-ins (yes there is a compat issue here):

- Most (all?) single-layer file importers now create NORMAL layers
- Screenshot, Webpage etc also create NORMAL layers

Scripts that create images from scratch (logos etc) should not be
affected because they usually have NORMAL_LEGACY hardcoded.

3rd party plug-ins and scripts will also behave old-style unless they
get ported to gimp_image_get_default_new_layer_mode().
2017-08-21 20:18:00 +02:00
Ell 497fb9b0c3 plug-ins: in metedata-editor.c, don't use initial declarations
... in for loops
2017-08-21 11:41:33 -04:00
Michael Natterer 4f245c8272 plug-ins: s/snprintf/g_snprintf/ in fits-io.c 2017-08-21 12:31:28 +02:00
Ell e40ebde536 plug-ins: in file-psd, add support for exporting layer groups
Preserve layer-group structure when exporting to PSD, instead of
flattening the groups.

Fix active-layer index saving (the index was reversed.)
2017-08-20 17:16:28 -04:00
Ell 33255a439b plug-ins: in file-psd, improve PS <-> GIMP layer-mode mapping
Streamline the layer-mode mapping code, to reduce duplication.

Add mappings for the following modes:  Subtract, Divide, Luma/
luminance darken only (Darker Color), Luma/luminance lighten only
(Lighter Color), and Luminance (Luminosity).
2017-08-20 17:15:32 -04:00
Michael Natterer 838449254a plug-ins: use gimp_get_default_new_layer_mode() for most new layers
instead of hardcoding NORMAL_LEGACY.
2017-08-20 17:12:46 +02:00
Tobias Ellinghaus 87dbc05cbd
darktable: add info message to dt when started
Tell users that they just have to close darktable to export the image
and don't need to do anything.
2017-08-12 21:55:54 +02:00
Ell dccaa5d5d1 plug-ins: in file-psd, use SRC_OVER and RGB_PERCEPTUAL for all layers
Use SRC_OVER, instead of SRC_ATOP, as the composite mode for all
layers (or use AUTO, when it results in SRC_OVER), to match
Photoshop's behavior.  Use RGB_PERCEPTUAL as the blend and composite
space, instead of AUTO, whose interpretation depends on the specific
layer mode, to match Photoshop's behavior for RGB images.  Use NORMAL
mode, instead of NORMAL_LEGACY, with the above properties, for normal
layers, for consistency with the other layer modes, which don't (and,
indeed, can't) use the legacy modes.
2017-08-09 09:59:39 -04:00
Ell 4d3481ca7a plug-ins: small cleanup to last commit 2017-08-09 08:38:08 -04:00
Ell e8f6a3888b plug-ins: in file-psd, read blend mode info of lsct layer records
The section-divider (lsct) layer resource may contain blend mode
information, which apparently overrides the blend mode specified in
the layer record.  When reading such a resource, replace the layer's
blend mode with the one specified by the resource.

It seems like pass-through group layers specify normal mode in their
layer record, but pass-through in their section-divider resource, so
this commit allows correctly loading such layers.
2017-08-09 08:33:29 -04:00
Alexandre Prokoudine 63b041046e Some basics of loading and exporting the pass-through mode of layer groups in PSD.
The plug-in is still missing two essential bits:

1) setting blend mode to a layer group;
2) preserving layer group when exporting to PSD.
2017-08-09 01:31:44 +03:00
Ben Touchette 97c9a99339 Regression fix for metadata viewer allows to view all tags.
Partially revert commit 8c2ca36ac7, so
that unlabeled tags are not hidden.
2017-08-05 09:14:59 -04:00
Jehan aa3bc36c01 plug-ins: WebP kmax hint text not properly displayed for origin value.
The hint text was shown on kmax change, but not when it was 0 or 1 from
start (i.e. when previous export was 0/1 so these were the saved
values). Run the callback upon construction to initialize properly this
hint label.
2017-08-01 19:39:35 +02:00
Jehan bfc301e2f9 plug-ins: help text for special values of kmax.
Since libwebp 0.6, the keyframe max distance (kmax) has been changed,
and in particular all special cases are now handled by kmax (it used to
be weird cases of kmin and kmax intertwined with no logics, for instance
kmax == 0 AND kmin > 0 would mean all frames are keyframes).
Now it is much more logical, and kmax == 0 means no keyframes, whereas
kmax == 1 means all frames are keyframes. See also:
2dc0bdcaee
2017-08-01 18:31:14 +02:00
Michael Natterer b1506229f9 plug-ins: change save procedures of the file-raw-data plug-in
The signature of the original file-raw-save procedure must not change,
so change it to use the old parameters.

Change the other procedure (with additional arguments) to
file-raw-save2.
2017-07-31 20:17:51 +02:00
Michael Natterer 42f0db190f plug-ins: rename file-raw/file-formats.h to file-raw/file-raw-formats.h 2017-07-30 18:35:20 +02:00
Alexandre Prokoudine 47d7f191d9 Fix typo and make the label consistent with the other one 2017-07-29 10:29:51 +03:00
Jehan 5ea831b99d plug-ins: add minimum version information for RawTherapee and Darktable.
Otherwise people will install older versions and won't understand why
the plug-ins won't work. It's just a little annoying that these version
strings have to be hardcoded this way. We could add macros in a header,
but that would be only half a solution. Ideally we'd rather have some
discovery logics at some point.
2017-07-29 01:41:13 +02:00
Alberto Griggio 87bbba5cea plug-ins: fix the RawTherapee version test. 2017-07-29 01:26:01 +02:00
Jehan b3eb876069 plug-ins: add some MacOS support to find RawTherapee.
Hopefully it works, since that's untested (I have no MacOS access). This
is mostly code from file-darktable.c, made generic and factorized into
file-raw-utils.[ch]. At least it still builds and work fine on Linux.
I used the CFBundleIdentifier from `tools/osx/Info.plist.in` in
RawTherapee code. I didn't add a Win32 registry key base though, since I
couldn't find any relevant data for this in RawTherapee code.
2017-07-29 01:26:01 +02:00
Jehan 7f85244bcc plug-ins: some alignment cleaning. 2017-07-29 01:26:01 +02:00
Michael Natterer 713995e27d Bug 784261 - Have some nice error message for formats known to work...
...with known plugins

Add new plug-in file-raw-placeholder.c that registers itself for
loading all RAW formats from file-raw/file-formats.h, but does nothing
except returning an error message pointing to darktable and
RawTherapee.

When no real RAW loader is installed, this plug-in is selected
automatically as RAW loader, otherwise the first installed RAW loader
is used. Selecting another in prefs still works as before.
2017-07-24 22:19:53 +02:00
Michael Natterer b6f5bd2f25 plug-ins: update .gitignore in file-raw/ 2017-07-24 20:59:28 +02:00
Michael Natterer 87438c885a plug-ins: merge file-rawtherapee/ into file-raw/
and use the same file-formats.h
2017-07-24 20:58:25 +02:00
Michael Natterer 0369ac9b9f plug-ins: remove all TIFF extensions and magics from file-raw/file-formats.h 2017-07-24 20:44:22 +02:00
Michael Natterer 59558f8778 plug-ins: replace file-raw/file-formats.h's "darktable" strings by "%s"
and assemble the actual strings dynamically, substituting "draktable".
2017-07-24 20:41:41 +02:00
Michael Natterer fea66e027c plug-ins: prefix file-darktable's .lua files with "file-darktable-"
and change their install directory to "file-raw".
2017-07-24 20:32:02 +02:00
Michael Natterer a653a477d1 plug-ins: rename file-darktable/ to file-raw/
It will soon host all raw loader plug-ins.
2017-07-24 20:26:18 +02:00
Alberto Griggio 38be044bba plug-ins: check that the installed RawTherapee is at least version 5.2 2017-07-24 19:12:35 +02:00
draekko 619a05a688 Bug 785265 - Patch for localization for combotext in metadata editor
Mark string constants in arrays with N_() and call gettext() on them.
2017-07-24 12:28:02 +02:00
Jehan 24c2bdf61c Bug 784890 - Being able to take a screenshot of a single window and...
... include mouse pointer.
This is working find and tested under GNOME which already had the code
for it (was only missing the GUI). I added the feature in OSX and X11,
though it is untested. Windows does not seem to have the capability (at
least according to screenshot_win32_get_capabilities() in our code).
2017-07-18 15:04:09 +02:00
SimaMoto,RyōTa 7da262d86f Bug 784836 - Context conflict on "Lower" in po-plug-ins. 2017-07-18 12:56:32 +02:00
Massimo Valentini f2306abc0a Bug 761170: Warnings building with clang
Fix some of the warnings.
2017-07-15 21:05:56 +02:00
Jehan 16c72dacad plug-ins: minor tab cleanup. 2017-07-15 13:31:47 +02:00
Michael Natterer d315cc1034 Bug 761170 - Warnings building with clang
Fix clang warnings along with some other minor stuff, no logic changes.
2017-07-14 12:26:10 +02:00
Michael Natterer 8de3e69e88 plug-ins: fix a tab in metadata/Makefile.am 2017-07-09 16:30:36 +02:00
draekko 3fd21865f4 Bug 784701 - Text entry fields unaligned in metadata editor ui file
Fixed visual alignment of text entry elements for metadata editor ui file.
2017-07-08 19:58:21 +02:00
draekko 84b099342c Bug 784700 - Bug fix for crash with metadata editor when some fields are empty 2017-07-08 19:55:43 +02:00
Ell 8c2ca36ac7 Bug 769112 - The metadata windows takes a lot of CPU.
The new metadata viewer is based on a version of the old metadata
plugin that still contained this bug, and a few other bugs that've
been fixed since then.  Reapply those fixes to the new plugin.

This is essentially an adaptation of commits
f8e291bf31,
ce9e7feabd,
38c79600f1,
and 801bd8fb3f.
2017-07-08 08:55:02 -04:00
Michael Natterer 5ff921853a plug-ins: add all metadata sources to SOURCES 2017-07-08 09:47:35 +02:00
Michael Natterer a5fe6b8372 Clean up metadata menu stuff: capitalization, separator, indentation 2017-07-08 09:39:31 +02:00
Michael Natterer 6b80104aeb plug-ins: factor out set_tag_string() utility in metadata-exitor.c 2017-07-08 09:29:04 +02:00
Alexandre Prokoudine c68239e937 Make new Metadata submenu and new dialogs' captions translatable.
Adjust the tooltip for the Edit Metadata menu item.
2017-07-08 03:16:41 +03:00
Michael Natterer 486e0f3d88 plug-ins: lots and lots of cleanup in metadata/ 2017-07-07 23:54:25 +02:00
Michael Natterer a10b07e398 plug-ins: fix some warnings in metadata/ 2017-07-07 19:14:47 +02:00
Ben Touchette dc9856cfe1 Bug 769820 - Cannot enter Iptc information when no metadata is available...
...and fails to write it to file when it is

Completely redo metadata editor and viewer code, adds support for
Xmp.xmpMM.History and more.
2017-07-07 18:11:39 +02:00
Ell 98f7fc85ac plug-ins: in file-csource, add RLE support for RGB565
Currently, toggling RGB565 makes the RLE toggle insensitive, but
if RLE is checked beforehand RLE is used anyway, with incorrect
results.

Fix this by adding RLE support for RGB565 data.
2017-07-07 04:32:51 -04:00
Ell cd3ca47cc1 Bug 784462 - Export in C source format reports wrong BPP/buffer-size ...
... when using macros + RGB565
2017-07-07 04:32:50 -04:00