Description
Problem:
I'm always frustrated when I start darktable (DT) and have look for updated XMP files on startup turned on which make the start up of DT to take a very very long time. In my case, I want that on part of the year when we are working on the familys year books, a work including DT when we are selecting images which is done on 3 computers (both windows and linux). For this we are only using the lighttable mode. For editing, we are also using DT on these 3 computers, but there it's not a problem because we complete every photoediting work on the same computer.
Solution:
In collections, right click the collection you would like to check for updated xmp files. In the right click menu you get the option of Check for updated XMP, Update XMP or something similar.
When the option for checking for and update the XMP files have been selected:
- A window (like the fields that is used for the modules in darkroom) appears in the collection window below the selected collection. This approach open up the possibility to add more options with different functionality in the future, if someone finds a need for it. (Like the possibility to select if DT only should check for possible updates of the XMP files or if there is the need to integrate the existing function when DT is checking for updates at start up as it is today; where you get the choice to choose which one to keep. But this suggestion only is about updating XMP files.)
- At the top of the window DT informs the user how many images that is affected. This value is a counter collected from DT "looking" in the selected collection. It could look like something like this: Images that will be checked for updated XMP files: N or something like that.
- If a certain number of images is found to be affected and there is reason to belive this will take a "long time" (I have no suggestion of what would be considered a long time), the report of image affected by the request would be followed by a warning in red that the action to update the XMP files might take some time. This could look something like this: There is the possibility this action might take a long time to execute.
- This window shows a (bright green against black background, I personally love that look:)) taskbar that shows progress, where DT has calculated how many images that is affected by the request and adjusted the scale of the taskbar steps so that every step in the taskbar is equal to one image processed. So if there is only 2 images in the selected collection, the taskbar will only take 2 steps, if there is 100 images in the selected collection, the taskbar will take 100 steps.
- A counter display (would be great to have bright green against black background again:)) which shows the percentage in integers where 0 percent is equal to 0 photos checked, 1 percent is equal to at least 1 percent or more of the total amount of images that is about to be checked and 100 is equal to all the images affected by the request is checked and updated. This means that 100 percent only show up when the process is completely finished.
When finished, at the bottom of the window:
- There is a report telling the user how many pictures that was actually checked. This number is collected from a counter counting every image that has been checked: Number of checked images: n
- There is a report telling the user if n equals N: if n = N then 'All images in the collection have been checked.' in bright green color (the function has done exactly what the user wanted it to do). elif n < N then 'Darktable was not able to check all images in the collection for updated XMP files. in yellow (this isn't necessary a problem but needs to be flagged anyway and my belive is that yellow text would be enough). elif n > N then 'Darktable has checked more images than exists in the collection for updated XMP files.' in red color (systems that do more than you ask them to do is problematic and when that happens the user needs to be warned).
- There is a report telling the user how many XMP files that was replaced with updated XMP files: "X XMP files was updated." where X is based on a counter counting every XMP file that was updated.
Alternative
Instead of right click a collection this could also be like an own module called something like collections XMP or similar. Then it could work in that way that the module check for updated XMP files like described above for all images that is selected in Lighttable. This would give a more stringent "feel" compared to how DT looks and works for the user. The user then can use collections and the associated filters as of today to select all images the user want to check for updated XMP files, then select all or only the pictures of interest for the user in Lightable, go to this "module" and run it on selectet/marked images. (I do apologise for several updates of this post, my kid conmtroled the mouse "on my behalf" so instead of preview it became update comment.)
The module like window described above can also be a floating window if that's more convenient.
The taskbar and percentage display doesn't need to be in the suggested colors from above. But I love bright green against black in contexts like this.
Activity