Would be great if there was a way to specify what custom tags should be cached in DB when scanning new or existing images besides the standard EXIF tags.
For example among the rest i would like to use:
[MakerNotes:Image] Shutter: Silent / Electronic
[MakerNotes:Camera] Flash Exposure Compensation
[MakerNotes:Camera] Flash Action
[MakerNotes:Camera] Electronic Front Curtain Shutter
[MakerNotes:Image] Shutter Count
Ideally there could be a way to load all tags that are inside particular image and then select with checkbox which ones to add to DB.
Later this tags could also be available in Search (Ctrl + Shift + F)
Way to specify what custom tags to cache in DB
Moderator: xnview
-
FKCapitalism2
- Posts: 345
- Joined: Sun Apr 23, 2023 5:14 am
Re: Way to specify what custom tags to cache in DB
XnViewMP (when the feature is enabled) scans and stores ALL MakerNotes, standard, and custom tags that are available in an image, and does make them available to Search. Essentially everything that Exiftool can capture, XnViewMP makes searchable.
Since MakerNotes and custom tags are infinitely variable, differing between manufacturers and camera models, adding functionality to only selectively include certain tags would complicate and slow the import process, which is highly undesirable, and would negatively impact search capabilites for no significant gain other than customization for customization's sake. Simply put, the feature exists because it straightforward, future-proof, simple to use, and simple to implement. If it had to be customizable in the way you describe and account for all the various possibilities and complications that entails, the feature would not exist.
I'll clarify a couple of other things for the benefit of other readers who might be confused by some of the content in your post.
The way you have tried to depict certain tags, by prefixing [MakerNotes:Image] or [MakerNotes:Camera] is incorrect and nonsensical.
MakerNotes, Camera, and Image are all "Headings" or "Group Names" used by Exiftool to categorize tags. They are peer-level groups in the namespace, so one is not a part of or subset of another. So you could, for example have [MakerNotes]Shutter Count, or you could have [Image]Shutter Count, but you cannot have [MakerNotes:Image]Shutter Count; because [MakerNotes:Image] is improper and does not correspond to the Exiftool namespace.
If a tag named "Flash Exposure Compensation" exists in the MakerNotes section, the correct way to specify that exact tag in XnViewMP is "MakerNotes:FlashExposureCompensation". That is the group or heading name, followed by a colon, followed by the tag name without spaces. I described this in my initial post about the new features which is available on the support forum. Exiftool and XnViewMP are case insensitive when parsing the namespace.
Regarding the notion of "custom" tags... You talk about "custom" tags and depict MakerNotes in the examples.
Although MakerNotes tags could be thought of as "custom", in the sense that they are bespoke to a particular manufacturer (or indeed a particular model), they are not called "custom" in the context of Exiftool. In the Exiftool, they are called simply "MakerNotes tags" because "custom" has a very different meaning.
"Custom" tags, for Exiftool, are user-defined tags whose definition is specified in the user's .Exiftool_config file. These are tag definitions the user has created to supplement or even override the tags that are contained in the image file. These tag values are calculated at exiftool runtime, and have no existence other than on that user's PC, for the instance of exiftool using that .Exiftool_config file. These tags are often defined to be in the "Composite" group. You could for example define a tag "Composite:ThisIsMyPersonalPrivateTag" that contains whatever arbitrary data you want, since user-defined tag definitions can execute Perl code (Perl code that the user writes).
XnViewMP does store and make available to search all user-defined custom tags that exist (are defined) at the time the image file is imported. This is an extremely powerful feature of XnViewMP. If a user edits the .Exiftool_config file to construct a new custom tag after an image has already been imported, and wants this new custom tag to be searchable, then it is necessary to do an "update metadata" in XnViewMP to force exiftool to rescan the images using its new .Exiftool_config that contains the new tag definition.
Hopefully this helps and clarifies.
Since MakerNotes and custom tags are infinitely variable, differing between manufacturers and camera models, adding functionality to only selectively include certain tags would complicate and slow the import process, which is highly undesirable, and would negatively impact search capabilites for no significant gain other than customization for customization's sake. Simply put, the feature exists because it straightforward, future-proof, simple to use, and simple to implement. If it had to be customizable in the way you describe and account for all the various possibilities and complications that entails, the feature would not exist.
I'll clarify a couple of other things for the benefit of other readers who might be confused by some of the content in your post.
The way you have tried to depict certain tags, by prefixing [MakerNotes:Image] or [MakerNotes:Camera] is incorrect and nonsensical.
MakerNotes, Camera, and Image are all "Headings" or "Group Names" used by Exiftool to categorize tags. They are peer-level groups in the namespace, so one is not a part of or subset of another. So you could, for example have [MakerNotes]Shutter Count, or you could have [Image]Shutter Count, but you cannot have [MakerNotes:Image]Shutter Count; because [MakerNotes:Image] is improper and does not correspond to the Exiftool namespace.
If a tag named "Flash Exposure Compensation" exists in the MakerNotes section, the correct way to specify that exact tag in XnViewMP is "MakerNotes:FlashExposureCompensation". That is the group or heading name, followed by a colon, followed by the tag name without spaces. I described this in my initial post about the new features which is available on the support forum. Exiftool and XnViewMP are case insensitive when parsing the namespace.
Regarding the notion of "custom" tags... You talk about "custom" tags and depict MakerNotes in the examples.
Although MakerNotes tags could be thought of as "custom", in the sense that they are bespoke to a particular manufacturer (or indeed a particular model), they are not called "custom" in the context of Exiftool. In the Exiftool, they are called simply "MakerNotes tags" because "custom" has a very different meaning.
"Custom" tags, for Exiftool, are user-defined tags whose definition is specified in the user's .Exiftool_config file. These are tag definitions the user has created to supplement or even override the tags that are contained in the image file. These tag values are calculated at exiftool runtime, and have no existence other than on that user's PC, for the instance of exiftool using that .Exiftool_config file. These tags are often defined to be in the "Composite" group. You could for example define a tag "Composite:ThisIsMyPersonalPrivateTag" that contains whatever arbitrary data you want, since user-defined tag definitions can execute Perl code (Perl code that the user writes).
XnViewMP does store and make available to search all user-defined custom tags that exist (are defined) at the time the image file is imported. This is an extremely powerful feature of XnViewMP. If a user edits the .Exiftool_config file to construct a new custom tag after an image has already been imported, and wants this new custom tag to be searchable, then it is necessary to do an "update metadata" in XnViewMP to force exiftool to rescan the images using its new .Exiftool_config that contains the new tag definition.
Hopefully this helps and clarifies.