-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fully configurable metadata module #18036
base: master
Are you sure you want to change the base?
Conversation
I'll test the lua part. |
Just picking out one random thing (not pretending at all that this amounts to anything like the in depth review this big PR deserves), but why don't you create one global |
Started testing. Created a fresh environment and pulled the PR. Imported a directory of play raws. Tested a lua script to add a field to the image information module. It added the field, but it didn't show up in the preferences and I couldn't control the visibility, which I can with current master. Stopped darktable, then restarted it. The collection of play raws would not display. Went to the collections module and double clicked on the play raw collection and it still wouldn't display. I'll continue testing... |
Along with not displaying the field in the preferences, it seems to cause a crash when exiting, which is what stopped the collection from displaying since darktable did not shut down cleanly. The error:
Here's the script: drop it in your contrib lua scripts directory and remove the .txt extension. start darktable, then start the script. It adds a module to lighttable below image information. In the metadata display name field enter In the tag field enter Click create and The script requires the exiv2 program be installed and in your path. Hover over images and it should update. Just tested again, and I deactivated the field (removed it from the image information display) and didn't get a crash. On another note. How can I notify Lua of the changed collection fields, since I can control collections from Lua. |
@wpferguson thanks for testing so far, I will look into that (I know near to nothing about Lua). The crash on exit is another story: #18023 |
@dterrahe: I had to read that twice but now I got your point. The variables completion was indeed somewhat complicated and it was the last part I have implemented in this PR. Your suggestion sounds good, I will work on that. |
1b303b6
to
f48d993
Compare
@dterrahe: I followed your suggestion, works great! So I could completely remove the signal handlers for the variables completion. |
@wpferguson: I think I have fixed the Lua issues in the image information module, can you please test again?
In the collection module I have written the code to register the collections. Can you give me some advice/script on how to test this? |
bf197af
to
bb64eb1
Compare
localize default metadata tags during database migration
Using a script if I have a metadata active in the image information display, then stop and start darktable, the metadata doesn't appear in the image information display, nor in the preferences. I have to "remove it" then reactivate it to get it to appear. EDIT: also getting
in the terminal EDIT 2: After further testing, I can't reproduce the doesn't display after reload. |
This PR implements a fully configurable metadata module. It allows to maintain every tag which is supported by exiv2.
fixes #13607
fixes #17664
fixes #18147
The metadata tags are maintained in a new database table
data.meta_data
, the previous darktable tags are created at database migration.So the metadata module looks exactly like before:
The metadata preferences dialog now shows the tagname and has buttons to add new tags and to delete tags:
Clicking the
+
button to add new tags opens the tag dialog which is already known from the export module:Search for the desired tags and add them by either double click or the
add
button. In this example the user wants to add theXmp.iptc.AltTextAccessibility
andXmp.iptc.Location
tags. Clickdone
and the tags are added to the metadata preferences dialog.Edit the display name:
and drag the tag to change the order to your liking:
Click
save
and the metadata module is immediately updated:As well as the metadata section of the import module:
The new tags can immediately be used in the collections module:
...and the image information module (this module has its own preferences for show/hide and display order):
Finally, the new tags can now be used as variables: