Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
metadata.h
Go to the documentation of this file.
1/*
2 This file is part of darktable,
3 Copyright (C) 2010-2020 darktable developers.
4
5 darktable is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 darktable is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with darktable. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#pragma once
20
21#include "common/darktable.h"
22#include "gui/gtk.h"
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
28typedef enum dt_metadata_t
29{
30 // do change the order. Must match with dt_metadata_def[] in metadata.c.
31 // just add new metadata before DT_METADATA_NUMBER when needed
32 // and this must also be synchronized with the collect.c module (legacy_presets).
44
46{
47 DT_METADATA_TYPE_USER, // metadata for users
48 DT_METADATA_TYPE_OPTIONAL, // metadata hidden by default
49 DT_METADATA_TYPE_INTERNAL // metadata for dt internal usage - the user cannot see it
52
54{
55 DT_METADATA_SIGNAL_SHOWN, // metadata set as shown
56 DT_METADATA_SIGNAL_HIDDEN, // metadata set as hidden
57 DT_METADATA_SIGNAL_NEW_VALUE // metadata value changed
60
62{
63 DT_METADATA_FLAG_HIDDEN = 1 << 0, // metadata set as shown
64 DT_METADATA_FLAG_PRIVATE = 1 << 1, // metadata set as hidden
65 DT_METADATA_FLAG_IMPORTED = 1 << 2 // metadata value changed
68
71
73const char *dt_metadata_get_name_by_display_order(const uint32_t order);
74
77
80
82int dt_metadata_get_type_by_display_order(const uint32_t order);
83
85const char *dt_metadata_get_name(const uint32_t keyid);
86
89
91const char *dt_metadata_get_key(const uint32_t keyid);
92
94const char *dt_metadata_get_subkey(const uint32_t keyid);
95
97const char *dt_metadata_get_key_by_subkey(const char *subkey);
98
100int dt_metadata_get_type(const uint32_t keyid);
101
103void dt_metadata_init();
104
106void dt_metadata_set(int id, const char *key, const char *value, const gboolean undo_on); // duplicate.c, lua/image.c
107
109void dt_metadata_set_import(int id, const char *key, const char *value); // exif.cc, ligthroom.c
110
113void dt_metadata_set_list(const GList *imgs, GList *key_value, const gboolean undo_on); // libs/metadata.c
114
118void dt_metadata_set_list_id(const GList *img, const GList *metadata, const gboolean clear_on,
119 const gboolean undo_on);
123GList *dt_metadata_get(int id, const char *key, uint32_t *count); // exif.cc, variables.c, facebook.c, flicker.c, gallery.c, googlephoto.c, latex.c, piwigo.c, watermark.c, metadata_view.c, libs/metadata.c, print_settings.c, lua/image.c
124
126GList *dt_metadata_get_list_id(int id); // libs/image.c
127
129void dt_metadata_clear(const GList *imgs, const gboolean undo_on); // libs/metadata.c
130
132int dt_metadata_already_imported(const char *filename, const char *datetime);
133
134#ifdef __cplusplus
135}
136#endif
137
138// clang-format off
139// modelines: These editor modelines have been set for all relevant files by tools/update_modelines.py
140// vim: shiftwidth=2 expandtab tabstop=2 cindent
141// kate: tab-indents: off; indent-width 2; replace-tabs on; indent-mode cstyle; remove-trailing-spaces modified;
142// clang-format on
char * key
Definition common/metadata.c:40
char * name
Definition common/metadata.c:41
int dt_metadata_already_imported(const char *filename, const char *datetime)
Definition common/metadata.c:769
void dt_metadata_clear(const GList *imgs, const gboolean undo_on)
Definition common/metadata.c:713
void dt_metadata_set_list_id(const GList *img, const GList *metadata, const gboolean clear_on, const gboolean undo_on)
Definition common/metadata.c:751
void dt_metadata_set(int id, const char *key, const char *value, const gboolean undo_on)
const char * dt_metadata_get_subkey(const uint32_t keyid)
Definition common/metadata.c:145
void dt_metadata_set_import(int id, const char *key, const char *value)
const char * dt_metadata_get_key_by_subkey(const char *subkey)
Definition common/metadata.c:155
const char * dt_metadata_get_key(const uint32_t keyid)
Definition common/metadata.c:137
const char * dt_metadata_get_name_by_display_order(const uint32_t order)
Definition common/metadata.c:68
dt_metadata_t dt_metadata_get_keyid_by_name(const char *name)
Definition common/metadata.c:94
dt_metadata_flag_t
Definition metadata.h:62
@ DT_METADATA_FLAG_IMPORTED
Definition metadata.h:65
@ DT_METADATA_FLAG_HIDDEN
Definition metadata.h:63
@ DT_METADATA_FLAG_PRIVATE
Definition metadata.h:64
dt_metadata_t
Definition metadata.h:29
@ DT_METADATA_XMP_DC_PUBLISHER
Definition metadata.h:34
@ DT_METADATA_XMP_DC_RIGHTS
Definition metadata.h:37
@ DT_METADATA_XMP_ACDSEE_NOTES
Definition metadata.h:38
@ DT_METADATA_XMP_IMAGE_ID
Definition metadata.h:40
@ DT_METADATA_XMP_DC_DESCRIPTION
Definition metadata.h:36
@ DT_METADATA_XMP_VERSION_NAME
Definition metadata.h:39
@ DT_METADATA_XMP_DC_CREATOR
Definition metadata.h:33
@ DT_METADATA_NUMBER
Definition metadata.h:41
@ DT_METADATA_XMP_DC_TITLE
Definition metadata.h:35
void dt_metadata_set_list(const GList *imgs, GList *key_value, const gboolean undo_on)
Definition common/metadata.c:669
dt_metadata_t dt_metadata_get_keyid(const char *key)
Definition common/metadata.c:126
dt_metadata_type_t
Definition metadata.h:46
@ DT_METADATA_TYPE_OPTIONAL
Definition metadata.h:48
@ DT_METADATA_TYPE_INTERNAL
Definition metadata.h:49
@ DT_METADATA_TYPE_USER
Definition metadata.h:47
const char * dt_metadata_get_name(const uint32_t keyid)
Definition common/metadata.c:118
GList * dt_metadata_get(int id, const char *key, uint32_t *count)
Definition common/metadata.c:379
dt_metadata_signal_t
Definition metadata.h:54
@ DT_METADATA_SIGNAL_SHOWN
Definition metadata.h:55
@ DT_METADATA_SIGNAL_NEW_VALUE
Definition metadata.h:57
@ DT_METADATA_SIGNAL_HIDDEN
Definition metadata.h:56
GList * dt_metadata_get_list_id(int id)
Definition common/metadata.c:329
void dt_metadata_init()
Definition common/metadata.c:177
unsigned int dt_metadata_get_nb_user_metadata()
Definition common/metadata.c:57
int dt_metadata_get_type_by_display_order(const uint32_t order)
Definition common/metadata.c:105
int dt_metadata_get_type(const uint32_t keyid)
Definition common/metadata.c:169
dt_metadata_t dt_metadata_get_keyid_by_display_order(const uint32_t order)
Definition common/metadata.c:81