To make my life even more complicated I shoot auto exposure bracketed shots so for each image, so I get three RAW and three JPG. But luckily SD memory is cheap. I am not advocating for you or anyone else to take the same approach. The bracketed exposures are important to me because I travel a lot to destinations I am unlikely to every see again. I mainly shoot on a Canon R7 and I get the least noise with the brightest image that doesn’t have clipped highlights, regardless of the ISO. I know not all sensors work like this, but in my experience it is the case with my R7. The JPG is redundant and after I have processed my days shoot of RAW files I select and delete the JPGs so I could wonder why I bother with this dual recording format, but SD memory is cheap and just once in a blue moon the JPG from mainly my Olympus TG6 can exceed the result I get from the RAW.
As for your original posted question. I was using DT yesterday and on my machine in the darkroom view creating an initial snapshot was a single click if the snapshot module was expanded or two clicks if it wasn’t. So that is not too big a burden on the user. However, something you may or may not realize. If after editing the image you want to create a snapshot from an early stage of the editing process this is easy to do by using the history stack. So on the screenshot I have posted here is I go back to history step 11 that is the default initial processing steps undertaken by DT on my machine. Steps 12 to 21 are my Canon R7 style that I have created as my personal starting point. By clicking on step 11 the image reverts to this stage of the editing. I could take a snapshot and then click on step 21 to return to my current editing stage. This is great flexibility, but not automatic.
Another really handy feature with the snapshots in DT is the ease of returning the editing to the point in history of the snapshot. I work a lot of high ISO noisy images and often compare different denoise options to see which looks best for the image. By taking snapshots of the denoising I can compare strategies and select which one is best. I then easily return to this point in the editing by clicking on the down arrow icon net to the snapshot. I really love this feature as you need snapshots for comparing subtle edits like denoising as memory alone will not work. Good luck with your DT adventures.
Just a small question:
What do you want to happen when you return to an edit, or start editing after applying one or more styles through the lighttable?
Darktable can’t know what was the initial applied style, if any.
And snapshots don’t survive a program restart.
I live in snowy area, so bracketing is part of my practice as well. Same, I’ve 2 canon with various lenses and can’t complain about quality. DT is on my desktop as long as I can think of, that is 13+ y, more or less since DT appeared, so I’m familiar with DT.
Since I started using computers, it was common practice for me, to code my own workflows and look for ways to work more effectively. Sometimes I even substitute apps, or add stuff not available on the market, to my delight. Since coding takes time, I’ve done less in the years but moving recently to Linux pushed me to code again. Writing code is fine tuning and the goals of this doing are often not understandable to people outside of code development. Lua is DT’s scripting interface, I don’t know Lua and learning new code languages takes time. Therefore I’m asking here of automatic things that make sense to me, in this case about auto “snapshots”
I’m delight to read about your practices in photography, it shows your great passion and expertise to deal with photography.
Here are the steps, how auto snapshots would work:
Import a new film roll
Select one or multiple raw photos
Apply one (1) style
Auto snapshot triggers
Or
Import a new film roll
Change to darkroom
Apply 1 manual change (no matter what module )
Auto snapshot triggers
Auto snapshot would trigger just once per image, after the first edit and if there isn’t any snapshot in the snapshot history. Nothing more, nothing less, this would be my suggestion.
There is only one, global instance of the snapshot module (just as with the the other utility modules like histogram etc.). Would you want to add 10 different snapshots (one for each of the 10 selected images)? I don’t think that would be easy to use in the darkroom: having to select the snapshot from the list is not easier than creating one manually (actually, I think it’s harder).
Yes, if technically possible of course. Snapshots are dynamic calculations, a “default” and large size placeholder auto snapshot would be sufficient to me, for comparison use, but this seems not in line with the conventional development practice in DT.
Meanwhile I appreciate the lighttable much more than in the past, where I didn’t care much if not to add some tag and applying my style settings.
Years ago I jumped straight into raw development.
In my experience, the comparison of 2 images in the lighttable is great and maybe one day DT can show comparisons between 2 selected images too, with a slider like the snapshot uses.
The darkroom is in my use, best to develop single images.
I know adding snapshots manually isn’t hard, my suggestion is an atomic improvement. Small doesn’t mean irrelevant.
Technically, sometimes even smaller changes take more time and effort than expected. If the code of snapshots isn’t ready for modifications, any new additions will be hard to add.
I downloaded scripts this morning and need to try them first.
The issue is not about using such a feature, but about the usability of your proposed implementation, or, does it add anything compared to currently available tools.
I think you might be better off with applying a style in the lighttable and then use the “snapshot script” to get that initial snapshot on entering the darkroom. If you want a more persistent “initial snapshot”, you could use the “duplicates” feature (although comparing duplicates isn’t as easy as comparing snapshot and current).
And frankly, the preferences dialog is already rather full, I’d rather not see any more checkboxes etc.
Especially as this would be a “workflow optimisation” for one particular use case
What puzzles me is why you want that snapshot only on the first edit (style application or single module). I’d think such a feature would be more useful if e.g. you could set a “baseline” mark in the history, which
is visible in the history list;
prevents removal of modules below the baseline when you compress the history stack;
and perhaps would be used to create a snapshot at that point on opening the image in the darkroom.
But before making that into a feature request, I’d have to think about it a bit more (esp. to look for unintended consequences)
I’m not sure if this would be of any help but if you can come up for now with a simple script that creates a duplicate at the point you want and also marks it rejected or some other way that you could filter it out and then you will not see it in LT view but you can still see it in the duplicates module while editing. Then a simple left click and hold on it there will give you an on off comparison with the current preview. I suggested reject as then its easy to filter for them later to clean them up if you like or you could just leave them…you will have those extra xmp files but it would sort of give you a comparison mode…
Here duplicate 1 (made by selecting the original option and then setting it to rejected) is grayed out as its filtered and not shown in lightable but if you click and hold it will replace the preview…so you can cycle through that a few times to guage your edit…
If the history stack is short its just as easy to use that I would guess but for longer ones something like this could be an option
I wonder if you could approximate the behavior you want by placing something like a bookmark in the history stack. This would be specific to each image, and could be added via a preset (or automatically to each picture on import).
Here, I just used a module I don’t use (censorize) and created two instances at different times with different names to bookmark the “initial edit” and the “style edit”. When creating styles, you could use such an approach and include the style name, so you have a record of which style was applied. If you don’t compress the history stack, you should be able to select those instances to see the image at that point.
Two code changes that could make this easier:
The ability to jump through the history stack with a keyboard shortcut (at least I didn’t see any options to do this).
An actual “bookmark” feature in history, that allows you to drop named entries in the stack without using a random module.
Agree, I made a small proposal.
My starting point for any script starts small, simple and minimal. Successive debugging and trials tells me if features go in the right direction and eventually, I improve my ideas.
It’s my pleasure so listen to other minds too, thanks for adding your ideas, these points sound interesting !
Cool ideas! I checked Lua scripting today, it might … Be an easy to learn language.
The thing is, I’d have to code lua everyday for some weeks at least, to become fluent.
Scripting can do a lot, but it depends about Darktables API too. Currently I’ve little time to code
@wpferguson Bill is a great resource he has put countless hours into helping to support and and enhance the use of Lua scripting… It might be trivial for him to write a script that made a duplicate and then marked it rejected or something along the lines of what I suggested above. He would likely be able to tell you at least how involved or simple it would be.
If possible, then as you scrolled images while editing if you kept the duplicate module open on the left side you would just be able to use that preview swap feature as your compare feature… I am sure there is a more elegant solution but I think someone versed with the scripts could likely make it work until or if such a feature was ever added…