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

[export]: Batch export with multiple presets #18047

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

zisoft
Copy link
Collaborator

@zisoft zisoft commented Dec 23, 2024

In a previous life I have used Capture One as my photography workflow software :)

Capture One has a very good concept for exporting images in multiple formats, called export recipes. An export recipe specifies all parameters for the target file: Format, quality, size, filename, ...
To export you simply check all recipes you need, start the export and all files are created in one run.

In darktable, an export preset is exactly the same as an export recipe in Capture One. The only thing missing is a way to tell the export to use multiple presets in one export run.

I made some thoughts on this and implemented this solution:

The export module gets a new collapsible section batch presets:

Bildschirmfoto 2024-12-23 um 11 07 30

In this section all available export presets are listed:

Bildschirmfoto 2024-12-23 um 11 08 12

Select the ones you need:

Bildschirmfoto 2024-12-23 um 11 08 27

Once at least one of the presets is selected the export button gets renamed to batch export. This is to clearly indicate that the selected presets will be used for export even if the collapsible section is closed.

Hit the export button and all jobs will be processed.

The settings are saved in the preferences.

@ralfbrown ralfbrown added feature: enhancement current features to improve scope: UI user interface and interactions scope: image processing correcting pixels labels Dec 23, 2024
@TurboGit TurboGit added this to the 5.2 milestone Dec 23, 2024
@TurboGit
Copy link
Member

Sounds like a nice addition to darktable. A question, will the export to Piwigo (so with authentication) works in the batch presets?

@TurboGit TurboGit added documentation-pending a documentation work is required release notes: pending labels Dec 23, 2024
@zisoft
Copy link
Collaborator Author

zisoft commented Dec 23, 2024

will the export to Piwigo (so with authentication) works in the batch presets?

Yes, I have tested Piwigo and it works. You must be logged in first.

@TurboGit
Copy link
Member

You must be logged in first.

You mean before each time you export? Would be nice to do the automatic login when such a preset is selected?

@zisoft
Copy link
Collaborator Author

zisoft commented Dec 23, 2024

Sensitive data (server, user credentials) are not saved in the Piwigo presets. That information is saved in the password storage modules.

@TurboGit
Copy link
Member

Sensitive data (server, user credentials) are not saved in the Piwigo presets. That information is saved in the password storage modules.

Sure, but I'm wondering if we could somehow do that login automatically as the user do when he just click on [login] button in Piwigo. Probably hard, we would need some kind of proxy and a data in the preset saying this preset needs login with the id of the credential...

@zisoft
Copy link
Collaborator Author

zisoft commented Dec 23, 2024

Would be really nice, fully agreed. I will try some things and see.

@rgr59
Copy link

rgr59 commented Dec 23, 2024

I also had a previous life where I used Capture One, and the multi-export is maybe the only functionality I missed sometimes after switching to darktable. So this sounds very nice!

Some thoughts with respect to the UI: maybe it can be considered to separate the batch export a little more from the current export, making it kind of a "submodule" of the export module in the following way:

  • move the collapsible section to the end of the export module, after the current Export button
  • rename it to "batch export" (or similar)
  • in the collapsible section, after the list with the presets, add an additional Export button exclusively for the batch export

The current Export button then would, as now, always export the image using the settings of the module for export, regardless whether they originated from a preset or by manual input.

Aside from the better separation, an advantage would be that you can keep the presets selected when, in between batch exports, you want to "normally" export an image.

But the proposed UI is not bad either ;-)

Add an optional function `login()` to the storage api. This allows
the export module to automatically login for storages which require
authentication (Piwigo).
Keep the batch export section completely separate from the other export
settings. This has the advantage that the batch export settings can
always remain set, which is saved in the darktable preferences.
@zisoft
Copy link
Collaborator Author

zisoft commented Dec 24, 2024

@TurboGit: I found a way to automatically login to piwigo, which is indeed extremely comfortable.
This is done by exposing an optional function login() to the storage API. This can then be called by the export module for all storages which require authentication (Piwigo is the only one at the moment).

The last commit modifies the GUI according to the proposal of @rgr59. The functionality is indeed better because the batch export settings can now be left as set and used when required. The normal export button keeps its original functionality.

batch export section collapsed:

Bildschirmfoto 2024-12-24 um 09 28 34

expanded:

Bildschirmfoto 2024-12-24 um 09 28 50

@TurboGit
Copy link
Member

I think we'll have to find some other name as two [export] button feels confusing to me.

Of course the second one could be called [batch export] but then we need some other name for the section title.

I don't have a good proposal for now.

@zisoft
Copy link
Collaborator Author

zisoft commented Dec 24, 2024

The section is called batch export
How about a simple [run] for the button?

@rgr59
Copy link

rgr59 commented Dec 24, 2024

[run] is good, or maybe [start] ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation-pending a documentation work is required feature: enhancement current features to improve release notes: pending scope: image processing correcting pixels scope: UI user interface and interactions
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants