We collected some usability issues, some of them might serve as "Easy Coding" task. Every patch solving one of them is highly appreciated! Have a look at them:
add quick tagging functionality¶
create an overlay similar to dt_control_log() in lighttable mode, if a hotkey is pressed (say @t'). then start typing, and a list of existing tags will try to auto-complete your word (much like in the tagging plugin, but without mouse interaction). if you press return, your tag is added to the currently selected/highlighted image, esc aborts.
Add scalar fallback macros to SSE code¶
grep mm -r src/* gives all the currently used SSE code, especially the mersenne twister, darktable:source:src/iop/atrous.c, darktable:source:src/develop/imageop.c, and darktable:source:src/iop/demosaic.c.
These should be encapsulated into macros which expand to the real SSE intrinsics only in case it is supported by the current CPU (compile time, to not lose performance).
Alternative: Do the check at runtime when initializing darktable (catch SIGILL, issue a SSE2 op, react), remember if SSE2 is available and let plugins use this information to change set some function pointers when loaded. Will be slightly slower but result in an executable which should run everywhere.
Better handling of removed images¶
Currently images that are in a collections but that have been removed from the filesystem appear in the lighttable view. We need a way to handle that more properly. either with a marking on the image itself or by removing them entirely from the collection. The exact solution is opened, but should probably be discussed with the devs
Import of duplicates¶
When importing a filmroll which already has XMP files it only honours those which are directly related to an image (like IMG_0123.CR2 + IMG_0123.CR2.xmp). If there were duplicates there would be other XMP files (IMG_0123_01.CR2.xmp). Reading them as duplicates should be added. I guess we even had that when we still used .dt files.
Cache image properties¶
Add the color labels, star ratings, selection etc. to the dt_image_t cache and sync in image_cache.c. So expose() doesn't need to go to disk but can read everything from the cache.
Fix UI behaviour: Alt+1 zoom¶
Fix the Alt-1 zoom in lighttable mode. This key accelerator should set the view to the selected / mouse over image. Currently it always zooms to the top left one. (It should more behave like zoomable lighttable mode, or holding @z'). The code can be found in darktable:source:src/viewslighttable.c.
Implement a more user friendly OpenCL state reporting, something that is easy to copy/paste to the mailing list.
Clean up file-lookup¶
Darktable looks for lots of file to run, including the library file, the cache file, the config file etc... currently the path to some of these path are hardwired, other are configurable from the preference menus. some are configurable at build time, other arn't
we need to have all this cleaned up. In particular it should be possible to have two DT installed, and in possible run DT from the build directory