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
25
extern
"C"
{
26
#endif
27
28
typedef
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).
33
DT_METADATA_XMP_DC_CREATOR
,
34
DT_METADATA_XMP_DC_PUBLISHER
,
35
DT_METADATA_XMP_DC_TITLE
,
36
DT_METADATA_XMP_DC_DESCRIPTION
,
37
DT_METADATA_XMP_DC_RIGHTS
,
38
DT_METADATA_XMP_ACDSEE_NOTES
,
39
DT_METADATA_XMP_VERSION_NAME
,
40
DT_METADATA_XMP_IMAGE_ID
,
41
DT_METADATA_NUMBER
42
}
43
dt_metadata_t
;
44
45
typedef
enum
dt_metadata_type_t
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
50
}
51
dt_metadata_type_t
;
52
53
typedef
enum
dt_metadata_signal_t
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
58
}
59
dt_metadata_signal_t
;
60
61
typedef
enum
dt_metadata_flag_t
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
66
}
67
dt_metadata_flag_t
;
68
70
unsigned
int
dt_metadata_get_nb_user_metadata
();
71
73
const
char
*
dt_metadata_get_name_by_display_order
(
const
uint32_t order);
74
76
dt_metadata_t
dt_metadata_get_keyid_by_display_order
(
const
uint32_t order);
77
79
dt_metadata_t
dt_metadata_get_keyid_by_name
(
const
char
*
name
);
80
82
int
dt_metadata_get_type_by_display_order
(
const
uint32_t order);
83
85
const
char
*
dt_metadata_get_name
(
const
uint32_t keyid);
86
88
dt_metadata_t
dt_metadata_get_keyid
(
const
char
*
key
);
89
91
const
char
*
dt_metadata_get_key
(
const
uint32_t keyid);
92
94
const
char
*
dt_metadata_get_subkey
(
const
uint32_t keyid);
95
97
const
char
*
dt_metadata_get_key_by_subkey
(
const
char
*subkey);
98
100
int
dt_metadata_get_type
(
const
uint32_t keyid);
101
103
void
dt_metadata_init
();
104
106
void
dt_metadata_set
(
int
id
,
const
char
*
key
,
const
char
*value,
const
gboolean undo_on);
// duplicate.c, lua/image.c
107
109
void
dt_metadata_set_import
(
int
id
,
const
char
*
key
,
const
char
*value);
// exif.cc, ligthroom.c
110
113
void
dt_metadata_set_list
(
const
GList *imgs, GList *key_value,
const
gboolean undo_on);
// libs/metadata.c
114
118
void
dt_metadata_set_list_id
(
const
GList *img,
const
GList *metadata,
const
gboolean clear_on,
119
const
gboolean undo_on);
123
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
124
126
GList *
dt_metadata_get_list_id
(
int
id
);
// libs/image.c
127
129
void
dt_metadata_clear
(
const
GList *imgs,
const
gboolean undo_on);
// libs/metadata.c
130
132
int
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
key
char * key
Definition
common/metadata.c:40
name
char * name
Definition
common/metadata.c:41
darktable.h
gtk.h
dt_metadata_already_imported
int dt_metadata_already_imported(const char *filename, const char *datetime)
Definition
common/metadata.c:769
dt_metadata_clear
void dt_metadata_clear(const GList *imgs, const gboolean undo_on)
Definition
common/metadata.c:713
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:751
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:145
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:155
dt_metadata_get_key
const char * dt_metadata_get_key(const uint32_t keyid)
Definition
common/metadata.c:137
dt_metadata_get_name_by_display_order
const char * dt_metadata_get_name_by_display_order(const uint32_t order)
Definition
common/metadata.c:68
dt_metadata_get_keyid_by_name
dt_metadata_t dt_metadata_get_keyid_by_name(const char *name)
Definition
common/metadata.c:94
dt_metadata_flag_t
dt_metadata_flag_t
Definition
metadata.h:62
DT_METADATA_FLAG_IMPORTED
@ DT_METADATA_FLAG_IMPORTED
Definition
metadata.h:65
DT_METADATA_FLAG_HIDDEN
@ DT_METADATA_FLAG_HIDDEN
Definition
metadata.h:63
DT_METADATA_FLAG_PRIVATE
@ DT_METADATA_FLAG_PRIVATE
Definition
metadata.h:64
dt_metadata_t
dt_metadata_t
Definition
metadata.h:29
DT_METADATA_XMP_DC_PUBLISHER
@ DT_METADATA_XMP_DC_PUBLISHER
Definition
metadata.h:34
DT_METADATA_XMP_DC_RIGHTS
@ DT_METADATA_XMP_DC_RIGHTS
Definition
metadata.h:37
DT_METADATA_XMP_ACDSEE_NOTES
@ DT_METADATA_XMP_ACDSEE_NOTES
Definition
metadata.h:38
DT_METADATA_XMP_IMAGE_ID
@ DT_METADATA_XMP_IMAGE_ID
Definition
metadata.h:40
DT_METADATA_XMP_DC_DESCRIPTION
@ DT_METADATA_XMP_DC_DESCRIPTION
Definition
metadata.h:36
DT_METADATA_XMP_VERSION_NAME
@ DT_METADATA_XMP_VERSION_NAME
Definition
metadata.h:39
DT_METADATA_XMP_DC_CREATOR
@ DT_METADATA_XMP_DC_CREATOR
Definition
metadata.h:33
DT_METADATA_NUMBER
@ DT_METADATA_NUMBER
Definition
metadata.h:41
DT_METADATA_XMP_DC_TITLE
@ DT_METADATA_XMP_DC_TITLE
Definition
metadata.h:35
dt_metadata_set_list
void dt_metadata_set_list(const GList *imgs, GList *key_value, const gboolean undo_on)
Definition
common/metadata.c:669
dt_metadata_get_keyid
dt_metadata_t dt_metadata_get_keyid(const char *key)
Definition
common/metadata.c:126
dt_metadata_type_t
dt_metadata_type_t
Definition
metadata.h:46
DT_METADATA_TYPE_OPTIONAL
@ DT_METADATA_TYPE_OPTIONAL
Definition
metadata.h:48
DT_METADATA_TYPE_INTERNAL
@ DT_METADATA_TYPE_INTERNAL
Definition
metadata.h:49
DT_METADATA_TYPE_USER
@ DT_METADATA_TYPE_USER
Definition
metadata.h:47
dt_metadata_get_name
const char * dt_metadata_get_name(const uint32_t keyid)
Definition
common/metadata.c:118
dt_metadata_get
GList * dt_metadata_get(int id, const char *key, uint32_t *count)
Definition
common/metadata.c:379
dt_metadata_signal_t
dt_metadata_signal_t
Definition
metadata.h:54
DT_METADATA_SIGNAL_SHOWN
@ DT_METADATA_SIGNAL_SHOWN
Definition
metadata.h:55
DT_METADATA_SIGNAL_NEW_VALUE
@ DT_METADATA_SIGNAL_NEW_VALUE
Definition
metadata.h:57
DT_METADATA_SIGNAL_HIDDEN
@ DT_METADATA_SIGNAL_HIDDEN
Definition
metadata.h:56
dt_metadata_get_list_id
GList * dt_metadata_get_list_id(int id)
Definition
common/metadata.c:329
dt_metadata_init
void dt_metadata_init()
Definition
common/metadata.c:177
dt_metadata_get_nb_user_metadata
unsigned int dt_metadata_get_nb_user_metadata()
Definition
common/metadata.c:57
dt_metadata_get_type_by_display_order
int dt_metadata_get_type_by_display_order(const uint32_t order)
Definition
common/metadata.c:105
dt_metadata_get_type
int dt_metadata_get_type(const uint32_t keyid)
Definition
common/metadata.c:169
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:81
src
common
metadata.h
Generated by
1.9.8