Export options (feature suggestion)

Hello. First time here, I’m not sure I’m posting this in the proper section, with the proper tags, please forgive me if I’m mistaken.

I’ve just switched from Lightroom to Darktable because I generally want to avoid using proprietary software, and Darktable seemed a very good alternative.
Truth is I’m completely amazed by the features, I find there’s much more I can do than I possibly could with Lr.
Congrats for making such a powerful tool !

However I was quite used to Lr’s export workflow, and that’s where I miss some options in Darktable.
I searched a bit and found only one other person suggesting similar features in a forum (darktable dot club).
Maybe that’s already on your roadmap, or maybe that’s tedious to implement and not relevant enough, I don’t know.

The three main options I am missing are those :

-Export in a subfolder
In Lr I was used to export in a “jpeg” subfolder, It was quite handy because I didn’t have to chose manually a new folder everytime, It automatically exported in a newly created subfolder)

-Limit file size
Most of the time, I’m exporting to upload low/mid quality jpegs on the internet. This is where a limit file size option would come in handy, getting the best compression ratio available and a rather stable file size.

-Set size by shortest/longest edge instead of by width/height
This too comes in handy when exporting for an upload.

Other than that, I found the rotate tool in the crop&rotate module a little hard to work with the line drawing mouse control is good, but does not provide as much ease of use as a “vanilla” rotation mouse control (say, like the one in Gimp, or Lr)

Thank you very much for reading me.


[edit : removed double text]

have a look at the export settings:
this creates a “darktable_exported” subfolder - you simly can replace “darktable_exported” by “jpeg” and: mission accomplished

at least setting the size for longest is possible by entering the same value for width and height

you can do this by changing the rotation angle using the module slider with mouse or arrow keys - even without drawing a line.

maybe you spend some time for a glimpse into the manual (darktable 3.6 user manual - darktable) - it’s worth since it’s not a lightroom clone and the inferface gives several alternative options to do very precise changes.


Hello and thank you for your help.

I did read the manual (well, not everything yet), it is very complete and easy to understand.
I missed the variables part in the export section, my mistake, it was right in front of me, sorry.

Setting the size for the longest edge is exactly what I needed, I’ll use your method (I’d have thought setting both width and height would have changed my w*h ratio)

For the crop&rotate module, I don’t mean a slider, but a mouse control directly on the image, this is a little different. I’m using the slider but I don’t find it as user-friendly.
The method I’m referring to is very similar to what’s in Gimp : A pivot point, and when the mouse is outside of the cropping frame, a left-click&hold can rotate around that pivot point (which, in Gimp, can be moved, but I see no reason for this to be implemented in a raw-editing software, central pivot is fine)


you don’t need to grab the slider - just mouseover an scroll to rotate clockwise or counterclockwise. Even simpler than dragging an edge.

Instead of reasoning on an ui control its better to describe the use case /user story - what do you want to achieve.

Dragging al line is not implemented to do a rotation, it’s there to adjust the image to horizontal or vertical structures. The UI simply asks “show me the line you want to be horizontal or vertical” and darktable will do the proper rotation for you…

Yes I understand in which use the line dragging option is relevant.

The mouse control I’m speaking of does not involve moving the mouse back to the module.
You might think this is not much different than a slider, but many times I have to crop, rotate, crop again, move the cropping frame, rotate again… Small adjustments like this are not possible in the current workflow, I have to move the mouse back and forth from the module for rotation to the cropping frame for cropping and/or moving the frame.

the usability for crop and rotate will be different in future since cropping and rotation/perspective will be different modules at different positions in the pipe.
First set orientation/perspective correction, do cropping later.

There won’t be a way to crop and rotate in the same time ?
While I understand cropping and rotating involve different controls when it comes down to specific functions, I respectfully think this is not a good design idea for some workflows. When working on a large amount of pictures, cropping and rotating, which are closely related, can take quite some time if small adjustments have to be made by switching from a module to an other. Though maybe shortcuts can help with this.

I captured a small video to illustrate what I mean.
Maybe too few people work this way though, I do think that’s quite common but I might be mistaken.

(Don’t get me wrong, I’m not suggesting to clone Lightroom, I just think this kind of mouse control works better and is more user-friendly this way)

2021-10-22 15-46-02.mkv (4.4 MB)

1 Like

thats the lightroom way because there’s just this way to do crop and rotate - and so it’s quite common to lightroom users :wink:
The darktable way ist different. Rotation doesn’t relate to cropping. It’s just get the correct orientation of the image. Cropping is done later to allow e.g. cloning stuff from later cropped areas.
It’s a different workflow - that doesn’t imply that the lightroom way is not appropriate.
Maybe a developer finds a way to do both with one control - you should file a feature request using: https://github.com/darktable-org/darktable/issues/new?assignees=&labels=&template=feature_request.md&title=

If you want to do the same rotation or cropping on different images, you can do this by copy/paste the setting (current implementation) or both independent settings (upcoming release).

The grade of user friendlyness is based on one’s experience. I personally prefer the darktable way because i can assign the rotation to a midi interface (using upcoming release) so i don’t need dragging a mouse but just rotate a knob - and what’s more user friendly than to control rotation by rotating something :wink:

