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, 2012 johannes hanika.
4
Copyright (C) 2010, 2014, 2016 Tobias Ellinghaus.
5
Copyright (C) 2011 Henrik Andersson.
6
Copyright (C) 2012 Richard Wonka.
7
Copyright (C) 2019-2020 Pascal Obry.
8
Copyright (C) 2019-2022 Philippe Weyland.
9
Copyright (C) 2020 Aldric Renaudin.
10
Copyright (C) 2020 Chris Elston.
11
Copyright (C) 2021 Hubert Kowalski.
12
Copyright (C) 2022-2023, 2026 Aurélien PIERRE.
13
Copyright (C) 2022 Martin Bařinka.
14
Copyright (C) 2025 Alynx Zhou.
15
16
darktable is free software: you can redistribute it and/or modify
17
it under the terms of the GNU General Public License as published by
18
the Free Software Foundation, either version 3 of the License, or
19
(at your option) any later version.
20
21
darktable is distributed in the hope that it will be useful,
22
but WITHOUT ANY WARRANTY; without even the implied warranty of
23
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24
GNU General Public License for more details.
25
26
You should have received a copy of the GNU General Public License
27
along with darktable. If not, see <http://www.gnu.org/licenses/>.
28
*/
29
30
#pragma once
31
32
#include "
common/darktable.h
"
33
#include "
gui/gtk.h
"
34
35
#ifdef __cplusplus
36
extern
"C"
{
37
#endif
38
39
typedef
enum
dt_metadata_t
40
{
41
// do change the order. Must match with dt_metadata_def[] in metadata.c.
42
// just add new metadata before DT_METADATA_NUMBER when needed
43
// and this must also be synchronized with the collect.c module (legacy_presets).
44
DT_METADATA_XMP_DC_CREATOR
,
45
DT_METADATA_XMP_DC_PUBLISHER
,
46
DT_METADATA_XMP_DC_TITLE
,
47
DT_METADATA_XMP_DC_DESCRIPTION
,
48
DT_METADATA_XMP_DC_RIGHTS
,
49
DT_METADATA_XMP_ACDSEE_NOTES
,
50
DT_METADATA_XMP_VERSION_NAME
,
51
DT_METADATA_XMP_IMAGE_ID
,
52
DT_METADATA_NUMBER
53
}
54
dt_metadata_t
;
55
56
typedef
enum
dt_metadata_type_t
57
{
58
DT_METADATA_TYPE_USER
,
// metadata for users
59
DT_METADATA_TYPE_OPTIONAL
,
// metadata hidden by default
60
DT_METADATA_TYPE_INTERNAL
// metadata for dt internal usage - the user cannot see it
61
}
62
dt_metadata_type_t
;
63
64
typedef
enum
dt_metadata_signal_t
65
{
66
DT_METADATA_SIGNAL_SHOWN
,
// metadata set as shown
67
DT_METADATA_SIGNAL_HIDDEN
,
// metadata set as hidden
68
DT_METADATA_SIGNAL_NEW_VALUE
// metadata value changed
69
}
70
dt_metadata_signal_t
;
71
72
typedef
enum
dt_metadata_flag_t
73
{
74
DT_METADATA_FLAG_HIDDEN
= 1 << 0,
// metadata set as shown
75
DT_METADATA_FLAG_PRIVATE
= 1 << 1,
// metadata set as hidden
76
DT_METADATA_FLAG_IMPORTED
= 1 << 2
// metadata value changed
77
}
78
dt_metadata_flag_t
;
79
81
unsigned
int
dt_metadata_get_nb_user_metadata
();
82
84
const
char
*
dt_metadata_get_name_by_display_order
(
const
uint32_t order);
85
87
dt_metadata_t
dt_metadata_get_keyid_by_display_order
(
const
uint32_t order);
88
90
dt_metadata_t
dt_metadata_get_keyid_by_name
(
const
char
*
name
);
91
93
int
dt_metadata_get_type_by_display_order
(
const
uint32_t order);
94
96
const
char
*
dt_metadata_get_name
(
const
uint32_t keyid);
97
99
dt_metadata_t
dt_metadata_get_keyid
(
const
char
*
key
);
100
102
const
char
*
dt_metadata_get_key
(
const
uint32_t keyid);
103
105
const
char
*
dt_metadata_get_subkey
(
const
uint32_t keyid);
106
108
const
char
*
dt_metadata_get_key_by_subkey
(
const
char
*subkey);
109
111
int
dt_metadata_get_type
(
const
uint32_t keyid);
112
114
void
dt_metadata_init
();
115
117
void
dt_metadata_set
(
int
id
,
const
char
*
key
,
const
char
*
value
,
const
gboolean undo_on);
// duplicate.c, lua/image.c
118
120
void
dt_metadata_set_import
(
int
id
,
const
char
*
key
,
const
char
*
value
);
// exif.cc, ligthroom.c
121
124
void
dt_metadata_set_list
(
const
GList *imgs, GList *key_value,
const
gboolean undo_on);
// libs/metadata.c
125
129
void
dt_metadata_set_list_id
(
const
GList *img,
const
GList *metadata,
const
gboolean clear_on,
130
const
gboolean undo_on);
134
GList *
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
135
137
GList *
dt_metadata_get_list_id
(
int
id
);
// libs/image.c
138
140
void
dt_metadata_clear
(
const
GList *imgs,
const
gboolean undo_on);
// libs/metadata.c
141
143
int
dt_metadata_already_imported
(
const
char
*filename,
const
char
*datetime);
144
146
void
dt_metadata_cleanup
(
void
);
147
148
#ifdef __cplusplus
149
}
150
#endif
151
152
// clang-format off
153
// modelines: These editor modelines have been set for all relevant files by tools/update_modelines.py
154
// vim: shiftwidth=2 expandtab tabstop=2 cindent
155
// kate: tab-indents: off; indent-width 2; replace-tabs on; indent-mode cstyle; remove-trailing-spaces modified;
156
// clang-format on
key
char * key
Definition
common/metadata.c:60
name
char * name
Definition
common/metadata.c:61
darktable.h
value
static const dt_aligned_pixel_simd_t value
Definition
darktable.h:501
gtk.h
dt_metadata_already_imported
int dt_metadata_already_imported(const char *filename, const char *datetime)
Definition
common/metadata.c:825
dt_metadata_clear
void dt_metadata_clear(const GList *imgs, const gboolean undo_on)
Definition
common/metadata.c:768
dt_metadata_set_list_id
void dt_metadata_set_list_id(const GList *img, const GList *metadata, const gboolean clear_on, const gboolean undo_on)
Definition
common/metadata.c:807
dt_metadata_set
void dt_metadata_set(int id, const char *key, const char *value, const gboolean undo_on)
dt_metadata_get_subkey
const char * dt_metadata_get_subkey(const uint32_t keyid)
Definition
common/metadata.c:165
dt_metadata_set_import
void dt_metadata_set_import(int id, const char *key, const char *value)
dt_metadata_get_key_by_subkey
const char * dt_metadata_get_key_by_subkey(const char *subkey)
Definition
common/metadata.c:175
dt_metadata_get_key
const char * dt_metadata_get_key(const uint32_t keyid)
Definition
common/metadata.c:157
dt_metadata_cleanup
void dt_metadata_cleanup(void)
Definition
common/metadata.c:536
dt_metadata_get_name_by_display_order
const char * dt_metadata_get_name_by_display_order(const uint32_t order)
Definition
common/metadata.c:88
dt_metadata_get_keyid_by_name
dt_metadata_t dt_metadata_get_keyid_by_name(const char *name)
Definition
common/metadata.c:114
dt_metadata_flag_t
dt_metadata_flag_t
Definition
metadata.h:73
DT_METADATA_FLAG_IMPORTED
@ DT_METADATA_FLAG_IMPORTED
Definition
metadata.h:76
DT_METADATA_FLAG_HIDDEN
@ DT_METADATA_FLAG_HIDDEN
Definition
metadata.h:74
DT_METADATA_FLAG_PRIVATE
@ DT_METADATA_FLAG_PRIVATE
Definition
metadata.h:75
dt_metadata_t
dt_metadata_t
Definition
metadata.h:40
DT_METADATA_XMP_DC_PUBLISHER
@ DT_METADATA_XMP_DC_PUBLISHER
Definition
metadata.h:45
DT_METADATA_XMP_DC_RIGHTS
@ DT_METADATA_XMP_DC_RIGHTS
Definition
metadata.h:48
DT_METADATA_XMP_ACDSEE_NOTES
@ DT_METADATA_XMP_ACDSEE_NOTES
Definition
metadata.h:49
DT_METADATA_XMP_IMAGE_ID
@ DT_METADATA_XMP_IMAGE_ID
Definition
metadata.h:51
DT_METADATA_XMP_DC_DESCRIPTION
@ DT_METADATA_XMP_DC_DESCRIPTION
Definition
metadata.h:47
DT_METADATA_XMP_VERSION_NAME
@ DT_METADATA_XMP_VERSION_NAME
Definition
metadata.h:50
DT_METADATA_XMP_DC_CREATOR
@ DT_METADATA_XMP_DC_CREATOR
Definition
metadata.h:44
DT_METADATA_NUMBER
@ DT_METADATA_NUMBER
Definition
metadata.h:52
DT_METADATA_XMP_DC_TITLE
@ DT_METADATA_XMP_DC_TITLE
Definition
metadata.h:46
dt_metadata_set_list
void dt_metadata_set_list(const GList *imgs, GList *key_value, const gboolean undo_on)
Definition
common/metadata.c:723
dt_metadata_get_keyid
dt_metadata_t dt_metadata_get_keyid(const char *key)
Definition
common/metadata.c:146
dt_metadata_type_t
dt_metadata_type_t
Definition
metadata.h:57
DT_METADATA_TYPE_OPTIONAL
@ DT_METADATA_TYPE_OPTIONAL
Definition
metadata.h:59
DT_METADATA_TYPE_INTERNAL
@ DT_METADATA_TYPE_INTERNAL
Definition
metadata.h:60
DT_METADATA_TYPE_USER
@ DT_METADATA_TYPE_USER
Definition
metadata.h:58
dt_metadata_get_name
const char * dt_metadata_get_name(const uint32_t keyid)
Definition
common/metadata.c:138
dt_metadata_get
GList * dt_metadata_get(int id, const char *key, uint32_t *count)
Definition
common/metadata.c:402
dt_metadata_signal_t
dt_metadata_signal_t
Definition
metadata.h:65
DT_METADATA_SIGNAL_SHOWN
@ DT_METADATA_SIGNAL_SHOWN
Definition
metadata.h:66
DT_METADATA_SIGNAL_NEW_VALUE
@ DT_METADATA_SIGNAL_NEW_VALUE
Definition
metadata.h:68
DT_METADATA_SIGNAL_HIDDEN
@ DT_METADATA_SIGNAL_HIDDEN
Definition
metadata.h:67
dt_metadata_get_list_id
GList * dt_metadata_get_list_id(int id)
Definition
common/metadata.c:349
dt_metadata_init
void dt_metadata_init()
Definition
common/metadata.c:197
dt_metadata_get_nb_user_metadata
unsigned int dt_metadata_get_nb_user_metadata()
Definition
common/metadata.c:77
dt_metadata_get_type_by_display_order
int dt_metadata_get_type_by_display_order(const uint32_t order)
Definition
common/metadata.c:125
dt_metadata_get_type
int dt_metadata_get_type(const uint32_t keyid)
Definition
common/metadata.c:189
dt_metadata_get_keyid_by_display_order
dt_metadata_t dt_metadata_get_keyid_by_display_order(const uint32_t order)
Definition
common/metadata.c:101
src
common
metadata.h
Generated by
1.9.8