darktable icon indicating copy to clipboard operation
darktable copied to clipboard

Create duplicate xmp when snapshot is taken

Open brucewilliamsphotography opened this issue 1 year ago • 7 comments

Hi devs, In my last video, I was talking about how the snapshot feature works, and about how it doesn't allow you to get back to that history state if you have backtracked the history and gone forward on an alternate path. I had a viewer make a suggestion that I thought was quite a good one. Could we possibly have a preference which says something like "Create duplicate xmp when snapshot is taken"? And possibly a child preference which says "delete duplicate if snapshot is discarded"? Seems like a simple thing to implement to my non-coder brain! Cheers.

Interesting - #13212 and in particular https://github.com/darktable-org/darktable/pull/13212/commits/bde256121af47c89ce700fb6fc95830865a7f5d2 should have made snapshots immune to that, but it looks like sometimes the snapshot only retains up to the point where the new history diverges. I just tried three times with a test image, and once the snapshot did show the full processing, while on the other two tries which included masked modules, it lost at least the masked module.

ralfbrown avatar Jan 05 '24 02:01 ralfbrown

Seems like a simple thing to implement to my non-coder brain!

Yes, could be possible but the question is why? What is it expected to bring as a feature?

If the goal is to be able to load this XMP later to get back to this state then the proper solution I suppose is to be able from the snapshot like to say : rollback the current history to this snapshot. The UI could be a button or Ctrl+Click on the snapshot button to change current history to correspond to the snapshot. This is on my TODO list since some time.

TurboGit avatar Jan 05 '24 08:01 TurboGit

@TurboGit yeah, that would be the ideal scenario... that a snapshot would not just be a screengrab of the image as it was at the time the snapshot was taken, but essentially a shortcut back to the history state as it was at the time the snapshot was taken. This would allow you to explore other possibilities, but if those ideas didn't pan out the way you hoped, you could use the snapshot to get back to that history state, and then take your processing in a different direction from there.

@TurboGit yeah, that would be the ideal scenario... that a snapshot would not just be a screengrab of the image as it was at the time the snapshot was taken, but essentially a shortcut back to the history state as it was at the time the snapshot was taken. This would allow you to explore other possibilities, but if those ideas didn't pan out the way you hoped, you could use the snapshot to get back to that history state, and then take your processing in a different direction from there.

How is this different than using the Duplicate Manager ?

gi-man avatar Jan 05 '24 22:01 gi-man

Mainly by being more ephemeral - which in many use cases is more convenient because you don't have lots of duplicates hanging around, needing to be removed one-by-one.

ralfbrown avatar Jan 06 '24 01:01 ralfbrown

How is this different than using the Duplicate Manager ?

It's not, in functionality. I don't speak for ALL users, but I know I've had a lot of users migrating from LR who have watched my videos, and then asked "Why doesn't the snapshot feature allow me to go back to that moment in time, as far as the History states are concerned?" Now, sure, we'd love to be able to tell them "RTFM". :) But if this is as common a misconception about darktable as it appears to be, then I thought (well, actually, it was another viewer who came up with this idea) wouldn't it make sense to have this as a Preference that could be enabled/disabled as the user needs?

@brucewilliamsphotography : See #16039.

TurboGit avatar Jan 06 '24 10:01 TurboGit

Closing as solution in #16039 implements this request.

TurboGit avatar Jan 10 '24 16:01 TurboGit