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

RFC/WIP: collected pull requests for 5.0 #17221

Closed
wants to merge 79 commits into from

Conversation

ralfbrown
Copy link
Collaborator

@ralfbrown ralfbrown commented Jul 28, 2024

Given that Pascal won't have much time over the next several weeks, I decided to make myself a branch that adds all of the pull requests tagged for 5.0 opened since mid-April. Others are welcome to test.

This PR is not meant to ever be merged into master, so please ignore any warnings about being unable to merge.

For those who haven't compiled a PR before,

git fetch upstream pull/17221/head:LOCALNAME
git checkout LOCALNAME
./build.sh

PRs included which have not yet been merged: 16611, 16810, 16885, 16919, 16922, 16967, 17027, 17040, 17041, 17050, 17061, 17062, 17064, 17073, 17089, 17099, 17117, 17133, 17142, 17167, 17188, 17196, 17202, 17204, 17207, 17227

@ralfbrown ralfbrown added the wip pull request in making, tests and feedback needed label Jul 28, 2024
Resolves darktable-org#15577.  By allowing a five-second difference in timestamps,
we account for granularity in filesystem timestamps (e.g. FAT) as well
as delays between updating the database and the sidecar file write
actually finishing.
Inform users that they can insert line breaks to get multiline text by
using the $(NL) variable.
Add pointers for accessing online documentation and configuring
darktable to the existing display when the lighttable has no images to
show.

Refactored text-display code into a separate function to eliminate
code duplication.
add code to do localization of the vertical bar-separated portions of
a style's name when displaying the style name and when building the
menu or collapsible browser entries.

Prefixing a name's component with "_l10n_" will request localization
of the text following that tag.
The style quick-access button in darkroom view currently only supports
two-level menus, which is completely impractical when the new
'darktable camera styles' hierarchy runs to hundreds of styles.

This commit generalizes the menu building to go as many levels deep
as the treeview which is built in the styles module in lighttable,
so that the longest style menu is only as many items as a single
camera manufacturer has models.
Put all of the camera styles under localized 'darktable camera styles'
and ensure that both that string and 'generic' get localized.
ralfbrown and others added 27 commits August 2, 2024 19:29
When color-mapping chroma is 0, the hue slider has no effect, so say
"active" only when either L != 50 or chroma != 0.

Update the section label inside the value-changed callback for
the items in the collapsible section so that we can immediately
see the update instead of having to wait until an image is
opened in darkroom view.
prepare preset storage for piwigo

add privacy data to preset store

change preset data order
Visibility of messges shown via dt_control_log(), dt_toast_log() and dt_toast_markup_log() is currently
pretty bad as only the last shown message is shown if new ones are "pushed".

This commit redesigns both buffers to be used as circular buffers, a new call to any function above
will not display the last text but all available and not-yet ackknowledged (or disappered) messages
for improved user readability.
Currently we use the cropping **defaults** for calculation of actually used sensor dimensions / ratio
instead of what rawprepare actually does, there we have the (hidden by default) sliders defining the
real crops.
Although unlikely it is a perfectly valid usecase to change those either by presets or UI.

This pr ensures the actually used p_width & p_height in dev->image_storage are
1. correctly initialized while loading an image
2. updated while committing parameters in rawprepare
3. used wherever we want them, examples are lens, masks, crop & ashift if we want to keep sensor ratio.

For most images this won't do anything, expect subtle improvements if rawprepare does something different than
default crops, also code is more clear.
A few modules (crop and flip) just don't care about the colorspace they are working in as they just
use 4floats per pixel and do some copy of data.

By preparing the default_colorspace() making use of current cst in the pipe we can avoid unnecessary
colorspace transformations.
1. If the output differs from input buffer we always ensure data are copied if there is no transformation.
   Currently not triggering an error but certainly incorrect code.
2. As the highlights module now uses and leaves the correct dt_iop_colorspace_type_t we don't
   have to take special care any more.
Improved blending tests for dt_dev_pixelpipe_usedetails() avoid unnecessary scharr mask writing
in demosaic or rawprepare for performance and reduced memory load.
1. New opencl kernel functions for 2 channels
2. Support in gaussian api
1. As the hue node smoothing function is only active in the hue tab we hide the
   slider elsewhere.
2. The general dt ui approach is to show parameters only if used.
   As we keep the guided filter to be toggled on/off we should better hide those
   options if unused instead of just making thme unselectable for UI consistency.
3. As dt_color_picker_new_with_cst() in dt 4.8 works correctly with keeping picker data
   in desired colorspace we can remove debugging code.
To make the effect more controllable via the mask buttons inside the CE module
we use `DT_DEV_PIXELPIPE_DISPLAY_PASSTHRU' and slightly modify the strenght of
visualizing for a more pleasant output.

This makes color modifications later in the pixelpipe.
As raw image files are likely much more common with dt users we favor those files
by checking earlier within dt_imageio_open() instead of waiting some time trying
to use more exotic formats like LIBJXL, LIBAVIF and LIBHEIF.

Can be seen on master via '-d imageio' as at least for avif files there is some error
message generated.
If `on conflict: overwrite if changed` is chosen but the export file
does not exist because it was moved/deleted, no export is performed,
so it is not possible to export the file again.

fixes darktable-org#15404
…d independently

Includes changes to the way the feathering border is drawn for paths. The border could
already be bugged in rare cases before. With the added freedom of moving the control
points individually, broken feathering borders were much too easy to produce.

Includes one changed UI tooltip in English, German, French, Italian.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wip pull request in making, tests and feedback needed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants