Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
darktable.h File Reference
#include "external/ThreadSafetyAnalysis.h"
#include "system/dtpthread.h"
#include "system/sys_resources.h"
#include "control/signal.h"
#include <glib.h>
#include <stdint.h>
#include <glib/gstdio.h>
#include "common/poison.h"
+ Include dependency graph for darktable.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  darktable_t
 

Macros

#define DT_DARKTABLE_H
 
#define __STDC_FORMAT_MACROS
 
#define DT_CURRENT_PERFORMANCE_CONFIGURE_VERSION   11
 
#define DT_PERF_INFOSIZE   4096
 

Typedefs

typedef struct darktable_t darktable_t
 

Functions

int dt_init (int argc, char *argv[], const gboolean init_gui, const gboolean load_data)
 
void dt_cleanup ()
 
int dt_load_from_string (const gchar *image_to_load, gboolean open_image_in_dr, gboolean *single_image)
 

Variables

darktable_t darktable
 

Macro Definition Documentation

◆ __STDC_FORMAT_MACROS

#define __STDC_FORMAT_MACROS

Definition at line 91 of file darktable.h.

◆ DT_CURRENT_PERFORMANCE_CONFIGURE_VERSION

#define DT_CURRENT_PERFORMANCE_CONFIGURE_VERSION   11

Definition at line 140 of file darktable.h.

◆ DT_DARKTABLE_H

#define DT_DARKTABLE_H

Definition at line 79 of file darktable.h.

◆ DT_PERF_INFOSIZE

#define DT_PERF_INFOSIZE   4096

Definition at line 141 of file darktable.h.

Typedef Documentation

◆ darktable_t

typedef struct darktable_t darktable_t

Function Documentation

◆ dt_cleanup()

void dt_cleanup ( )

Definition at line 1864 of file darktable.c.

References _dt_drain_main_context(), dt_gui_gtk_t::accels, darktable_t::bauhaus, darktable_t::capabilities_threadsafe, darktable_t::conf, darktable_t::control, dt_gui_gtk_t::culling_mode, darktable, dt_accels_cleanup(), dt_bauhaus_cleanup(), dt_capabilities_cleanup(), dt_collection_cleanup_global(), dt_colorlabels_cleanup(), dt_colorprofiles_cleanup(), dt_conf_cleanup(), dt_conf_get_int(), dt_conf_set_int(), dt_control_cleanup(), dt_control_shutdown(), dt_control_signal_cleanup(), dt_ctl_switch_mode_to(), dt_culling_mode_to_selection(), dt_database_cleanup_busy_statements(), dt_database_close(), dt_database_maybe_maintenance(), dt_database_maybe_snapshot(), dt_database_optimize(), dt_database_perform_maintenance(), dt_database_snaps_to_remove(), dt_database_snapshot(), DT_DEBUG_SQL, dt_dev_history_cleanup(), dt_dev_pixelpipe_cache_cleanup(), dt_dev_pixelpipe_cache_is_ready(), dt_dev_pixelpipe_cache_wait_dump_pending(), dt_exif_cleanup(), dt_folder_survey_cleanup(), dt_folder_survey_stop(), dt_free, dt_free_gpointer(), dt_gui_presets_cleanup(), dt_gui_throttle_cleanup(), dt_gui_throttle_get_runtime_us(), dt_guides_cleanup(), dt_history_repository_cleanup(), dt_image_cache_cleanup(), dt_imageio_cleanup(), dt_iop_unload_modules_so(), dt_lib_cleanup(), dt_metadata_cleanup(), dt_mipmap_cache_cleanup(), dt_noiseprofile_cleanup(), dt_opencl_cleanup(), dt_opencl_clear_driver_crash_streak(), dt_opencl_finish(), dt_opencl_get_num_devices(), dt_opencl_is_inited(), dt_points_cleanup(), dt_print(), dt_printers_abort_discovery(), dt_pthread_mutex_destroy(), dt_selection_cleanup_global(), dt_sentry_shutdown(), dt_styles_cleanup(), dt_supervisor_cleanup(), dt_tags_cleanup(), dt_telemetry_shutdown(), dt_ui_cleanup_main_table(), dt_ui_cleanup_titlebar(), dt_ui_main_window(), dt_undo_cleanup(), dt_updates_shutdown(), dt_view_manager_cleanup(), FALSE, darktable_t::gui, i, darktable_t::imageio, darktable_t::iop_order_list, darktable_t::iop_order_rules, IS_NULL_PTR, darktable_t::lib, dt_control_t::log_mutex, darktable_t::pipeline_threadsafe, darktable_t::points, dt_control_t::run_mutex, darktable_t::signals, TRUE, dt_gui_gtk_t::ui, darktable_t::undo, and darktable_t::view_manager.

