Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
metadata.h File Reference
#include "common/darktable.h"
#include "gui/gtk.h"
+ Include dependency graph for metadata.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef enum dt_metadata_t dt_metadata_t
 
typedef enum dt_metadata_type_t dt_metadata_type_t
 
typedef enum dt_metadata_signal_t dt_metadata_signal_t
 
typedef enum dt_metadata_flag_t dt_metadata_flag_t
 

Enumerations

enum  dt_metadata_t {
  DT_METADATA_XMP_DC_CREATOR ,
  DT_METADATA_XMP_DC_PUBLISHER ,
  DT_METADATA_XMP_DC_TITLE ,
  DT_METADATA_XMP_DC_DESCRIPTION ,
  DT_METADATA_XMP_DC_RIGHTS ,
  DT_METADATA_XMP_ACDSEE_NOTES ,
  DT_METADATA_XMP_VERSION_NAME ,
  DT_METADATA_XMP_IMAGE_ID ,
  DT_METADATA_NUMBER
}
 
enum  dt_metadata_type_t {
  DT_METADATA_TYPE_USER ,
  DT_METADATA_TYPE_OPTIONAL ,
  DT_METADATA_TYPE_INTERNAL
}
 
enum  dt_metadata_signal_t {
  DT_METADATA_SIGNAL_SHOWN ,
  DT_METADATA_SIGNAL_HIDDEN ,
  DT_METADATA_SIGNAL_NEW_VALUE
}
 
enum  dt_metadata_flag_t {
  DT_METADATA_FLAG_HIDDEN = 1 << 0 ,
  DT_METADATA_FLAG_PRIVATE = 1 << 1 ,
  DT_METADATA_FLAG_IMPORTED = 1 << 2
}
 

Functions

unsigned int dt_metadata_get_nb_user_metadata ()
 
const char * dt_metadata_get_name_by_display_order (const uint32_t order)
 
dt_metadata_t dt_metadata_get_keyid_by_display_order (const uint32_t order)
 
dt_metadata_t dt_metadata_get_keyid_by_name (const char *name)
 
int dt_metadata_get_type_by_display_order (const uint32_t order)
 
const char * dt_metadata_get_name (const uint32_t keyid)
 
dt_metadata_t dt_metadata_get_keyid (const char *key)
 
const char * dt_metadata_get_key (const uint32_t keyid)
 
const char * dt_metadata_get_subkey (const uint32_t keyid)
 
const char * dt_metadata_get_key_by_subkey (const char *subkey)
 
int dt_metadata_get_type (const uint32_t keyid)
 
void dt_metadata_init ()
 
void dt_metadata_set (int id, const char *key, const char *value, const gboolean undo_on)
 
void dt_metadata_set_import (int id, const char *key, const char *value)
 
void dt_metadata_set_list (const GList *imgs, GList *key_value, const gboolean undo_on)
 
void dt_metadata_set_list_id (const GList *img, const GList *metadata, const gboolean clear_on, const gboolean undo_on)
 
GList * dt_metadata_get (int id, const char *key, uint32_t *count)
 
GList * dt_metadata_get_list_id (int id)
 
void dt_metadata_clear (const GList *imgs, const gboolean undo_on)
 
int dt_metadata_already_imported (const char *filename, const char *datetime)
 

Typedef Documentation

◆ dt_metadata_flag_t

◆ dt_metadata_signal_t

◆ dt_metadata_t

◆ dt_metadata_type_t

Enumeration Type Documentation

◆ dt_metadata_flag_t

Enumerator
DT_METADATA_FLAG_HIDDEN 
DT_METADATA_FLAG_PRIVATE 
DT_METADATA_FLAG_IMPORTED 

◆ dt_metadata_signal_t

Enumerator
DT_METADATA_SIGNAL_SHOWN 
DT_METADATA_SIGNAL_HIDDEN 
DT_METADATA_SIGNAL_NEW_VALUE 

◆ dt_metadata_t

Enumerator
DT_METADATA_XMP_DC_CREATOR 
DT_METADATA_XMP_DC_PUBLISHER 
DT_METADATA_XMP_DC_TITLE 
DT_METADATA_XMP_DC_DESCRIPTION 
DT_METADATA_XMP_DC_RIGHTS 
DT_METADATA_XMP_ACDSEE_NOTES 
DT_METADATA_XMP_VERSION_NAME 
DT_METADATA_XMP_IMAGE_ID 
DT_METADATA_NUMBER 

◆ dt_metadata_type_t

Enumerator
DT_METADATA_TYPE_USER 
DT_METADATA_TYPE_OPTIONAL 
DT_METADATA_TYPE_INTERNAL 

Function Documentation

◆ dt_metadata_already_imported()

int dt_metadata_already_imported ( const char *  filename,
const char *  datetime 
)

Return the first imgid of the filename-datetime "Xmp.darktable.image_id" if it already exists

References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_TEXT, DT_DEBUG_SQLITE3_PREPARE_V2, FALSE, and UNKNOWN_IMAGE.

Referenced by _is_in_library_by_metadata().

◆ dt_metadata_clear()

◆ dt_metadata_get()

GList * dt_metadata_get ( int  id,
const char *  key,
uint32_t *  count 
)

Get metadata (named keys) for a specific image, or all selected for id == -1. For keys which return a string, the caller has to make sure that it is freed after usage.

References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_INT, DT_DEBUG_SQLITE3_PREPARE_V2, dt_metadata_get_keyid(), and key.

Referenced by _get_base_value(), _metadata_view_update_values(), _print_button_clicked(), _write_xmp_id(), dt_exif_read_blob(), metadata_member(), and store().

◆ dt_metadata_get_key()

const char * dt_metadata_get_key ( const uint32_t  keyid)

◆ dt_metadata_get_key_by_subkey()

const char * dt_metadata_get_key_by_subkey ( const char *  subkey)

return the key of the metadata subkey

References dt_metadata_def, DT_METADATA_NUMBER, and key.

Referenced by metadata_member().

◆ dt_metadata_get_keyid()

dt_metadata_t dt_metadata_get_keyid ( const char *  key)

return the keyid of the metadata key

References dt_metadata_def, DT_METADATA_NUMBER, and key.

Referenced by dt_metadata_get(), dt_metadata_set(), dt_metadata_set_import(), and dt_metadata_set_list().

◆ dt_metadata_get_keyid_by_display_order()

dt_metadata_t dt_metadata_get_keyid_by_display_order ( const uint32_t  order)

◆ dt_metadata_get_keyid_by_name()

dt_metadata_t dt_metadata_get_keyid_by_name ( const char *  name)

return the metadata keyid by name

References dt_metadata_def, DT_METADATA_NUMBER, and name.

◆ dt_metadata_get_list_id()

GList * dt_metadata_get_list_id ( int  id)

Get metadata (id keys) for a specific image. The caller has to free the list after usage.

References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_INT, and DT_DEBUG_SQLITE3_PREPARE_V2.

Referenced by _metadata_execute().

◆ dt_metadata_get_name()

const char * dt_metadata_get_name ( const uint32_t  keyid)

◆ dt_metadata_get_name_by_display_order()

const char * dt_metadata_get_name_by_display_order ( const uint32_t  order)

return the metadata key by display order

References display_order, dt_metadata_def, and DT_METADATA_NUMBER.

Referenced by _menuitem_preferences(), _update_layout(), dt_collection_name(), gui_init(), and gui_reset().

◆ dt_metadata_get_nb_user_metadata()

unsigned int dt_metadata_get_nb_user_metadata ( )

return the number of user metadata (!= DT_METADATA_TYPE_INTERNAL)

References dt_metadata_def, DT_METADATA_NUMBER, DT_METADATA_TYPE_INTERNAL, and type.

Referenced by add_rights_preset().

◆ dt_metadata_get_subkey()

const char * dt_metadata_get_subkey ( const uint32_t  keyid)

return the metadata subeky of the metadata keyid

References dt_metadata_def, DT_METADATA_NUMBER, and key.

Referenced by dt_lua_init_image().

◆ dt_metadata_get_type()

◆ dt_metadata_get_type_by_display_order()

int dt_metadata_get_type_by_display_order ( const uint32_t  order)

◆ dt_metadata_init()

◆ dt_metadata_set()

void dt_metadata_set ( int  id,
const char *  key,
const char *  value,
const gboolean  undo_on 
)

Set metadata for a specific image, or all selected for id == -1.

◆ dt_metadata_set_import()

void dt_metadata_set_import ( int  id,
const char *  key,
const char *  value 
)

Set imported metadata for a specific image

◆ dt_metadata_set_list()

void dt_metadata_set_list ( const GList *  imgs,
GList *  key_value,
const gboolean  undo_on 
)

Set metadata (named keys) for a specific image, or all selected for id == -1. list is a set of key, value

References _cleanup_metadata_value(), _metadata_execute(), _metadata_undo_data_free(), _pop_undo(), darktable, DT_MA_ADD, dt_metadata_get_keyid(), dt_undo_end_group(), DT_UNDO_METADATA, dt_undo_record(), dt_undo_start_group(), key, and darktable_t::undo.

Referenced by _write_metadata(), and set_params().

◆ 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 
)

Set metadata (id keys) for a list of images. list is a set of keyid, value if clear_on TRUE the image metadata are cleared before attaching the new ones

References _metadata_execute(), _metadata_undo_data_free(), _pop_undo(), darktable, DT_MA_ADD, DT_MA_SET, dt_undo_end_group(), DT_UNDO_METADATA, dt_undo_record(), dt_undo_start_group(), and darktable_t::undo.