46#include <glib/gi18n.h>
243 gchar *metadata_list =
NULL;
250 const char *
value = (
char *)
b2->data;
263 if(metadata_list) metadata_list[
strlen(metadata_list) - 1] =
'\0';
264 return metadata_list;
284 const char *
value = (
char *)a2->data;
293 .keyid =
atoi(a->data),
371 while(c >=
v && *c ==
' ') *c-- =
'\0';
373 while(*c ==
' ') c++;
399 else if(
strncmp(
key,
"Xmp.dc.subject", 14) == 0)
401 else if(
strncmp(
key,
"Xmp.darktable.colorlabels", 25) == 0)
421 const GList *
m = metadata;
598 const gchar *
key = (
const gchar *)
kv->data;
604 const gchar *
value = (
const gchar *)
kv->data;
GList * dt_act_on_get_images()
GList * dt_colorlabel_repository_get_list(const int32_t imgid)
The colours set on imgid, as a list rather than a bitmask.
main.color_labels: which of the five colour labels are set on an image.
int dt_conf_key_exists(const char *key)
void dt_conf_set_int(const char *name, int val)
int dt_conf_get_int(const char *name)
gboolean dt_image_get_xmp_mode()
GList * dt_image_repository_get_ratings(const int32_t imgid)
Star ratings, as main.images.flags encodes them: the low three bits, minus one.
Reading and writing one dt_image_t to and from the library database. The SQL half of what used to be ...
#define IS_NULL_PTR(p)
C is way too permissive with !=, == and if(var) checks, which can mean too many things depending on w...
static void dt_free_gpointer(gpointer ptr)
static const dt_aligned_pixel_simd_t value
GList * dt_tag_repository_get_attached_names(const int32_t imgid)
Names of the tags attached to an image.
data.tags and main.tagged_images.
void dt_undo_end_group(dt_undo_t *self)
void dt_undo_start_group(dt_undo_t *self, dt_undo_type_t type)
void dt_undo_record(dt_undo_t *self, gpointer user_data, dt_undo_type_t type, dt_undo_data_t data, void(*undo)(gpointer user_data, dt_undo_type_t type, dt_undo_data_t item, dt_undo_action_t action, GList **imgs), void(*free_data)(gpointer data))
dt_undo_t * dt_undo_get_global(void)
gchar * dt_util_dstrcat(gchar *str, const gchar *format,...)