Referenced by dt_gui_gtk_run(), main(), and main().

◆ dt_init()

int dt_init ( int  argc,
char *  argv[],
const gboolean  init_gui,
const gboolean  load_data 
)
Todo:
: move there into dt_database_t
Todo:
: Make a single call to unified GUI API initializing everything graphical at once.
Todo:
: is this also useful in non-gui mode?

Definition at line 885 of file darktable.c.

References _database_renamed(), _database_settings_from_conf(), _doc_screenshot_iop_modules(), _doc_screenshot_lib_modules(), _gtk_log_writer_filter(), _history_changed(), _history_images_changed(), _history_notify(), _history_operation_name(), _history_toast(), _image_imported(), _metadata_geotags_changed(), _metadata_notify(), _metadata_tags_changed(), _mipmap_settings_from_conf(), _pipeline_busy(), _pipeline_message(), _pixelpipe_cache_observer, _pixelpipe_cache_ready(), _pixelpipe_cache_warn(), _preferences_changed(), _presets_can_autoapply(), _updates_notify(), _xmp_mode_preferences_changed(), dt_gui_gtk_t::accels, dt_database_params_t::alternative, darktable_t::bauhaus, darktable_t::capabilities, darktable_t::capabilities_threadsafe, CHKSIGDBG, darktable_t::conf, darktable_t::control, darktable, darktable_last_commit_year, darktable_package_string, darktable_t::dbus, dt_dbus_t::dbus_connection, darktable_t::develop, dt_accels_connect_accels(), dt_bauhaus_init(), DT_BUILD_C_COMPILER, DT_BUILD_C_FLAGS, DT_BUILD_CPU_MODE, DT_BUILD_CXX_COMPILER, DT_BUILD_CXX_FLAGS, DT_BUILD_TYPE, dt_colorprofiles_init(), dt_concat_path_file(), dt_conf_get_bool(), dt_conf_get_int(), dt_conf_get_string(), dt_conf_init(), dt_configure_runtime_performance(), dt_control_add_job(), dt_control_crawler_run_in_background(), dt_control_init(), dt_control_progress_init(), dt_control_signal_connect(), dt_control_signal_init(), dt_ctl_switch_mode_to(), dt_database_close(), dt_database_gui_register_handlers(), dt_database_maybe_maintenance(), dt_database_open(), DT_DATABASE_OPEN_FAILED, DT_DATABASE_OPEN_LOCKED, dt_database_perform_maintenance(), dt_database_set_renamed_handler(), dt_database_show_error(), dt_datetime_init(), DT_DEBUG_CACHE, DT_DEBUG_CAMERA_SUPPORT, DT_DEBUG_COLORPROFILE, DT_DEBUG_CONTROL, DT_DEBUG_DEMOSAIC, DT_DEBUG_DEV, DT_DEBUG_GTK, DT_DEBUG_HISTORY, DT_DEBUG_IMAGEIO, DT_DEBUG_IMPORT, DT_DEBUG_INPUT, DT_DEBUG_IOPORDER, DT_DEBUG_LIGHTTABLE, DT_DEBUG_LUA, DT_DEBUG_MASKS, DT_DEBUG_MEMORY, DT_DEBUG_NAN, DT_DEBUG_NOCACHE_REUSE, DT_DEBUG_OPENCL, DT_DEBUG_PARAMS, DT_DEBUG_PERF, DT_DEBUG_PIPE, DT_DEBUG_PIPECACHE, DT_DEBUG_PRINT, DT_DEBUG_SHORTCUTS, DT_DEBUG_SIGNAL, DT_DEBUG_SIGNAL_ACT_CONNECT, DT_DEBUG_SIGNAL_ACT_DISCONNECT, DT_DEBUG_SIGNAL_ACT_PRINT_TRACE, DT_DEBUG_SIGNAL_ACT_RAISE, DT_DEBUG_SQL, DT_DEBUG_SUPERVISOR, DT_DEBUG_TILING, DT_DEBUG_UNDO, DT_DEBUG_VERBOSE, dt_dev_pixelpipe_cache_init(), dt_dev_pixelpipe_cache_is_ready(), dt_dev_pixelpipe_cache_set_handlers(), dt_exif_init(), dt_exif_set_exiv2_taglist(), dt_film_set_folder_status(), dt_folder_survey_init(), dt_folder_survey_propose_resume(), dt_folder_survey_session_was_active(), DT_FP_MODE_FAST, dt_free, dt_free_gpointer(), dt_get_debug_flags(), dt_get_wtime(), dt_gui_doc_screenshot_enable(), dt_gui_doc_screenshot_register_source(), dt_gui_doc_screenshot_set_directory(), dt_gui_freeze_begin, dt_gui_freeze_end, dt_gui_gtk_init(), dt_gui_presets_init(), dt_gui_splash_close(), dt_gui_throttle_init(), dt_gui_throttle_set_timeout_ms(), dt_history_set_changed_handler(), dt_history_set_images_changed_handler(), dt_history_set_message_handler(), dt_history_set_operation_name_resolver(), dt_history_set_toast_handler(), dt_image_cache_connect_info_changed_first(), dt_image_cache_init(), dt_image_notify_set_imported_handler(), dt_image_xmp_mode_refresh_from_conf(), dt_imageio_init(), dt_iop_load_modules_so(), dt_iop_set_darktable_iop_table(), dt_ioppr_check_so_iop_order(), dt_ioppr_get_iop_order_list(), dt_ioppr_get_iop_order_rules(), DT_JOB_QUEUE_USER_BG, dt_l10n_init(), dt_lib_init(), dt_load_from_string(), dt_loc_get_localedir(), dt_loc_get_sharedir(), dt_loc_get_user_config_dir(), dt_loc_init(), dt_metadata_init(), dt_metadata_set_geotags_changed_handler(), dt_metadata_set_notify_handler(), dt_metadata_set_tags_changed_handler(), dt_mipmap_cache_init(), dt_noiseprofile_set_path(), dt_opencl_init(), dt_opencl_note_crash_backtrace(), DT_PATH_MAX, dt_pathlist_import_create(), dt_pipeline_set_busy_handler(), dt_pipeline_set_message_handler(), dt_points_init(), dt_presets_set_autoapply_resolver(), dt_print(), dt_print_mem_usage(), dt_privacy_ask_consent(), dt_pthread_mutex_init(), dt_sentry_add_crash_observer(), dt_sentry_init(), dt_set_darktable_tags(), dt_set_rlimits(), dt_set_signal_handlers(), DT_SIGNAL_ACTIVE_IMAGES_CHANGE, DT_SIGNAL_COLLECTION_CHANGED, DT_SIGNAL_CONTROL_LOG_REDRAW, DT_SIGNAL_CONTROL_NAVIGATION_REDRAW, DT_SIGNAL_CONTROL_PICKERDATA_READY, DT_SIGNAL_CONTROL_PROFILE_CHANGED, DT_SIGNAL_CONTROL_PROFILE_USER_CHANGED, DT_SIGNAL_CONTROL_REDRAW_ALL, DT_SIGNAL_CONTROL_REDRAW_CENTER, DT_SIGNAL_CONTROL_TOAST_REDRAW, DT_SIGNAL_COUNT, DT_SIGNAL_DARKROOM_UI_CHANGED, DT_SIGNAL_DEVELOP_HISTORY_CHANGE, DT_SIGNAL_DEVELOP_HISTORY_WILL_CHANGE, DT_SIGNAL_DEVELOP_IMAGE_CHANGED, DT_SIGNAL_DEVELOP_INITIALIZE, DT_SIGNAL_DEVELOP_MODULE_MOVED, DT_SIGNAL_DEVELOP_MODULE_REMOVE, DT_SIGNAL_DEVELOP_MODULEGROUPS_SET, DT_SIGNAL_DEVELOP_PREVIEW_PIPE_FINISHED, DT_SIGNAL_DEVELOP_UI_PIPE_FINISHED, DT_SIGNAL_FILMROLLS_CHANGED, DT_SIGNAL_FILMROLLS_REMOVED, DT_SIGNAL_FOLDER_SURVEY_CHANGED, DT_SIGNAL_IMAGE_EXPORT_TMPFILE, DT_SIGNAL_IMAGE_IMPORT, DT_SIGNAL_IMAGE_INFO_CHANGED, DT_SIGNAL_IMAGE_LOADED, DT_SIGNAL_IMAGEIO_STORAGE_CHANGE, DT_SIGNAL_IMAGES_ORDER_CHANGE, DT_SIGNAL_MASK_CHANGED, DT_SIGNAL_METADATA_CHANGED, DT_SIGNAL_METADATA_UPDATE, DT_SIGNAL_MOUSE_OVER_IMAGE_CHANGE, DT_SIGNAL_PREFERENCES_CHANGE, DT_SIGNAL_SELECTION_CHANGED, DT_SIGNAL_STYLE_CHANGED, DT_SIGNAL_TAG_CHANGED, DT_SIGNAL_VIEWMANAGER_FILMSTRIP_ACTIVATE, DT_SIGNAL_VIEWMANAGER_FILMSTRIP_DRAG_BEGIN, DT_SIGNAL_VIEWMANAGER_THUMBTABLE_ACTIVATE, DT_SIGNAL_VIEWMANAGER_VIEW_CHANGED, dt_supervisor_init(), dt_telemetry_init(), dt_ui_init_global_menu(), dt_undo_init(), dt_updates_init(), dt_util_normalize_path(), dt_view_manager_gui_init(), dt_view_manager_init(), darktable_t::dtresources, error(), FALSE, GETTEXT_PACKAGE, darktable_t::gui, i, darktable_t::imageio, darktable_t::iop, darktable_t::iop_order_list, darktable_t::iop_order_rules, IS_NULL_PTR, k, dt_conf_string_entry_t::key, darktable_t::l10n, darktable_t::lib, dt_control_t::log_mutex, darktable_t::main_message, MAX, darktable_t::num_openmp_threads, omp_get_max_threads, PACKAGE_BUGREPORT, darktable_t::pipeline_threadsafe, dt_sys_resources_t::pixelpipe_memory, darktable_t::points, darktable_t::progname, dt_control_t::run_mutex, dt_control_t::running, dt_gui_gtk_t::scroll_to, darktable_t::signals, darktable_t::start_wtime, darktable_t::themes, TRUE, dt_gui_gtk_t::ui, darktable_t::undo, darktable_t::unmuted, darktable_t::unmuted_signal_dbg, darktable_t::unmuted_signal_dbg_acts, usage(), dt_conf_string_entry_t::value, darktable_t::view_manager, and void().