This would be very useful. Affinity has a similar function. Does not have to be a limit, simply show the estimated file size before you hit export would be good enough.

Thanks !

I’ll file two feature requests.

You’re right, user-friendliness is entirely based on one’s experience.
Rotating through a midi interface ? that arouses my curiosity. You mean you plug a peripheral which takes over some of the controls of the modules ? Or you use the midi knobs as a generic replacement for the mouse scrolling ?

In my opinion a limit would be better when dealing with many pictures, so that exporting a bunch of pictures under, say, 1 or 2mb each, would be easier using the best jpeg compression ratio available for each picture. But for a single export, an estimated file size can come in handy.

I think gimp does this by exporting a temporary jpeg based on the compression ratio chosen. This is why the preview option must be enabled to know the file size when exporting.
I don’t know if there’s a way to estimate the file size before encoding the actual file.

Have a look at https://github.com/darktable-org/darktable/pull/8078

There could be a use case that is currently not really possible with the new or really to some extent the old tool…not sure how to best describe it but running through the new rotate and perspective and then crop…you can arrive at a point where it might be nice to tweak the rotation of the cropped view that you have created and not have to go back to perspective which is using the whole image or the auto crop at the time it was first invoked…you could still zoom in to a similar region that you have in the cropped view I suppose to tweak your rotation either for leveling or straitening something or creating an angle for a creative purpose…it would just be nice to be able to tweak rotation in the full screen cropped view rather than fiddling a bit…

For example lets say you have a scene and you pick a roof line or something to do your levelling but then after you crop there are elements in the crop that are not strait and are distracting…say a small post or whatever…now you have to go back to rotate you get a different view…zoom in find the post straiten it as you like and then go back to crop to see that it looks as you expect…

I think tinkering like this could be common and shouldn’t require this back and forth.

Perhaps this is me missing something… In this way I do prefer the RT method with a leveling tool just always being available as an icon and you just use it and the change gets passed to the module…

1 Like

I’m not aware of how it’s done in RT since I didn’t try it yet, but adding a separate control for cropping and rotating [with changes passed to the more complete module(s)] might be a good idea.
Since there’s already a separate control for the exposure and black point in the histogram, it wouldn’t break Darktable’s design that much.
Small adjustments and tweaking do require an easy access to commonly (might be hard to define “commonly”) related modules. e.g. I find myself often re-adjusting the exposure in the histogram while working on the filmic module.

This is really nice. I can see a lot of situations where this kind of control would be fantastic.
I might test it if I find myself a cheap compatible midi controller

you can change rotation whenever you want - and this affects the whole image independently from cropping. I really can’t imagine why a rotation on a cropped area could differ from the rotation of the whole image.
If you have a valid use case for that, you simply can reorder pixel pipeline to do rotation after cropping…

As i wrote: better think in use cases instead of controls.

I’ll do a walk through as likely I wasn’t clear you will see what I mean I will do a short video….I know that I can change rotation whenever but not while cropped and displayed full screen as I said imagine you have two elements hypothetical but you level as I said based on the roof line…so nice and level for that view of the image…But now you do a substantial crop…maybe the roofline is not even in the image after you crop …Now maybe you have a sign post or mailbox or something in the crop that is crooked and a distraction…it would be nice to just draw a line on it in that cropped view at full screen display and just have it rotate and adjust the crop using the crop setting For this scenario at least as I worked it you have to go back to the rotation module……then the view jumps out of the full screen cropped display…you would need to zoom in to simulate the crop find the sign post and level it……so it is not an issue to complete the task but it seems like it could be smoother…I will have time later to make a short video and you can critique my steps in case I am missing something obvious….basically you can simulate it by leveling an image, do a substantial crop …now look at the image and decide you want to rotate it based on some element in the image….where do you go from there…. Back to rotate correct?? Then you lose your full screen cropped preview etc etc….

1 Like

Long text for a quite simple scenario:
activate rotation module, zoom in on the small object you want to realign after cropping, set rotation, zoom out.
Of course this scenario can also be done with a crop frame allowing rotation as it’s done in lightroom. But the darktable way is far from being too complex…

You also have to make sure that the object you align on will actually orient the image as you want it:
while a rooftop may very well be horizontal in reality (if the building isn’t too old), that doesn’t mean its projection in the image should be horizontal. And there is no reason to believe a signpost is vertical in all cases.

i don’t see an issue there, you can rotate as you want, you aren’t limited to horizontal or vertical structures.
I don’t get your intention: there aren’t limits on how to rotate stuff in darktable or something that’s completely impractical to be done without the lightroom way.
You also don’t need to convince me, that the lightroom is a valid solution too, thats obvious …

Its not complex but its extra steps that should not be necessary. As a result of your cropping if you notice the need for a small adjustment to the rotation you shouldn’t have to go to another module and lose the current version of the displayed image likely fire up the pipeline a couple of extra times etc etc….I’m not saying it can be done…but something like this in ART….you crop….if you notice something need in alignment you select the level tool icon and make the adjustment and it gets transferred to the rotation module. No need fiddle around and zoom….

1 Like

wait for next generation input, then define r+scroll (or whatever you want) to control rotation and you don’t need to switch between modules or drag some edges :wink:
There’re more solutions possible than the lightroom one…