Referenced by main(), and main().

◆ dt_load_from_string()

int dt_load_from_string ( const gchar *  image_to_load,
gboolean  open_image_in_dr,
gboolean *  single_image 
)

Variable Documentation

◆ darktable

darktable_t darktable
extern

Definition at line 213 of file darktable.c.

Referenced by _button_pressed(), _button_released(), _control_store_current_cursor(), _dt_conf_get_var_locked(), _dt_ctl_log_message_timeout_callback(), _dt_ctl_open_image_in_darkroom(), _dt_ctl_switch_mode_to(), _dt_ctl_switch_mode_to_by_view(), _dt_ctl_toast_message_timeout_callback(), _extract_pointer_input(), _init_widgets(), _key_pressed(), _mipmap_settings_from_conf(), _mouse_moved(), _sample_tablet_state_from_devices(), _sanitize_confgen(), _scrolled(), _setup(), _teardown(), _toast_log(), _ui_toast_redraw_callback(), cache_setup(), cache_teardown(), dt_bauhaus_get_global(), dt_capabilities_add(), dt_capabilities_check(), dt_capabilities_cleanup(), dt_capabilities_remove(), dt_cleanup(), dt_conf_all_string_entries(), dt_conf_cleanup(), dt_conf_get_string(), dt_conf_get_var(), dt_conf_init(), dt_conf_key_exists(), dt_conf_set_if_not_overridden(), dt_confgen_exists(), dt_confgen_get(), dt_confgen_get_label(), dt_confgen_get_tooltip(), dt_confgen_type(), dt_confgen_value_exists(), dt_configure_runtime_performance(), dt_control_allow_change_cursor(), dt_control_button_pressed(), dt_control_button_released(), dt_control_change_cursor_by_name(), dt_control_change_cursor_EXT(), dt_control_commit_cursor(), dt_control_configure(), dt_control_expose(), dt_control_forbid_change_cursor(), dt_control_get_global(), dt_control_get_keyboard_over_id(), dt_control_get_mouse_over_id(), dt_control_key_pressed(), dt_control_log(), dt_control_log_busy_enter(), dt_control_log_busy_leave(), dt_control_mouse_enter(), dt_control_mouse_leave(), dt_control_mouse_moved(), dt_control_queue_cursor_by_name(), dt_control_queue_cursor_EXT(), dt_control_quit(), dt_control_running(), dt_control_set_cursor_visible_EXT(), dt_control_set_keyboard_over_id(), dt_control_set_mouse_over_id(), dt_control_signal_get_global(), dt_control_toast_busy_enter(), dt_control_toast_busy_leave(), dt_ctl_switch_mode_to(), dt_ctl_switch_mode_to_by_view(), dt_dbus_get_global(), dt_dev_get_global(), dt_dev_set_global(), dt_get_debug_flags(), dt_get_main_message_copy(), dt_get_memory_pressure_floor(), dt_get_mipmap_mem(), dt_get_num_openmp_threads(), dt_get_signal_debug(), dt_get_signal_debug_acts(), dt_get_start_wtime(), dt_get_total_mem(), dt_gui_get_global(), dt_gui_get_themes(), dt_gui_gtk_init(), dt_gui_gtk_quit(), dt_gui_gtk_run(), dt_gui_gtk_write_config(), dt_gui_load_theme(), dt_gui_refocus_center(), dt_gui_set_pango_resolution(), dt_gui_set_themes(), dt_gui_store_last_preset(), dt_gui_update_em(), dt_imageio_get_global(), dt_init(), dt_iop_cleanup_pipe(), dt_iop_get_localized_aliases(), dt_iop_get_localized_name(), dt_iop_get_module_flags(), dt_iop_get_modules_so(), dt_iop_load_modules_so(), dt_iop_set_darktable_iop_table(), dt_iop_unload_modules_so(), dt_ioppr_get_iop_order_rules_global(), dt_l10n_get_global(), dt_lib_get_global(), dt_loc_cachedir(), dt_loc_configdir(), dt_loc_datadir(), dt_loc_init_datadir(), dt_loc_init_kerneldir(), dt_loc_init_localedir(), dt_loc_init_moduledir(), dt_loc_init_sharedir(), dt_loc_init_tmp_dir(), dt_loc_init_user_cache_dir(), dt_loc_init_user_config_dir(), dt_loc_kerneldir(), dt_loc_localedir(), dt_loc_moduledir(), dt_loc_sharedir(), dt_loc_tmpdir(), dt_opencl_device_init(), dt_pipeline_threadsafe_mutex(), dt_points_get_global(), dt_print(), dt_print_nts(), dt_set_main_message(), dt_show_times(), dt_show_times_f(), dt_ui_notify_user(), dt_undo_get_global(), dt_view_manager_get_global(), and dt_vprint().